Hlavní navigace

Zvukové subsystémy počítačů

12. 3. 2009
Doba čtení: 10 minut

Sdílet

V dnešní části seriálu o architekturách počítačů si popíšeme základní způsoby generování zvuků a hudby, jež byly použity na domácích a osobních počítačích. Vývoj různých zvukových subsystémů byl velmi zajímavý - v minulosti vznikly například dnes již legendární čipy SID, AY-3-8910, POKEY či PAULA.

Obsah

1. Zvukové subsystémy počítačů
2. Historie tvorby hudby na počítačích
3. Napodobení tónů hudebních nástrojů pomocí frekvenční modulace
4. Generování zvuků na domácích a osobních počítačích
5. Literatura
6. Odkazy na Internetu
7. Obsah dalšího pokračování seriálu

1. Zvukové subsystémy počítačů

Prakticky každý soudobý osobní počítač je vybaven zvukovým výstupem. Elektronický obvod, který se stará o vytváření zvuků a hudby je v současnosti buď přímo součástí čipové sady základní desky nebo je v počítači nainstalována zvuková karta určená pro interní či (méně často) externí sběrnici. Cesta, která vedla od prvních programem či jednoduchým multivibrátorem řízených reproduktorů (ZX Spectrum, IBM PC XT) k dnešním výkonným zvukovým čipům umožňujícím tvorbu prostorových několikakanálových zvuků a hudby založené na wavetable syntéze, byla poměrně dlouhá a především zajímavá. Tak jako v případě grafických subsystémů počítačů (kterými se ještě budeme zabývat v dalších částech tohoto seriálu), i pro tvorbu zvuků a hudby zkoušeli návrháři čipů používat různé postupy a mnohdy tak vznikly zcela unikátní obvody, které se staly legendami. Mezi tyto čipy patří například SID (Sound Interface Device) firmy Commodore, AY-3–8910/8912/8913 firmy General Instruments (později jej vyráběla i firma Yamaha pod označením YM2149), POKEY firmy Atari, PAULA firmy Commodore či čipy OPL2 (YM 3812) a OPL3 (YMF 262) vyráběné firmou Yamaha. Každý z těchto čipů je založen na odlišném způsobu vytváření hudby a jimi vytvářený zvuk je (s výjimkou čipu PAULA) velmi charakteristický a originální.

pc5201

Obrázek 1: Analogový syntetizér firmy Moog, na jehož ovládacích prvcích (viz vertikální stěna) je patrné, které analogové obvody se v této generaci syntetizérů používaly. Velmi podobné prvky jsou – i když v digitální podobě – použity i u moderních zvukových čipů a softwarových syntetizérů.

2. Historie tvorby hudby na počítačích

První úspěšné pokusy s vytvářením různých zvuků s pomocí počítačů sahají až do počátku šedesátých let minulého století. Již v roce 1962 zkoušel tehdy devětadvacetiletý John Chowning ze Stanfordu některé způsoby syntézy hudby – napodobování tónů skutečných hudebních nástrojů. Vzhledem k tomu, že tehdy dostupný hardware neměl dostatečnou výkonnost ani paměťovou kapacitu pro záznam zvuků skutečných hudebních nástrojů, spočívala většina návrhů v různě konstruovaných multivibrátorech a oscilátorech (jednalo se jak o analogové obvody, tak i o programem řízený digitálně-analogový převodník), na něž byly zapojeny integrační a derivační články, pásmové propusti či zádrže (těmi se modifikoval tvar původního obdélníkového či sinusového periodického signálu) a jejichž parametry se různě v čase měnily na základě dat posílaných počítačem. Digitalizace v takové kvalitě, jak ji známe a můžeme provádět i na tom nejlevnějším počítači dnes, byla před padesáti lety spíše námětem pro sci-fi, protože paměťové (a vlastně i výpočetní) nároky na přehrání digitalizovaného zvuku byly na tehdejší dobu obrovské (viz předchozí části tohoto seriálu, ve kterém jsme si popsali například bubnové paměti nebo parametry prvních pevných disků).

pc5202

Obrázek 2: Základem syntézy tónů hudebních nástrojů je periodický signál. Většinou se používají různým způsobem modifikované tvary sinusovky (viz obrázek), popř. obdélníkový, trojúhelníkový či pilový signál, který může být dále upraven či zkreslen (filtrace horní/dolní/pás­movou propustí, amplitudová modulace, fázová modulace, frekvenční modulace, vynásobení signálů na diodě atd.).

