Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Stimulierzeugung in praat

Ähnliche Präsentationen


Präsentation zum Thema: "Stimulierzeugung in praat"—  Präsentation transkript:

1 Stimulierzeugung in praat
LPC-Resynthese Stimulierzeugung in praat

2 Synthese durch Anwendung akustischer Theorie
Quelle (als Spektrum) Filter-Übertragungsfunktion (hier: Schwa-typisch) Endgültiges Signal durch Multiplikation des Quellspektrums mit der Übertragungsfunktion des Filters (Abbildung aus Pompino-Marschall, 2003) bzw. der Faltung der Zeitsignale

3 Bislang haben wir uns mit relativ komplizierten Aufbauten, die die Sprechvorgänge so gut wie möglich zu simulieren versuchen, beschäftigt Quellsignal, gefiltert durch eine Reihenschaltung digitaler Filter (Vokale) Quellsignal(e), gefiltert durch Parallelschaltung digitaler Filter (z.B. für Frikative) Dies ist in der Klatt-Formantsynthese so gelöst, 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

4 Beispiel aus dem praat-Tutorial
Quelle: pitchTier = Create PitchTier... source 0 0.5 Add point Add point pulses = To PointProcess Remove points between Remove points between Remove points between source = To Sound (phonation)

5 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 nächstniederen entfernt #(1650, 2750, 3850, 4950, 6050, 7150, 8250, 9350, und Hz) #Bandbreite beginnt für F1 bei 50, mit Steigerung um jeweils 60 Hz (=Amplitude sinkt) #Änderungen, um eine Art /ba/ zu erzeugen: Remove formant points between Add formant point Add formant point Remove formant points between Add formant point Add formant point Wenn wir nun Quelle und Filter gleichzeitig markieren, erhalten wir die Option „Filter“. Wegen der Eigenschaften der Quelle erhalten wir eine Art /baʔa/

6 Filterfunktion als Schlüssel zur Resynthese
Die in praat implementierte Filterfunktion erlaubt also die Filterung jedes beliebigen Quellsignals durch jeden beliebigen Filter Um ein „echtes“ Sprachsignal zu resynthetisieren, müssen wir also lediglich -Quell- und Filteranteil trennen -das entstandene Quellsignal mit den dann bekannten Filtereigenschaften modifizieren (filtern) -sowohl Quell- als auch Filteranteil könnten gezielt manipuliert werden -hierfür ist jedoch eine verlässliche Analyse sowohl der Quelle als auch des Filteranteils notwendig (z.B. Formantenanalyse)

7 Linear Predictive Coding
Das Analysefenster hat eine gewisse Breite und enthält n samples LPC versucht, den n-ten Abtastwert vorherzusagen aus den Abtastwerten 1 bis n-1 x‘n weicht ab von xn (dem tatsächlichen x-Wert an Stelle n) Verschiedene Algorithmen (die wir nicht kennen müssen) minimieren diesen Unterschied, in dem sie die Koeffizienten (ak) anpassen; Nur diese Koeffizienten werden gespeichert (Datenreduktion) – Wichtig für uns: diese (opaken) Koeffizienten beschreiben den Filter und man kann aus diesen die Mittenfrequenz und die Bandbreite der Formanten berechnen Jedes digitale Signal ist gesamplet

8 Linear Predictive Coding
In anderen Worten (nach Boersma): das LPC approximiert ein gegebenes Frequenzspektrum durch eine spektrale Übertragungsfunktion mit einer möglichst minimalen Anzahl von spektralen Gipfeln (deren Frequenz und Bandbreite man aus den opaken Koeffizienten ableiten kann) Ergibt eine Approximation des Quellsignals (da die Filterfunktion ja nur geschätzt ist) Filtern Invers Filtern: mit umgedrehter Übertragungsfunktion filtern

