OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů

Registrujte se zde!

Právě je 16 lis 2018, 02:02

Všechny časy jsou v UTC + 1 hodina




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 133 ]  Přejít na stránku Předchozí  1 ... 3, 4, 5, 6, 7, 8, 9  Další
Autor Zpráva
PříspěvekNapsal: 17 lis 2016, 23:24 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Tak po troškách se posouvám dál, chyba s časovačem dle všeho odstraněna. Na 1 kanálu celkem odtestováno a funkční. Opět jsem tedy přidal a aktivoval všechny 4 kanály a vypadá to funkčně taky, ještě někdy více potestuji. Již jsem si myslel, že nový problém, nicméně se ukázalo, že mne dohnal vlastní program. Nejdříve jsem jen v editoru nezapnul další kanály a pak se mi to začalo sekat, že jsem musel restartovat. Bylo to jen v tom, že programu chyběl ještě 1 tón pro poslední kanál, tak to nerozchodil. No nic příště potestuji a pudu dál i když po potestování bych již mohl zkusit něco nasypat i do té nedodělané hudební rutinky ať je větší legrace. Nedokážu zatím pořád zahrát dlouhý tón, tedy při dalším zahrání dalšího tonu (i v době mlčení), se původní tón ztlumí.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 26 lis 2016, 19:08 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Další test.

https://www.youtube.com/watch?v=b4gPK9l ... e=youtu.be
[youtube]https://www.youtube.com/watch?v=b4gPK9lsr8o&feature=youtu.be[/youtube]

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 26 lis 2016, 20:06 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Po kompilaci a spuštění se systém u hraní "hudby" sekne. Celkově k souboru přibaleno 6 nástrojů z toho 3 jsou použity. A 2 nástroje jsou tam 2 krát (ty samé). Rutina zatím pracuje se 6 nástroji. Celkem by mne zajímalo, jestli je zvuk hraní na real HW čistý. Mne tady emulace někdy škrčí. Za to seknutí Amigy se omlouvám. Po odstavení systému systém i vracím, ještě tam bude něco špatně. Nějaký odvážlivec kterému nebude líto té amči co mu bouchne? :lol:
Nic nikomu nehodlám platit :lol:

Já zatím Amigu kvůli tomuhle vybalovat nebudu ;)

To tady nebere ani příponu TXT, ani EXE, tak jsem tomu dal příponu ZIP, ale je to exáč! Já to v dopusu pustím i s touhle příponou. A pak restartuji... :lol:


Přílohy:
musicPokus.zip [39.7 KiB]
128 krát

_________________
Amiga - PMD 85
Kafasoft
Nahoru
 Profil  
 
PříspěvekNapsal: 27 lis 2016, 17:38 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Teď si to tady chvíli nevšímejte, jdu si psát poznámky a doma bych to stejně nikdy nenašel, mohl bych do kódu, ale tohle mi vyhovuje víc. Budu muset trochu přemýšlet s to je pro mne nejlepší tady. Budu to dělat na víc krát dle chuti, nálady, času. A času teď již nemám moc. Nemusím, když musím něco řešit 2 krát. Ale někdy se musí - obrátit logiku na DMA kanály, obrátit stupnici, jsem zvědav, kolik věcí ještě budu muset obracet. Nesnáším obracení logiky! :lol:

Klidně to budu popisovat. 25 tónů, 25 je nejvyšší (19 hexa) a useknu tón při hodnotě v časovači 2560 dekadicky (A00 hexadecimálně)
01 - 2900 hexa
19 - A00 hexa

27.11. - 22:48 pauza na neurčito

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 30 lis 2016, 11:08 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Délka samplu ve wordech: 3300 (Heaven)
01 - 2900 hexa (10496)
19 - a00 hexa (2560)

Délka samplu ve wordech: 2400 (TuneBass)
01 - 1e00 hexa (7680)
19 - 700 hexa (1792)

Délka samplu ve wordech: 550 (BassDrum1)
19 - 100 hexa (256) (+- 1/4000 vteřiny?)

Na drobné se nehraji, zatím mi stačí provádět v asm věci někdy i "od oka". Vzal jsem záměrně krátký sampl (BassDrum1) a použil jeho nejvyšší frekvenci. Měla by mi stačit práce s časovačem v rámci skoků po 100 hexa. Co bude směr, kterým se uberu (zatím). Na tuhle logiku by měla být rutina vlastně předpřipravena, jen jsem nepočítal že použiju v časovači tak malou hodnotu. Je to z mého pohledu na tem časovač tak trochu prasárna. Ideálnější by bylo použít v časovači větší hodnotu, nejlépe jednu pro zahrání celého samplu v konkrétní frekvenci. Tím bych se ale ubral o možnost do programu zasáhnout v době, kdy mi program stojí na časovači.

