Workshop 2 - Geluid
-
Upload
stuffnsnuff -
Category
Documents
-
view
51 -
download
1
description
Transcript of Workshop 2 - Geluid
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
http://www.freemosquitoringtones.org/mosquito-ringtone-variants/
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
FOURIERTRANSFORMATIES : OVERGANG VAN
TIJDSDOMEIN NAAR FREQUENTIEDOMEIN
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,
continuen(herhaaltzichzelfpatrooneenwaarbijgolfvormelke…
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→,0T→
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‘+spectrumorigineel:FFTna<==
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