Workshop 2 - Geluid

Post on 28-Nov-2015

51 views 1 download

description

Workshop 2 - Geluid

Transcript of Workshop 2 - Geluid

WORKSHOP GELUID

Katja Verbeeck

Katja.verbeeck@kahosl.be

KaHo Sint-Lieven – 20 november 2012

1

INHOUD

Geluid

Wat is geluid?

Analoog vs. digitaal

Digitalisering van analoge audio

Bemonstering

Kwantificeren

Problemen: aliasing en kwantificeringsfouten

Compressie van audio (MP3)

Het idee van Fourier

De Familie van Fourier Transformaties:

Wiskundige technieken voor analyse van periodieke signalen: Fourierreeks

Fouriertransformatie

Discrete en Fast Fouriertransformatie (DFT/FFT)

Toepassingen

Opdracht

WAT IS GELUID?

Geluid is een golf-fenomeen, net zoals licht, maar dan op

macroscopisch niveau. Lucht moleculen worden

samengedrukt en uitgezet onder impuls van een fysisch

device.

Voorbeeld : een luidspreker in een audio-systeem vibreert heen

en weer en veroorzaakt een longitudinale drukgolf die wij als

geluid ervaren

Vermits geluid drukgolven zijn, nemen ze continue waarden aan

integenstelling tot digitale waarden die discreet zijn!

Ook longitudinale drukgolven voldoen aan golf eigenschappen

zoals: reflectie, refractie en diffractie

Digitalizatie: maak een digitale representatie van het continue

audio signaal – geluid omvormen tot een stroom van getallen, bij

voorkeur gehele getallen

GELUIDSGOLVEN

Analoog signaal: een continue meting van de drukgolf Geluid is 1-dimensionaal: de amplitude is uitgezet t.o.v. de tijd Deze grafiek moet omgezet worden naar getallen, zowel in de amplitude als tijds-

as : Sampling

HOE WERKT ONS OOR?

From: tamaraberg.com

DECIBELS

From: tamaraberg.com

ANALOOG

VS.

DIGITAAL

ANALOOG SIGNAAL

Tijdscontinu en continu waardenbereik

0.00

0.05

0.10

0.15

0.20

0.25

BEMONSTERD SIGNAAL

0.00

0.05

0.10

0.15

0.20

0.25

Sampling in de tijdsas – kies punten op evenredige afstand van elkaar Ts – de frequentie waarmee dit gebeurt noemt men de sampling frequence fs

Voor audio is deze frequentie typisch: 8kHz tot 48 kHz (8 kHz is 8000 samples per seconde)

BEMONSTERD SIGNAAL

0.000

0.063

0.125

0.188

0.250

DIGITAAL SIGNAAL

n = aantal bits, Q = bitstap

Sampling in de amplitude-as : Quantificatie

SAMPLING EN QUANTIFICATIE

SAMPLING EN QUANTIFICATIE

From wikipedia

3 VRAGEN OM DATA TE DIGITALIZEREN

Wat is de sampling rate?

Hoe fijn gaat de data gekwantificeerd worden?

Uniform?

Hoe wordt de audio data opgeslaan in een formaat?

NYQUIST SAMPLE THEOREMA

NYQUIST SAMPLE THEOREMA

ALIASING

ALIASING

Zelfde frequentie maar verschillende amplitude !

ALIASING

ALIASING

Bij reconstructie zijn deze twee signalen zijn niet te onderscheiden, ze zijn elkaars alias. Aliasing treedt op wanneer discrete elementen gebruikt worden om een continu signaal te reconstrueren en er ambiguiteit ontstaan in de frequentie.

ALIASES

Wanneer een sinusoide met frequentie f gesampled wordt met frequency fs dan zullen de resulterende

samples onscheidbaar zijn van een andere sinusoide met frequentie:

voor N willekeurige integer.

De meeste reconstructietechnieken geven het minumum van deze frequenties terug, vandaar dat het

belangrijk is om een uniek minimum te bereiken in f . Dit is voldaan als met

de Nyquist freqentie.

