,
[ Pobierz całość w formacie PDF ]
port[$02]:=0; {młodszy bajt długości} { starszy bajt długości} { aktywacja kanału DM 1 } DSPWritet$4D]; DSPWritet'131]; { wartość bez znaczenia: tu dla 8000 Hz } DSPWrite($4B], DSPWhtem; DSPWriteEO]; DSPWrite[$14]; DSPWrite[1); DSPWriteCO)' {scary wektor IRQ2} {scary wektor IRQ3} {stary wektor IRQ5} {starywektorlRQ7} wriceln['Karcie przypisano linię IRQ',number] end, Poniewa\ maksymalna częstotliwość próbkowania udostępniana przez kartę jest determinowana wersją układu DSP, przydatna jest mo\liwość sprawdzenia numeru wersji karty. Posłu\yć się tu mo\na rozkazem El h, opisywanym przy okazji omawiania komend DSP. Podany tam le\ został tekst przykładowego programu. Warto zauwa\yć, \e pomimo i\ testowanie konfiguracji karty jest dość proste, wiele z programów zwraca się z pytaniem o ustawienia do u\ytkownika (a przynajmniej jest mo\liwość wymuszenia przyjmowanych przez program parametrów). Je\eli ju\ zdecydujemy się na takie podejście do problemu, przed zadaniem pytania o kanał DM, numer linii IRQ czy adres portu bazowego warto sprawdzić wartość zmiennej systemowej BLASTER. Przykład proce- 107 PROGRAMOWANIE DSP dur testujących podstawowe ustawienia karty przedstawiony został w rozdziale poświęconym obsłudze plików zapisanych w formacie VOC. 109 ROZDZIAA 4 PROGRAMOWANIE SYNTEZERA FM 5. PROGRAMOWANIE SYNTEZERA FM Programowanie syntezera FM jest najbardziej naturalnym sposobem zmuszenia karty Sound Blaster do zagrania choćby najprostszej melodii. Opisywany w jednym z poprzednich rozdziałów sterownik SBFM, korzystając z układu FM, udostępnia nam prosty sposób udzwiękowienia swoich programów. Warto zdawać sobie sprawę, \e do wszystkich mo\liwości karty daje dostęp dopiero znajomość zasad jej bezpośredniego programowania. W niniejszym rozdziale pragnę przekazać podstawowe informacje na temat funkcjonowania układu syntezy FM i zasad tworzenia wykorzystujących go programów. 5.1 FUNKCJONOWANIE SYNTEZERA FM Syntezer FM, który znajdujemy na kartach Sound Blaster, oparty jest o układ Yamaha oznaczany przez FM1312. Mo\e pracować w dwóch trybach: melodycznym (mo\liwość kształtowania brzmienia 9 instrumentów) oraz rytmicznym (definiujemy brzmienie 6 instrumentów i mo\emy korzystać ze zdefiniowanych 5 instrumentów perkusyjnych: bębna basowego, bębenka, werbla, talerza i ni hat). Zanim przystąpimy do programowania układu syntezy FM, warto przypomnieć sobie kilka podstawowych informacji na temat dzwię- ROZDZIAA 5 ku w ogóle, a dzwięków generowanych przez naszego Sound Bla-stera w szczególności. Najprostszym dzwiękiem jest ton, czyli drgania akustyczne o przebiegu sinusoidalnym (mówimy tak, poniewa\ wykres zmian natę\enia dzwięku w funkcji czasu ma postać sinusoidy). Na przykład z dzwięku wydawanego przez instrumenty strunowe wyizolować mo\na sygnał o częstotliwości podstawowej oraz szereg sygnałów o częstotliwościach wy\szych ni\ podstawowa (tzw. harmonicznych). O barwie dzwięku decyduje tu liczba i amplituda kolejnych składowych. Ciąg zmian amplitudy całkowitego sygnału akustycznego w funkcji czasu to obwiednia dzwięku. Obwiednia charakteryzuje takie podstawowe parametry czasowe dzwięku, jak: " Czas narastania, czyli czas, w jakim amplituda sygnału osiągnie wartość maksymalną. " Czas opadania, czyli czas, w jakim amplituda sygnału osiąga (zmniejszając się) wartość związaną z fazą ustaloną. " Czas ustalania, czyli czas, w jakim amplituda osiągnie poziom, na jakim pozostanie do końca fazy ustalonej. " Czas zanikania (wybrzmiewania) - czas, w jakim wartość względna amplitudy sygnału spadnie do poziomu zerowego. OdB Poziom podtrzymania 96 dB Narastanie Opadanie PodtaTymanie W/brzmiewenie (ARack) (Decay) (Sustsin) (Retase) Rys.4 Obwiednia ADSR (AttackfDecay/Sustain/Relase) Układ syntezera FM zawiera 18 operatorów. Ka\dy z nich składa się z oscylatora, generatora obwiedni i sterownika głośności. Oscylator odpowiedzialny jest za generowanie fali o przebiegu opartym na sinusoidzie. Generator obwiedni na podstawie ustalonych parametrów moduluje w czasie amplitudę sygnału wyjściowego. Parametry pracy ka\dej z części operatora: Oscylator: " kształt bazowej fali (do wyboru jedna z czterech opcji) 111 PROGRAMOWANIE SYNTEZERA FM " mno\nik częstotliwości (współczynnik, przez który mno\ona jest częstotliwość generowanego sygnału) " vibrato (ustawienie tego efektu powoduje niewielkie wahania częstotliwości dzwięku w funkcji czasu) " intensywność sprzę\enia zwrotnego FB (dla syntezy FM) Generator obwiedni: czas narastania (czas, po jakim amplituda sygnału osiągnie wartość maksymalną) " czas opadania (czas, w jakim amplituda sygnału spadnie z poziomu maksymalnego do ustalonego) flaga fazy ustalonej EG-TYP (flaga ustawiona oznacza występowanie w obwiedni fazy ustalonej) " poziom amplitudy w fazie ustalonej " czas zanikania (czas, po jakim amplituda sygnału spadnie z poziomu ustalonego do 0) skala długości KSR (decyduje o tym, czy długość dzwięku ma być częściowo zale\na od jego wysokości) Sterownik głośności: [ Pobierz całość w formacie PDF ] |
Odnośniki
|