OldComp.cz
http://www.oldcomp.cz/

Tvorba hudby + programování v assembleru
http://www.oldcomp.cz/viewtopic.php?f=119&t=3537
Stránka 1016

Autor:  Lisiak4 [ 14.06.2020, 18:04 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Jiz ani nevim, kolik krat jsem tuhle predsekvenci pro rychle prepinani samplu s jemnym casovanim predelaval, ale tady je vitez. Jak jsem umistneni bitu v ramci jejich funkce mezi sebou prehazoval jsem se postupne ucil, ze to jde udelat i lepe. Predesla verze bez tehle predsekvence fungovala stejne, ale byla silne provazana pouze se skladbou Atari Goes On! To jsem si uvedomil jak jsem zacal psat takový popis meho hudebniho formatu. Sice v ramci skladby Atari Goes On! zadny prinos, ale v ramci mozne dalsi skladby by mel byt tenhle 4.kanal pripraven na cokoliv v ramci jistých moznosti samotne hudebni rutiny. Treba tohle rychle prepinani samplu nebude v dalsi skladbe treba, ale chtel jsem mit tuhle moznost. A o to mi slo. Jeste nemam odzkouseno, postupne finisuji a snad bude fungovat. Jak se hraji s asm si uvedomuji tu silu kombinace dvojkove soustavy s 16kovou. Jak jsem asm lama mne tahle kombinace v jistem okamihu dokaze mile prekvapit.

Zde je dana predsekvence pro rychle prepinani samplu mezi sebou pro efekt napriklad rychleho zahrani hajtky a basoveho nastroje v jednom okamihu a v jednom kanalu pro muj hudebni format:
Kód:
predsekvence jen sample (s casovacem)
pocet bitu 32 / funkce
-----------------------------------------------------------
6 frekvence        (4.kanal, sampl 1-3)
1 ztlumeni samplu? (4.kanal, sampl 1-3)
1 nahrat 1.sampl(kanal 1-4), 2.sampl(kanal 1-4), oba sample, nebo zadny (2 bite)

6 frekvence        (4.kanal, sampl 1-7)
2 sampl 1-3        (4.kanal, sampl 1-3)

1 ztlumeni samplu? (4.kanal, sampl 1-7)
3 sampl 1-7        (4.kanal, sampl 1-7)
4 casovac          (4.kanal, sampl 1-7)

1 predsekvence
2 jen hlasitost, jen sampl (s casovacem), arpeggio (10,01,11) stav 00 volny
------------------------------------------------------------
1 nahrat 1.sampl(kanal 1-4), 2.sampl(kanal 1-4), oba sample, nebo zadny (2 bite)
2 sampl 1-4        (1. az 4.kanal)
2 sampl 1-4        (1. az 4.kanal)

Autor:  Lisiak4 [ 19.07.2020, 21:57 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Zatim strucne. Predsekvence v hudebni rutine ve finalni podobe a tvari se funkcne. Jak bude chut, udelam tak 2 patterny a zkusim pak udelat 2 patterny jine skladby nez AGO. Druha skladba se bude hrat jinou rychlosti, tak uvidim jak to pujde. Je v planu, ze druha skladba bude do meho formatu jiz prevedena programem. Mam prislib spoluprace. Vse je teprve v pocatku a uvidi se co bude.

Autor:  Lisiak4 [ 21.07.2020, 22:08 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

1 pattern AGO je s novou predsekvenci a 1 novy lehky pattern=1 nastroj 2.skladby taky hraje. 2.skladba sa hraje rychleji vůči AGO. Uvidime jak jsem se s rychlosti trefil. Priste si 2.skladbu casove stopnu. Zopakuji si 1 muj pattern v pocte patternu originalu a lepe uvidim jak to uhyba, nebo ne. A pak udelam zmenu rychlosti hrani za běhu.

Autor:  Lisiak4 [ 22.07.2020, 00:55 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Nedalo mi to, rucne mereni, minuty, vteriny, setiny.
Delka nove skladby original, 2 mereni
2 23 80
2 23 79

Moje rutina to zahraje za, 2 mereni
2 24 93
2 25 03

O 1 uroven rychlejsi moje rutina
2 19 34

Tedy blizsi cas je rozdilny o neco malo pres 1 vterinu na celou skladbu. Dle mne je to OK. Muzu zjemnit casovani. bylo by to narocnejsi na vykon, casovac by pouzival misto 4 bitu o jeden vice, tedy 5. Prostor na to mam. Ale kazdy kdo programuje v asm musi uznat ze 4 bity se k sobe hodi vice :D.

Autor:  Lisiak4 [ 22.07.2020, 01:03 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Lisiak4 píše:
Nedalo mi to, rucne mereni, minuty, vteriny, setiny.
Delka nove skladby original, 2 mereni
2 23 80
2 23 79

Moje rutina to zahraje za, 2 mereni
2 24 93
2 25 03

O 1 uroven rychlejsi moje rutina
2 19 34

Tedy blizsi cas je rozdilny o neco malo pres 1 vterinu na celou skladbu. Dle mne je to OK. Muzu zjemnit casovani. bylo by to narocnejsi na vykon, casovac by pouzival misto 4 bitu o jeden vice, tedy 5. Prostor na to mam. Ale kazdy kdo programuje v asm musi uznat ze 4 bity se k sobe hodi vice :D.


A jeste nemam predstavu o kolik se to natahne pri plnem zatizeny vsech 4 kanalu. Nebude to asi moc. Tipuji +-1 vterina. Skladbu AGO zahraji s vetsi presnosti v ramci času cele skladby.

Autor:  Lisiak4 [ 24.07.2020, 18:45 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Dnes nalezena chyba. Neprenasi se mi 1 nejvyssi 6.bit urceny pro frekvenci. Tak jsem zvedav co to opět bude :). Samozřejmě chyba zanesena použitím nove "předsekvence".

Autor:  Lisiak4 [ 25.07.2020, 07:10 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Tak vcera jsem chybu nasel. Spise jsem se jen poucil jak funguje instrukce asr (automatic shift right). Mel jsem zato, ze kdyz zarotuji o 2 bity doprava, na dvou nejvyssich bitech budu mit nulu. Ale dava to tam jedničku, kdyz rotuji v rozsahu jednoho bytu, tedy asr.b. Az kdyz pouziju rotaci stejneho cisla v rozsahu wordu, tedy asr.w se mi do nejvyssich bitu pridava nula. Asi ty 2 funkce v 1 byte prohodim, at si porad vystacim pouze s jednou dalsi instrukci pro smazani 2 bitu a nemusim rotovat. U 2 bitu pouzitych pro neco jineho rotaci pouzit nemusim.

Autor:  Antony/DTA [ 25.07.2020, 08:08 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

ASR (arithmetic shift right) zachováva znamienkový bit. Ty asi potrebuješ LSR (logical shift right), ktorý ti tam vsúva nulu.
Píšeš o rotácii, ale na to sú zas iné inštrukcie (ROR a ROXR).

Autor:  Lisiak4 [ 25.07.2020, 09:47 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Super, opravené, díky :)

Autor:  Lisiak4 [ 20.08.2020, 15:53 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Je hotova 1.verze meneni rychlosti hrani skladby ("za běhu")

Autor:  Lisiak4 [ 03.10.2020, 15:44 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Zvýšil jsem prioritu u měnění rychlosti hraní skladby za běhu ze stavu nedůležitá na důležitá. Vidím to zatím jako rozumný kompromis mezi co nejmenším zatížením procesoru a přesností časování v samotné rutině. Asi 2 min 30 s skladbu bych měl dokázat zahrát s 3 vteřinovým rozestupem. Tedy maximálně o 1,5 vteřiny rychleji, nebo pomaleji vůči originálu. Za jistých okolností, které asi nebudou nutné bych měl dokázat zvýšit přesnost na +- 1,5 s vůči původním 3 s. Dokončil jsem to včera večer a vycházím zatím z předpokladů. Tedy netestováno. Mám v rutině 3 predsekvence. Tu hlavní mám upravenou pro změnu rychlosti, doplnění do zbylých 2 je brnkačka. Jednu jsem upravil (původní kód pro změnu rychlosti), do druhé kdykoliv doplním, jsou to 3 řádky kódu, takže na to peču do kým to nebudu potřebovat. Jsou tam důležitější věci a pevně věřím, že můj hudební formát tímto dostává závěrečnou podobu alespoň na pár skladeb.

Autor:  Lisiak4 [ 16.10.2020, 12:14 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Hledal jsem chybu, ale možná jen ducha. Chyba odstraněna a možná ani ne odstraněna, ani nebyla. Nebo možná odstraněna mým drobným přeprogramováním. Hodně faktorů a stav je, že jsem si opět není vědom nějaké chyby. Ještě pořád důkladně netestováno. 100 procentně vím jen příčinu. Neztlumoval jsem sampl, čím se mi nechytala frekvence samplu dalšího. Bavím se zde o dodatečném softvérovém vstupování do mého formátu, tedy o velice krátkých časech. Nicméně i tuhle možnost jsem testoval a v čase testování ztlumení samplu nepomáhalo. Pomohlo až po čase = hledání ducha.

Autor:  Lisiak4 [ 16.10.2020, 12:25 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Pokusím se nějak pořešit práci hudební rutiny, když budu chtít zahrát 2 a více skladeb. Přibalení rutiny ke každé skladbě je posledním řešením. Možná se pokusím s tímhle vyřešit i hraní skladeb ve správný čas v konkrétních lokacích v jakémkoliv dalším programu / hře. To bych ale měl dle všeho použít dosud nepoužitý zásobník. Tedy se s prací zásobníku lépe seznámit.

Autor:  Lisiak4 [ 25.10.2020, 11:01 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Ale jo, já to co jsem napsal na FB dám i sem :)
Cituji se a chyby v přepočtech povoleny :)
....
Včera jsem ohledem mé rutiny probíral všechny možnosti s počtem samplů kolik mužů hrát v 1 skladbě. Je tam strašně moc možností. Mám v rutině speciální predsekvenci která má více funkcí s nahráním samplu. Teď pracuje s 18 samply a z toho s 10 speciálně a z toho 7+3 se dvěma různými funkcemi. Tedy 8 samplů nahraji standardně. z těch 8 samplů to dokážu zvednout na 16, tedy 26 samplů dohromady. V tomhle stavu jsem schopen měnit 4 sample ve 4 kanálech v jeden moment. Pokud omezím a budu moci měnit 3 sample najednou pořád ve 4 kanálech, dokážu zvednout počet všech samplů z 26 až na zbytečných 78. Pokud by jsem potřeboval více jak 26 samplů bez omezeni, tedy měnit najednou 4 sample, musel by jsem si pomoci další drobnou predsekvenci. To můžu. Rozhodoval jsem se jestli měnění samplů pro více skladeb budu provádět po 16 nebo 32. V rámci adresace potřebují na 1 sampl 1 Long, tedy 4 bajty. 32 samplů na 1 skladbu je přesně 1KB + sample samotné. V rámci všech skutečnosti budu pracovat se 32 samply na 1 skladbu. Původní koncept měl možnost pracovat se 128 skladbami. Druhá nejbližší o třídu nižší varianta skočí na 8 skladeb na 1 rutinu. Dnes jsem si to uvědomil a nižší variantu jsem vybral. Přejít na vyšší variantu je věci 1 nebo 2 instrukcí které teď ušetřím. A to je definice vesmírného pirátství :D

Autor:  Lisiak4 [ 05.11.2020, 10:51 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Dokončeno měnění samplů i pro více skladeb. Zatím nějak výrazně netestováno. Již chybí pouze práce s patterny, nicméně teď se pokusím zaměřit na předělání 2.skladby a asi taky postupné přepsání 1.skladby.

Stránka 1016 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/