You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
\section{Kritische Reflexion und Ausblick}\label{sec:Ausblick}
2
-
In dieser Arbeit wurde ein lineares Verfahren entwickelt, welches Audiodateien zunächst in vier sequenziellen Schritten vorverarbeitet und anschließend in \ac{LPC}Koeffizienten umrechnet.
3
-
Der theoretische Ansatz hinter der \ac{LPC}Berechnung zeigt dabei bereits ein hohes Potenzial der Koeffizienten für die Verwendung im Kontext Sprecherauthentifizierung.
2
+
In dieser Arbeit wurde ein lineares Verfahren entwickelt, welches Audiodateien zunächst in vier sequenziellen Schritten vorverarbeitet und anschließend in \ac{LPC}-Koeffizienten umrechnet.
3
+
Der theoretische Ansatz hinter der \ac{LPC}-Berechnung zeigt dabei bereits ein hohes Potenzial der Koeffizienten für die Verwendung im Kontext Sprecherauthentifizierung.
4
4
5
5
Im Rahmen der Implementierung der vorgestellten Verfahren wird auf einen modularen Ansatz gesetzt, der eine Erweiterung des entwickelten Programms um verschiedene Verfahren der Koeffizientenberechnung ermöglicht, wodurch dieses als Basis für die anschließende Studienarbeit verwendet werden kann.
6
6
Gleichzeitig können relevante Größen wie die Länge der zu erstellenden Frames oder die Anzahl zu berechnender Koeffizienten als Parameter den entsprechenden Funktionen übergeben werden, wodurch eine hohe Flexibilität erreicht wird.
@@ -11,16 +11,16 @@ \section{Kritische Reflexion und Ausblick}\label{sec:Ausblick}
11
11
Dabei kann mit Blick auf die begrenzten Testdaten festgestellt werden, dass der korrekte Sprecher im Durchschnitt 4,7 Mal so oft gegenüber dem Sprecher mit den zweitmeisten Vorhersagen zugeordnet wird, was die Effektivität der Koeffizienten noch einmal verstärkt hervorhebt.
12
12
\newline
13
13
\newline
14
-
Im Kontext der anschließenden Studienarbeit zeigen die Ergebnisse, dass die \ac{LPC}Koeffizienten gewinnbringend für die Authentifizierung von Sprechern sind.
14
+
Im Kontext der anschließenden Studienarbeit zeigen die Ergebnisse, dass die \ac{LPC}-Koeffizienten gewinnbringend für die Authentifizierung von Sprechern sind.
15
15
Diese Arbeit bietet somit die Grundlage für verschiedene Ansätze, die im Rahmen der Studienarbeit aufgefasst und vertieft werden können.
16
16
17
17
Durch Anpassungen der Koeffizienten-Zusammensetzung kann untersucht werden, ob die Genauigkeit des \ac{NN} verbessert werden kann.
18
18
Dies bezieht sich insbesondere auf die Faktoren Vorhersagegenauigkeit und Fehlerrate des \ac{NN}.
19
19
20
20
Neben der Koeffizienten-Zusammensetzung kann der Fokus ebenfalls auf den Aufbau des \ac{NN} gelegt werden.
21
-
Das in dieser Arbeit verwendete Netz beschreibt einen standard-Aufbau eines \ac{NN} und ist somit nicht für die Sprecherauthentifizierung optimiert.
21
+
Das in dieser Arbeit verwendete Netz beschreibt einen Standardaufbau eines \ac{NN} und ist somit nicht für die Sprecherauthentifizierung optimiert.
22
22
Es kann untersucht werden, inwiefern eine Veränderung der Schichtgrößen, sowie der allgemeinen Struktur zu einer Verbesserung der Vorhersagegenauigkeit und Fehlerrate führt.
23
23
24
24
Als dritte Option besteht die Möglichkeit der Erweiterung des entwickelten \ac{LPC} Verfahrens.
25
-
Durch weitere Rechenschritte können \ac{LPC}Koeffizienten in \ac{LPCC} umgerechnet werden.
25
+
Durch weitere Rechenschritte können \ac{LPC}-Koeffizienten in \ac{LPCC} umgerechnet werden.
26
26
Im Rahmen einer Anschlussarbeit kann evaluiert werden, ob die Umrechnung in \ac{LPCC} zu einer Verbesserung der Sprecherauthentifizierung führt.
Damit ein Zusammenhang zwischen Stimme und Audioaufzeichnung hergestellt werden kann, müssen stimm\-spezifische Merkmale aus dem aufgezeichneten Stimmsignal extrahiert werden.
9
-
Im Bereich der Sprecherauthentifizierung haben sich zwei Verfahren zur Berechnung stimm\-spezifischer Merkmale etabliert: \ac{MFCC} und \ac{LPC} \autocite[vgl.][S. 116]{sidorov_text-independent_2010}\autocite[vgl.][S. 726]{chelali_text_2017}.
10
-
Während mittels des \ac{MFCC}Verfahrens versucht wird, die Funktionsweise des menschlichen Ohrs abzubilden, versucht das \ac{LPC}Verfahren die Eigenschaften des menschlichen Vokaltrakts aus dem Audiosignal zu extrahieren \autocite[vgl.][S. 117]{sidorov_text-independent_2010}.
9
+
Im Bereich der Sprecherauthentifizierung haben sich zwei Verfahren zur Berechnung stimm\-spezifischer Merkmale etabliert: \ac{MFCC} und \ac{LPC} \autocite[vgl.][S. 116]{sidorov_text-independent_2010}\autocite[vgl.][S. 726]{chelali_text_2017}.
10
+
Während mittels des \ac{MFCC}-Verfahrens versucht wird, die Funktionsweise des menschlichen Ohrs abzubilden, versucht das \ac{LPC}-Verfahren die Eigenschaften des menschlichen Vokaltrakts aus dem Audiosignal zu extrahieren \autocite[vgl.][S. 117]{sidorov_text-independent_2010}.
11
11
Die erhaltenen Werte können anschließend für das Training eines \acp{NN} verwendet werden, welches die Klassifizierung neuer Datensätze während des Authentifizierungsprozesses übernimmt.
12
12
13
13
\subsection{Ziel der Arbeit}
14
-
Im Rahmen dieser Arbeit soll das \ac{LPC}Verfahren genauer untersucht werden.
14
+
Im Rahmen dieser Arbeit soll das \ac{LPC}-Verfahren genauer untersucht werden.
15
15
Dazu soll ein Programm erstellt werden, welches ein gegebenes Audiosignal mittels \ac{LPC} in eine vordefinierte Anzahl an Koeffizienten umwandelt.
16
16
In einem weiteren Schritt soll der Zusammenhang zwischen den berechneten Koeffizienten und der sprechenden Person unter Verwendung eines vereinfachten \acp{NN} aufgezeigt werden.
Abbildung~\ref{fig:vonHannFenster} zeigt die von Hann Fensterfunktion, welche neben dem Hamming Fenster zu den typischen Fensterfunktionen in der Audiosignalverarbeitung zählt.
39
39
Durch den Nulldurchgang am Anfang und Ende der Fensterfunktion werden die Amplituden des Blocksignals nach Anwenden der Funktion an den Grenzen auf Null gezogen, wodurch sich ein kontinuierlicher, periodischer Signalverlauf ergibt \autocite[vgl.][S. 462]{richter_signal_2022}.
40
40
41
-
Wird der Schritt des Windowing nicht durchgeführt, führt dies zu einem Phänomen namens Spectral leakage.
42
-
Bei der Transformation des Signals von dem Zeitbereich in den Frequenzbereich, resultiert der Amplitudensprung an den Blockenden in der Registrierung einer vielzahl von Frequenzen.
41
+
Wird der Schritt des Windowing nicht durchgeführt, führt dies zu einem Phänomen namens spectral leakage.
42
+
Bei der Transformation des Signals von dem Zeitbereich in den Frequenzbereich resultiert der Amplitudensprung an den Blockenden in der Registrierung einer Vielzahl von Frequenzen.
43
43
Wie der Name bereits beschreibt, wird aus einer eindeutigen Frequenz, ein Spektrum aus Frequenzen, die nicht Teil des Signals sind \autocite[vgl.][S. 1296]{wu_new_2012}.
Ausgehend von dem in Frames unterteilten Audiosignal, müssen nun für jeden Frame \ac{LPC}Koeffizienten berechnet werden, welche anschließend für die Zuordnung des Audiosignals zu einer spezifischen Stimme genutzt werden können.
47
+
Ausgehend von dem in Frames unterteilten Audiosignal, müssen nun für jeden Frame \ac{LPC}-Koeffizienten berechnet werden, welche anschließend für die Zuordnung des Audiosignals zu einer spezifischen Stimme genutzt werden können.
48
48
Die Grundlage von \ac{LPC} bildet das \ac{AR} Modell, welches zunächst beschrieben wird.
49
49
Anschließend wird der theoretische Zusammenhang zwischen \ac{AR}, \ac{LPC} und der menschlichen Stimme dargestellt.
50
50
51
51
\subsubsection{Autoregression Modell}
52
52
Die \ac{AR} basiert auf dem Konzept der multiplen Regression und wird auf zeitlich veränderliche Prozesse angewandt.
53
-
Dabei wird eine Kriteriumsvariable unter Betrachtung von n Prädiktorvariablen vorhergesagt \autocite[vgl.][S. 37-38]{canela_multiple_2019}.
54
-
Im speziellen Fall der \ac{AR}, handelt es sich bei den Prädiktorvariablen um vorhergehende Werte des Prozesses.
53
+
Dabei wird eine Kriteriumsvariable unter Betrachtung von einer beliebigen Anzahl an Prädiktorvariablen vorhergesagt \autocite[vgl.][S. 37-38]{canela_multiple_2019}.
54
+
Im speziellen Fall der \ac{AR} handelt es sich bei den Prädiktorvariablen um vorhergehende Werte des Prozesses.
55
55
Ein \ac{AR} Modell sagt somit den Wert zu einem Zeitpunkt $n$, basierend auf $p$ Vorgängerwerten des Prozesses voraus.
56
56
Es gilt somit der in Formel~\ref{eq:autoregression} dargestellte Zusammenhang, wobei $\hat{s}_n$ den vorausgesagten Wert, $s_{n-k}$ die vorhergehenden Werte, $a_{k}$ die Regressionsgewichte und $p$ die Anzahl an verwendeten Vorgängerwerten darstellt \autocite[][S. 1304]{atal_effectiveness_1974}.
Wie bereits zu Beginn der Arbeit erwähnt, wird bei dem Verfahren \ac{LPC} der Ansatz verfolgt, Rückschlüsse von dem akustischen Signal auf die Stimmerzeugung zu ziehen.
69
-
Dazu wird ein \ac{AR}Filter verwendet um ein vereinfachtes Modell des menschlichen Stimmtrakts zu erstellen.
70
-
Die Regressionsgewichte $a_k$ entsprechen dabei den \ac{LPC}Koeffizienten.
69
+
Dazu wird ein \ac{AR}-Filter verwendet um ein vereinfachtes Modell des menschlichen Stimmtrakts zu erstellen.
70
+
Die Regressionsgewichte $a_k$ entsprechen dabei den \ac{LPC}-Koeffizienten.
71
71
\newline
72
72
\newline
73
73
Bei der Stimmerzeugung spielen die sogenannten Formanten eine Rolle.
74
74
Diese beschreiben die akustische Energie in einem unveränderlichen Frequenzbereich, welche wiederum von den Resonanz- und Interferenzeigenschaften des Artikulationsraums abhängen.
75
75
Dadurch werden bestimmte Frequenzen verstärkt, während andere gedämpft werden \autocite[vgl.][S. 259]{fitch_evolution_2000}.
76
-
Das durch die \ac{LPC}Koeffizienten erstellte Modell erfasst die Resonanzeigenschaften des Signals, wodurch Rückschlüsse auf die Formanten geschlossen werden können.
77
-
Da die Struktur der Formanten Sprecherspezifisch ist, kann der Sprecher somit über die \ac{LPC}Koeffizienten identifiziert werden \autocite[vgl.][S. 117]{sidorov_text-independent_2010}.
76
+
Das durch die \ac{LPC}-Koeffizienten erstellte Modell erfasst die Resonanzeigenschaften des Signals, wodurch Rückschlüsse auf die Formanten geschlossen werden können.
77
+
Da die Struktur der Formanten sprecherspezifisch ist, kann der Sprecher somit über die \ac{LPC}-Koeffizienten identifiziert werden \autocite[vgl.][S. 117]{sidorov_text-independent_2010}.
78
78
\newline
79
79
\newline
80
-
Zur Berechnung der \ac{LPC}Koeffizienten wird zunächst die selbe Annahme wie in Kapitel~\ref{sec:Framing} getroffen, dass sich die Form des Vokaltrakts und das in den Stimmritzen erzeugte Signal über den betrachteten Zeitraum nicht verändert \autocite[vgl.][S. 1304]{atal_effectiveness_1974}.
81
-
Somit lassen sich die Koeffizienten des \ac{AR}Filters mittels des BurgAlgorithmus berechnen.
80
+
Zur Berechnung der \ac{LPC}-Koeffizienten wird zunächst die selbe Annahme wie in Kapitel~\ref{sec:Framing} getroffen, dass sich die Form des Vokaltrakts und das in den Stimmritzen erzeugte Signal über den betrachteten Zeitraum nicht verändert \autocite[vgl.][S. 1304]{atal_effectiveness_1974}.
81
+
Somit lassen sich die Koeffizienten des \ac{AR}-Filters mittels des Burg-Algorithmus berechnen.
% TODO: Optional: Quellen hinzufügen wenn Platz vorhanden ist.
3
-
Da die Zuordnung der erzeugten \ac{LPC}Koeffizienten zu einem spezifischen Sprecher mittels eines \acp{NN} umgesetzt wird, wird auf die Programmiersprache Python zurückgegriffen.
3
+
Da die Zuordnung der erzeugten \ac{LPC}-Koeffizienten zu einem spezifischen Sprecher mittels eines \acp{NN} umgesetzt wird, wird auf die Programmiersprache Python zurückgegriffen.
4
4
Diese ermöglicht die Verwendung des von Google entwickelten Machine Learning Frameworks TensorFlow.
5
-
Folglich findet auch die Implementierung der Signalvorverarbeitung, sowie die \ac{LPC}Berechnung mit Hilfe der Sprache Python statt.
5
+
Folglich findet auch die Implementierung der Signalvorverarbeitung, sowie die \ac{LPC}-Berechnung mit Hilfe der Sprache Python statt.
6
6
7
7
Um Programmierfehler zu vermeiden, sowie die Effizienz des Codes zu erhöhen, werden Funktionen aus verschiedenen Bibliotheken verwendet.
8
-
Als Basis wird die Bibliothek \textKlasse{numpy} verwendet, welche Funktionen für die Bearbeitung von Arrays und Matrizen bereitstellt, sowie die Bibliothek \textKlasse{librosa} für Audiospezifische Funktionen wie das Laden von WAVDateien.
8
+
Als Basis wird die Bibliothek \textKlasse{numpy} verwendet, welche Funktionen für die Bearbeitung von Arrays und Matrizen bereitstellt, sowie die Bibliothek \textKlasse{librosa} für audiospezifische Funktionen wie das Laden von WAV-Dateien.
9
9
10
10
\subsection{Klasse AudioPreprocessor}
11
11
Die Klasse \textKlasse{AudioPreprocessor} (vgl. Quellcode~\ref{code:AudioPreprocessor}) beinhaltet die Funktionen für die Schritte der Signalvorverarbeitung (vgl. Kapitel~\ref{sec:Signalvorverarbeitung}).
12
12
Die Funktion \textFunktion{remove\_noise} implementiert die Rauschreduzierung unter Verwendung der Bibliothek \textKlasse{noisereduce}.
13
13
Für die Funktion \textFunktion{remove\_silence} wurde wie bereits erwähnt ein eigener Algorithmus entwickelt (vgl. Zeile~\ref{line:removeSilenceStart}-\ref{line:removeSilenceEnd}), der in Kapitel~\ref{sec:Rauschreduzierung} genauer erläutert ist.
14
-
Die abschließende Unterteilung des Audiosignals in Frames, sowie das Windowing der Frames findet mit Hilfe von \textKlasse{numpy}Operationen in den Funktionen \textFunktion{create\_frames} und \textFunktion{window\_frames} statt.
15
-
Die passende Fensterfunktion wird dabei ebenfalls durch die \textKlasse{numpy}Bibliothek bereitgestellt (vgl. Zeile~\ref{line:windowFunction}).
14
+
Die abschließende Unterteilung des Audiosignals in Frames, sowie das Windowing der Frames findet mit Hilfe von \textKlasse{numpy}-Operationen in den Funktionen \textFunktion{create\_frames} und \textFunktion{window\_frames} statt.
15
+
Die passende Fensterfunktion wird dabei ebenfalls durch die \textKlasse{numpy}-Bibliothek bereitgestellt (vgl. Zeile~\ref{line:windowFunction}).
16
16
17
17
\subsection{Klasse FeatureExtractor}
18
18
Mit Blick auf die an diese Arbeit folgende Studienarbeit wird für die Implementierung der Koeffizientenberechnung ein Ansatz gewählt, der eine einfache Erweiterung des Programms um verschiedene andere Verfahren wie etwa \ac{MFCC} ermöglicht.
19
19
Dazu wird das Designmuster Strategie in abgewandelter Form verwendet, wobei zunächst ein Interface für die Berechnungsverfahren erstellt werden muss (vgl. Quellcode~\ref{code:ExtractorInterface}).
20
20
Dieses definiert die Funktion \textFunktion{calculate\_features}, welche in den abgeleiteten Klassen implementiert wird.
21
21
Die Klasse \textKlasse{LPCExtractor} (vgl. Quellcode~\ref{code:LPCExtractor}) nutzt hierfür die von der Bibliothek \textKlasse{librosa} bereitgestellt Funktion \textFunktion{lpc} um für die übergebenen Frames die zugehörigen \ac{LPC} Koeffizienten zu berechnen und anschließend zurückzugeben.
22
-
Der \ac{LPC}Koeffizient nullter Ordnung wird dabei von der Funktion standardmäßig mit der Zahl eins befüllt und ist kein Teil der berechneten \ac{LPC}-Ordnung, weshalb dieser manuell entfernt werden muss (vgl. Z.~\ref{line:removeLPC0}).
22
+
Der \ac{LPC}-Koeffizient nullter Ordnung wird dabei von der Funktion standardmäßig mit der Zahl Eins befüllt und ist kein Teil der berechneten \ac{LPC}-Ordnung, weshalb dieser manuell entfernt werden muss (vgl. Z.~\ref{line:removeLPC0}).
23
23
24
24
Die Klasse \textKlasse{FeatureExtractor} (vgl. Quellcode~\ref{code:FeatureExtractor}) implementiert die Funktion \textFunktion{ex\-tract\-\_features}, welcher über den Parameter \textVariable{feature\_list} eine genaue Anweisung über die zu berechnenden Koeffizienten übergeben werden kann (vgl. Z.~\ref{line:extract_features}).
25
25
Dabei kann im Speziellen eine Angabe zu der Art der Koeffizienten, der Anzahl an zu berechnenden Koeffizienten, sowie der zusätzlich zu berechnenden Ableitungs-Ordnungen übergeben werden (vgl. Z.~\ref{line:feature_list_info}).
0 commit comments