Hardware pro multimedia
Zvukové karty, A/D a D/A převodníky (od historie k dnešku)
Zdeněk Horčík, listopad 2015
Princip tvorby zvuku v PC • Počátky PC na začátku 80. let • Předtím, příp. souběžně domácí osobní počítače, např. Atari – čip POKEY (POTKEYBOARD), Commodore – čip SID (Sound Interface Device), Sinclair, Amiga čipy Paula, DMA přenos vzorků z paměti, 4 8-bitové hlasy, apod., zvuk na vyšší úrovni než posléze na IBM PC
Princip tvorby zvuku v PC • • • • •
Generování obdélníkového průběhu FM syntéza Wavetable syntéza Signálový procesor Zpracování PC procesorem
PC speaker • jednoduchý reproduktorek, nebo v současnosti často pouze piezoměnič, spíš pro indikaci provozních stavů – „Beeper“. V počátcích PC používán pro ozvučení her, příp. pokusy o jednoduchou hudbu. Je schopen přehrát pouze jeden tón v jeden čas, buzen digitálním výstupem – obdélník • Ovládán čítačem/časovačem 8253 nebo 8254 (nyní v southbridge)
PC speaker • Pokusy s použitím rychle se měnících not (arpeggio), které se díky lidskému vnímání zvuku téměř slévají dohromady • Další techniky, jako PCM - Pulse-Code Modulation), dokázaly z PC Speakeru dostat maximum.
PC speaker - 8253 • Časovač 8253 obsahuje tři samostatně nastavovatelné šestnáctibitové kanály, přičemž pro generování zvuku je použit kanál třetí, který je namapován na I/O port 0×42. Třetí kanál časovače 8253 většinou pracuje v režimu generátoru obdélníkových pulsů se střídou 1:1. Na vstup časovače je připojen hodinový signál s frekvencí 1193180 Hz, což je třetina nominální frekvence IBM XT, tj. 4,77 MHz. Tento signál je dělen nastavenou šestnáctibitovou hodnotou, tj. minimální frekvence zvuku vytvářená čítačem/časovačem je rovna 18,2 Hz (1193180/65536) a maximální frekvence dosahuje úrovně ultrazvuku (otázkou samozřejmě je, jaká je mezní frekvence samotného reproduktoru).
PC speaker – 8253 - 2. • Z 8253 je možné na PC speaker posílat obdélníkový signál, to stačí jen na přehrávání jednohlasých melodií. U složitějších zvuků (včetně napodobení hudebních nástrojů či mluveného slova) se využívala PWM. Nastavením Gate časovače 8253 z paralelního portu na adrese 0×61 lze čítač/časovač pozastavit a tím pádem se na reproduktor neposílá žádný signál. Programovou změnou prvního bitu portu 0×61 lze generovat dvoustavový signál posílaný na reproduktor, nezávisle na čítači. Při dobrém časování lze na PC Speakeru pomocí PWM přehrávat cca pěti- či šestibitové samply, což odpovídá dynamickému rozsahu 30 resp. 36 dB (CD-Audio má dynamický rozsah 96 dB…).
Převodníky na paralelní port • Zvukovka chudého amatéra, ale v 80. letech zvukovky nebyly, tehdy špička • Paralelní port – 8 bitů, > 100 kHz, softwarová obsluha • Pasivní převodníky – odporová síť, R-2R žebříčky, apod. – souhrnně „Covox“ • Disney Sound Source apod. – navíc zesilovač
Princip odporového žebříčku
Princip odporového žebříčku
FM syntéza • FM syntetizátor (obvod OPL 2, OPL 3, příp. OPL 4). • Metoda vychází z faktu, že každý průběh lze sestavit složením vybrané série sinusových kmitů o patřičné frekvenci, fázi a amplitudě. FM syntéza tedy vychází z popisu příslušného hudebního nástroje na základě Fourierova rozvoje, zvuk nástrojů je emulován jako superpozice řady sinusových signálů. Takto získaný signál se může ještě dále upravit různými efekty. Jedná se o levnější realizaci, která se svými výsledky zvukům reálných nástrojů pouze blíží. Zvukové karty, které používají pouze tento způsob pro vytváření zvuků, jsou vhodné jen pro ozvučení her apod.
AdLib • Zázrak r. 1987 – zvukovka (pro hry!) do ISA sběrnice, významný mezník • FM syntéza • Mono, ruční regulace hlasitosti vzadu • Čip Yamaha YM3812 – OPL2, původem z keyboardů, připojený k ISA • Více zvuků najednou (až 9 zvukových kanálů nebo 6 kanálů a 5 nástrojů)
Princip OPL2 • Plně digitální čip, jednoduchý signálový procesor + paměť ROM • V ROM jsou uloženy vzorky první čtvrtiny periody sinusovky • OPL2 - Operator Type L2, zvuk v každém hudebním kanálu může být vytvořen pomocí dvou operátorů, které mohou být propojeny paralelně nebo sériově • Každý operátor je složen ze tří bloků – oscilátoru (generátoru periodického signálu), generátoru obálky (envelope) a obvodu pro řízení výstupní úrovně.
AdLib
IBM PC Junior • „Stroj pro mládež“, tomu odpovídala výbava pro hry • Pro zvuk čip Texas Instruments SN76489 • Čtyřkanálový čip obsahuje 3 program. generátory tónů a prog. generátor bílého šumu • Šum slouží k syntéze nástrojů, především bicích • Prog. regulace úrovně signálu
Game Blaster • Pozdější Creative Labs, dosud Creative Music Systém, konec 80. let • 12 PC Speakerů s 16 stupni hlasitosti v kombinaci s generátorem šumu schopným reprodukce tří různých bicích nástrojů • stereo výstup • Neúspěšný, nevýznamný
Sound Blaster • Mimo syntézy hudby také přehrává samply • 2 paralelní větve – nově řadič pro zvuk 22 kHz/8 bitů mono, pro kompatibilitu s AdLib čip Yamaha OPL2 • MIDI/game port, line in, line out • Manuální regulace úrovně • ISA sběrnice • 8 bitů = dynamický rozsah zvuku 48 dB
Sound Blaster
Sound Blaster Pro • Rychlejší – záznam 22,05 kHz (1/2 CD kvality), reprodukce 45 kHz • Stále jen 8-bitový • Druhý čip OPL2, později OPL3 – generuje stereo zvuky • Interní konektor pro CD audio – mezi CD mechanikou a zvukovou kartou je přenášen analogový signál!
Sound Blaster 16 • První 16-bitová karta • FM syntéza OPL3 • Připojitelný WaveBlaster – wave table syntéza pomocí další přídavné karty • Řada variant s řadiči CD mechanik (SCSI, IDE, spec. Protokoly Mitsumi, Sony, apod.)
Wavetable syntéza • Používaná u lepších zvukových karet. • Navzorkovaný signál skutečného nástroje je uložen v paměti (ROM nebo RAM). • Je neefektivní uchovat vzorky všech výšek tónů od všech nástrojů, proto je v paměti uložen vždy jen jeden tón od každého nástroje. • Různých výšek tónu se dosahuje různou rychlostí přehrání vzorku.
Sound Blaster AWE 32 • AWE - Advanced Wave Effects • 32 – hlasů generovaných najednou • Wavetable syntezátor přímo na kartě, 1 MB ROM a 0,5 MB RAM + 2 SIMM sloty pro max. 32 MB (využit. 28 MB) RAM • Dále podpora standardu SoundFont – umožňuje vytvářet vlastní wavetable sety ze samplů • Varianta AWE 64 – umí S/PDIF
Sound Blaster AWE 32
A/D a D/A převodníky Sound Blasterů • Starší typy - pouze osmibitové převodníky (nebo jen jedním převodníkem – mono) • Novější - při stereo výstupu se maximální samplovací frekvence snižuje na polovinu oproti mono - omezený výpočetní výkonem použitého DSP • Max. samplovací frekvence 45454 Hz, trochu přes 44,1 kHz (2*20 kHz + 10 %), upraveno pro dělitelnost 50 a 60 (USA síť)
SB, DAC mono (out) • Model 8bitové mono 16bitové mono • • • • •
SB 1.x 4000–22222 SB 2.x 4000–45454 SB Pro 4000–45454 SB 16 4000–45454 AWE32 5000–45454
× × × 4000–45454 5000–45454
SB, DAC stereo (out) • Model 8bitové stereo 16bitové stereo • • • • •
SB 1.x × SB 2.x × SB Pro 4000–22727 SB 16 4000–45454 AWE32 5000–45454
× × × 4000–45454 5000–45454
SB, ADC mono (in) • Model 8bitové mono 16bitové mono • • • • •
SB 1.x 4000–11111 SB 2.x 4000–15151 SB Pro 4000–45454 SB 16 4000–45454 AWE32 5000–45454
× × × 4000–45454 5000–45454
SB, ADC stereo (in) • Model 8bitové stereo 16bitové stereo • • • • •
SB 1.x × SB 2.x × SB Pro 4000–22727 SB 16 4000–45454 AWE32 5000–45454
× × × 4000–45454 5000–45454
Sound Blaster PCI64, PCI128 • Pro PCI sběrnici • Menší zátěž procesoru, rychlejší přenos dat • Přehrávání a záznam 16-bitového zvuku o frekvenci 4 - 48 kHz stereo, plně duplexní. • Rozdíl mezi kartami je v 64-notové a 128notové polyfonii u Wavetable syntézy
Sound Blaster Live! • Založena na čipu EMU10K1 • Wavetable syntéza umožňuje až 64 hlasů a 1024-notovou polyfonii • Nová technologie pro prostorový zvuk, EAX - Environmental Audio Extensions • Verze Sound Blaster Live! 5.1 obsahuje navíc dekodér Dolby Digital 5.1 -přehrávání zvuku z DVD disků.
Sound Blaster Audigy • Mnoho variant, 2 generace • Zvukový procesor 10K2, možnost reprodukce zvuku až v 24-bitů/96 kHz (pouze 2. generace), vylepšené efekty EAX, výstup Dolby 5.1/6.1 •
Další vývoj • Kartami SB AWE, PCI a Live! skončila „klasická éra“ • Samostatné zvukové karty, mnohdy externí, jsou určeny pro špičkové aplikace – SB Audigy, X-Fi… • Klasické zvukové karty vymřely • Na základních deskách jsou zvukové karty specifikace AC'97 podle návrhu Intelu
Specifikace Audio Codec AC'97 • jednoduchá struktura, pouze sada A/D a D/A převodníků, analogových multiplexerů a vstupních a výstupních zesilovačů • O vlastní syntézu se stará obslužný program • Náhrada specializovaných obvodů zvukové karty a jejího DSP výkonným univerzálním procesorem PC
Specifikace Audio Codec AC'97 • Vlastní generování tónů či šumu v jednotlivých zvukových kanálech a jejich mixování a filtrace je prováděno programově • Je-li použita wavetable syntéza (stále nejpoužívanější forma zvukové syntézy), jsou vzorky hudebních nástrojů uloženy v operační paměti, odkud si je načítá program, který se o zvukovou syntézu stará. • Jako vedlejší produkt může být modem (NB)
Audio Codec AC'97 • Zvukový subsystém počítače je s AC'97 implementován ve dvou modulech. • První modul - AC'97 digital controller, zkráceně též DC97. Je integrován na základní desce, obvykle součást South Bridge • Modul DC97 sériově komunikuje prostřednictvím AC-Link s AC97 kodeky
Čip AC'97 Codec
Čip AC'97 Codec • Vlevo vstupy a výstupy sériové AC-linky • Uvnitř - 64 konfiguračních registrů, vyrovnávací paměť, sada D/A a A/D převodníků • Bílé bloky - ve všech kartách AC'97, šedé bloky nemusí být přítomné, • Zvukové vstupy a výstupy jsou analogové, jedinou výjimkou je konektor S/PDIF • Analog Mixing and Gain Control – konfigurovatelná propojovací matice, navzájem lze téměř libovolně přepojit jednotlivé vstupní i výstupní analogové signály.
Audio Codec AC'97
Audio Codec AC'97 • Parametry zvukových kanálů - tři konfigurace výstupních kanálů: monofonní výstup, stereofonní výstup, režim multichannel, až šest kanálů (Dolby 5.1). • Jednotlivé vzorky (samply) mohou mít 16, 18 či 20 bitů, samplovací frekvence dosahuje až 48 kHz. • V novější specifikaci AC'97 v 2.2 je taktéž určeno, že pro dva hlavní kanály, tj. pravý a levý reproduktor, lze použít vzorkovací frekvence v rozsahu 88,2 až 96 Khz, což odpovídá dvojnásobku frekvencí 44,1 a 48 kHz používaných při běžném zpracování zvuku - Double Rate Audio neboli DRA. • přenosová rychlost AC-linky je na základě specifikace AC'97 12,576 Mbit/s, využita pouze z cca jedné pětiny.
Audio Codec AC'97 • Podle specifikace Intel by měly zvukové obvody nesoucí označení AC'97 (compatible) a především jejich programové vybavení plně emulovat jak čip OPL3, tak i veškeré funkce zvukové karty Sound Blaster, a to až na úroveň jednotlivých řídicích registrů (což mj. znamená, že by mělo být možné používat tyto čipy i v DOSu jako plnohodnotnou náhradu Sound Blasterů) • Teoreticky je tato podpora zajištěna, ale ve skutečnosti bývá především emulace FM syntézy, tj. čipu OPL3 (Yamaha YMF 262) velmi slabá – původnímu zvuku OPL3 se mnohdy ani vzdáleně neblíží (z tohoto důvodu používá například DOSBox – emulátor počítače s nainstalovaným DOSem – vlastní emulaci OPL2/3 a nespoléhá se na schopnosti ovladačů zvukových karet).
HD Audio • Následovník AC'97 • Překračuje parametry CD (16 bitů/44,1 kHz), HD Audio až 32 bitů/192 kHz • 8 kanálů, uspořádání kanálů až 7.1 (Dolby Pro Logic IIx) • Multi-streaming – 2 i více souběžných přenosů zvuku (např. 5.1 + jiné stereo) • Přepínání rolí vstupů a výstupů za chodu • Součást South Bridge chipsetů Intel (ICH6)
HD Audio – Realtek ALC888 • 7.1+2 Channel HD Audio Codecs • Podobný je ALC889 – navíc Content Protection • 10 DAC kanálů, 16/20/24-bit PCM, 44.1 k/48 k/96 k/192 kHz sample rate, současně 7.1 výstup + 2 kanály nezávislého stereo výstupu (multiple streaming) • 2 stereo ADC kanály, 16/20/24-bit PCM, 44.1 k/48 k/96 kHz sample rate - stereo mikrofon • Všechny analogové I/O jsou přepínatelné jako in/out, každý analogový výstup má zesilovač pro sluchátka
HD Audio – Realtek ALC888 • 16/20/24-bit S/PDIF input/output, 44.1 k/48 k/96 k/192 kHz sample rate • 4 vstupy pro microphone array - Acoustic Echo Cancellation (AEC), Beam Forming (BF), Noise Suppression (NS) • DAC mají SNR 97dB, ADC 90dB
HD Audio – Realtek ALC888
HD Audio – Realtek ALC888
Vstupy a výstupy • Linkový výstup (Line out) má normou definovanou stálou úroveň signálu - úroveň 775 mV=0 dB, nebo 707 mV efektivních (1V špička), není regulovaný, impedance ~n kΩ • Linkový vstup (Line in) – stejná citlivost • Výstup pro sluchátka – malá impedance cca 30 Ω, lze připojit zátěž ~n*10 Ω, regulovatelný • Mikrofonní vstup – velká citlivost ~mV, často přepínaná ve 2 stupních, fantomové napájení
MIDI • MIDI protokol - poměrně jednoduchý programovací jazyk, lineární, bez možnosti skoků, jen částečně definovaný normou, volnost pro tvorbu nových příkazů, často vizualizační nástroje pro programování • Komunikace založena na jedno nebo vícebytových zprávách – stavový byte, datové
S/PDIF, AES3 • Sony/Philips Digital Interconnect Format • AES3, neboli AES/EBU (Audio Engineering Society/European Broadcasting Union) – profesionální varianta k S/PDIF užívanému ve spotřební elektronice • Standard pro přenos digitálně kódovaného zvukového signálu v audiotechnice • Oba standardy se liší elektricky, částečně i formátem přenášených dat, lze je navzájem převádět • Kmitočet přenosu (data rate) se liší podle přenášeného signálu, není pevně definován. • Obvykle přenáší 20bitová data, CD (44,1 kHz), nebo DAT (48 kHz) vzorkovací frekvence
S/PDIF, AES3 • S/PDIF – asymetrické připojení, koaxiální kabel s RCA konektory 75 Ω, buzení 0,5 Všš, vstup 0,2 V, nebo plastové optické vlákno („Toslink“, červené světlo) – necitlivé na el. rušení a zemní smyčky, obě varianty vzdálenost do cca 10 m • AES3 – symetrické připojení s oddělovacími transformátory, stíněná kroucená dvojlinka 110 Ω, buzení 5-7 Všš, vstup 0,2 V, do 100 m, nebo asymetrické koaxiální propojení 75 Ω, buzení 11,2 Všš, vstup 0,32 V, vzdálenost do cca 1000 m
Literatura • • • • • • • • • • •
Specifikace AC'97, HD Audio, http://www.intel.com [online, 20.11.2012] Realek ALC888, http://www.realtek.com.tw/products/productsView.aspx? Langid=1&PFid=28&Level=5&Conn=4&ProdID=135 [online, 21.11.2012] Wikipedia.org Evolution of PC Audio - As Told by Secret of Monkey Island, http://www.youtube.com/watch? v=a324ykKV-7Y [online, 20.11.2012] Zvukové karty a jejich vývoj, http://www.svethardware.cz/art_docBC77A7A4115424A5C125725D005327DE.html [online, 20.11.2012] Vývoj zvukových karet Sound Blaster, http://www.root.cz/clanky/vyvoj-zvukovych-karet-soundblaster/ [online, 20.11.2012], a další články z root.cz Zvukové čipy odpovídající specifikaci Audio Codec AC'97, http://www.root.cz/clanky/zvukovecipy-odpovidajici-specifikaci-audio-codec-ac-97/ [online, 20.11.2012] Jakou zvukovou kartu pro nahrávání?, http://www.tvfreak.cz/art_doc29CA9DB040C60953C1257781003EA71A.html [online, 20.11.2012 Možnosti přenosu MIDI protokolu přes standardní rozhraní PC, Krejčí, R., diplomová práce FEL ČVUT, Praha 2007 http://www.rane.com/pdf/ranenotes/Interfacing_AES3_&_SPDIF.pdf [online, 15.10.2012] http://www.epanorama.net/documents/audio/spdif.html [online, 15.10.2012]