Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch...

31
Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington uch /www.phonetik.uni-muenchen.de/~jmh/research/emupapers/pasc.pdf S. 1

Transcript of Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch...

Page 1: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Spektrale Analysen in EMU-R: eine Einführung

Jonathan Harrington

siehe auch http://www.phonetik.uni-muenchen.de/~jmh/research/emupapers/pasc.pdf S. 166-214

Page 2: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

1. Ein digitales Sinusoid

2. Fourier-Analyse

5. Berechnung von Spektra mit dbemu

3. Ein Spektrum

4. Frequenz- und Zeitauflösung

Page 3: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

1. Ein digitales SinusoidA

mp

litu

de

012

3

4

5

67 8 9

10

11

12

13

1415

0 2 4 6 8 10 13

Time (number of points)

-2-1

01

2

crplot()

die Höhe über eine horizontale Linie eines Punktes, der sich in zeit-regelmäßigen Abständen (und daher mit konstanter Geschwindigkeit) im Kreis dreht.

Page 4: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

A: die Amplitude (Größe des Kreises)

k: die Anzahl der Schwingungen (Frequenz)

p: die Phase (wo beginnt der Punkt?)

N: aus wievielen digitalen Werten besteht der Sinusoid?

Parameter eines digitalen Sinusoids

Page 5: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Am

plitu

de

012

3

4

5

67 8 9

10

11

12

13

1415

0 2 4 6 8 10 13

Time (number of points)

-2-1

01

2crplot(A=1.5)

Höhere Amplitude(Die Amplitude ist im Verhältnis zum Kreis-Radius)

(Eine 16 Punkt digitale Cosinuswelle)

Page 6: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Am

plitu

de

0 81 9

2 10

3 114 12

5 13

6 14

7 15

0 2 4 6 8 10 13

Time (number of points)

-2-1

01

2

Doppelte Frequenz

crplot(k=2)

k = 2 Schwingungen pro 16 Punkte

Page 7: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Phase0 radian: der Punkt beginnt ganz oben

eine viertel Schwingung früher: crplot(p=-pi/2)

Am

plitu

de

0

12

3456

7

8

910

11 12 1314

15

0 2 4 6 8 10 13

Time (number of points)

-2-1

01

2

radian: der Punkt beginnt ganz unten (= eine halbe Schwingung später)

(Eine 16 Punkt digitale Sinuswelle)

Page 8: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Anzahl der digitalen Punkte

Am

plitu

de

0123456789101112131415161718192021

2223242526

2728293031

0 4 8 13 19 25 31

Time (number of points)

-2-1

01

2

crplot(N=32)

Am

plitu

de

01

2

34

5

6

7

0 1 2 3 4 5 6 7

Time (number of points)-2

-10

12

crplot(N=8)

Page 9: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

2. Die Fourier-Analyse

Die Zerlegung eines Signals in eine Reihenfolge von Sinusoiden zunehmender ganzer Frequenz-Intervallen, sodass wenn diese Sinusoiden summiert werden (= Fourier-Synthese), das Signal genau rekonstruiert wird.

Wenn eine Fourier-Analyse auf ein N-Punkt Signal angewendet wird, dann wird immer das Signal in N Sinusoiden mit Frequenzen k = 0, 1, 2, … N-1 Schwingungen zerlegt.

Beziehung zwischen Signal-Länge und die Anzahl der Sinusoiden

Page 10: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

zB wollen wir eine Fourier-Analyse auf dieses 8-Punkt Signal anwenden.

Dann wissen wir schon, dass das Ergebnis davon 8 Sinusoiden sein wird, mit Frequenzen 0, 1, 2, 3, 4, 5, 6, 7 Schwingungen. Die Fourier-Analyse berechnet die Amplituden und die Phasen davon (und auf eine solche Weise, dass wenn die 8 Sinusoiden summieren, das obige 8-Punkt Signal genau rekonstruiert wird).

Page 11: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Fourier-Analyse

Fourier-Synthese

Page 12: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Die Faltung

Alle Sinusoiden mit einer Frequenz größer als (N/2) Schwingungen sind Kopien (= werden gefaltet auf) Sinusoiden mit niedrigeren Frequenzen.

0

1

2

3

4

7

6

5

=

=

=

k k

Page 13: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Die Faltung