Pokračuji přístě
(30.11. - 19:49)

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 01 pro 2016, 01:14 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Aktualizace při použití hodnoty 100 hexa v časovači, měním parametr určující rychlost přehrávaní hudby v nastavení samotné rutiny.

Délka samplu ve wordech: 3300 (Heaven)
01 - 8f2 hexa (2290)
19 - 236 hexa (566)

Délka samplu ve wordech: 2400 (TuneBass)
01 - 687 hexa (1671)
19 - 19d hexa (413)

Délka samplu ve wordech: 550 (BassDrum1)
01 - hexa ()
19 - hexa ()

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 25 pro 2016, 13:06 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Malá aktualizace - další z mých mnoha všeobecných úvah.

Pořád jsem nedokončil část kódu usekávaní samplů ve správný moment, tedy aby mi za samplem který se má hrát nebyl v rámci zvuku "bordel". Pokud jsem na správné cestě co ještě teprve zjistím, tak mám dokončenou podstatnou část logiky. Chtěl jsem použít vzorec, ale pak jsem přišel k závěru, že by jeho použití bylo náročné jak naprogramovat, tak by to bylo náročné v rámci výpočtu, tedy náročnější než samotné doprogramování dané věci. Bylo mi jasné, že tohle budu řešit déle - proto jsem se do toho moc nehrnul, ale již jsem to nemohl dál obcházet. V současné době CIA časovač používám na nejmenší hodnotě, tedy ho nechám napočítat do logické jedničky, čím se snažím udělat samotný kód co nejrychlejší pro změny, které by v něm mohli nastat. Pokud je informace z jedné polské knihy správná tak pokud dáme časovač napočítat do 2000 hexa, tedy do 8192 v desítkové soustavě jedná se o zpomalení 1/100 vteřiny. Tak v současné době používám v rámci časovače raději slovem: jednu osmtisícstodevadesátdvoutinu z jedné setiny vteřiny. To se mi zdá být šíleně malý čas. Přes to vše mi má hudební rutina umožňuje použít i menší zpomalení, jen nevím jak bych jej docílil bez samotného časovače. Aby bylo jasno, v celkovém součtu používám větší zpomalení. Ještě se musí napočítat i čas vykonání samotného kódu. Při zahraní 1 samplu na nejnižším tónu časovač celkem pouze 35 krát napočítá do logické jedničky a to je dle mne sakra málo. A číslo 35 bude ještě menší zahraním vyššího tónu a taky provedením případně nového kódu. Pokud někdo máte nápad, jak zpomalit program na menší čas, než mi umožnuje napočítání časovače do logické jedničky a to třeba na 1/2 nebo 1/4 tohohle času dejte vědět.

Dnes ráno v 6 hodin se mi povedlo nalézt v mém programu zatím nejdéle hledanou chybu v rámci asm, kterou jsem hledal v rozsahu 15 až 20 hodin a hledal jsem to na tři krát. V současné době mi již nebrání nic k zjištění toho, jestli to, co jsem doprogramoval pro správné ztlumení samplu ve správný čas bude dostačující, nebo tomu v rámci programu budu muset ještě něco přidat, pokud to vůbec budu umět, ale to až příště.

EDIT: Teď mne napadlo, že zpomalení, které by bylo kratší než CIA časovač napočítá do logické jedničky budu muset vyzkoušet přímo v kódu a ne mimo něj jak jsem to udělal... .

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 25 pro 2016, 18:14 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Takový pořádek kdyby jsem měl i doma... :lol:


Přílohy:
uklizeno.jpg
uklizeno.jpg [ 85.46 KiB | Zobrazeno 5463 krát ]

_________________
Amiga - PMD 85
Kafasoft
Nahoru
 Profil  
 
PříspěvekNapsal: 25 pro 2016, 19:19 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Lisiak4 píše:
V současné době mi již nebrání nic k zjištění toho, jestli to, co jsem doprogramoval pro správné ztlumení samplu ve správný čas bude dostačující, nebo tomu v rámci programu budu muset ještě něco přidat, pokud to vůbec budu umět, ale to až příště.

Tak to uhýbá a clekem o hodně :lol:. U jednoho samplu je to 35 opakovaní a u druhého samplu 22 opakovaní v rámci stejné frekvence aby se zahrál sampl správně tak jak chci.

1. sampl má 3300 wordů
2. sampl má 2000 wordů

Tedy aby jsem docílil u 2. samplu jeho ztlumení při 35 opakovaní, uměle bych mu měl počet wordů ještě snížit :).

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 25 pro 2016, 19:58 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Viz výše, asi jsem našel celkem dobrý způsob korekce. Je to dobře vidět z předešlého příspěvku. Ověřil jsem si to na 3 samplu, který má 2400 wordů a byla odchilka pouze v jednom jediném opakování, to ale není problém o tak malý čas useknout dříve i ostatní sample na té samé frekvenci. Ještě se nechci předčasně radovat ale vypadá to ze začátku alespoň slibně!

