home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
10
/
ami023.txt
< prev
next >
Wrap
Text File
|
1997-04-07
|
14KB
|
406 lines
Music-X (cz. 18.)
-----------------
MX 2.0
<lead>W tym odcinku opiszë dalszy ciâg udoskonaleï ôwietnego
sekwencera muzycznego, z którymi miaîem okazjë sië zapoznaê. Na
poczâtku bëdzie jeszcze trochë o samplach, a w kolejnych
odcinkach -- nastëpne wynalazki.
<a>William Mobius
<txt>Poczâwszy od tego odcinka bëdë zamieszczaî krótkie
streszczenia omawianych problemów. Dziëki temu rzut oka
wystarczy, aby znaleúê interesujâcy Czytelnika temat. A oto, co
dziô omówimy:
-- VELOCITY i DCA, czyli nakîadanie dynamiki na sample;
-- PGM, czyli sposoby uûywania 64 sampli w utworach;
-- LOOP-SUSTAIN, czyli sposoby zmniejszenia szumu ziarnistego sampli;
-- PRZENIKANIE próbek (przykîady).
3. VELOCITY. Na sample oprócz obwiedni (ang. ENVELOPE) moûe byê
teraz naîoûona dynamika -- mniej wiëcej tak, jak funkcja VELOCITY
w syntezatorach i ekspanderach. VELOCITY, podobnie jak ENVELOPE,
nie znieksztaîca sampla (nie dzieli wartoôci próbek), co ma
kolosalne znaczenie dla jakoôci dúwiëku. Innymi sîowy,
zmniejszenie gîoônoôci sampla nie powoduje zmniejszenia sië
fizycznej rozdzielczoôci amplitudowej próbek z 8 bitów do np. 7,
6 itd. Manipulacje gîoônoôciâ sampla nie powodujâ zatem
zwiëkszania sië szumu kwantyzacji, lecz przeciwnie! Powodujâ
>pozorne< zwiëkszenie sië rozdzielczoôci do 9 bitów i wiëcej.
W jaki sposób? Jest to moûliwe dlatego, ûe gîoônoôê próbek
reguluje sië za pomocâ przepuszczania dúwiëku przez DCA (ang.
Digital Controlled Amplifier -- pol. Cyfrowo Sterowany
Wzmacniacz), co widaê na rys. 1. Za pomocâ tej metody,
zmniejszajâc amplitudë kaûdego przebiegu, powodujemy zarazem
prasowanie szumu kwantyzacji, który zmniejsza sië w ten sposób
maksymalnie do granicy osiâgalnej razem dla przetworników D/A i
wzmacniaczy DCA do jakoôci 14 bitów. Jest to metoda podobna do
uûywania nieliniowych przetworników A/D i D/A, w których dziëki
>zmiennemu< progowi kwantyzacji odstëp od szumu kwantyzacji jest
staîy. Ale wracajmy do DCA. Otóû cztery takie DCA, zamontowane w
naszej Amidze, sterowane sâ danymi o rozdzielczoôci 7 bitów, przy
czym ostatni bit nie jest wykorzystywany do koïca, mamy wiëc
moûliwoôê niezaleûnej regulacji gîoônoôci kaûdego z czterech D/AC
(powiedzmy, ûe dla uproszczenia generatorów dúwiëku) w zakresie 6
bitów (+1), czyli pomiëdzy 1..64, oraz dodatkowo 0, czyli 65
moûliwych ustawieï. Przy czym dla wartoôci:
64
dúwiëk nie jest w ogóle zmieniany, natomiast dla:
0
tîumiennoôê DCA jest równa nieskoïczonoôci. Dla poôrednich
wartoôci tîumiennoôê zmienia sië odpowiednio od wartoôci maîych
do duûych. Tutaj podajë tabelkë regulacji DCA, jako ûe chciaîbym
moûliwie wyczerpujâco opisaê zagadnienie, a poza tym tabela ta
przyda sië teû osobom, które zajmujâ sië muzykâ w szerszym
pojëciu, nie ograniczajâc sië tylko do programu Music-X. Te same
bowiem wartoôci odnoszâ sië do regulacji gîoônoôci dúwiëków w
takich programach, jak np. Protracker czy Octamed:
<r>Regulacja dynamiki DCA:
dec hex (dB) poziom (X)
64 $40 -0 1
63 $3f -0.1 0.984375
62 $3e -0.3 0.96875
61 $3d -0.4 0.953125
60 $3c -0.6 0.9375
59 $3b -0.7 0.921875
58 $3a -0.9 0.90625
57 $39 -1 0.890625
56 $38 -1.2 0.875
55 $37 -1.3 0.859375
54 $36 -1.5 0.84375
53 $35 -1.6 0.828125
52 $34 -1.8 0.8125
51 $33 -2 0.796875
50 $32 -2.1 0.78125
49 $31 -2.3 0.765625
48 $30 -2.5 0.75
47 $2f -2.7 0.734375
46 $2e -2.9 0.71875
45 $2d -3.1 0.703125
44 $2c -3.3 0.6875
43 $2b -3.5 0.671875
42 $2a -3.7 0.65625
41 $29 -3.9 0.640625
40 $28 -4.1 0.625
39 $27 -4.3 0.609375
38 $26 -4.5 0.59375
37 $25 -4.8 0.578125
36 $24 -5 0.5625
35 $23 -5.2 0.546875
34 $22 -5.5 0.53125
33 $21 -5.8 0.515625
32 $20 -6 0.5
31 $1f -6.3 0.484375
30 $1e -6.6 0.46875
29 $1d -6.9 0.453125
28 $1c -7.2 0.4375
27 $1b -7.5 0.421875
26 $1a -7.8 0.40625
25 $19 -8.2 0.390625
24 $18 -8.5 0.375
23 $17 -8.9 0.359375
22 $16 -9.3 0.34375
21 $15 -9.7 0.328125
20 $14 -10.1 0.3125
19 $13 -10.5 0.296875
18 $12 -11 0.28125
17 $11 -11.5 0.265625
16 $10 -12 0.25
15 $0f -12.6 0.234375
14 $0e -13.2 0.21875
13 $0d -13.8 0.203125
12 $0c -14.5 0.1875
11 $0b -15.3 0.171875
10 $0a -16.1 0.15625
9 $09 -17 0.140625
8 $08 -18.1 0.125
7 $07 -19.2 0.109375
6 $06 -20.6 0.09375
5 $05 -22.1 0.078125
4 $04 -24.1 0.0625
3 $03 -26.6 0.046875
2 $02 -30.1 0.03125
1 $01 -36.1 0.015625
0 $00 -nieskoïczonoôê 0
<txt>Liczby podane jako "wartoôê" program wpisuje sobie do
rejestru DCA Amigi, co powoduje odpowiedniâ regulacjë gîoônoôci
dúwiëku. Informacja ta przyda sië teû poczâtkujâcym programistom.
Sterowanie DCA w Amidze odbywa sië za poôrednictwem rejestrów,
oznaczanych w literaturze jako AUDxVOL, gdzie "x" to numer
kanaîu z zakresu 0..3. Sâ to rejestry szesnastobitowe z
wykorzystaniem jedynie bitów nr 0..6:
<l>xxxxxxxxx6543210
<txt>A ich adresy w pamiëci Amigi sâ nastëpujâce:
<r>Rejestry DCA w Amidze:
DCA kanaî nazwa adres (hex)
DCA #0 lewy AUD0VOL $dff0a8
DCA #1 prawy AUD1VOL $dff0b8
DCA #2 prawy AUD2VOL $dff0c8
DCA #3 lewy AUD3VOL $dff0d8
<txt>Sam MX nie korzysta jednak bezpoôrednio z wartoôci 0..64,
lecz ze standardowych kodów dla VELOCITY, czyli z zakresu 0..127
plus wartoôci zmieniajâcej sië w czasie ENVELOPE, które sâ potem
odpowiednio wewnëtrznie przeliczane przez program i "ôciskane" do
przepisowych 0..64, wpisywanych nastëpnie do tych komórek.
Uûytkownik ma zatem dwie moûliwoôci regulacji gîoônoôci sampla i
dynamiki, stosowane równoczeônie:
-- moûliwoôê ustawienia VELOCITY dla sampla, przez wpisanie
wartoôci z zakresu 0..127 obok nazwy VELOCITY w ekranie EVENT
EDITOR (rys. 3.) lub granie bezpoôrednio na klawiaturze
syntezatora, przez co proces przypisania gîoônoôci dúwiëków
przebiega automatycznie (rys. 2.);
-- ustawienia ENVELOPE (obwiedni) dla tego sampla.
Kombinacja tych dwóch wartoôci, zmieniajâca sië w czasie, jest
dopiero wpisywana do DCA (czyli do rejestrów AUDxVOL) Amigi,
dziëki czemu wîaônie moûliwa jest regulacja dynamiki sampla,
podobnie jak to jest z regulacjâ dynamiki w syntezatorze.
4. PGM. PROGRAM CHANGE, czyli korzystanie z 64 sampli. Wczeôniej
zostaîa zasygnalizowana moûliwoôê uûywania aû 64 sampli,
znajdujâcych sië w pamiëci Chip RAM. Sposoby wywoîywania kaûdego
sampla sâ pozornie proste, bo opisane w kaûdej oryginalnej
instrukcji obsîugi. Problemy zaczynajâ sië dopiero przy próbie
uûycia sampla o numerze wyûszym niû 16. Przecieû moûemy uûyê w
tracku numeru sampla czy dúwiëku MIDI o kanale nie wiëkszym niû
16. W jaki zatem sposób moûna korzystaê z tego dobrodziejstwa? I
tu miaîem dylemat. Mianowicie szczegóîowe opisywanie opcji MX-a
to nic innego jak jawne popieranie piractwa! Ale z drugiej
strony, gdy widzë oczami wyobraúni te rzesze uûytkowników,
których nie staê na zapîacenie paru milionów zîotych za program,
lub którzy po prostu nie wiedzâ, jak go kupiê, albo takich,
którzy tîumaczâ i mëczâ oryginalnâ instrukcjë obsîugi MX-a za
pomocâ baterii róûnorakich sîowników, linijka po linijce w
trudzie i znoju, wtedy wîaônie chwytam za elektroniczne pióro i
spisujë to wszystko, o czym czytacie, majâc nadziejë, ûe dziëki
temu wyedukujë chociaû garstkë przyszîych prawdziwych muzyków.
Otóû korzystanie z sampli jest w tej chwili bardzo uîatwione ze
wzglëdu na "podîâczenie" do nich nastëpnych komunikatów MIDI. O
opcji VELOCITY juû pisaîem. Z komunikatami zmiany programów
brzmieï w syntezatorach, oznaczanych w literaturze PROGRAM
CHANGE, a w MX -- PGM, na pewno wszyscy sië zetknëli. Moûna nimi
wybieraê nowe barwy dúwiëku, czy teû zmieniaê pogîos i robiê
inne rzeczy. Okazuje sië jednak, ûe jest to takûe bardzo dobra
komenda do zmiany numeru sampla. Otóû gdy przeîâczymy edycjë na
sample (przypominam: OUTPUT->AMIGA, FEEDBACK->AMIGA), to
komunikatem typu PGM moûemy zmieniaê numer brzmienia, ale nie z
danego kanaîu syntezatora, lecz z katalogu wszystkich sampli,
zawartych w ekranie SAMPLES.
Z tym ûe komendâ tâ jednoczeônie zmieniamy standardowo ustawiony
na poczâtku programu porzâdek przyporzâdkowaï. Jest on, jak
wiadomo, ustawiony w ten sposób, ûe >numer wirtualnego kanaîu
sampla< (nie majâcego nic wspólnego z kanaîami Amigi 0..3)
odpowiada >numerowi brzmienia sampla< wedle prostej zasady:
virtual channel->sample number:
1->1
2->2
itd.
Przy czym sîowo "wirtualny" nie jest tu wcale naduûyciem,
poniewaû oznacza w tym wypadku >pozorny numer kanaîu< sampla
podobny do tego z MIDI, lecz operujâcy na dúwiëkach wytwarzanych
przez sam komputer.
Wîaônie podczas trwania utworu moûna zmieniê to przyporzâdkowanie
komendâ PGM. Ilustrujâ to rysunki 4., 5. i 6. Oto kolejnoôê
postëpowania, czyli przykîad zmiany brzmienia wirtualnego kanaîu
nr 7 tak, aby zagraîo na tym kanale brzmienie sampla o numerze
21. Nie zapominajmy, ûe kanaî 7., jako nieparzysty, odezwie sië w
lewym kanale stereo! Jeûeli jest na odwrót, to znaczy, ûe masz w
swoim sprzëcie pokiêkane kable.
Ogólnie rzecz biorâc, takich pozornych kanaîów mamy 16, tak jak
kanaîów MIDI. Przed uruchomieniem mamy przyporzâdkowanie:
7->7
Po napotkaniu podczas odtwarzania komendy:
(CH 7) PGM: 21
MX przeîâczy "brzmienie" kanaîu siódmego na ustawienie:
7->21
5. JESZCZE O OBWIEDNI ORAZ SPOSOBACH LIKWIDACJI SZUMU
KWANTYZACJI. Ciekawym pomysîem, który moûna wykorzystaê majâc
MX, jest samplowanie surowych dúwiëków bez obwiedni, jeûeli
korzystamy z sampli i mamy pod rëkâ syntezator. Innymi sîowy,
najlepiej (gdy jest to moûliwe) wyîâczaê w syntezatorze ENVELOPE
OSCILLATOR. Róûnie sië to nazywa w róûnych modelach, niemniej
generalnie chodzi o to, ûeby dúwiëk od VCO, TVF i podobnych
moduîów nie przechodziî dalej przez TVA, VCA, ENV lub jeszcze
inaczej nazywajâcego sië moduîu, nakîadajâcego na ton fazy:
ATTACK, DECAY, SUSTAIN, SLOPE i podobne. Samplowanie dúwiëków z
wyraúnâ obwiedniâ (np. fortepianu) przy 8 bitach dynamiki Amigi
bëdzie podobne do regulacji dynamiki sampla -- programowej, co
widaê byîo na rys. 1., a takûe teraz na rys. 7. >Szum
kwantyzacji i znieksztaîcenia nieliniowe< bëdâ rosîy i bëdâ coraz
bardziej sîyszalne wraz z opadajâcym dúwiëkiem, poniewaû w miarë
zanikania fala bëdzie sië coraz bardziej zbliûaîa do ksztaîtu
przebiegu fali prostokâtnej. Taki szum czësto jest okreôlany
mianem szumu ziarnistego, poniewaû dúwiëk fali przy poziomie
kwantyzacji bliskim zera upodabnia sië do nieprzyjemnego
brzëczenia. Natomiast jeûeli zsamplujemy na peînym wysterowaniu
dúwiëk, tzw. loop piano (czyli w tym wypadku zapëtlonego
brzmienia fortepianu, w którym sztucznie zlikwidowano fazy
DECAY/RELEASE, uzyskujâc stan ustalony SUSTAIN, a koniec
umiejëtnie sklejono z poczâtkiem), to obwiednië moûemy juû naîoûyê
oddzielnie, wîaônie za pomocâ edytora obwiedni w MX. Jak widaê,
proces syntezy dúwiëku przebiega tu dwuetapowo: najpierw synteza
w syntezatorze, a potem w Amidze za pomocâ MX-a. To rozwiâzanie
ma dwie olbrzymie zalety:
-- szum kwantyzacji jest o wiele mniej sîyszalny, poniewaû obwiednia,
ôciszajâca ton, zarazem ôcisza szum ziarnisty;
-- znieksztaîcenia nieliniowe sâ moûliwie najmniejsze, poniewaû
przez caîy czas jest wykorzystany maksymalny poziom wysterowania,
od -128..127.
-- zlikwidowany jest efekt skracania bâdú wydîuûania sië sampla, co
przedstawia rys. 8.
Ten trzeci niekorzystny efekt "zaîatwiliômy" niejako przy okazji.
Na czym on polega? Otóû na pewno kaûdy zauwaûyî, ûe dúwiëk,
powiedzmy, trâbki samplowany, dajmy na to, na 8 kHz i odtworzony
na 16 kHz, zabrzmi o oktawë wyûej. To prawda -- na tym przecieû
opiera sië caîy system grania dúwiëkiem samplowanym, ale (uwaga)
jest teû o poîowë krótszy. Innymi sîowy, im wyûej, tym krócej. I
vice versa. Dúwiëk zagrany oktawë niûej nieprzyjemnie sië
wydîuûy, znieksztaîcajâc sië jednoczeônie. Takie "wahania"
dîugoôci dúwiëku sâ w praktyce niedopuszczalne. W zawodowych
samplerach, czy nawet syntezatorach z próbkami, likwiduje sië je
przez zapis od dwóch do kilkunastu próbek, pobranych z róûnych
oktaw, a potem na klawiaturze ustala sië strefy, które przenikajâ
sië tak, ûe jedna próbka, powiedzmy trâbki zagranej na c3,
przechodzi podczas naciskania coraz to wyûszych klawiszy w drugâ
próbkë tejûe trâbki, ale ôciâgniëtej przy zagraniu na c4 itd.
Przedstawia to rys. 9. Przy czym na rysunku pominiëto inne waûne
ukîady zawodowych samplerów, takie jak filtry dolnoprzepustowe,
procesory, logikë klejâcâ i inne. Po drugie caîy pokazany tu
schemat moûe byê po prostu symulowany za pomocâ szybkich
procesorów i DSP, zamontowanych w takim samplerze. Ale wracajmy
do struktury.
Najprostsza, pokazana jako pierwsza (A), opiera sië na dwóch
próbkach LO i HI, które grane sâ jednoczeônie, lecz z róûnâ
wzajemnâ gîoônoôciâ, zaleûnâ od poîoûenia klawisza (wysokoôci
dúwiëku). Ta kombinacja jest czësto stosowana w taïszych
syntezatorach do imitacji np. dúwiëku pianina. W wariancie (B)
mamy juû 5 próbek, które wzajemnie sië przenikajâ. Daje to dobre
rezultaty przy naôladowaniu bardziej skomplikowanych instrumentów
akustycznych, takich jak obój, fagot, czasem wiolonczela.
Jednakûe nawet tych piëê próbek nie wystarcza dla >dobrego<
naôladowania dúwiëku instrumentów o duûej liczbie niuansów, np.
skrzypiec. Do tego celu stosuje sië specjalne metody z >symulacjâ
matematycznâ< na czele, ale poniewaû ten temat przekracza îamy
artykuîu, zostanie to omówione kiedy indziej. Jest teû kilka
innych prostych metod próbkowania, polegajâcych na miksowaniu,
generowaniu ATTACK-u, przechowywaniu oddzielnie próbek dla
ATTACK, SUSTAIN i DECAY i podobnych. W MX wykorzystaliômy wîaônie
uproszczonâ metodë, opartâ na systemie LOOP-SUSTAIN. Moûna teû
zrobiê bardziej skomplikowane manewry w MX, nawet owo przenikanie
kilku próbek, bo mamy wszak teraz regulacjë VELOCITY, ale o tym
kiedy indziej.