In deze grafiek is de Nyquist conditie voldaan als het blauwe signaal het originele signaal is, in het andere

geval:

are = 0.9 and = 0.1.

= 0.1

= 0.9

ALIASING

-> gebruik anti-aliasing filter, waarbij hoog frequente componenten worden afgezwakt

KWANTIFICERING

Q

Kwantificatie-error of ruis: Te wijten aan de afronding van kwantificatie – keuze van aantal bits Het verschil tussen de actuele waarde van het analoge signaal en het dichtsbijzijnde kwantificatie interval waarde

BLOKSCHEMA

SignaalaanpassingAnti-Aliasing

filterS&H ADC

OpslagVerwerking

DACInterpolatie

filter

Ditheringruisgenerator

AUDIO

COMPRESSIE:

MP3

EVEN REKENEN...

CD-kwaliteit:

44,1KHz

16bit (op de bitdiepte komen we straks nog terug)‏

Stereo (2 kanalen)‏

Data rate =

44100 * 16 * 2 = 1411200 bits/s

Hoeveel ruimte nodig voor 1 min muziek?

Gemiddeld nummer = 3 min32≈‏ miljoen bytes (of 32

megabytes) .

VERLIESLOZE COMPRESSIE

PCM: CD-geluid zonder compressie.

Enkel lineair geëncodeerd

ADPCM:

A staat voor Adaptive

D voor Differential

Encodeert verschillen tussen aanliggende samples

Comprimeert ca. 2:1 tot 4:1

MP3, DE JPEG VAN DE AUDIO...

JPEG-compressie maakt gebruik van de zwakheden van

het menselijk oog

Kan daardoor zeer efficiënt comprimeren

MP3 doet hetzelfde!

MPEG (Moving Pictures Experts Group)

Mp3 staat voor MPEG Audio Layer 3

Eerst even nagaan hoe ons gehoor werkt...

PSYCHO-AKOESTISCH MODEL

• we horen frequenties tussen ca. 20Hz en 20kHz

• oor meest gevoelig tussen 1 en 5 kHz

• "dynamic range"

verschil tussen luidste en stilste waarneermbaar geluid – is ca. 96 dB

• stem tussen 500Hz en 2 kHz

• klinkers: lagere frequenties

• medeklinkers: hogere frequenties

MP3 IS PERCEPTUELE CODERING

perceptuele codering = codering gebaseerd op de menselijke waarneming

van geluidssignalen

Ons gehoor kan geen frequenties waarnemen onder de 20 Hz en boven de

20 kHz. Deze signalen worden dus weggefilterd.

Ons gehoor is minder gevoelig voor heel hoge en heel lage tonen. Deze

tonen comprimeert men sterk zonder nadelige gevolgen.

Wanneer een luide toon onmiddellijk gevolgd wordt door een stille toon, kan

die stille toon weggelaten worden zonder dat de mens daar iets van merkt.

Als het om stereogeluid gaat en de klank op de twee kanalen is precies

hetzelfde, dan wordt één kanaal weggelaten uiteraard. Bij het afspelen

wordt hetzelfde kanaal over beide kanalen weergegeven.

Als er verschillende klanken tegelijkertijd spelen, maskeren sommige

klanken elkaar. Niet alle afzonderlijke geluiden kunnen we waarnemen. De

minst dominante geluiden worden weggefilterd.

“THRESHOLD”‏VAN ONS GEHOOR

• experiment: zet persoon in stille ruimte

• voor verschillende frequenties:

• volume verhogen tot geluid nét hoorbaar wordt

• uittekenen in grafiek

FREQUENCY MASKING

experiment:

• speel 1 kHz toon af (maskeer-geluid)‏

• speel test-toon (bvb. 1.1 kHz) en verhoog volume tot die net hoorbaar is

• teken waardes uit in grafiek

FREQUENCY MASKING

• herhaal experiment voor verschillende maskeer-frequenties:

TEMPORAL MASKING

experiment:

• speel 1kHz-toon aan bvb. 60 dB

• stop deze toon en speel test-toon (bvb. 1,1 kHz aan bvb. 40dB) na kort interval