O rok později, tj. v roce 1963, Max Matthews skutečně prakticky vyzkoušel, jakým způsobem je možné vytvářet hudbu na počítači. Nesmíme si však představovat, že se jednalo o jednoduchou nebo levnou činnost. Nejprve bylo nutné zapsat data popisující nějakou skladbu na děrné štítky (jednalo se o zápis partitury, tj. ve své podstatě o primitivnější formu dnešního záznamu pro zařízení MIDI – viz předchozí tři části tohoto seriálu). Po ručním zápisu dat vzal Matthews všechny děrné štítky a odvezl je přímo do firmy IBM. Tam se na sálovém počítači, jehož pronájem činil 600 tehdejších dolarů za hodinu (dnes má dolar mnohem nižší hodnotu), provedla syntéza hudby s výstupem na magnetofonový pá­sek.

pc5203

Obrázek 3: Jedna z nejjednodušších metod zabarveného tónu spočívá v součtu dvou či více harmonických sinusových signálů. Na tomto obrázku mají oba zdrojové signály (červený a modrý) shodnou frekvenci i fázi, výsledkem součtu je opět sinusový signál.

I přes tyto komplikace (každá oprava chyby v partituře či algoritmu syntézy hudby znamenala vyděrování nových štítků, opětovnou syntézu atd.) byl tento způsob tvorby hudby levnější, než využití živého koncertu, i když samotná kvalita syntetizované hudby samozřejmě kvality skutečných hudebních nástrojů nedosahovala. Sám Matthews ovšem svoji práci považoval především za hledání nových technologií; dokonce se již začalo uvažovat o syntéze lidské řeči (pravděpodobně se jednalo o reakci na vývoj umělé inteligence, protože v oněch časech se věřilo, že skutečná umělá inteligence bude vytvořena v dohledné době – dnes již víme, že to bylo tvrzení velmi optimistické).

pc5204

Obrázek 4: V případě, že obě sčítané sinusové vlny mají rozdílnou frekvenci, ale frekvence se od sebe příliš neliší, vznikají charakteristické zázněje. Tento typ zvuků byl použit například v několika hrách na osmibitových počítačích (Draconus, hudba a zvukové efekty: Adam Gilmore).

pc5205

Obrázek 5: Součet dvou sinusových signálů v případě, že se jejich frekvence výrazněji odlišují.

3. Napodobení tónů hudebních nástrojů pomocí frekvenční modulace

Mezitím se John Chowning stále pokoušel o napodobení zvuků hudebních nástrojů, protože základ – přehrání skladby zapsané sekvencí not – měl již vyřešen. Velmi významný byl však až objev, který učinil teprve v roce 1967. Chowning zkoušel vytvořit zvukový efekt známý pod pojmem vibrato. V podstatě se jedná o dvojici za sebe zapojených oscilátorů, přičemž první oscilátor (s frekvencí cca 20 Hz) ovlivňuje frekvenci druhého oscilátoru, který generuje výsledný signál. Pomocí takto zapojené dvojice oscilátorů se podařilo vygenerovat harmonický tón s celým spektrem vyšších frekvencí, přičemž změnou frekvence a amplitudy prvního oscilátoru se výška tónu neměnila, ale jeho zabarvení ano. Tak byl učiněn objev frekvenční syntézy (FM syntézy), na jehož principu se po více než dvacet let stavěly syntetizéry a posléze také čipy pro zvukové karty. Zajímavé je, že ve Stanfordu ani v celých USA tento objev (a především jeho důsledky pro tehdy již dlouho existující průmysl elektronických a elektromechanických hudebních nástrojů) nikoho nezajímal.

pc5206

Obrázek 6: Frekvenční modulace v případě, že má první signál (modrý), zvaný modulátor velmi dlouhou periodu.

