Ellipse-Abbildungen von Formanten in R
stopsneu: Name der Sprachdatenbank
gam*: Nur in den Äußerungen suchen, die mit gam beginnen
Phonetic: Ebene, aus der die Segmente entnommen werden
i:|e:|a:|o:|u: : "i:", oder "e:", oder "a:", oder "o:", oder "u:" Vokale dieser Ebene entnehmen
vok.s = emu.query("stopsneu", "gam*", "Phonetic=i:|e:|a:|o:|u:") Ein Vektor nur mit den Vokaletikettierungen
vok.l = label(vok.s)
Eine sogenannte Trackdatei. vok.fm enthält alle Formantwerte, F1-F4, zwischen den Start- und Endzeiten aller Segmente in vok.s
vok.fm = emu.track(vok.s, "fm")
Mit dem Befehl dcut() entnehmen wir der Trackdatei F1 und F2 zum zeitlichen Mittelpunkt von jedem Vokal (prop bedeutet: die Zeiten werden proportional in der Zeit entnommen)
vok.fm5 = dcut(vok.fm[,1:2], .5, prop=T)
Eine Ellipse-Abbildung im Raum F1 und F2. form=T dreht die Achsen, damit F2 auf der x-Achse, F1 auf der y-Achse erscheinen, und sodass die Werte von links nach rechts (F2) und von unten nach oben (F1) fallen.
eplot(vok.fm5, vok.l, form=T, dopoints=T)
Dadurch müsste man Ellipsen bekommen, ähnlich wie die Abbildung unten. Diese Abbildung zeigt jedoch auch, dass wir unter den [u:] Vokalen einen Ausreißer haben, der sicherlich wegen eines Fehlers in der automatischen Berechnung der Formanten aufgetreten ist. Der Vorgang um diesen Fehler zu beseitigen:
1. Außerung identifizieren, in der der Fehler auftritt.
2. Manuell F2 in Emu korrigieren.
3. Formanten wieder in R einlesen.
Schritt 1.
Ein logischer Vektor. T wenn F2 >1500 Hz und die Etikettierung ist "u:"
temp = vok.fm5[,2] > 1500 & vok.l == "u:"
vok.s[temp,]
segment list from database: stopsneu query was: Phonetic=i |e |a |o |u labels start end utts 33 u: 445.749 602.364 gam:gam052
Schritt 2 (in Emu) Schritt 3
vok.fm = emu.track(vok.s, "fm")
vok.fm5 = dcut(vok.fm[,1:2], .5, prop=T) eplot(vok.fm5, vok.l, form=T, dopoints=T)
u: u:
u:u:u:u:
u:i:i: u:u:
i:i:i:i:
i:i:i:
a:
a:
a:
a:
a:
a:
a:
a: a:
o:o:o:o:o:o:o:o:o:
e:e:e:e:
e:e:
e: e:
e:
2000 1500 1000 500 0
700600500400300
F2
F1