• Keine Ergebnisse gefunden

Spektrale Analysen in EMU-R: eine Einführung

N/A
N/A
Protected

Academic year: 2021

Aktie "Spektrale Analysen in EMU-R: eine Einführung"

Copied!
35
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Spektrale Analysen in EMU-R:

eine Einführung

Jonathan Harrington

(2)

1. Ein digitales Sinusoid 2. Fourier-Analyse

5. Berechnung von Spektra mit Emu 3. Ein Spektrum

4. Frequenz- und Zeitauflösung

(3)

1. Ein digitales Sinusoid

Amplitude

1 0 2 3 4

5 6

7 8 9 10 11

12 13 15 14

0 2 4 6 8 10 13

Time (number of points) -2-1012

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.

(4)

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

(5)

Amplitude

1 0 2 3 4

5 6

7 8 9

10 11

12 13 14 15

0 2 4 6 8 10 13

Time (number of points)

-2-1012

crplot(A=1.5)

Höhere Amplitude

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

(Eine 16 Punkt digitale Cosinuswelle)

(6)

Amplitude

0 8 1 9 2 10

3 11 4 12

5 13 6 14 7 15

0 2 4 6 8 10 13 Time (number of points)

-2-1012

Doppelte Frequenz

crplot(k=2)

k = 2 Schwingungen pro 16 Punkte

(7)

Phase

0 radian: der Punkt beginnt ganz oben

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

Amplitude

0 1 3 2 5 4

6 7 8

9

1011 12 1314 15

0 2 4 6 8 10 13 Time (number of points)

-2-1012

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

(Eine 16 Punkt digitale Sinuswelle)

(8)

Anzahl der digitalen Punkte

Amplitude

0 21 43 65 87 109

1112

13141516171819313029202821272226232524

0 4 8 13 19 25 31 Time (number of points)

-2-1012

crplot(N=32)

Amplitude

1 0 2

3 4 5

6 7

0 1 2 3 4 5 6 7 Time (number of points)

-2-1012

crplot(N=8)

(9)

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 angewandt 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

(10)

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 wir die 8 Sinusoiden summieren, das

obige 8-Punkt Signal genau rekonstruiert wird).

(11)

Fourier-

Analyse Fourier-

Synthese

(12)

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

(13)

Die Faltung

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

Amplitude

0 1

2 3

4 6 5

7

8

9 11 10

12

13 14

15

0 2 4 6 8 11 14 Time (number of points)

-2-1012 Amplitude

0

1

3 2 4

5 6

7 8

9

10 11

12 14 13

15

0 2 4 6 8 11 14 Time (number of points)

-2-1012

verursachen dasselbe Sinusoid…

(14)

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

(15)

Zeitsignal

Fourier-Analyse

8 22

18

0.2

18.5

0 1 2 3 4

05101520

Frequenz (Anzahl der Schwingungen)

Amplitude

Spektrum

(16)

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

(17)

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.

(18)

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.)

(19)

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 = 1024

N/2 + 1 = 513

Spektralkomponente zwischen 0 und 8 kHz mit einem Abstand von 16000/1024 =15.625 Hz

Frequenz und Zeitauflösung

4. Daher, je größer N (also je grober die

Zeitauflösung), umso feiner/detaillierter

das Spektrum…

(20)

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

= 31.25 Hz Frequenzabstand =

16000/64 = 250 Hz

(21)

Zusammenfassung

Dauer in ms eines N-Punkt-Fensters: N/fs

kHz

, wo fs

kHz

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.

(22)

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

miteinander vergleichen der timetable Datenbank

Spektra in dbemu und EMU-R

Wie müssten sich die Frikative voneinander im

wesentlichen spektral unterscheiden?

(23)

Warum dbnorm?

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.

Dann werden diese Berechnungen wieder in dB

konveriert.

(24)

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)

(25)

Parametrisierung von Spektra

Jonathan Harrington

(26)

Das Ziel ist, ein Spektrum – das sehr viele (z.B. 64, 256, 512..) Werte enthält – auf ein paar Parameter zu reduzieren.

Und zwar auf eine solche Weise, dass

verschiedene phonetische Lautklassen

voneinander differenziert werden können.

(27)

# Segmentliste

v.s = emu.query("florian", "*", "phonetic=i:|u:|a:")

# Label-Vektor v.l = label(v.s)

# Spektrale Trackdatei

v.dft = emu.track(v.s, "dft")

# Spektra zum zeitlichen Mittelpunkt sp = dcut(v.dft, .5, prop=T)

# Abbildung

plot(sp[,0:3000], v.l, xlab="Frequenz (Hz)", ylab="Intensitaet (dB)") Spektra mit Default-Weren, berechnen,

Sprachdatenbank florian

Spektra mit Default-Weren, berechnen,

Sprachdatenbank florian

(28)

1. Energie-Mittelwert 1. Energie-Mittelwert

