OndraMELODIK Soundtrack

Přídavný modul OndraMELODIK významně rozšiřuje zvukové možnosti počítače Ondra. Doposud však nebyl využit na maximum díky absenci softwarového propojení se světem umělců – hudebních skladatelů. Ve hrách, kde je modul podporován, byla hudba zatím okrajovou záležitostí, se kterou jsem se vypořádal velmi primitivně. Po skoro dvou letech, několika pokusech a slepých cest mě na tu správnou přivedl M. Bórik a pak už to šlo rychle…

Už dávno jsem zavrhl možnost vytvořit speciální formát hudby pro Ondru. Znamenalo by to skládat hudbu nebo ji odjinud konvertovat. Zkoušel jsem rozšiřovat původní cestu VGM přehrávače, kdy se mi na PC dařilo konvertovat do VGM téměř dokonale i formáty trackerů jako PT3. Jenomže VGM je proud dat, bez patternů, nástrojů a jejich obálek… tudíž jedna skladba obvykle byla větší než celá paměť Ondry. Experimentoval jsem s VGM kompresory, ale náročnost na paměť byla stále neúnosná. Inspirace na jiných platformách s čipem SN7648 jsou téměř nulové (Sord M5, Sharp MZ800,…). Ano na Sharpu je Fuxoft Soundtrack, což je skvělá věc. Ale převodem přehrávače bych byl omezen jen na skladby F. Fuky, což mi nedává smysl.

Nakonec jsem se rozhodl udělat to, do čeho se mi vůbec nechtělo, ale bylo to nutné. Nativní přehrávač skladeb původně určených pro čip AY-3-8910 (především ze ZX Spectra). Velmi mě „nakopl“ M. Bórik, který mě velmi rychle uvedl do problematiky a odkázal na jeho opensource přehrávače pro čip AY. Mě hned padla volba na ten „nejrychlejší“ a s největším počtem dostupných skladeb od umělců. Jedná se o formát STC (původní Sound Tracker). Cílem tedy bylo přehrávač přepsat tak, aby dokázal skladbu určenou pro čip AY přehrát na čipu SN76489. Jedna taková skladba pak zabírá okolo 3kB a to je prostě skvělé.

Čip SN76489 má užší zvukové možnosti než AY a je jinak stavěn. Musel jsem přistoupit k hrubým aproximacím, zjednodušením a transformacím. Především menší rozsah o dvě oktávy si vyžádal „oříznutí zespoda“ – tudíž nečekejte basové podkresy, dvě spodní oktávy hrají zkrátka obě až ve třetí oktávě. Hardwarové obálky přehrávač ignoruje, naštěstí hodně skladeb je vůbec nepoužívá. A šumový kanál, aby si ponechal nezávislost na tónovém kanálu C je aproximován na pouhé tři různé frekvence bílého šumu. Přesto je výsledek nad očekávání dobrý.

Ukázka: Take On Me (Qjeta)

Tu stejnou skladbu v originále si lze poslechnout online zde, tak jak zní na čipu AY-3-8910.

Nativní přehrávač hudby formátu STC na Ondru je tedy hotov. Znamená to pokrok pro hudbu na Ondrovi.

Zdrojové kódy přehrávače jsem zveřejnil na svém Githubu: https://github.com/72ka/Tesla_Ondra/tree/main/STC_Player

Ačkoliv se jedná o nejjednodušší verzi s mnoha kompromisy, spotřebuje téměř 100% strojového času náročných skladeb při plném grafickém zobrazení. Při mírném posunu obrazu je už situace lepší a zkoušel jsem upravit hru FallingBlocks a výsledek je poté použitelný. In-game hudba je tedy možná, avšak jen pro nenáročné hry. Dost možná tedy vydám třetí verzi této hry s hezčím hudebním doprovodem. Ale aby si už nyní mohli všichni poslechnout, jak to zní přímo na vašem OndraMELODIKu, udělal jsem jednoduchou aplikaci s několika integrovanými skladbami, které mi zní dobře. Program se jmenuje „OndraMELODIK Soundtrack“ a ihned po spuštění začne hrát první skladba. Změna skladby se provede stiskem libovolné klávesy. Pro ukončení stačí píchnout Ondru do boku a resetuje se. Provětrejte tedy své Melodiky a jedna skladba je vánoční, právě na ten dnešní, Štědrý den!

Příspěvek byl publikován v rubrice Software se štítky , , , . Můžete si uložit jeho odkaz mezi své oblíbené záložky.