LPC-Resynthese Stimulierzeugung in praat Synthese durch Anwendung akustischer Theorie Quelle (als...
28
LPC-Resynthese Stimulierzeugung in praat
LPC-Resynthese Stimulierzeugung in praat Synthese durch Anwendung akustischer Theorie Quelle (als Spektrum) Filter-Übertragungsfunktion (hier: Schwa-typisch)
Synthese durch Anwendung akustischer Theorie Quelle (als
Spektrum) Filter-bertragungsfunktion (hier: Schwa-typisch)
Endgltiges Signal durch Multiplikation des Quellspektrums mit der
bertragungsfunktion des Filters (Abbildung aus Pompino-Marschall,
2003) bzw. der Faltung der Zeitsignale
Folie 4
Bislang haben wir uns mit relativ komplizierten Aufbauten, die
die Sprechvorgnge so gut wie mglich zu simulieren versuchen,
beschftigt -Quellsignal, gefiltert durch eine Reihenschaltung
digitaler Filter (Vokale) -Quellsignal(e), gefiltert durch
Parallelschaltung digitaler Filter (z.B. fr Frikative) Dies ist in
der Klatt-Formantsynthese so gelst, und abgeleitet davon in HLSyn
Prinzipiell kann man aber ganz trivial z.B. in praat ein beliebiges
Quellsignal erzeugen und mit einem beliebigen Filter
modifizieren
Create FormantGrid... filter 0 0.5 10 550 1100 60 50 #erzeugt
10 Formanten, beginnend mit 550 Hz, jeder weitere Formant ist 1100
Hz #vom nchstniederen entfernt #(1650, 2750, 3850, 4950, 6050,
7150, 8250, 9350, und 10450 Hz) #Bandbreite beginnt fr F1 bei 50,
mit Steigerung um jeweils 60 Hz (=Amplitude sinkt) #nderungen, um
eine Art /ba/ zu erzeugen: Remove formant points between... 1 0 0.5
Add formant point... 1 0.00 100 Add formant point... 1 0.05 700
Remove formant points between... 2 0 0.5 Add formant point... 2
0.00 500 Add formant point... 2 0.05 1100 Wenn wir nun Quelle und
Filter gleichzeitig markieren, erhalten wir die Option Filter.
Wegen der Eigenschaften der Quelle erhalten wir eine Art /baa/
Folie 7
Filterfunktion als Schlssel zur Resynthese Die in praat
implementierte Filterfunktion erlaubt also die Filterung jedes
beliebigen Quellsignals durch jeden beliebigen Filter Um ein echtes
Sprachsignal zu resynthetisieren, mssen wir also lediglich -Quell-
und Filteranteil trennen -das entstandene Quellsignal mit den dann
bekannten Filtereigenschaften modifizieren (filtern) -sowohl Quell-
als auch Filteranteil knnten gezielt manipuliert werden -hierfr ist
jedoch eine verlssliche Analyse sowohl der Quelle als auch des
Filteranteils notwendig (z.B. Formantenanalyse)
Folie 8
Linear Predictive Coding Jedes digitale Signal ist gesamplet
Das Analysefenster hat eine gewisse Breite und enthlt n samples LPC
versucht, den n-ten Abtastwert vorherzusagen aus den Abtastwerten 1
bis n-1 x n weicht ab von x n (dem tatschlichen x-Wert an Stelle n)
Verschiedene Algorithmen (die wir nicht kennen mssen) minimieren
diesen Unterschied, in dem sie die Koeffizienten (a k ) anpassen;
Nur diese Koeffizienten werden gespeichert (Datenreduktion) Wichtig
fr uns: diese (opaken) Koeffizienten beschreiben den Filter und man
kann aus diesen die Mittenfrequenz und die Bandbreite der Formanten
berechnen
Folie 9
Linear Predictive Coding In anderen Worten (nach Boersma): das
LPC approximiert ein gegebenes Frequenzspektrum durch eine
spektrale bertragungsfunktion mit einer mglichst minimalen Anzahl
von spektralen Gipfeln (deren Frequenz und Bandbreite man aus den
opaken Koeffizienten ableiten kann) Filtern Invers Filtern: mit
umgedrehter bertragungsfunktion filtern Ergibt eine Approximation
des Quellsignals (da die Filterfunktion ja nur geschtzt ist)
Folie 10
Die Quelle-Filter-Trennung funktioniert also umso besser, je
realistischer die eingeschtzte Filterfunktion ist Diese ist umso
realistischer, je mehr bereinstimmung zwischen der tatschlichen
Anzahl der Formanten und der erwarteten Anzahl herrscht. Parameter
der LPC-Analyse: -Prdiktionsordnung (siehe unten) -Breite des
Analysefensters (default 25 ms) -Verschiebung der Analysefenster
(default 5 ms) -Premphasefrequenz (normalerweise 50 Hz; oberhalb
dieser Frequenz wird das Spektrum um +6dB/Oktave angehoben, um es
flach zu machen, da Spektren natrlicher Sprache gewhnlich mit
-6dB/Oktave abnehmende Amplituden mit zunehmender Frequenz
aufweisen) Zur Wahl der richtigen Prdiktionsordnung: Merke: Anzahl
der eingeschtzen Formanten Prdiktionsordnung/2 (number of poles)
Warum? Prdiktionsordnung Abtastrate[Hz]/1000 Also z.B.
Abtastrate=48 kHz Prdiktionsordnung mindestens 48 (bis zu 50)
Folie 11
Filter bei unterschiedlichen Prdiktionsordnungen Da uns aber
maximal die ersten 5 (und nicht 24) Formanten interessieren, und
die Wahrscheinlichkeit, dass die Algorithmen Fehler machen, steigt,
je hher die Anzahl der zu suchenden Formanten ist, reicht es aus,
nur den Bereich bis 5000 Hz (bei Mnnern) bzw. 5500 Hz (bei Frauen)
zu analysieren Warum? In diesen Frequenzbereichen ist mit fnf
Formanten zu rechnen, wie man ber die quidistanten Formanten des
neutralen Rohrs ableiten kann, die auch als eine Art Durchschnitt
der geschlechts-typischen Formantwerte angesehen werden knnen:
Formanten Mnner [Hz]: 500, 1500, 2500, 3500, 4500, 5500,...
Formanten Frauen [Hz]: 550, 1650, 2750, 3850, 4950, 6050,...
Resampling: wegen Nyquist-Shannon-Abtasttheorem (f abtast 2 f max )
bei Mnnern 10000 Hz, bei Frauen 11000 Hz
Folie 12
To LPC (burg...) (Prediction order 10, 11, oder 12)
Folie 13
Filter (inverse), um Quasi-Quelle zu extrahieren
Folie 14
Glottale Quelle /pUp/ Rausch-Quelle
Folie 15
Quelle und LPC-Filter markieren, Filter Original Synthese
Folie 16
LPC-Objekt markieren To Formant Formant-Objekt markieren Down
to FormantGrid Modifikationen Sind, da die LPC-Koeffizienten opak
sind, nur ber einen Umweg mglich:
Folie 17
Folie 18
z.B. F2 ndern
Folie 19
Original (/pUp/) Synthese (/pYp/) Premphase- -nderung als
Artefakt
Folie 20
http://bartus.org/akustyk/ Add-on zu praat, das u.a. die
LPC-Resynthese wesentlich vereinfacht Ist aber nur eine
Scriptsammlung, automatisiert also nur das, was in praat ohnehin
mglich ist
Folie 21
Erste Mglichkeit: Globale nderung
Folie 22
Der Vokal in /pUp/ wird markiert:
Folie 23
Folie 24
Zu Dokumentationszwecken bleibt jeder Zwischenschritt im
praat-Objektfenster und kann ggf. gespeichert werden:
Folie 25
weitergehende Transitionen in der Resynthese erzeugen: Den
Auswahlbereich in 10 gleiche Intervalle unterteilen
Folie 26
Die erzeugten Werte werden auch dokumentiert:
F1_changeF2_changeF1oldF2_oldF1_newF2_new selfself+100421803421903
selfself+2504108084101158 selfself+4004138134131463
selfself+4004198144191614 selfself+4004248104241610
selfself+4004268044261604 selfself+4004237964231596
selfself+4004147894141589 selfself+4003977833971583
selfself+4003767823761582 Zwischen diesen Zielwerten pro
Unterabschnitt wird Interpoliert, so dass keine Brche
entstehen
Folie 27
/pUp/ /pYp/ Wre auch mit einer globalen nderung mglich gewesen,
da die Rnder (Transitionsphasen) ohnehin interpoliert werden
Folie 28
Sinnvollerer Einsatz /pUp/ /pjUp/
Folie 29
AKUSTYK erlaubt auch die Interpolation zwischen den F1- und
F2-Werten zweier gegebener Sounds Semiautomatische Stimulierzeugung
(durch Create speech continuum...) datedebt