Spraakverwerking per computer David Weenink Wiskundige opfrissing Spraakverwerking per computer De logaritme Sinus en cosinus Bemonsteren David Weenink Instituut voor Fonetische Wetenschapen ACLC Universiteit van Amsterdam A MSTERDAM C E NTE R FOR LANGUAGE AND COMMUNICATION Oversturing Spraakverwerking per computer Getallenstelsels David Weenink Wiskundige opfrissing Decimaal naar binair De logaritme Waarde van een symbolenreeks sn sn−1 ....s2 s1 s0 ? Bemonsteren Positie in de reeks bepaalt waarde de 1 in 12 en 1234 heeft waardes 10 en 1000 Decimale stelsel 1234 = 1 × 1000 +2 × 100 +3 × 10 1× 103 +2 × 102 +3 × 101 Sinus en cosinus Oversturing +4 = +4 × 100 De waarde van de reeks sn sn−1 ....s2 s1 s0 met basis b = sn b n + sn−1 b n−1 + ... + s2 b 2 + s1 b 1 + s0 b 0 Spraakverwerking per computer Voorbeelden 1 David Weenink Wiskundige opfrissing Decimaal naar binair De logaritme 1 Decimaal, basis b = 10 Symbolen 0 1 2 3 4 5 6 7 8 9 Optelling: 10 + 20 = 30 1 + 0 = 1, 1 + 1 = 2, . . . , 1 + 8 = 9, 1 + 9 = 10 2 Binair, b = 2 Symbolen 0 1 Optelling: 10102 + 101002 = 111102 (1010 + 2010 = 3010 ) 1 + 0 = 1; 1 + 1 = (1)0 (tr 1) Sinus en cosinus Bemonsteren Oversturing tr 1 Spraakverwerking per computer Voorbeelden 2 David Weenink Wiskundige opfrissing Decimaal naar binair De logaritme 3 Octaal, b = 8 Symbolen 0 1 2 3 4 5 6 7 Optelling: 128 + 248 = 368 1 + 0 = 1, . . . , 1 + 6 = 7, 1 + 7 = (1)0 Sinus en cosinus Bemonsteren Oversturing (tr 1) 4 Hexadecimaal, b = 16 Symbolen 0 1 2 3 4 5 6 7 8 9 A B C D E F Optelling: A16 + 1416 = 1E16 1 + 0 = 1, 1 + 1 = 2, . . . , 8 + 1 = 9, 9 + 1 = A, 9 + 2 = B, . . . , 9 + 4 = E, 9 + 5 = F , 9 + 7 = 1016 , 9 + 8 = 1116 Spraakverwerking per computer Decimaal naar binair (1) David Weenink Wiskundige opfrissing Decimaal naar binair De logaritme Staartdeling 2 213 Rest 106 53 26 13 6 3 1 0 1 0 1 0 1 0 1 1 Resultaat: 11010101 Controle: 1 × 27 + 1 × 26 + 0 × 25 + 1 × 24 + 0 × 23 + 1 × 22 + 0 × 21 + 1 × 20 128+64+16+4+1 = 213 Sinus en cosinus Bemonsteren Oversturing Spraakverwerking per computer De logaritme David Weenink Definition y = log x y = ln x ⇐⇒ x = 10y ⇐⇒ x = ey Wiskundige opfrissing (de 10-log) De logaritme (de natuurlijke logaritme) Sinus en cosinus Bemonsteren Oversturing 2 Monotoon stijgend 1 0 –1 0 10 20 30 40 50 60 70 80 90 100 Lage x ”gevoeliger” dan hoge x: (0.1 − 1) : 1 (1 − 10) : 1 (10 − 100) : 1 Spraakverwerking per computer De logaritme (2) David Weenink log 1 = 0 log 10 = 1 log 2 ≈ 0.3 Rekenregels log(a × b) = log a + log b Wiskundige opfrissing De logaritme Sinus en cosinus Bemonsteren log(a/b) = log a − log b log ax = x log a Voorbeelden log 100 = log(10 × 10) = log 10 + log 10 = 1 + 1 = 2 log 100 = log 102 = 2 log 10 = 2 log 20 = log(2 × 10) = log 2 + log 10 ≈ 1.3 log 0.1 = log(1/10) = log 1 − log 10 = 0 − 1 = −1 log 10.000.000.000.000 = log 1013 = 13 0.5 = log(1/2) = log 1 − log 2 ≈ −0.3 Oversturing De decibel Spraakverwerking per computer David Weenink Wiskundige opfrissing De logaritme Sinus en cosinus Logaritme van een vermogensverhouding Bemonsteren Oversturing 10 log(P/Pref ) Vermogen P v (A)mplitude2 20 log(A/Aref ) Zie ook: RvH pp. 105, 198 Spraakverwerking per computer De sinus en cosinus David Weenink Wiskundige opfrissing De logaritme 1 Sinus en cosinus 0 Bemonsteren Frequentie Fase Oversturing –1 –3π –2π –π sin(x) en cos(x) Amplitudes: [−1, 1] Periode: 2π Zie ook wikipedia(nl) 0 π 2π 3π Spraakverwerking per computer Frequenties David Weenink Wiskundige opfrissing 1 De logaritme Sinus en cosinus Frequentie Fase Bemonsteren –1 Oversturing 0 0.5 sin(2π1x) sin(2π2x) sin(2π3x) sin(2π4x) sin(2π5x) Frequentie sin(2πf x) Amplitudes in plaatje zijn aangepast! 1 Spraakverwerking per computer Fase David Weenink Wiskundige opfrissing De logaritme 1 Sinus en cosinus Frequentie Fase 0 Bemonsteren Oversturing –1 0 sin(2πx + 0) sin(2πx + π/4) sin(2πx + π/2) sin(2πx + π) sin(2πx−π) Fase sin(2πx + φ) 0.5 1 Geluid en computer Spraakverwerking per computer David Weenink Wiskundige opfrissing De logaritme Geluid: continu (analoog) Computer: discrete eenheden (digitaal) Vertaalslag ADC: Analoog naar Digitaal Conversie Bemonsteren en kwantiseren Bemonsteringstijd T (eng: sampling time) Bemonsteringsfrequentie Fs = 1/T (eng: sample rate, sampling frequency ) Amplitudekwantisatie 1, 2, 8, 12, 16, 24, . . . bit Sinus en cosinus Bemonsteren Aliasing Kwantisatie Oversturing Spraakverwerking per computer Hoe vaak bemonsteren? David Weenink Wiskundige opfrissing De logaritme 1 Sinus en cosinus Bemonsteren 0 0 Aliasing Kwantisatie Oversturing –1 0 0.5 Time (s) 1 sin(2π5x + φ) Fs = 2 Fs = 10 Fs = 20 Fs = 40 Fs = 100 Nyquist-Shannon theorema: Reconstructie uit monsterwaardes mogelijk als Fs ≥ 2Fmax 0 Shannon-Nyquist sampling theorema Spraakverwerking per computer David Weenink Wiskundige opfrissing Omdat het zo geweldig is: De logaritme Sinus en cosinus Als de bemonsteringsfrequentie (Fs ) hoger is dan twee maal de bandbreedte van het signaal dan is reconstructie van het analoge signaal uit de monsterwaardes mogelijk! Bandbreedte = Hoogste frequentie − laagste frequentie (B = Fmax − Fmin ) In de praktijk is Fmin ≈ 0 Hz Praktisch: Fs > 2Fmax Altijd filteren (laagdoorlaat)! Bemonsteren Aliasing Kwantisatie Oversturing Spraakverwerking per computer Vouwvervorming (eng: aliasing) David Weenink Wiskundige opfrissing De logaritme Sinus en cosinus Bemonsteren Aliasing Kwantisatie Oversturing 0 0 0.5 Als er niet voldaan is aan Shannon-Nyquist: vouwvervorming (eng: aliasing ) 1 Vouwvervorming hoorbaar Spraakverwerking per computer David Weenink Wiskundige opfrissing De logaritme praat script fs = 11025 f1 = 500 Create Sound from formula... ...0.5*sin(2*pi*f1*x) Sinus en cosinus Bemonsteren Aliasing Kwantisatie s1 Mono 0 1 fs Play f2 = 4 * fs + 500 Create Sound from formula... ...0.5*sin(2*pi*f2*x) Play s2 Mono 0 1 fs Oversturing Spraakverwerking per computer Kwantisatie (eng: quantisation) David Weenink Wiskundige opfrissing De logaritme Sinus en cosinus Bemonsteren 0 Aliasing Kwantisatie Oversturing 0 0.5 1 bit (21 = 2 nivo’s) 2 bit (22 = 4 nivo’s) 3 bit (23 = 8 nivo’s) 4 bit (24 = 16 nivo’s) 8 bit (28 = 256 nivo’s) 16 bit (216 = 65536 nivo’s) 1 Soorten kwantisaties Spraakverwerking per computer David Weenink PCM (Puls Code Modulation) Kwantiseert de grootte van de amplitude met N bits. (lineair) 12 bit/16 kHz : delen van TIMIT spraakcorpus (lineair) 16 bit/44.1 kHz : CD (lineair) 16 bit/48 kHz : DAT (logaritmisch) 8 bit/8 kHz : alaw en µlaw (telefonie) ADPCM (Adaptive Differential Pulse Code Modulation) Kwantiseert de verandering van de amplitude met n bits Het aantal bits kan adaptief aangepast worden. In het algemeen is het aantal bits n N en de bemonsteringsfrequentie veel hoger Extreem geval van ADPCM is DSD (Super Audio-CD) 1 bit kwantisatie Bemonstering 64 x 44.100 Hz = 2.822.400 Hz Wiskundige opfrissing De logaritme Sinus en cosinus Bemonsteren Aliasing Kwantisatie Oversturing Spraakverwerking per computer Super Audio CD en DVD parameters David Weenink Parameter Codering DVD-Audio SACD CD Wiskundige opfrissing 16,20,24 bit 1 bit DSD 16 bit LPCMDe logaritme Sinus en cosinus LPCM Bem.freq. 44.1, 48, 88.2, 96, 2.822,4 kHz 44.1 kHz Bemonsteren Aliasing Kwantisatie 176.4, 192 kHz Oversturing Kanalen 1-6 2-6 2 Compressie ja (MLP) ja (DST) nee Foutcorrectie ja ja CIRC Vercijfering ja ja nee Speeltijd 62-843 min 70-80 min 74 min Bandbreedte 0-96 kHz 0-100 kHz 0-20kHz Dynamiek tot 144 dB > 120 dB 96 dB Uit: Konstantinides (2003), ”An introduction to Super Audio CD and DVD-Audio”, IEEE Signal Processing, vol 20, pag 71. Oversturing Spraakverwerking per computer David Weenink Wiskundige opfrissing Een toontje van 500 Hz klinkt zo. Overstuurd klinkt het zo. De signalen en hun spectra: De logaritme Sinus en cosinus Bemonsteren Oversturing