OldComp.cz
http://oldcomp.cz/

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

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

Zdar, dělám si klasický přehled možností které možná nastanou a možná nenastanou a tak zakládám tohle vlákno pro rady, nasměrování v rámci vkládání hudby do programu, celkové možnosti, které v rámci hudby v programe jsou co se týče assembleru.

Jedná se o všeobecné zkušenosti v rámci programování a hudby, proto tohle vlákno nezakládám v sekci Amiga, protože ta je třeba středem mého zájmu, ale předpokládám, že ta situace bude obdobná i třeba na jiných počítačích v rámci assembleru. V rámci Amigy a assembleru se mi tedy jedná o nesystémové programování / použití jen nutných základních systémových knižníc pro běh nesystémového programu.

Kromě hraním se s programováním již nějakou dobu uvažuji i o možné tvorbě hudby. Tedy o tvorbě hudby v rámci programu v assemblery. Jde mi o možnosti. Udělal jsem první takový letmý průzkum. Samozřejmě mne opravte pokud něco napíšu špatně. V rámci nejnižší úrovně přístupu k hudbě alespoň v rámci Amigy je přístup pomocí DMA kanálů. Tam by jsem si ale hudbu musel odřídit celou sám, protože by jsem vlastně řídil celý proces hraní různých samplů. Zajímala by mne vaše zkušenost v rámci zvedání nároku na hardware u použití různých přehrávacích rutin vůči přímému řízení DMA kanálů samotným assemblerem. Kromě zvednutí HW nároků asi pude nejspíše hlavně o zvednutí i nároků na paměť.

Zkusím to napsat selsky. Má smysl napsat hudbu v nějakém trackeru, pokud ji pak omylem budu chtít použít v nějakém nevím kolik kilobytovém intru? Našel jsem i nějaké hexa editory hudby. Tak mne zajímá s čím by jsem měl začít, ale aby to pak mělo využití i v tom nevím kolik kilovém intru.

Samozřejmě vždy můžu na začátek polevit a pokusit se udělat nějaký MOD nebo nevím co a udělat intro paměťově a HW náročnější oproti stylu, kdy se budu snažit věci držet co nejvíce na podlaze, tedy aby měli co nejmenší nároky v rámci mých možností, ale tuhle možnost volím až po tom, co uznám, že to nepůjde zatím z mé nezkušenosti tou první možností. A třeba to nepůjde s mýma možnostmi ani tou druhou možností.

Pardon, pokud jsem zde napsal samé pitomosti :).

Díky za všechny rady! :)

Autor:  ObiWanKen [ 10.01.2016, 23:30 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Na Amige je najlahsie pouzit uz hotove prehravace, teda importovat ich do zdrojaku. Same si nastavia prerusenie, vacsinou CIA casovace a o nic ine sa nemusis starat. Len mu "povies" kde sa MOD nachadza. Pouziva sa najcastejsie ST mod (SoundTracker).

Ak chces prehrat len Sample tam je to tiez lahke, DMA kanalu nastavis kde sa sampel nachadza, aky je dlhy, hlasitost, rychlost prehravania a spustis DMA.

Na C64 je situacia podobna, s vynimkou ze prehravac je uz sucastou hudby. Vacsinou staci spustit nejaky INIT prehravaca a potom volat prehravac vo VBI alebo v IRQ preuseni.

Vobec nema zmysel programovat vlastne prehravace, musel by si si tiez vytvorit vlastny editor. A to uz je fuska :)

Autor:  misticjoe [ 10.01.2016, 23:35 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Nezapoměl - je to v "a jiné". Jinak pro Lisiaka4: určitě se dá nějaká hudba generovat i přímo z assíku na Amize (tedy nejen na ní). Chipmusic bez problémů - byť si budeš muset vygenerovat nástroje a pak je přehrávat v tebou zvoleném sledu. Jednodužší však bude vygenerovat si kratičké samply, v PT z nich poskládat hudbu a pak použít nějaký z již napsaných replay kódů. A ve výsledku na "EXE" vrhnout nějaký pěkný packer. Totiž pochybuju, že si bude psát vlastní replay kód, který bude očesaný přesně podle toho, co za rutiny/efekty pro přehrávání použiješ. Tedy pokud si nevystačíš s nějakým "bzzzzzzz", které bylo v nejednom cracktru od Fairlight. :-)

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

Dal jsem to do všeobecného vlákna, aby si každý k tomu mohl říci své i v rámci jiné platformy ;). Je pravdou, že z mé neznalosti může mít to, na co jsem se ptal v rámci různých platforem úplně jiné řešení. Chyba je daná samozřejmě z mé neznalosti, takhle se mi to ale zdálo být nejmenším zlem :).

ObiWanKen: zajímavé, citace z Atlantida News 4
Citace:
2. Použití CIA časování
Takzvané CIA časování je specifickou lahůdkou Protrackeru. Oproti klasickému VBLANK časování je velmi výhodné, neboť umožňuje jemnou manipulaci s tempem skladby, což může mít podstatný vliv na její celkový zvuk. Z hlediska spolupráce s coderem je však CIA hotové neštěstí. CIA replayery jsou pomalé a často nefungují tak, jak by měly, proto jsou zdrojem mnohých komplikací.
Při používání CIA je třeba si uvědomit, k jakému účelu bude naše skladba sloužit. Pokud se bude jednat o doprovodnou hudbu k diskmagu nebo k produktu, který není náročný na strojový čas, většinou problém nevznikne, protože coder může použít standardní CIA rutinu. Ale u dema nebo hry počítejte s tím, že by vás taky mohl poslat k šípku. Pro tyto účely raději používejte VBLANK časování.

