25. 8. 2011

Audio wars !!!

Nechcem sa tu hrať na audio majstra. Takže trochu teórie iba pre naše potreby a v skratke. Zvuk, teda mechanické vlnenie, ovplyvnením okolia vyvoláva jeho kmitavý pohyb a tlak, ktorý vyvinie na náš bubienok /jeho ďalší pohyb/ sa komplikovanými štruktúrami vnútorného ucha po premene na elektrické vlnenie dekoduje v prišlušných mozgových centrách na zvuk ako taký. Matematický zápis zvuku /veľmi komplikovaná sínusová krivka, jednoduchá, zložená, harmonické súčty, atď. atď./ nám umožnuje aj zvuk /nástroj, ruchy, hlas/ vytvoriť v neživom stroji. V roku 1984 pochopiteľne niet vo vašom sto korunom domácom hernom zariadení dosť priestoru na uloženie a čipov na spracovanie zvukových vzoriek skutočných huslí, klavíra, činelov, bubnov takže sa pokúsite ich čo najvernejšie napodobniť nejakou šikovnou matematickou rovnicou. Hovoríme o FM syntéze zvuku. Frekvenčná modulácia. Spotreba pamäte je nízka, nároky na dostatočné výkoné čipy však už .. nie. Preto sa "prekvapujúco" deriváty YAMAHY DX-7 do 8 bitových strojov nikdy nedostali.

Náhradou boli veľmi jednoduché doslova "on/off stavové" šváby, ktoré elegantnú sinusoidu zmršili na primitívne signálove krivky - hranaté obdĺžniky , trojuholníky, zuby píly. Prilepíme niekoľko oscilátorov, basových filtrov, programovateľné registre, a nejak tu hrôzu ohneme do podoby pripominajúcej FM syntézy /chcípak speccy versus o 20 rokov novšia wave-sample table/. Práve takto vznikli kultové 8 bitové čipy ako AY /ZX spectrum/, SID /C64/, Pokey /Atari/. Na presne opačnej strane barikády /FM+AY/ stojí vytváranie hudby podľa skutočných zvukových vzoriek ako nám neskôr predvádzala Amiga 500 v 1987. Pripomínam jej značne nároky hlavne na pamäťový systém. Typická veľmi kvalitná hudba vytvorená pre AYku má niečo okolo 3-4KB. Super amiga hudbička v Pinball Fantasies potrebuje 240 kilo !!



síce zle hrateľná, ale jej hudba nám dobre poslúži

Dole som vybral troch najrozšírenejších zástupcov jednotlivých syntéz. ZX Spectrum - primitívna proto FM syntéza, veľmi limitované použitie PCM /Pulse Code Modulation, kódovanie analogového samplu v digitálnej podobe/. Megadrive - pravá aj keď skutočne lacná FM syntéza + menej limitovaná možnosť použitia samplov, rozpísané v príslušnom odseku. Amiga - samé sample, možnosť veľmi jednoduchej FM syntézy. Urobíme si aj praktický test na hre Shadow of the Beast 1. Hudba jasne ušitá na miere Amige potrápi Speccy a Megadrive /kliknite vždy na daný zvukový čip/.

--------------------------

