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