Z tohoto důvodu se John Chowning spojil s panem Ishimurou z firmy Yamaha, jenž při osobní návštěvě na Stanfordu po necelých deseti minutách princip, způsob využití FM i důsledky pro další vývoj v celém oboru pochopil a doporučil svým nadřízeným, aby se Yamaha v této oblasti více angažovala. Firma Yamaha si posléze tento způsob tvorby hudby nechala licencovat, zahájila dokonce vývoj a výrobu vlastních čipů pro syntézu hudby (původně měla tyto čipy pro Yamahu vyrábět firma NEC) a v roce 1983 prodala více než 200 000 kusů legendárního syntetizéru Yamaha DX-7, což bylo na tehdejší dobu (menší trh než dnes) považováno za velký úspěch následovaný po několika letech krachem firem, jenž vyráběly nyní již zastaralé elektromechanické syntetizéry (samotné obchodní značky těchto výrobců sice přežily, ale patří jiným vlastníkům). V roce 1994 dokonce přesahoval obrat trhu se zvukovými kartami s FM syntézou (přesněji syntézou založenou na fázové modulaci) jednu miliardu dolarů.

pc5207

Obrázek 7: Pokud se perioda modulátoru zkracuje, je změna tvaru výstupního signálu stále výraznější.

pc5208

Obrázek 8: Další snižování frekvence modulátoru – výsledný signál získává tvar charakteristický pro FM syntézu. Po analýze signálu ve frekvenční oblasti by bylo patrné, že se zde vyskytuje nekonečné množství frekvencí, které jsou však při reálné reprodukci zvuku z obou stran ořezány (přesnou analýzu si uvedeme v dalších částech seriálu).

pc5209

Obrázek 9: Yamaha DX-7 s FM syntézou – dodnes vyhledávaný výrobek.

4. Generování zvuků na domácích a osobních počítačích

Některé osmibitové domácí počítače, například slavné ZX-Spectrum, byly vybaveny pouze velmi jednoduchým zvukovým rozhraním – reproduktorem zapojeným přes zesilovač na logický (dvoustavový) výstup z mikroprocesoru či jiného podpůrného obvodu (například multivibrátoru). Na reproduktor byl posílán obdélníkový signál u nějž bylo možné měnit jeho střídu (poměr mezi logickým stavem jedna a nula), ovšem nikoli amplitudu, což samozřejmě znamenalo, že výsledné zvuky získaly charakteristické a snadno rozpoznatelné zabarvení. Někteří zkušení autoři byli kupodivu schopni i za těchto velmi skromných podmínek vyprodukovat poměrně zajímavou hudbu, dokonce bylo možné rychlou změnou přehrávaných frekvencí simulovat polyfonii či přehrávat samplované zvuky (ve své podstatě simulovaly jednobitový digitálně-analogový převodník). Kromě tvůrců her se například jednalo o autory Buzzcocks či Freshies, kteří použili hudbu generovanou ZX-Spectrem při tvorbě svých alb. Stejný princip tvorby zvuků byl později použit i u osobního počítače IBM PC pod názvem PC-Speaker (též známého jako squeezer, beeper atd.).

pc5210

Obrázek 10: Slavné ZX-Spectrum vybavené „pípákem“

V předchozí kapitole jsme si stručně popsali zrod FM syntézy. Čipy založené na principu FM syntézy se staly velmi populární především u hudebních syntetizérů; dodnes je ostatně můžeme slyšet v hudbě vzniklé především v osmdesátých letech minulého století. Z tohoto pohledu by se zdálo logické, aby se stejné čipy objevily i na domácích osmibitových počítačích (a herních automatech, které byly většinou založeny na stejných integrovaných obvodech), ovšem ve skutečnosti k tomu nedošlo. Jednou z příčin byl poměrně pozdní nástup čipů s FM syntézou a také jejich poměrně vysoká cena. Z tohoto důvodu se prakticky každý významnější výrobce domácích počítačů (které byly mj. určeny i pro hraní her) s větším či menším úspěchem pokusil buď o výrobu vlastního zvukového čipu či o nákup čipu (nezaložených ovšem na FM syntéze) od třetích výrobců. Tímto způsobem vznikly a později značně získaly na popularitě především tři principiálně odlišné čipy zmíněné v perexu tohoto článku: SID (Sound Interface Device) firmy Commodore, AY-3–8910/8912/8913 firmy General Instruments (později jej vyráběla i firma Yamaha pod označením YM2149) a POKEY firmy Atari.

pc5211

Obrázek 11: ZX-Spectrum 128K již bylo vybaveno zvukovým čipem AY.

