Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
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 markierenDown to FormantGrid
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:
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“
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.