A kdo mi napíše jakou korekci je třeba udělat :?:

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 29 pro 2016, 09:43 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Obi: v ten den jsem ještě přišel na 1 chybu v mé rutině zavedenou doprogramovávaním samotné rutiny a tedy měření byla chybná. Tak za 2 hodiny se mi ji podařilo najít - další z mnoha hloupých chyb. Nedalo mi to a vrhl jsem se opět na zjišťování toho, co musím udělat proto, aby se mi sample o různé délce a stejné frekvence ztlumovali ve správní čas. 3 hodiny jsem dělal různé zbytečně složité kombinace metodou pokus-omyl. Pak jsem to smazal a šel jsem na to jednoduše a pak přišel na něco co bude asi správně a u nejnižší frekvence jsem měl přímo učebnicové čísla. 1. měření byla odchylka 2048 opakování a při druhém měření 1024 opakování. Třetí jsem již neprovedl, ale asi tam bude odchylka 0. Tedy při nejnižší frekvenci by byl sampl o různé délce ztlumen s přesností na 1 byte/word. Snad se nepletu a tohle bude to správné řešení i pro ostatní frekvence jen s malou změnou. Nedokázal jsem s těmahle hrátkami s programováním skončit dříve než před 4 hodinou ranní a já si dal na spánek 90 minut. I tak jsem do práce zaspal a přišel o 30 minut později - to programování mne jednou zabije :).

PS: Jak jsem psal o tom počtu možných zásahů mimo hudební rutinu (do možné budoucnosti). Uváděl jsem nízká čísla a byla chybná. Zásah do programu při běhu rutiny můžu udělat minimálně po každém wordu, tedy pokud má sampl 5000 wordů, tak minimálně 5000 krát. Samozřejmě pak jde o to co utáhne procesor.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 01 led 2017, 02:55 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Tak první verze propočtu v rámci ztlumováni samplu pro nejnižší frekvenci aplikována do rutiny a vypadá to funkčně. Ještě budu testovat. Výpočet počítá s nejmenším samplem zatím 1 kB, můžu samozřejmě ještě dolní hranici délky samplu snížit. Odchylka v propočtu od samplu 1 kB k samplu co má 6,6 kB je 15 z celkového rozsahu několik tisíc a s tím jsem v rámci první verze určitě spokojen :mrblue:

Později dodělám propočty k dalším 24 frekvencím. Ty budou ale již na stejném principu jako propočet první.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 02 led 2017, 13:43 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Tak jsem se konečně po delší době sprovoznil tu svou polorozpadlou rutinku a již je mi jasný, že taky záleží na tom kolik bude hrát kanálů. To ztlumení pro 1 kanál bylo správně nastavené, pokud bych hrál pouze 1 kanálem, při vícero kanálech byla doba pro ztlumení opět nedostačující. Tak uvidím, jestli si zatím vystačím se ztlumením takovým, aby bylo jedno, kolik hraje kanálu, nebo to udělám malinko složitější. Mimo jiné odstraněná další chyba a opět tedy větší zfunkčnění rutinky (rychlost přehrávaní hudby má teď větší prioritu, než dohrání samotného samplu do konce, tedy po zahraní celého samplu při veliké pomalosti hraní bude ticho). No a zatím místo zásobníku používám registry pro zálohu parametru správné délky samplu a jsem se trochu dosekal když jsem si neuvědomil, že samotné násobení v registru mi maže celý registr (oba wordy) i když se pohybuji pouze v rozsahu jednoho wordu. A v 1. wordu jsem měl onu zálohu, která mi šla násobením na 0 :).

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 02 led 2017, 15:53 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
OK oprava při hraní všech 4 kanálu je snížit "délku" každého samplu, co je mnou zadaná délka daná výpočtem o 1cb7 (7351). Všechny 4 kanály se ztlumí ve stejný čas při zadání stejného čísla pro opravu.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 02 led 2017, 17:52 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1702
Bydliště: Brno
Has thanked: 410 times
Been thanked: 136 times
Emulace JIT mi rozhazuje mé časování. Tam kde bych dělal opravu při hraní 4 samplů naráz, když mi nehraje jen 1 kanál, na který mám časování optimalizované by žádná oprava nemusela být. Je to normální stav? S JIT se u SW musí počítat a tedy u částí, kde to může mít ne zcela pozitivní následky se musí optimalizovat i pro JIT? To by jsme se ale asi bavili jen o spuštění SW na nextGen amigách (co se týče toho JIT) ?

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 133 ]  Přejít na stránku Předchozí  1 ... 3, 4, 5, 6, 7, 8, 9  Další

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz