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 Delay, eko i Matlab 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
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 Sampling Kvantisering Kodning (LPF) (4-bitpar) 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 Lagring Avkodning Postfilter (LPF) 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010
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 96kHz 192kHz DVDA & SACD
Samplingsfrekvens Frequency: 440 Hz. Phase: 0. Sample frequency: 4400 Hz. Bit resolution: 4 linear 1 Wave form to sample Digital representation 0.8 0.6 Amplitude levels (SQNR: 24.08 db) 0.4 0.2 0-0.2-0.4-0.6-0.8-1 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (ms)
Samplingsfrekvens Frequency: 440 Hz. Phase: 0. Sample frequency: Frequency: 4400 Hz. Bit 440 resolution: 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 1 1 Wave form to sample Digital representation 1 Wave form to sample Digital representation Wave form to sample Digital representation 0.8 0.8 0.8 0.6 0.6 0.6 Amplitude levels (SQNR: 24.08 db) 0.4 0.2 0-0.2-0.4-0.6 Amplitude levels (SQNR: 24.08 db) 0.4 0.2 0-0.2-0.4-0.6 Amplitude levels (SQNR: 24.08 db) 0.4 0.2 0-0.2-0.4-0.6-0.8-0.8-0.8-1 -1-1 0 0.5 1 1.5 2 2.5 0 3 0.5 3.5 1 4 1.5 4.5 2 5 2.5 30 3.5 0.5 41 4.5 1.5 52 2.5 3 3.5 4 4.5 5 Time (ms) Time (ms) Time (ms)
Inte utan > Frequency: 440 Hz. Phase: 0. Sample frequency: 880 Hz. Bit resolution: 4 linear 1 0.8 Wave form to sample Digital representation Analogue output Amplitude levels (SQNR: 24.08 db) 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 3 3.5 4 4.5 5 Time (ms)
Inte utan > Nyquistteoremet fs > 2f0. Frequency: 440 Hz. Phase: 22. Sample frequency: Frequency: 880 Hz. Bit 440 resolution: Hz. Phase: 40. linear Sample frequency: 880 Frequency: Hz. Bit resolution: 440 Hz. Phase: 4 linear45. Sample frequency: 880 Hz. Bit resolution: 4 linear 1 0.8 1 0.8 Wave form to sample Digital representation Analogue output 1 0.8 Wave form to sample Digital representation Analogue output Wave form to sample Digital representation Analogue output 0.6 0.6 0.6 Amplitude levels (SQNR: 24.08 db) 0.4 0.2 0-0.2-0.4-0.6 Amplitude levels (SQNR: 24.08 db) 0.4 0.2 0-0.2-0.4-0.6 Amplitude levels (SQNR: 24.08 db) 0.4 0.2 0-0.2-0.4-0.6-0.8-0.8-0.8-1 -1-1 0 0.5 1 1.5 2 2.5 0 3 0.5 3.5 1 4 1.5 4.5 2 5 2.5 3 0 3.50.5 4 1 4.51.5 5 2 2.5 3 3.5 4 4.5 5 Time (ms) Time (ms) Time (ms)
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 Frequency: 1320 Hz. Phase: 0. Sample frequency: 1760 Hz. Bit resolution: 4 linear 1 0.8 Wave form to sample Digital representation Analogue output 1 0.8 Wave form to sample Digital representation Analogue output 0.6 0.6 Amplitude levels (SQNR: 24.08 db) 0.4 0.2 0-0.2-0.4-0.6 Amplitude levels (SQNR: 24.08 db) 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 3 3.5 4 4.5 5 Time (ms) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (ms)
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. Antalet intervall blir 2 n, där n är antalet bitar. 2 4 = 16 2 12 = 4096 2 16 = 65536 2 24 = 16777216
Kvantisering Frequency: 440 Hz. Phase: 0. Sample frequency: 4400 Hz. Bit resolution: 2 linear Frequency: 440 Hz. Phase: 0. Sample frequency: 4400 Hz. Bit resolution: 8 linear 1 Wave form to sample Digital representation 1 Wave form to sample Digital representation 0.8 0.8 0.6 0.6 Amplitude levels (SQNR: 12.04 db) 0.4 0.2 0-0.2-0.4-0.6 Amplitude levels (SQNR: 48.16 db) 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 3 3.5 4 4.5 5 Time (ms) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (ms)
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 Frequency: 440 Hz. Phase: 0. Sample frequency: 22050 Hz. Bit resolution: 4 non-linear 1 Wave form to sample Digital representation 1 Wave form to sample Digital representation 0.8 0.8 0.6 0.6 Amplitude levels (SQNR: 24.08 db) 0.4 0.2 0-0.2-0.4-0.6 Amplitude levels (SQNR: 24.08 db) 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 3 3.5 4 4.5 5 Time (ms) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (ms)
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 0.8 Wave form to sample Digital representation Analogue output 0.6 Amplitude levels (SQNR: 48.16 db) 0.4 0.2 0-0.2-0.4-0.6-0.8-1 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (ms)
Digital ljudrepresentation Frequency: 440 Hz. Phase: 0. Sample frequency: 4400 Hz. Bit resolution: 8 linear Frequency: 440 Hz. Phase: 0. Sample frequency: 12000 Hz. Bit resolution: 8 linear 1 0.8 Wave form to sample Digital representation Analogue output 1 0.8 Wave form to sample Digital representation Analogue output 0.6 0.6 Amplitude levels (SQNR: 48.16 db) 0.4 0.2 0-0.2-0.4-0.6 Amplitude levels (SQNR: 48.16 db) 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 3 3.5 4 4.5 5 Time (ms) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (ms)
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