2 Frequenz-Bereichen, in denen sich die Vokale unterschieden.

zB

2200-3000 Hz

noch eine?

(29)

dB Mittelwert 2200-3000 Hz vom ersten Segment?

mittel =

plot(sp[1,2200:3000]) abline(h = mittel)

Eine Funktion, fun auf alle Segmente einer spektralen Matrix m andwenden fapply(m, fun)

dB-Mittelwert 2200-3000 Hz aller Segmente?

fapply(): eine Funktion anwenden auf Spektra fapply(): eine Funktion anwenden auf Spektra

mean(sp[1,2200:3000])

a = fapply(sp[,2200:3000], mean)

dB-Mittelwert aller Segmente vom anderen gewählten Frequenzbereich?

b =

Ellipse-Abbildung in diesem Raum beide = cbind(a, b)

eplot(beide, v.l, dopoints=T)

(30)

Die spektrale Neigung und Krümmung Die spektrale Neigung und Krümmung

Neigung Krümmung

+ +

-

-

(31)

Neigung und Krümmung des Spektrums 0-3000 Hz vom ersten Segment?

p = dct( sp[1,0:3000], 2 )

Neigung und Krümmung des Spektrums 0-3000 Hz aller Segmente? fapply(trackdatei, fun, Argumente) verwenden

p = fapply(sp[,0:3000], dct, 2)

Ellipse-Abbildung im Raum Neigung x Krümmung Die spektrale Neigung und Krümmung Die spektrale Neigung und Krümmung

eplot(p[,2:3], v.l, dopoints=T)

(32)

m

1

: erstes spektrales Moment (spektrales Gewichtsschwerpunkt) m

1

: erstes spektrales Moment (spektrales Gewichtsschwerpunkt)

Je mehr sich die Energie in höheren Frequenzen konzentriert, umso höher m

1

(in Hz gemessen).

(a) m

1

ist ca. 2000 Hz (die Energie ist in den Frequenzen gleich verteilt)

m

1

gleich/höher/tiefer im Vgl. zu (a)?

(b)

(c) (d)

m

1

wird nicht von der dB- Skalierung beeinflusst

(b): m

1

wie für (a)

(a)

(33)

Je verteilter die Energie im Spektrum, umso höher m

2

(in Hz

2

) m

2

: zweites spektrales Moment (spektrale Varianz)

m

2

: zweites spektrales Moment (spektrale Varianz)

(a)

(c)

(d)

(f) (e) m

2

wird nicht von

der dB-Skalierung beeinflusst

(b): m

2

wie für (a)

m

1

von c-f im Vgl. zu (a)?

m

2

von (c, d) > (a) m

2

von (e) im Vgl. zu (c)?

m

2

von (f) im Vgl. zu (d)?

(34)

hoch tief

tief hoch

m

2

m

1

Spektrale Momente einschätzen

Spektrale Momente einschätzen

(35)

Die spektralen Momente im Bereich 0-3000 Hz vom ersten Segment?

p = moments( sp[1,0:3000], minval=T )

p = fapply(sp[,0:3000], Ellipse-Abbildung im Raum m

1

x m

2

Spektrale Momente in Emu-R Spektrale Momente in Emu-R

eplot(p[,1:2], v.l, dopoints=T)

moments, minval=T)

Die spektralen Momente im Bereich 0-3000 Hz aller Segmente?

Referenzen

ÄHNLICHE DOKUMENTE

Institut für Phonetik und Sprachverarbeitung der Ludwig-Maximilians-Universität

• ändert den Zustand des auslösenden Prozesses von blockiert in bereit, womit er den Prozess für die Fortsetzung der Ausführung durch den.. Prozessor

Wird eine Seite adressiert, die gerade nicht im Haupt- speicher ist (kein Eintrag in der Seitentabelle), so tritt ein Seitenfehler (page fault) auf. Behandlung

Die Adressumsetzung geschieht über eine Seiten- tabelle (page table). Sie enthält einen Eintrag für jede Seite des virtuellen Adressraums, der auf den aktuell zugeordneten

Dabei wurde schnell deutlich, dass eine große Bandbreite an Täterprofilen zu verzeichnen ist und dass letztlich alle Bereiche der Gesellschaft betrof- fen sind: Die Staatsanwälte

Ich habe von der Archivsatzung und der Gebührensatzung des Stadtarchivs Gotha Kenntnis genommen und bestätige dies mit meiner Unterschrift.

Wenn die Wechselwirkungen zwischen den Molek¨ ulen der fl¨ uchtigeren Komponente und denen des Gemischs (bzw. denen der einen anderen Komponen- te) st¨ arker sind, als

KNOWLEDGE ENGINEER: Sie sagen also, daß der Kläger $10.000 für die Verletzung selbst und nochmal $8.000 für die ertragene Angst haben sollte. Dann sind die $8.000 also für