Introduktion
TNMK054 - Ljudteknik 1
Niklas…
Analoga syntar
Ljud- & musikteknik
Datorer, musik &
elektronisk musik
Programmering
Noisource
Media- & kommunikations-
vetenskap
PhD i teknisk audiologi
TNMK054 - Ljudteknik 1
Introduktion till digital audio,
ljudbearbetning och datormusik
Översikt över tekniker för
signalbehandling
Filtrering och utjämning
Digitala fördröjningsledningar
Digitala audioeffekter
Additiv och subtraktiv syntes
Amplitud- och frekvensmodulering
TNMK054 - Ljudteknik 1
Grunderna för att tänka
ljudeffekter
Se kopplingar till tidigare
kurser
- Ljudfysik
- Signaler & system
- Digitala medier
- Programmering
…
TNMK054 - Ljudteknik 1
Introduktion till ljudteknik
Inspelning, mikrofoner etc
Mix, filter, dynamik
Rum, reverb, delay, etc
Ljudsyntes
Programmering/Matlab
Ni håller två “föreläsningar”
Fredag 9 september
- Delay
- Chorus - Flanger
Måndag 19 september
- Phaser
- Wah wah
- Resonans och poler
Förberedelsetider
- Onsdag 31 augusti
- Onsdag 7 september
- Onsdag 14 september
Era “föreläsningar”
Tänk mer seminarieform än klassisk föreläsningsform
20-30 minuter per grupp
Dvs 15-20 slides
Googla, biblioteket, och ev kursbok för info
Bolla tankar och frågor med mig, men utnyttja alla
lärare som finns! (skyll på mig)
Leta gärna upp ljudexempel!
Era “föreläsningar” (forts.)
Presentera effekten
- vad den gör
- hur den gör det
- hur den låter
Kolla “gamla” lösningar och modernare idéer…
Analogt och digitalt, eller…
Hur att programmera, problem att lösa, …
Var i signalkedjan…
Tre gästföreläsningar
Datum
Ole Pedersen - frekvensanalys
Datum
Namn från Softube - programmering av ljud-/
signalbehandling
30 september
Rikard Lindell från MDH - programmering av
ljud-/signalbehandling
Tre laborationer
Onsdag 21 september
Vågformer, ljudsyntes, filter i Matlab
Onsdag 28 september
Vågformer, talsyntes, filter i Matlab
Onsdag 5 oktober
Delay, eko i Matlab
Onsdag 12 oktober
Resttillfälle
Skriftlig tentamen
Skriftlig tentamen, men inte salstenta (?!)
•
Ni kommer att få välja en uppgift, en “ljudgrej” som
ska lösas. Ex:
•
Ett antal ljudinspelningar av svar
•
Automatiskt räkna responstid
•
Problem: vad är tyst, harklingar, pauser i responen,
bakgrundsbrus, hur räkna ut responstiden
Skriftlig tentamen
Skriftlig tentamen, men inte salstenta (?!)
•
Ni kommer att få välja en uppgift, en “ljudgrej” som
ska lösas.
•
För att lösa denna uppgift krävs teori,
signalbehandling, ljudteknik, programmering.
•
Ni ska koppla teori, pseudokod, samt förklara vad,
hur och varför ni väljer en viss lösning.
•
Ert svar, typ 4 sidor, ska mailas till mig inom utsatt tid.
Skriftlig tentamen (forts.)
Uppgiften hämtas vid Åsa Lembkes kontor i
Kopparhammaren 2
26 oktober klockan 13-13:30
Svaret mailas till mig, lämpligast i pdf-format
27 oktober klockan 9:00
Schema
29 aug 10-12 KO201 Fö1
Intro & repetition
31 aug 13-17 TP4005
Förberedelsetid till SFö1 & SFö2
2 sept
13-15 KO201 Fö2
Ljudteknik, mikrofoner, …
5 sept
10-12 KO201 Fö3
Filter, dynamik, mix, datormusik
7 sept
13-17 TP4005
Förberedelsetid till SFö1 & SFö2
9 sept
13-15 KO201 SFö1 Studentföreläsning/seminarie
12 sept 10-12 KO201 Fö4
Rum, reverb, inspelningsövning
Schema (forts.)
14 sept 13-17 TP5023
Förberedelsetid till SFö1 & SFö2
16 sept 13-15 KO201 Fö5
Ljudsyntes, vågformer, …
19 sept 10-12 KO201 SFö2 Studentföreläsning/seminarie
21 sept 13-17 TP5023 La1
Vågformer, ljudsyntes i Matlab
26 sept 10-12 KO201 GFö1
28 sept 13-17 TP5023 La2
Filter i Matlab
30 sept 10-12 KO201 GFö2 Rikard Lindell, MDH
Schema (forts.)
3 okt
10-12 KO201 GFö3
5 okt
13-17 TP5023 La3
12 okt
13-17 TP5023 La… Resttillfälle
26 okt
13:00
Ten1 Tentauppgifterna hämtas
27 okt
9:00
Ten1 Tentauppgifterna lämnas in
Delay, eko i Matlab
Ljud… (Ljudfysikkursen)
Uppkomst och spridning av
ljud
Svängningar och
resonanser
Vågutbredning
Stående vågor
…
Hörseln…
20-20000 Hz
- 3000 & 4000 Hz
- oktav = fördubbling av
frekvensen
- en CD-skivas
frekvensomfång?
0-120+ dB
- decibelskalan är logaritmisk
- en CD-skivas dynamiska
omfång?
Örat
Ljud = vibrationer
i luften ->
tryckvariationer ->
utbreder sig som
ljudvågor
Vätska, Stående
vågrörelse.
Låga frekvenser långt in.
Vibrationer -> mekanisk överföring
samt förstärkning av signalen
Innerörat
Frekvenstransform,
snäckan är logaritmisk
Mekanisk koppling,
vågrörelse
Vågrörelse i vätska
till mekanisk rörelse/
vibration
Ljudrespons/reflektion,
Otoacoustic emissions
Yttre hårceller,
mekanisk koppling,
ickelinjär förstärkning
(och dämpning)
Inre hårceller,
mekanisk -> elektrisk
signal -> hjärnan
Talfrekvenser & hörapparat
Frekvenserna visar var
talljuden har mest
innehåll, men inte hela
frekvensomfånget.
Första versionen av
GSM…
Talfrekvenser & hörapparat
Frekvenserna visar var
talljuden har mest
innehåll, men inte hela
frekvensomfånget.
Första versionen av
GSM…
Normal hörsel
Talfrekvenser & hörapparat
Frekvenserna visar var
talljuden har mest
innehåll, men inte hela
frekvensomfånget.
Första versionen av
GSM…
Normal hörsel
Hörselnedsättning
Hörapparat
Talfrekvenser & hörapparat
24 kanaler parallellprocessning
- Förstärkning
- Kompression och expansion
av det dynamiska omfånget
- Brusreducering
- Rundgångsdämpning
Rundupptagande och/eller
riktade mikrofoner
Auditory scene analyses
Kommunikation mellan HA
Batteri på1.45V
som ska räcka en vecka…
Cochlearimplantat…
Cochlearimplantat…
HA -> frekvensband
Sänder via elektromagnetisk
induktion
~ 22 elektroder
Cochlearimplantat…
HA -> frekvensband
Sänder via elektromagnetisk
induktion
~ 22 elektroder
Påverkar ljudet mycket!
Cochlearimplantat…
HA -> frekvensband
Sänder via elektromagnetisk
induktion
~ 22 elektroder
Påverkar ljudet mycket!
Ingen temporal fine structure
Dålig pitchuppfattning och
frekvensdiskrimination
Inget batteri = döv
Youtube...
Electric acoustic stimulation
Försiktig implantation
Electric acoustic stimulation
Försiktig implantation
Kombinerar HA med CI (~8 electrodes)
HA i de låga frekvenserna
och CI i de högre
Bevarar (mer) temporal fine
structure
Bättre frekvensdiskriminering
Electric acoustic stimulation
Försiktig implantation
Kombinerar HA med CI (~8 electrodes)
HA i de låga frekvenserna
och CI i de högre
Bevarar (mer) temporal fine
structure
Bättre frekvensdiskriminering
Bevarar hörseln
Digital ljudrepresentation
Ljud är tryckförändringar i
luften.
Dessa ändras kontinuerligt i
tiden.
Alltså, ljud är analogt.
Analogt <-> digitalt.
AD/DA-omvandlare
En bandbreddsbegränad signal kan samplas och
rekonstrueras utan förlust.
De numeriska värdena associerade med samplingen
kan lagras digitalt.
Sampeln hålls på samma nivå under en klockcykel
under rekonstruktionen.
Ett lågpassfilter interpolerar för att återskapa den
ursprungliga vågformen.
AD/DA-omvandlare
Förstärkare
Förfilter
(LPF)
Sampling
Kvantisering
Kodning
(4-bitpar)
1011
1010
1001
1000
0111
0110
0101
0100
0011
0010
Avkodning
Lagring
1011
1010
1001
1000
0111
0110
0101
0100
0011
0010
Postfilter
(LPF)
Sampling
Nyquistteoremet
•
Ett ljud (bandbegränsad tidskontinuerlig signal), med
bandbredd f0 Hz, och som samplas med
samplingsfrekvensen fs kan återskapas från den
samplade signalen om fs > 2f0.
CD = 44.1kHz
DAT/DV = 48kHz
DVDA & SACD
96kHz
192kHz
Samplingsfrekvens
Frequency: 440 Hz. Phase: 0. Sample frequency: 4400 Hz. Bit resolution: 4 linear
1
Wave form to sample
Digital representation
Amplitude levels (SQNR: 24.08 dB)
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0.5
1
1.5
2
2.5
Time (ms)
3
3.5
4
4.5
5
Samplingsfrekvens
1
1
0.8
0.8
0.8
0.6
0.6
0.6
0.4
0.2
0
-0.2
1
Wave form to sample
Digital representation
Amplitude levels (SQNR: 24.08 dB)
Amplitude levels (SQNR: 24.08 dB)
Amplitude levels (SQNR: 24.08 dB)
Frequency: 440 Hz. Phase: 0. Sample frequency:
Frequency:
4400 Hz. Bit
440resolution:
Hz. Phase:40.linear
Sample frequency: 4400
Frequency:
Hz. Bit resolution:
440 Hz. Phase:
4 linear
0. Sample frequency: 12000 Hz. Bit resolution: 4 linear
0.4
0.2
0
-0.2
-0.4
0.4
0.2
0
-0.4
-0.6
-0.6
-0.8
-0.8
-0.8
-1
-1
-1
0
0.5
1
1.5
2
2.5
Wave form to sample
Digital representation
-0.2
-0.4
-0.6
Wave form to sample
Digital representation
0
Time (ms)
3
0.5 3.5
1
4
1.5 4.5
2
5
2.5
Time (ms)
30
3.5
0.5
41
4.5
1.5
52
2.5
Time (ms)
3
3.5
4
4.5
5
Inte ≥ utan >
Frequency: 440 Hz. Phase: 0. Sample frequency: 880 Hz. Bit resolution: 4 linear
1
Wave form to sample
Digital representation
Analogue output
Amplitude levels (SQNR: 24.08 dB)
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0.5
1
1.5
2
2.5
Time (ms)
3
3.5
4
4.5
5
Inte ≥ utan >
Nyquistteoremet fs > 2f0.
1
0.8
0.8
0.6
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
1
Wave form to sample
Digital representation
Analogue output
0.4
0.2
0
-0.2
-0.4
-0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-0.8
-1
-1
-1
0.5
1
1.5
2
2.5
0
Time (ms)
3
0.5 3.5
1
4
1.5 4.5
2
5
2.5
Time (ms)
Wave form to sample
Digital representation
Analogue output
0.6
-0.8
0
Wave form to sample
Digital representation
Analogue output
0.8
Amplitude levels (SQNR: 24.08 dB)
1
Amplitude levels (SQNR: 24.08 dB)
Amplitude levels (SQNR: 24.08 dB)
Frequency: 440 Hz. Phase: 22. Sample frequency:
Frequency:
880 Hz. Bit
440resolution:
Hz. Phase:4 0.
linear
Sample frequency: 880Frequency:
Hz. Bit resolution:
440 Hz. Phase:
4 linear45. Sample frequency: 880 Hz. Bit resolution: 4 linear
3 0
3.50.5
4 1
4.51.5
5 2
2.5
Time (ms)
3
3.5
4
4.5
5
Aliasing (vikningsdistortion)
Aliasing uppstår om f0 > fs/2.
Högre frekvenser viks tillbaka till frekvenser < fs/2.
Frequency: 440 Hz. Phase: 0. Sample frequency: 1760 Hz. Bit resolution: 4 linear
1
1
Wave form to sample
Digital representation
Analogue output
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-0.8
-1
-1
0
0.5
1
1.5
2
2.5
Time (ms)
3
3.5
4
4.5
Wave form to sample
Digital representation
Analogue output
0.8
Amplitude levels (SQNR: 24.08 dB)
Amplitude levels (SQNR: 24.08 dB)
Frequency: 1320 Hz. Phase: 0. Sample frequency: 1760 Hz. Bit resolution: 4 linear
5
0
0.5
1
1.5
2
2.5
Time (ms)
3
3.5
4
4.5
5
Jitter
Vid både inspelning och uppspelning förutsätts att klockpulserna
kommer med exakt samma tidsmellanrum.
Ofta finns det små tidskillnader som kan degradera prestanda. Detta
kallas jitter
Jitter kan uppstå tex vid
•
Hastighetsvariationer hos en CD/DVD-spelare
•
Oregelbundenheter hos de klockor som styr AD och DA omvandling
•
Vid överföring av en dataström (oftast synkroniseras klockor mellan
sändare/mottagare)
Kvantisering
Det samplade analoga värdet omvandlas i en ADomvandlare till ett digitalt värde.
Eftersom det är digitalt värde finns det ett begränsat
antal nivåer, en begränsad noggrannhet, som bestäms
av antalet bitar systemet arbetar med.
•
n
Antalet intervall blir 2 , där n är antalet bitar.
2 = 16
12
2 = 4096
4
2 = 65536
24
2 = 16777216
16
Kvantisering
Frequency: 440 Hz. Phase: 0. Sample frequency: 4400 Hz. Bit resolution: 2 linear
1
Wave form to sample
Digital representation
0.8
0.8
0.6
0.6
Amplitude levels (SQNR: 48.16 dB)
Amplitude levels (SQNR: 12.04 dB)
1
Frequency: 440 Hz. Phase: 0. Sample frequency: 4400 Hz. Bit resolution: 8 linear
0.4
0.2
0
-0.2
Wave form to sample
Digital representation
0.4
0.2
0
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1
-1
0
0.5
1
1.5
2
2.5
Time (ms)
3
3.5
4
4.5
5
0
0.5
1
1.5
2
2.5
Time (ms)
3
3.5
4
4.5
5
Effektivt antal bitar
Det effektiva antalet bitar (ENOB) kan skrivas som: ENOB = (dynamic range-1.72)/6.02
En 16-bits omvandlare med 90 dB dynamiskt omfång,
motsvarar 14.7 bitars effektiv upplösning.
Ett ljud representerat i 16-bitar, och en 16-bitars DAC
minskar antalet effektiva bitar med 1 varje gång
volymen halveras.
Vid inspelning är fler bitar att föredra vad gäller
dynamiskt omfång och head-room.
Dynamiskt omfång
Skillnaden mellan den i amplitud starkaste samplen och
tyst, eller
Signal-to-error ratio
8-bitar = 49.8dB
16-bitar = 97.8dB
24-bitar = 145.8dB
Kvantiseringsfel
Kvantiseringen kommer att ge ett fel i den samplade
signalen på upp till +-1/2 LSB. (Least Significant Bit)
Vid starka signaler är det liten korrelation mellan
signalen och kvantiseringsbruset. Det påminner om vitt
brus.
Kvantiseringsfelet blir ohörbart vid fler bitar, 16-20 bitar.
Men, vid svaga signaler, och sämre upplösning, blir
bruset ofta korrelerat till signalen och kan ge hörbar
distortion.
Dither
Nivåer under LSB-nivån kan inte kvantiseras och
kodas. Dessa blir antingen 1 eller 0, dvs 50% chans.
Med dithering kan hörbara artefakter som uppstår pga
kvantiseringen undertrycks.
Dithering lägger till ett svagt brus.
Detta svaga brus gör att samples som är lägre än LSBnivån på ett korrekt sätt antingen blir 1 eller 0.
Brus
Vitt brus, har lika stor amplitud i alla frekvenser.
- 40-80 Hz har samma intensitet som 4000-4040 Hz.
Rosa brus, har samma ljudintensitet inom
frekvensområden som är proportionellt lika stora.
- 40-80 Hz har samma intensitet som 4000-8000 Hz.
- -3dB/oktav
Rött brus = -6dB/oktav
Blått brus = +3dB/oktav
Lila brus = +6dB/oktav
…
Linjär/olinjär kvantisering
Ett annat sätt att kringgå kvantiseringsfel är linjär
kvantisering.
Frequency: 440 Hz. Phase: 0. Sample frequency: 22050 Hz. Bit resolution: 4 linear
1
Wave form to sample
Digital representation
0.8
0.8
0.6
0.6
Amplitude levels (SQNR: 24.08 dB)
Amplitude levels (SQNR: 24.08 dB)
1
Frequency: 440 Hz. Phase: 0. Sample frequency: 22050 Hz. Bit resolution: 4 non-linear
0.4
0.2
0
-0.2
-0.4
-0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-0.8
-1
-1
0
0.5
1
1.5
2
2.5
Time (ms)
3
3.5
4
4.5
5
Wave form to sample
Digital representation
0
0.5
1
1.5
2
2.5
Time (ms)
3
3.5
4
4.5
5
Lågpassfiltrering
Analogt eller digitalt lågpassfilter tar bort frekvenser > fs/2
i samband med uppspelning av digitalt representerat ljud.
Frequency: 440 Hz. Phase: 0. Sample frequency: 4400 Hz. Bit resolution: 8 linear
1
Wave form to sample
Digital representation
Analogue output
Amplitude levels (SQNR: 48.16 dB)
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0.5
1
1.5
2
2.5
Time (ms)
3
3.5
4
4.5
5
Digital ljudrepresentation
Frequency: 440 Hz. Phase: 0. Sample frequency: 4400 Hz. Bit resolution: 8 linear
1
1
Wave form to sample
Digital representation
Analogue output
0.8
Wave form to sample
Digital representation
Analogue output
0.8
0.6
Amplitude levels (SQNR: 48.16 dB)
Amplitude levels (SQNR: 48.16 dB)
Frequency: 440 Hz. Phase: 0. Sample frequency: 12000 Hz. Bit resolution: 8 linear
0.4
0.2
0
-0.2
0.6
0.4
0.2
0
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1
-1
0
0.5
1
1.5
2
2.5
Time (ms)
3
3.5
4
4.5
5
0
0.5
1
1.5
2
2.5
Time (ms)
3
3.5
4
4.5
5
Ljud i Matlab
TNMK054 - Ljudteknik 1
Att läsa in ljud i Matlab
Läsa in ett ljud till en vektor + samplingsfrekvens.
[y,Fs] = audioread(filename);
Spela upp ett ljud:
player = audioplayer(y, Fs);
play(player);
Spela upp ett ljud och vänta tills det är klart:
playblocking(player);
Spara till ljudfil:
audiowrite(filename,y,Fs);
Att plotta ljud i Matlab
Plotta ett ljud:
plot(y);
Spektrogram av ett ljud:
- short-time Fourier transform
- delar ljudet i ett antal fönster
- antal samples som överlappar mellan fönster
- antal samplingar som används i Fouriertransformen
- ange Fs för rätt skalning
- sätt frekvensen på y-axeln
spectrogram(y, nwin, noverlap, nfft, Fs,
'yaxis');
Att mixa i Matlab
Att mixa två ljud i Matlab = summera två vektorer.
newVector = vectorOne + vectorTwo;
Att förändra ljudvolymen på ett ljud = multiplicera
vektorn med ett värde mindre än 1.
newVector = vectorOne.*0.5;
Matlab arbetar med flyttal, men ett ljud får inte ha högre
nivå ut än -1 -> 1. En ljudvektor varierar runt 0.
Annars uppstår överstyrning/distortion vid uppspelning.
Att mixa i Matlab (forts.)
Kolla maxvärdet amplitud i ett ljud:
max(newVector);
Fast ett ljud har värden runt 0, så:
max(abs(newVector));
Lägsta värdet i amplitud:
min(newVector);
Kolla medelvärdet i amplitud i ett ljud:
rms(newVector);
Att mixa i Matlab (forts.)
Amplitudvärden i Matlab till dB:
amplitudeIndB = 20*log10(amplitudeLevel);
Ett stereoljud är en vektor med två “serier” i.
left = y(:,1);
right = y(:,2);
Vridning/transformering av vektor i Matlab:
x = y’;
Ett monoljud spelas upp som stereo…
Panorering av stereoljud