• varieer dit interval tot test-toon net hoorbaar wordt

• varieer amplitude van test-toon en teken uit in grafiek:

FREQUENCY EN TEMPORAL MASKING

verzamel deze informatie op drie assen: 3D voorstelling van maskeer-effect:

http://computer.howstuffworks.com/mp31.htm

MP3 ALGORITME: PRINCIPE

1. splits het signaal in 32 frequentie-banden (sub-band filtering)‏

2. analyseer maskeer effect voor elke band door de aanliggende banden, gebruik

makend van psycho-akoestisch model

3. als de geluidsenergie van een band onder de "masking-threshold" ligt, negeer

dan deze informatie

4. in het andere geval, bepaal het aantal bits nodig om de informatie te coderen,

zodat de kwantificeringsfout onder de masking-threshold blijft

5. codeer de bitstream

MP3 ALGORITME: EEN VOORBEELD

• stel, na sub-band filtering krijgen we volgende informatie (voor het voorbeeld

bekijken we enkel de eerste 16 banden):

• Laten we band 8 eens bekijken

• uit het psycho akoestisch model:

• 60 dB niveau in deze band maskeert 12 dB in band 7 en 15 in band 9

• niveau van band 7 is 10 dB -> minder dan 12 dB -> negeren

• band 9: 35 dB > 9 dB -> niet negeren !

• we sturen enkel deel boven maskeer-niveau

• we kunnen dus 2 bits uitsparen (2 * 6 dB = 12dB)‏

STEREO REDUNDANCY CODING

stereo-informatie wordt nog eens als volgt gecomprimeerd:

• hoge frequentie-banden: codeer som van linker en rechter signaal in plaats van

afzonderlijk

• middle/side encoding: codeer centraal en verschil van het rechter of linker

kanaal.

INHOUD

Geluid Wat is geluid?

Analoog vs. digitaal

Digitalisering van analoge audio Bemonstering

Kwantificeren

Problemen: aliasing en kwantificeringsfouten

Compressie van audio (MP3)

Fourier Trnasformaties Het idee van Fourier

De Familie van Fourier Transformaties: Wiskundige technieken voor analyse van periodieke signalen:

Fourierreeks

Fouriertransformatie

Discrete en Fast Fouriertransformatie (DFT/FFT)

Toepassingen

Opdracht

HET IDEE VAN FOURIER

Een wiskundige functie in de tijd (of ruimte) kan altijd bekeken worden als een functie over frequenties, het zogenaamde frequentiespectrum (Anders gezegd: als een som van sinus en cosinusgolven)

FREQUENTIE VAN GOLVEN

Een complex signaal kan steeds ontbonden worden in een gewogen som van sinusoiden

FOURIER EN GELUIDSGOLVEN

Vb.: geluid bij 200 Hz

Klinkt anders afhankelijk van de vorm van het signaal:

==> niet enkel de frequentie is belangrijk, ook de golfvorm

FOURIER EN THE BEATLES :

“HARD DAY’S NIGHT” MYSTERY CHORD

http://en.wikipedia.org/wiki/A_Hard_Day's_Night_(song) http://www.npr.org/templates/story/story.php?storyId=98743259

FAMILIE VAN FOURIER TRANSFORMATIE

