De Zwarte Steen

15-delige serie over Digitale Audiosignaalverwerking

Verschenen in Music Maker (jan. 2000 - apr 2001)

@ RutgerTeunissen

 

 

 

Aflevering 15 (apr 2001)

 

Vocoders

 

 

De zingende gitaar, de giechelende koffiemolen, Morphing, Pitch Shifting en Time Stretching, superieure chorus-effecten en ruis-onderdrukking: het zijn slechts enkele voorbeelden van de enorme veelzijdigheid van digitale vocoders. In deze slotaflevering wordt de serie over DSP samengevat aan de hand van een beschrijving van de LPC-vocoder.

 

Wie al heel, heel lang Music Maker leest, zal ze zich ongetwijfeld nog herinneren, de zeer deskundige artikelen van Felix Visser, muzikant, entrepreneur, kasteelheer, synthesizerontwerper en toentertijd directeur van het inmiddels helaas vergane, maar nooit vergeten bedrijf Synton. Het is deze maand op de kop af twintig jaar geleden dat Visser voor een engelstalig muziekblad een verhaal schreef dat dezelfde titel droeg als deze laatste aflevering van de serie over DSP. Het was een beschrijving van de door hem ontworpen Syntovox 221 vocoder, waarvan een latere versie tot op de dag van vandaag door Wendy Carlos wordt gebruikt. Zijn artikel opende met de gedenkwaardige woorden: 'Als er ooit een lijstje wordt aangelegd met elektronische audio-instrumenten die in de muziek- en opnamewereld veel verwarring hebben gezaaid, dan komt de vocoder er zeker op te staan.' Twee decennia later is die opmerking nog steeds actueel. Je mag aannemen dat een dergelijk lijstje in de loop van de tijd in plaats van korter, alleen maar langer zal zijn geworden, zeker de laatste jaren door de grootschalige introductie van nieuwe, mysterieuze en duizelingwekkende DSP-spullen, waaronder vele razend sluwe opvolgers van de inmiddels legendarische, analoge Kanaalvocoder, de klassieke techniek die ook in de Syntovox werd gebruikt. Die DSP-opvolgers zijn voor de muzikant ongetwijfeld nog veel verwarringwekkender dan de apparatuur van toen. Dat was de belangrijkste reden waarom Music Maker eind '99 besloot om deze serie over DSP op te starten, waarin een aantal basisbegrippen en -technieken uit de doeken zou worden gedaan, zodat het voortaan wat makkelijker zou worden om over nieuwe ontwikkelingen en producten te praten.

In hoeverre dat gelukt is zal moeten blijken in deze laatste, samenvattende aflevering, waarin we een poging doen om de vocoder te schrappen van het Lijstje van Meest Muzikantverwarrende Apparaten. Dat we de vocoder kiezen voor die samenvatting heeft heel simpele en heel goede redenen. In de talrijke digitale versies bieden vocoders een veel breder en expressiever klankenpalet dan de meeste muzikanten zich realiseren: van ruisonderdrukkers tot chorus-effecten; van tijd-strekkers, morphers, toon- en formantschuivers tot sprekende gitaren en gniffelende rotsblokken. In ‘Vox-5’, een compositie van Trevor Wishart voor fasevocoder, wordt een en dezelfde stemopname, zonder verdere mix met andere Samples, achtereenvolgens vervormd tot een kolonne zoemende wespen, hysterisch paardengehinnik, doodsklokken, donderslagen en een tropische regenbui. Bovendien doen vocoder-implementaties in steeds meer software 'achter de schermen' dienst als spectrum- en toonhoogte-analyzers die je voor zeer uiteenlopende muzikale doelen nodig hebt.

 

 

Mouth Tube

Het soort geluiden dat je met de klassieke vocoder kon maken is sinds de jaren '70 in de popmuziek goed bekend geworden, onder vele anderen door mensen als Herbie Hancock en Peter Frampton. Het meest opmerkelijke is nog wel dat je niet eens een vocoder nodig hebt om dat vocoder-effect te creëren! Onlangs liet Frampton, te gast in het bandje van de David Letterman show, nog eens zien hoe dat in z’n werk gaat met de oude, vertrouwde 'Mouth Tube'.

