, Turbo Pascal projektowanie kart dĹşwiękowych 

[ 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 ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • osy.pev.pl