Zápisník experimentátora
Počas práce na generátore signálov toto vzniklo ako vedľajší produkt. Výstup z generátora AD9850 je zosilňovaný cez LM386 a prehrávaný cez miniatúrny reproduktor.
Momentálne mám rozpracovanú nejakú konštrukciu na báze AD9850 a počas práce na nej ma napadlo, že keď už ten integrovaný obvod dáva taký pekný sínusový signál, či by sa to nedalo aj počúvať. Tak som na jeho výstup pripojil zosilňovač pomocou LM386 v katalógovom zapojení a malý reproduktor. A preladil som AD9850 na počuteľné frekvencie medzi 100-1000 Hz. A z reproduktora sa naozaj ozval pomerne slušný zvuk. Keďže ale ladená konštrukcia nie je určená na počúvanie, urobil som v rámci experimentu malú odbočku od projektu. Jej výsledkom je prehrávanie skladby Moon River od Henry Manciniho.
Skladbu som si vybral preto, lebo mám ku nej noty a je to o niečom úplne inom, než jednoduché skladbičky typu DoReMi. Takže to bola aj výzva, ako zapísať rôzne dĺžky nôt. Za základ mi poslúžil vzorový príklad Tone. Ten som upravil tak, aby sa dali zahrať:
Potom nastala veselá hodinka, počas ktorej som prepisoval tóny do podoby NOTE_C4, NOTE_E4, NOTE_G4 a dĺžky do podoby 4, 2, 8. Noty z bodkou do podoby 4|DOT. Noty s oblúčikmi do podoby 4|TIE. Pri takej činnosti potrebujete najmä kľud. Ten som nemal, lebo nejaký suset vŕtal do panelov. Ale snáď je skladba prepísaná bez chýb.
Celý algoritmus je založený na tom, že dĺžka noty je uložená ako 16 bitové číslo. V spodnej časti 0x00XX je uložená dĺžka tónu. V hornej časti 0xXX00 sú uložené modifikátory dĺžka. Výsledná dĺžka noty sa vypočíta ako modifikácia pôvodne zapísanej dlžky. Nota s oblúčikom súčasne aj preskakuje nasledovnú notu, pretože je celá dĺžka noty vypoćítana do dĺžky úplne prvej noty takto spojenej.
Vo videu je počuť na začiatku klasické DoReMiFaSolLaSiDo (AD9850 DoReMi). Na konci je počuť samotnú Moon River (AD9850 Moon River). Oba zdrojové texty je možné stiahnuť z tejto stránky.
Na zapojenie potrebujeme:
07.07.2015