9 Die Quelle-Filter-Trennung funktioniert also umso besser,
je realistischer die eingeschätzte Filterfunktion ist Diese ist umso realistischer, je mehr Übereinstimmung zwischen der tatsächlichen Anzahl der Formanten und der erwarteten Anzahl herrscht. Parameter der LPC-Analyse: -Prädiktionsordnung (siehe unten) -Breite des Analysefensters (default 25 ms) -Verschiebung der Analysefenster (default 5 ms) -Präemphasefrequenz (normalerweise 50 Hz; oberhalb dieser Frequenz wird das Spektrum um +6dB/Oktave angehoben, um es „flach“ zu machen, da Spektren natürlicher Sprache gewöhnlich mit -6dB/Oktave abnehmende Amplituden mit zunehmender Frequenz aufweisen) Zur Wahl der richtigen Prädiktionsordnung: Merke: Anzahl der eingeschätzen Formanten ≾ Prädiktionsordnung/2 („number of poles“) Warum? Prädiktionsordnung ≿ Abtastrate[Hz]/1000 Also z.B. Abtastrate=48 kHz  Prädiktionsordnung mindestens 48 (bis zu 50)

10 Filter bei unterschiedlichen Prädiktionsordnungen
Da uns aber maximal die ersten 5 (und nicht 24) Formanten interessieren, und die Wahrscheinlichkeit, dass die Algorithmen Fehler machen, steigt, je höher die Anzahl der zu suchenden Formanten ist, reicht es aus, nur den Bereich bis 5000 Hz (bei Männern) bzw Hz (bei Frauen) zu analysieren Warum? In diesen Frequenzbereichen ist mit fünf 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 können: Formanten Männer [Hz]: 500, 1500, 2500, 3500, 4500, 5500, ... Formanten Frauen [Hz]: 550, 1650, 2750, 3850, 4950, 6050, ... Resampling: wegen Nyquist-Shannon-Abtasttheorem (fabtast ≥ 2 · fmax) bei Männern Hz, bei Frauen Hz

11 To LPC (burg...) (Prediction order 10, 11, oder 12)

12 „Filter (inverse)“, um Quasi-Quelle zu extrahieren

13 /pUp/ Glottale „Quelle“ Rausch-“Quelle“ Rausch-“Quelle“

14 Quelle und LPC-Filter markieren, „Filter“
Original Synthese

15 Modifikationen Sind, da die LPC-Koeffizienten „opak“ sind, nur über einen Umweg möglich: LPC-Objekt markieren“To Formant“ Formant-Objekt markierenDown to FormantGrid

16

17 z.B. F2 ändern

18 Original (/pUp/) Synthese (/pYp/)
Präemphase- -Änderung als Artefakt

19 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 möglich ist

20 Erste Möglichkeit: Globale Änderung

21 Der Vokal in /pUp/ wird markiert:

22

23 Zu Dokumentationszwecken bleibt jeder Zwischenschritt im praat-Objektfenster und kann ggf. gespeichert werden:

24 weitergehendeTransitionen in der Resynthese erzeugen:
Den Auswahlbereich in 10 gleiche Intervalle unterteilen

25 Die erzeugten Werte werden auch dokumentiert:
F1_change F2_change F1old F2_old F1_new F2_new self self self self self self self self self self self self self self self self self self self self Zwischen diesen Zielwerten pro Unterabschnitt wird Interpoliert, so dass keine „Brüche“ entstehen

26 /pUp//pYp/ Wäre auch mit einer „globalen“ Änderung möglich gewesen, da die „Ränder“ (Transitionsphasen) ohnehin interpoliert werden

27 Sinnvollerer Einsatz /pUp/  /pjUp/

28 AKUSTYK erlaubt auch die Interpolation zwischen den F1- und F2-Werten zweier gegebener
Sounds  Semiautomatische Stimulierzeugung (durch „Create speech continuum...“) „date“ „debt“


Herunterladen ppt "Stimulierzeugung in praat"

Ähnliche Präsentationen


Google-Anzeigen