3. VBLANK a CIA
Zajímavá situace může nastat, když coder použije CIA rutinu a ve vaší skladbě (normálně časované VBLANKem) se vyskytují příkazy Fxx s parametrem vyšším než 1F. Rutina je z toho pak úplně groggy!

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

Skoda ze nechodis na JHcon a Forever. Zrovna na tychto party som mal taku mensiu prednasku o tom ako mam robenu hudbu vo svojich intrach, a aka je struktura dat tak, aby sa cela hudba aj s grafikou a efektami vosla do 1kB, popr. dokonca do pol kilobajtu (intro Sil512). Ale ak by si dosiel na najblizsi Forever, mozeme o tom pokecat :)

Autor:  jack-3d [ 11.01.2016, 13:50 ]
Předmět příspěvku:  Re: Tvorba hudby + programování v assembleru

Všechna 4k intra na Amize mají muziku generovanou syntetizéry. Kódeři je vesměs releasují viz Blueberry a jeho nejnovější Cinter (http://ada.untergrund.net/?p=boardthread&id=953).

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

Presne tak isto aj na PeCedle. Zvykne sa pouzivat napriklad 4klang http://4klang.untergrund.net/

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

To moze byt. Zial vela MOD-ov je nutne prehravat cez CIA, pretoze pouzivaju prikazy Fxx a ked sa prehravaju cez VBI tak su "rozhodene". Ako si uz spomenul.


Citace:
2. Použití CIA časování
Takzvané CIA časování je specifickou lahůdkou Protrackeru. Oproti klasickému VBLANK časování je velmi výhodné, neboť umožňuje jemnou manipulaci s tempem skladby, což může mít podstatný vliv na její celkový zvuk. Z hlediska spolupráce s coderem je však CIA hotové neštěstí. CIA replayery jsou pomalé a často nefungují tak, jak by měly, proto jsou zdrojem mnohých komplikací.
Při používání CIA je třeba si uvědomit, k jakému účelu bude naše skladba sloužit. Pokud se bude jednat o doprovodnou hudbu k diskmagu nebo k produktu, který není náročný na strojový čas, většinou problém nevznikne, protože coder může použít standardní CIA rutinu. Ale u dema nebo hry počítejte s tím, že by vás taky mohl poslat k šípku. Pro tyto účely raději používejte VBLANK časování.

3. VBLANK a CIA
Zajímavá situace může nastat, když coder použije CIA rutinu a ve vaší skladbě (normálně časované VBLANKem) se vyskytují příkazy Fxx s parametrem vyšším než 1F. Rutina je z toho pak úplně groggy!
[/quote]

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

Ehm mám vnitřní problém s použitím hudby pomocí nějaké již udělané rutiny. Tohle by byla asi až další možnost, která zatím nenastala. Uvědomuji si, že udělání vlastního trackeru by byla fuška. Dle mne to ale nejsou všechny možnosti. Je mi jasný že v trackeru je jistý druh komfortu, ale s jistým menším komfortem jde dle mne přímo v asm dělat hudba i bez něj. Tedy dle mne lze použít editor asm jako editor hudby, kde samotný hudební soubor bude přímo součástí kódu asm a z něj vložen tak přímo do paměti. Logika pro přehrávaní by již tak pracovala přímo s touhle hudbou v dané paměti.

Nejdříve bych chtěl zkusit přehrávat hudbu na Amize výše uvedeným způsobem. Aby to vše mělo smysl, musí i samotný hudebník v tom nevidět problém. Samotnou logiku editovaní hudby přímo v asm bych udělal co nejjednodušeji v rámci mých možností.

Dotaz na hudebníky: vidíte v takové editaci hudby problém?

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

Tak jsem si říkal jak vyřeším různou výšku tónu v rámci 1 samplu. No jo kromě znižování a zvyšování periody samplu, čím se mi sampl zahraje ale taky rychleji, nebo pomaleji zajistím konstantní délku 1 samplu v různých výškách tónu jeho zkrácením. A obojí v asm v rámci Amigy udělat lze. Je mi jasný, že jsem neobjevil Ameriku, ale mám radost, když jdou věci dělat takhle snadno :).

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

Stačí na tvorbu hudby 8 základních tónu v jedné stupnici, nebo bych tomu měl malinko přidat a tedy udělat mírnější přechod mezi nejnižším a nejvyšším tónem? Jedná se mi o rozumný střed, aby to bylo na tvorbu hudby použitelný.

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

No, Jiřímu Bartoškovi stačil ke zpěvu jediný tón (víc jich nevydá), Suchému v jedné písničce také, a v určitých moderních stylech si vystačí snad i bez jakéhokoliv tónu... :lol:
Opačný extrém jsou virtuosní houslisté a trumpetisté, kteří dokážou hrát i čtvrttóny!

Ale v normální hudbě sem tam nějaký ten půltón použiješ, ono jich zase tak moc není a aspoň se ti budou lépe počítat frekvence, když budeš mít tu řadu plynulou bez děr.

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

Tak dám mezi každý tón jeden poloviční? Tedy 15?

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

Dvanáct, podívej se na klávesnici u klavíru:

Obrázek

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

Dvojité C by mělo být taky standard ne? To by bylo 13. V rámci hexa mám ještě 3 k dispozici, tak bych tam asi ještě něco frknul, aby jsem využil rozsah 0-F.

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