Fourier reeksen: de functie is periodiek (golven zoals sinus, square,

continu‏en‏(herhaalt‏zichzelf‏patroon‏een‏waarbij‏golfvorm‏elke‏‏…

Fourier transformatie: de functie is a-periodiek en continu,

bijvoorbeeld een afnemende exponentiële functie, een Gaussiaanse

functie

Discrete tijd Fourier transformatie: de functie is slechts bepaald

op discrete tijdstappen en niet periodiek

Discrete Fourier transformatie: de functie is discreet en periodiek

(herhaalt zichzelf)

Fourierreeks

FOURIERREEKS

Willekeurig periodiek signaal beschrijven met behulp van zuivere sinussen.

==> (begrensd) periodiek signaal is samenstelling van:

constante component

Grondtoon (n=1)

Harmonischen (n>1)

FOURIERREEKS

Berekening van relatieve inbreng componenten:

FOURIERREEKS

Alternatieve voorstelling:

Met:

REEKSONTWIKKELING BLOKGOLF

REEKSONTWIKKELING BLOKGOLF

SYNTHESE VAN EEN BLOKGOLF

3 termen 10 termen

FOURIERANALYSE - FOURIERSYNTHESE

FourierAnalyse:

Een signaal analyseren door het te ontbinden in de verschillende componenten

==> frequentiespectrum (bv: spectrumanalyzer)

Fouriersynthese:

Een signaal construeren (synthetiseren) door verschillende afzonderlijke signalen te combineren (bv. synthesizer)

FOURIERREEKS – COMPLEXE SCHRIJFWIJZE

Relaties van Euler:

Toepassen in de formules van Fourier geef:

met

NB: alle getallen zijn complexe getallen (f(t) meestal reël)

FOURIERTRANSFORMATIE

Uitbreiding naar niet-periodieke signalen: limietgeval voor f→‏‏,0‏T→‏

Geeft:

DISCRETE FOURIER TRANSFORMATIE

FAST FOURIER TRANSFORM (FFT)

Theorie gaat ook op voor discrete (bemonsterde) signalen: DFT

Speciale, geoptimaliseerde algoritmes: FFT

Praktisch:

t-domein: n reële waarden (n = macht van 2)

f-domein: n complexe getallen ( = frequentieresolutie)

==> geeft f-spectrum van 0 Hz tot Fs!

SPECTRUM VAN BEMONSTERD SIGNAAL

Fs 3.Fs2.Fs

Fs 3.Fs2.Fs

origineel f-spectrum

f-spectrum na bemonstering

’spiegeling‘‏+‏spectrum‏origineel‏:FFT‏na‏<==

SPECTRUM VAN BEMONSTERD SIGNAAL

OPMERKINGEN

Rekenwerk !

Eventuele manipulaties in f-domein: ook in gespiegeld spectrum

Efficiënte FFT-implementaties werken bijna altijd met een macht van 2 (n = .(…2048‏,1024‏,512‏,256‏,128‏,64

In frequentiedomein werk je met een aantal waarden die de energie

voorstellen die het signaal bevat bij een bepaalde frequentie(band). Deze reeks waarden omvat het hele frequentiegebied tussen 0 Hz en de bemonsteringsfrequentie.

Reële versus complexe FFT Stereo geluid: 2 signalen (meestal interleaved gecodeerd)

TOEPASSINGEN

Spectrumanalyse

Fourierfiltering

Compressietechnieken

Maar ook in Quantummechanica, Economie, Mechanica, Astronomie…

==> niet enkel signalen in functie van de tijd, ook ruimte, of gelijk welke andere variabele , eventueel in 2D, 3D…

TOEPASSINGEN

OPDRACHT 2:

ONTWERP JE EIGEN WAV SCRAMBLER IN C#

Schrijf een programma dat WAV files kan lezen en dat via FFT deze geluid files kan aanpassen tot een vervormd of gescrambled geluid. Kies zelf je vervorming, maw kies zelf welke frequentiemanipulatie je doet. Deze manipulatie(s) moet(en) wel weer ongedaan gemaakt kunnen worden, maw je programma moet ook een de-scramble methode voorzien, zodat je weer je origineel WAV bestand bekomt. Verzorg je GUI, toon de header van de originele en gescrambelde WAV files (#kanalen, bemonsteringsfrequentie, #bits per sample). Verzorg je verslag : beschrijf de opgedane kennis – beschrijf je scrambler en descrambler methode Bestudeer zeker eerst het WAV bestandformaat: http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html http://www.lightlink.com/tjweber/StripWav/WAVE.html#Intro Je krijgt Fourier.cs ter beschikking om FFT te gebruiken, je hoeft het algoritme niet zelf te implementeren. Deadline: dinsdag 18 december , indienen via GIT Nuttige referenties: http://music.columbia.edu/cmc/musicandcomputers/ http://www.codeproject.com/KB/audio-video/WaveEdit.aspx