ZX Spectrum - AY-3-8910 aka "aíčko, aypsilonka": 3 + 1 kanál /ABC + generátor šumu napríklad pre perkusie, individuálne out - piny pre jednotlivé hlavné kanály, je teda možné custom stereo/, 16 riadiacich 8-bit registrov na 8 bit zbernici, 12 bit - 4096 úrovni výšky zvuku /aka pitch, ďalšie tri základné atribúty zvuku sú sila, dĺžka, a farba/. Jednoduché "obdlžníkové" signály o rozsahu 8 oktáv, táto zvuková "obálka" - envelope je riadená práve tými 8 bit registrami. Napríklad 3 registre pre ADSR envelope controller, možné ručne programovanie registrov a vytváranie unikátnych zvukov. AYka nie je navrhnutá s cieľom zvládnuť PCM dáta, teda digitalizovaný zvuk - sample. Ale s pomocou CPU je predsa tieto možné použiť, napríklad bicie v jednom kanály. V prípade ak chcete samplami zaťažiť všetky tri kanály /3 x rotované 4 bit sample, inak identický spôsob tvorby ako na Amige /, neostane vám dosť CPU času na obsluhu obrazovky a hernej logiky. Preto budete čumieť na čiernu plochu, maximálne na statický obrázok. AYka je asi načastejšie používaným zvukom čipom histórie - desiatky arcade kabinetov, MSX, Atari ST, Game Boy, Amstrad CPC. Yamaha vyrábala lepšiu verziu pod názvom YM2149F. Texas Instruments zas funkčne veľmi podobnú - TI SN76489 pre SEGA konzoly a handheldy. Špičkové využitie zvukovky /Tim Follin, ruky odrúbem tomu, tomu to stopne skôr ako na konci/.

Megadrive - Yamaha YM2612 + Texas Instruments SN76489 : zvukovku číslo dva od TI ignorujme, spomínal som ju už pri AYke, zabezpečuje spätnú kompatibilitu s 8 bit SEGA Master Systemom /ako riadiace CPU je použitý Zilog Z80/. Takže k tej Yamahe - 6 kanálov, 4 riadiace operátory na kanál, hárdverové mixovanie /trochu domrvené zkreslením v novších revíziach/, programovateľné stereo, nezávislé riadenie frekvencie kanálu číslo 3 umožnujúce disonančné harmonické kmity a podobné psie kusy. Kanál čislo 6 zas využitím špeci DAC registra vie prehrať 8 bit PCM sample /vtedy na ňom vypnete FM syntézu/. V tomto "amiga" režima je však zvuk tohto kanála riadený hlavným CPU 16 bit čipom. Špičkové využitie zvukovky /ako inak opäť Tim Follin/.

Amiga 500 - MOS Technology 8364 aka "Paula": 4 DMA kanály s 8 bit PCM samplami /48dB dynamický rozsah/. Stereo 2+2 kanály do každého ucha. Každý kanál má nezávisle riadenú hlasitosť a frekvenciu /do 28Khz pri OCS čipsete, novšie ECS a AGA aj viac, plus custom pri použití CPU/. Spojením dvoch kanál do jedného, je možné využitím spoločnej "širky" aj prehrávanie 14 bit zvuku a teda 16 bit samplov. Analógóvý low-pass filter spoločný pre všetky 4 kanály. Je nutné mať kopu pamäte v mašine - 1 sekunda zvuku pri 22Khz s 8 bit rozlíšeni vám zaberie 21.5KB !! Zvukové vzorky boli z hlavnej RAM prenášané do PAULY bez asistencie CPU /DMA radič/. Mixovanie vzorkov bežalo detto na Paule, veľká úspora CPU výkonu. PC zvukovky triedy Sound Blaster zaťažovali pri mixovaní CPU, výrazne lepší Gravis Ultrasound - nie /HW mixovanie na zvukovke/. A teraz už viete prečo bol tak veľmi obľúbený na PC demoscéne. Vynález klasického, jednoduchého zvukového editoru "soundtracker" sa pripisuje práve amige a početné hudobné výtvory vo formátoch MOD, STM, OKT, NST, S3M ešte aj dnes zaplavujú internet. Speccy mimochodom celý tento "systém" uspešne prebralo a ruskí bratia naprogramovali kopu XYZ trackerov produkujúcich fascinujúco non-AY zvuk. /hudba autor - MMCM, youtube vám od neho najde veľa ďalších hudbičiek/. Bodka na záver. Ehm, Follin nemal príliš rád zvukový systém Amigy a lacné sample vzorky, tož funky !!