crplot(k=3, N=16) crplot(k=13, N=16)

Am

plitu

de

0

1

23

4

56

7

8

9

1011

12

1314

15

0 2 4 6 8 11 14

Time (number of points)

-2-1

01

2

Am

plitu

de

0

1

23

4

56

7

8

9

1011

12

1314

15

0 2 4 6 8 11 14

Time (number of points)

-2-1

01

2

verursachen dasselbe Sinusoid…

Page 14: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

3. Ein (Amplitude) Spektrum

ist eine Abbildung der Amplitude als Funktion der Frequenz für alle Sinusoiden bis zur und inklusive der Faltung-Frequenz (k = N/2)

daher werden für das 8-Punkt-Signal nach der Fourier-Analyse in einem Spektrum die Amplituden der Sinusoiden mit Frequenzen 0, 1, 2, 3, 4 (= N/2) Schwingungen abgebildet

Page 15: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Zeitsignal

Fourier-Analyse

8

22

18

0.2

18.50 1 2 3 4

05

10

15

20

Frequenz (Anzahl der Schwingungen)

Am

plitu

de

Spektrum

Page 16: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Schwingungen in Hertz (Hz) umrechnen

Die Umsetzung der Frequenzachse in Hz ist von der Abtastrate des Signals, fs, abhängig.

1. Frequenz (Hz) = Schwingungen x fs/N

zB bei der Fourier-Analyse eines 8-Punkt-Signals bekommen wir Sinusoiden mit Schwingungen 0, 1, 2, 3, 4 (bis zur Faltung-Frequenz)

Bei fs = 16000 Hz entsprechen diese Schwingungen

0 Hz, 2000 Hz, 4000 Hz, 6000 Hz, 8000 Hz

= 3 x 16000/8

Page 17: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Frequenz- und Zeitauflösung

1. Frequenz (Hz) = Schwingungen x fs/N

2. der Abstand zwischen Spektralkomponenten = fs/N Hz (wegen 1.)

0 Hz, 2000 Hz, 4000 Hz, 6000 Hz, 8000 Hz

= 3 x 16000/8

wie man hier gesehen hat…

3. die Anzahl der Spektralkomponente bis zur Faltung = N/2 +1

zB fs = 16000 Hz, Zeisignal hat N = 8 Punkte

N/2 + 1 = 5 Spektralkomponente mit einem jeweiligen Frequenzabstand von 16000/8 = 2000 Hz.

Page 18: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

4. Daher, je größer N (also je grober die Zeitauflösung), umso feiner/detaillierter das Spektrum…

2. der Abstand zwischen Spektralkomponenten = fs/N Hz (wegen 1.)

Page 19: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

N = 512

fs = 16000 Hz

N/2 + 1 = 257 Spektralkomponente zwischen 0 und 8 kHz mit einem Abstand von 16000/512 = 31.25 Hz

N = 1024N/2 + 1 = 513 Spektralkomponente zwischen 0 und 8 kHz mit einem Abstand von 16000/1024 =15.625 Hz

Frequenz und Zeitauflösung4. Daher, je größer N (also je grober die Zeitauflösung), umso feiner/detaillierter das Spektrum…

Page 20: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

fs = 16000 Hz, N = 512 fs = 16000 Hz, N = 64

Frequenzabstand = 31.25 Hz

Frequenzabstand = 16000/64 = 250 Hz

2000 3000 4000 5000

1020

3040

50

2000 3000 4000 500010

2030

4050

Frequenz (Hz)

Inte

nsitä

t (d

B)

Page 21: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Zusammenfassung

Dauer in ms eines N-Punkt-Fensters: N/fskHz, wo fskHz die Abtastrate in kHz ist. zB 256 Punkte bei 10 kHz = 25.6 ms.

Von den N-spektralen Werten behalten wir diejenigen bis zur und inkl. der Faltung-Frequenz.

Das sind (N/2) + 1 spektrale Komponente zwischen 0 und fs/2 Hz mit einem Frequenzabstand von fs/N

Bei einer Fourier-Analyse werden N aufeinanderfolge digitale Werte eines Zeitsignals in N spektrale Werte umgewandelt.

Page 22: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Das Algorithmus in der digitalen Sprachverarbeitung um eine Fourier-Analyse anzuwenden ist der DFT oder 'discrete Fourier transform'.