Als je spreekt of zingt, gebeuren er twee dingen tegelijk die je, akoestisch gesproken, kunt beschouwen als bijna geheel onafhankelijk van elkaar. Ten eerste komt in je strottehoofd een 'toongenerator' in actie die bestaat uit een paar stembanden. Ten tweede verander je tijdens het spreken voortdurend de stand van je lippen, tong, mond- en keelholten. Daardoor veranderen tevens voortdurend de klankeigenschappen van het spraakkanaal en komen de klinkers en medeklinkers tot stand. Ze worden door de trillingen van de stembanden hoorbaar gemaakt. In vocoderhandleidingen heet het dat de mond- en lipbewegingen de stembandtrillingen moduleren.

Stel je nu voor dat je in plaats van een paar stembanden een klein luidsprekertje in je strottehoofd zou hebben zitten, (zoals sommige mensen na een keeloperatie) dan zou je ook andere, willekeurige trillingen dienst kunnen laten doen om de klankeigenschappen van je spraakkanaal hoorbaar te maken. Iets minder drastisch dan een luidsprekertje in je strottehoofd, maar wel met ongeveer hetzelfde effect, is een klein extern luidsprekertje waarvan het geluid via een dunne plastic buis, de Mouth Tube, in je mond wordt gebracht. (Dat geluid mooi "geïsoleerd" door een buis kan lopen, bewijst de stethoscoop van de dokter.) Laat je nu bijvoorbeeld een gitaargeluid via de buis je mond in lopen, dan kun je door articulerende bewegingen te maken het effect creëren van een zingende gitaar. Technisch gesproken worden de boventonen van de gitaar door een akoestisch filter gehaald, namelijk je spraakkanaal. Het effect is des te duidelijker te horen wanneer je zo helder (zo 'wit') mogelijke klanken via de buis in je mond brengt. De redenen daarvan werden in Afl. 13 besproken ('een filter uit z'n tent lokken').

Een Mouth Tube vervangt dus je stembanden door een willekeurig geluid waarmee de spraakarticulaties hoorbaar kunnen worden gemaakt. Een dergelijk filtereffect, dat vooral als 'zingende gitaar' bekend is, wordt meestal een kruissynthese (cross synthesis) genoemd. En dat is dus heel wat anders dan een 'mix' van twee klanken! Dat digitaal mixen hetzelfde is als optellen weten we sinds Afl. 3, maar hoe krijg je de computer nu zo ver dat-ie een kruissynthese van twee signalen gaat maken?

Er zijn een heleboel oplossingen voor dit probleem. Eén ervan werd al eerder genoemd (Afl. 1 en 14), namelijk LPC: robuust, snel en uitermate flexibel. We zagen in de vorige aflevering dat LPC een techniek is waarmee de computer op basis van een stukje geluid, bij voorkeur dat van een stem of een akoestisch instrument, een filter kan construeren dat dezelfde klankkleur-eigenschappen heeft als dat geluid. Een LPC-filter kun je je dus voorstellen als een zwijgend digitaal mondje dat in een bepaalde stand staat en dat een spraakklank produceert zodra je er een (boventoonrijk, helder) geluid doorheen stuurt. Als dat geluid een toon is, dan hoor je spraak "hardop", en als je er witte ruis doorheen trekt, dan hoor je een mysterieus gefluister. In de eerste figuur van Afl. 14, de grote grafiek onderaan, werden de eigenschappen van een spraakklank zichtbaar gemaakt: twee op verschillende toonhoogten gezongen A-klanken (in rood en groen) blijken dezelfde klankkleur te hebben; die wordt direct zichtbaar in de zogenaamde formantstructuur, weergegeven als de zwarte kromme die de toppen van de spectraalpieken verbindt. Die kromme is tevens de frequentiekarakteristiek van het LPC-filter dat uit één van die signalen is afgeleid. Als je nu een gitaargeluid door dit LPC-filter stuurt, krijg je een gitaar te horen die 'A' zingt. Daarmee heb je dus een 'digitale' versie van de kruissynthese; de geluidskwaliteit ervan is ver superieur aan die van de Mouth Tube of de oude, analoge kanaalvocoder, maar niet zo goed als die van andere DSP-methoden, zoals de fasevocoder of de SMS-vocoder (Spectral Modeling Synthesis). Daarover bij gelegenheid meer.

 

 

Tijdvariant Filter

Nu is die A-klank van het LPC-filter volkomen statisch: het is alsof je luistert naar een A die opklinkt uit een stijfbevroren of versteende mondholte, ongeveer even dor en doods als een ‘loop’ bij een sampler. Dat statische klankkarakter ligt aan het feit dat een filter een vaste, onveranderlijke frequentiekarakteristiek heeft. We zagen (in Afl. 6, 12 en 13) dat alle klankeigenschappen en de frequentiekarakteristiek van een filter volledig worden vastgelegd door de waarden van de Gains (Afl. 5; versterkingsfactoren van elke delaylijn van het filter). Als je een signaal door een filter stuurt en je morrelt tegelijkertijd aan de waarden van één of meerdere Gains, dan verander je de frequentiekarakteristiek en zal het filter anders gaan klinken, precies zoals de veranderingen van de stand van je mond leiden tot veranderingen in de klank en de frequentiekarakteristiek van mond- en keelholten. Een filter dat zo gebouwd is dat de klankeigenschappen geleidelijk of abrupt kunnen veranderen heet een tijdvariant filter. Je vindt ze in elke synthesizer. In Afl. 6, 'de Digitale Toonbol', bleek dat die beroemde "zwiep"-geluiden van een resonantiefilter in een synthesizer ontstaan door de instellingen van de resonantiefrequentie te veranderen. De synthesizer zorgt ervoor dat die veranderingen voortdurend worden omgerekend naar veranderingen in de waarden van de twee Gains van het filter. Die veranderingen vinden plaats in zeer kleine stapjes, zodat de klankverandering op het gehoor een vloeiende indruk maakt.

Bij LPC-synthese gaat het om een filter dat precies dezelfde (IIR-)structuur heeft als de Digitale Toonbol. Het enige verschil zit 'm hierin dat het LPC-filter niet twee, maar ruim veertig Gains en Delaylijnen heeft. Ook een LPC-filter kun je dus tijdvariant maken door de Gains in zeer kleine stapjes te veranderen. Juist daardoor kun je LPC gebruiken als vocoder: wil je de levendigheid en de kleine variaties van een spraakklank of zelfs de klankopeenvolging van complete zinnen in een filtervorm vatten, dan kun je de spraakklank opdelen in een groot aantal korte fragmenten en op elk fragment de LPC-analyse opnieuw uitvoeren, zo'n 20 tot 50 keer voor elke seconde geluid. Elk geluidsfragmentje leidt tot een eigen set van Gaingetallen. Door nu de Gaingetallen van de ene set in minuscule stapjes te laten overvloeien in die van de volgende, ontstaat een tijdvariant filter dat 'vloeiend' articuleert. Stuur je daar de tonen van een synthesizer of gitaar doorheen, dan krijg je vloeiende spraak te horen, de bekende robotzang.

Daarbij kun je tevens een effect creëren dat met de Kanaalvocoder onmogelijk was: door tijdens de synthese de overgang van het ene naar het volgende LPC-filter te vertragen of te versnellen, wordt de spraak resp. langer of korter. Daarbij vindt GEEN formantverschuiving (Afl. 14) plaats!! Dus hoe langzaam of snel je een zin ook afspeelt, elke klinker blijft altijd verstaanbaar. Heel anders dus dan de Donald Duckjes en Darth Vaders van een sampler! Time Stretching is echt zo'n effect dat je bij digitale vocoders in de schoot geworpen krijgt.

Elk LPC-filter wordt dus in het computergeheugen opgeslagen in de vorm van een rijtje van ongeveer 40 getallen. En aangezien er, zoals gezegd, zo'n 20 tot 50 fragmenten (frames) voor elke seconde geluid nodig zijn, heeft LPC maximaal slechts 40 X 50 = 2000 getallen nodig om het verloop van de klankkleur en de formantstructuur van één seconde geluid vast te leggen. Vergelijk dat eens met de 44100 getallen die een cd voor elke seconde nodig heeft! Nu vragen die gaingetallen wel om wat meer bits (bijv. 32), maar dan nog treedt er in de LPC-vocoder een datareductie op van 90% ten opzichte van cd, een score die vergelijkbaar is met MP3! Die datareductie is in de communicatietechniek dan ook de belangrijkste reden om vocoders te ontwikkelen; het woord vocoder is een samentrekking van voice encoder. Ook de term LPC, Linear Predictive Coding, wijst daarop.

Als Felix Visser dit artikel tot hier toe leest, zal hij waarschijnlijk zeggen: "Ok, met een LPC-vocoder kun je dus ook Time Stretching doen, wat met de analoge Kanaalvocoder onmogelijk was. Maar is dat nou al de winst van twee decennia digi-techniek? Mijn Syntovox was in staat om de klankkleuren van spraak ook nog eens drastisch te wijzigen, waardoor waanzinnige muzikale mogelijkheden ontstaan. Hoe zit dat met LPC?"

Het antwoord luidt dat de kracht van LPC vooral zit in het feit dat je de klankkleur van een geluidsfragment omrekent tot een zeer complex digitaal filter. Dat is een kracht, omdat digitale filters zo gigantisch flexibel zijn. De computer kan bijvoorbeeld dat complexe LPC-filter op zijn beurt in real time omrekenen tot een set van Digitale Toonbollen, die elk één spraakformant representeren. Op dat principe zijn spraak-en zangsynthesizers gebaseerd. Al die spraakformanten kun je onafhankelijk van elkaar manipuleren door de resonantiefrequenties en bandbreedtes te wijzigen, en wel tijdvariant, op basis van zeer complexe stuur- of compositie-algoritmen! Zoiets is met het stekkerbord van de Kanaalvocoder volledig uitgesloten, tenzij je vingers snel genoeg zijn om 40 plugjes duizend maal per seconde in een ander gaatje te steken. De computer is niet alleen tot veel waanzinniger klankveranderingen in staat, maar ook tot veel intelligentere, chirurgische ingrepen in het geluid. Je zou bijvoorbeeld in een spraaksignaal een soort 'plat' of 'bekakt' praten kunnen introduceren of bepaalde spraakgebreken toevoegen of verwijderen. Ook muziekinstrumenten kun je op die manier subtiel, maar zeer ingrijpend wijzigen.

Maar dat is nog niet alles. In Afl. 1 werd al vermeld dat je het LPC-filter ook in real time kunt omrekenen tot een akoestisch buismodel. Daarmee zit je dan opeens midden in de Physical Modeling: je hebt een (virtuele) buis voor je, waarvan je de klankeigenschappen hebt ontleend aan een of ander signaal. Die buis ga je vervolgens op willekeurige punten dikker of dunner maken (wat je in feite ook doet met je mond als je praat). Daardoor ontstaan nieuwe, vreemde klanken die niettemin altijd heel 'akoestisch' en dus 'natuurlijk' aandoen.

De absolute en onbetwistbare superioriteit van digitale muzieksystemen ten opzichte van analoge zit 'm vooral in 't feit dat er in afgrijselijk hoog tempo allerlei Kunstmatige Intelligentie in terecht komt die onvoorstelbare en tegelijkertijd muzikaal zeer opwindende manipulaties mogelijk maakt. Dat is de winst van 20 jaar digi-techniek!

 

 

Kader: Sonogram

Van een reeks opeenvolgende LPC-filters kun je, zoals we al talloze malen hebben gedaan, door middel van de FFT (Afl. 9 - 12) de amplitudekarakteristieken berekenen. Als je die allemaal keurig achter elkaar afbeeldt krijg je het bekende ‘berglandschap’ te zien waarin het timbre-verloop van de filterreeks wordt weergegeven.

In Figuur 1 rechts, in geel, is zo’n glooiend LPC-bergland te zien. Als je het vergelijkt met de zwarte formantcontour van Figuur 2 uit Afl. 14, dan zie je onmiddellijk dat het hier om een AA-klank gaat. Voor de duidelijkheid is die contour nog eens dik in rood aangegeven. Links in de figuur is precies dezelfde informatie nog eens weergegeven, al zul je eventjes goed moeten kijken om te zien hoe dat in elkaar zit. Het is een soort atlas van dat spectrale gebergte rechts, waarbij elke hoogte z'n eigen kleur heeft. De toppen zijn lichtgeel; hoe lager je komt hoe roder en donkerder de kleur; de diepste dalen zijn paarsblauw tot zwart. Een dergelijke hoogtekaart heet een sonogram. Het is vaak veel handiger en duidelijker dan zo'n 3D berglandschap. In veel gevallen kun je in het sonogram van een muziekstuk gemakkelijk de losse noten herkennen.

In Figuur 2 is een simpel stukje pianomuziek op twee manieren afgebeeld: onder in notenschrift, boven het sonogram van een cd-opname. Je ziet niet alleen de noten, maar ook hun boventonen en het harder en zachter aanslaan. Voor de duidelijkheid: sonogrammen hebben niks te maken met vocoders of LPC; het is alleen maar een methode om het tijdverloop van het spectrum van een geluid of de amplitudekarakteristiek van een filter in beeld te brengen.

In Figuur 3 is de meest natuurlijke vorm van kruissynthese te zien, die van de stembanden en het spraakkanaal. De tijdvariante formantstructuur van de klinkers 'AA', 'EE' en 'OO' zijn duidelijk te zien. De horizontale, oplichtende 'ribbels' zijn de harmonischen van de stembanden: ze liggen op regelmatige afstanden van elkaar. Uit die afstanden en de frequentieschaal kun je afleiden dat het gaat om een mannenstem.