Dalším krokem ve vývoji hudebních schopností počítačů bylo uvedení čipu PAULA použitého v počítačích Amiga. Tento čip již umožňoval současné přehrání čtyř osmibitových zvukových vzorků (samplů) se stereo výstupem. Důležité přitom bylo, že o přehrávání zvuků se nemusel starat samotný mikroprocesor, což se mnohdy významným způsobem projevilo na výkonu celého počítače (vlastníci počítačů IBM PC si podobný komfort mohli dovolit až s uvedením zvukové karty Gravis Ultrasound). Zvukové možnosti čipu PAULA se odrazily i na formátu hudebních souborů MOD (module). Bližší informace o tomto čipu si řekneme v navazujících částech tohoto seriálu.

pc5212

Obrázek 12: Amiga A500 se zvukovým čipem PAULA.

5. Literatura

  1. Chowning, John:
    „The Synthesis of Complex Audio Spectra by Means of Frequency Modulation“,
    Journal of the Audio Engineering Society 21 (7), 1973.
  2. Chowning, John; Bristow, David:
    „FM Theory & Applications – By Musicians For Musicians“,
    Tokyo: Yamaha. ISBN 4–636–17482–8, 1986.
  3. Dodge, Charles; Jerse, Thomas A.:
    „Computer Music: Synthesis, Composition and Performance“,
    New York: Schirmer Books. ISBN 0–02–864682–7, 1997.
  4. Enders, Bernd and Wolfgang Klemme:
    „MIDI and Sound Book for the Atari ST“,
    Redwood City: M & T Books, 1989.

6. Odkazy na Internetu

  1. Keyboard Synthesizer
    http://www.so­larnavigator.net/mu­sic/instrumen­ts/keyboards.htm
  2. FMS – Fully Modular Synthesizer
    http://fmsynth­.sourceforge.net/
  3. Javasynth
    http://javasyn­th.sourceforge­.net/
  4. Software Sound Synthesis & Music Composition Packages
    http://www.linux-sound.org/swss­.html
  5. Mx44.1 Download Page (software synthesizer for linux)
    http://hem.pas­sagen.se/ja_li­nux/
  6. Software synthesizer
    http://en.wiki­pedia.org/wiki/Sof­tware_synthesi­zer
  7. Frequency modulation synthesis
    http://en.wiki­pedia.org/wiki/Fre­quency_modula­tion_synthesis
  8. Yamaha DX7
    http://en.wiki­pedia.org/wiki/Y­amaha_DX7
  9. Wave of the Future
    http://www.wi­red.com/wired/ar­chive/2.03/wa­veguides_pr.html
  10. Analog synthesizer
    http://en.wiki­pedia.org/wiki/A­nalog_synthesi­zer
  11. Minimoog
    http://en.wiki­pedia.org/wiki/Mi­nimoog
  12. Moog synthesizer
    http://en.wiki­pedia.org/wiki/Mo­og_synthesizer
  13. Tutorial for Frequency Modulation Synthesis
    http://www.sfu­.ca/~truax/fmtut­.html
  14. An Introduction To FM
    http://ccrma.stan­ford.edu/softwa­re/snd/snd/fm­.html
  15. John Chowning
    http://en.wiki­pedia.org/wiki/Joh­n_Chowning
  16. Amiga Klub Forever
    http://www.ami­ga.cz/
  17. Amiga, Český informační portál
    http://amiga.pro­bers.info/
  18. Historie počítačů Amiga
    http://www.fi­.muni.cz/usr/jku­cera/pv109/200­0/xdivis.html
  19. Atari.org
    http://www.ata­ri.org/
  20. Atari 520ST/ST+/STM
    http://www.old-computers.com/mu­seum/computer­.asp?c=20
  21. Atari ST (CZ)
    http://cs.wiki­pedia.org/wiki/A­tari_ST
  22. Atari ST (EN)
    http://en.wiki­pedia.org/wiki/A­tari_ST
pc5213

Obrázek 13: Interní struktura zvukového čipu SID.

CS24_early

7. Obsah dalšího pokračování seriálu

V následující části tohoto seriálu si podrobněji popíšeme schopnosti zvukových čipů POKEY a SID. První z těchto čipů byl použit prakticky ve všech osmibitových počítačích Atari i mnoha herních automatech, SID se používal výhradně v Commodorech a dnes v několika hudebních syntetizérech (SIDStation apod.).

Byl pro vás článek přínosný?

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.