Eine schnellere Form der DFT ist die FFT oder Fast Fourier Transform.

Mit der Anwendung der DFT oder FFT bekommt man genau das gleiche Ergebnis.

Um eine FFT anzuwenden, muss die Fensterlänge, N, eine Potenz von zwei sein (2, 4, 8, 16, 32, 64…)

DFT/FFT Anwendung in dbemu

Page 23: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

DFT/FFT Anwendung in dbemu

Page 24: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Das Ziel: Spektra von [, x] ('ich' vs. 'ach') miteinander vergleichen.

Spektra in dbemu und EMU-R

Wie müssten sich die Frikative voneinander im wesentlichen spektral unterscheiden?

Page 25: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

512-Punkt Spektra in der timetable Sprachdatenbank (fs = 16000 Hz) berechnen. Extension .dft. Template-Datei ändern.

Segmentliste aller [, x] Frikative dieser Datenbank

dor =

Label-Vektor

dor.l =

Spektra für die Segmentliste (Spektral-Trackdatei)

dor.dft =

Spektra zum zeitlichen Mittelpunkt (Spektral-Matrix)

dor.dft5 =

emu.query("timetable", "*", "Phonetic= C | x")

label(dor)

emu.track(dor, "dft")

dcut(dor.dft, 0.5, prop=T)

Page 26: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Die Frequenzen, zu denen diese Spektralkomponente vorkommen

Anzahl der Spektralkomponentencol(dor.dft) ncol(dor.dft5)

Anzahl der Punkte im Zeitsignal, die Fourier-analysiert wurden[1] 257

trackfreq(dor.dft) trackfreq(dor.dft5)

Die Höchstfrequenz

max(trackfreq(dor.dft))

Daher die Abtastrate

fs =

Hz-Abstand zwischen den Spektralkomponenten

fs/N

ms-Dauer des Fensters, mit der die Spektra berechnet wurden

1000*N/fs

N = 2 * (ncol(dor.dft)-1) [1] 512

2 * max(trackfreq(dor.dft))

[1] 31.25

[1] 32

Page 27: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Abbildungen

Alle Spektra (zum zeitlichen Mittelpunkt)

Dasselbe aber nach Etikettierung kodiert

Mittelwert pro Kategorie (ensemble-averaged spectra)

plot(dor.dft5)

plot(dor.dft5, dor.l)

plot(dor.dft5, dor.l, fun=mean, dbnorm=T)

Page 28: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Warum dbnorm?plot(dor.dft5, dor.l, fun=mean, dbnorm=T)

Die Amplituden-Werte von Spektra sind in Decibel.

Decibel sind aber Logarithmen, und um den Durchschnitt von Logarithmen zu bekommen, müssen sie zuerst in Anti- Logarithmen (eine Potenz hoch 10) umgerechnet werden.

Diese Umrechnung in Anti-Logarithmen konvertiert die logarithmische Decibel oder Bel Skala in eine lineare Kraft Skala

Die Berechnung (Durchschnitt usw.) erfolgt dann in der Kraft-Skala.

Page 29: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Logarithmische dB-Werte 60 dB 70 dB

lineare Kraft-Werte 10^6 10^7

Berechnungen durchführen

(10^6 + 10^7)/2

= 5500000

Logarithmische dB-Werte 10 * log(5500000, base=10)

[1] 67.40363

(Der Mittelwert von 60 dB und 70 dB = 67.4 dB)

Page 30: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

Zugriff auf bestimmte Frequenzen

Spektrale Trackdatei/Matrizen können genau wie Trackdateien/Matrizen behandelt werden, abgesehen davon, dass sich die Werte nach dem Komma auf die Frequenzen beziehen.

Page 31: Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington siehe auch jmh/research/emupapers/pasc.pdf S. 166-214jmh/research/emupapers/pasc.pdf.

das gleiche zwischen 1000-2000 Hz

dor.dft5[,1000:2000]

das gleiche, Segmente 4, 5, 7 Frequenzen 2000-2500 Hz

dor.dft5[c(4,5,7), 2000:2500]

Spektra zum zeitlichen Mittelpunkt

dor.dft5

Abbildung, Spektra, pro Kategorie gemittelt, 500 – 5000 Hz

plot(dor.dft5[,500:5000], dor.l, fun=mean, dbnorm=T)