Skip to content

Commit 9faa269

Browse files
committed
Fixed minor spelling issues.
1 parent d04fc4d commit 9faa269

File tree

5 files changed

+33
-33
lines changed

5 files changed

+33
-33
lines changed

chapter/Ausblick.tex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
\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.
44

55
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.
66
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}
1111
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.
1212
\newline
1313
\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.
1515
Diese Arbeit bietet somit die Grundlage für verschiedene Ansätze, die im Rahmen der Studienarbeit aufgefasst und vertieft werden können.
1616

1717
Durch Anpassungen der Koeffizienten-Zusammensetzung kann untersucht werden, ob die Genauigkeit des \ac{NN} verbessert werden kann.
1818
Dies bezieht sich insbesondere auf die Faktoren Vorhersagegenauigkeit und Fehlerrate des \ac{NN}.
1919

2020
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.
2222
Es kann untersucht werden, inwiefern eine Veränderung der Schichtgrößen, sowie der allgemeinen Struktur zu einer Verbesserung der Vorhersagegenauigkeit und Fehlerrate führt.
2323

2424
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.
2626
Im Rahmen einer Anschlussarbeit kann evaluiert werden, ob die Umrechnung in \ac{LPCC} zu einer Verbesserung der Sprecherauthentifizierung führt.

chapter/Einleitung.tex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ \section{Einleitung}\label{sec:Einleitung}
66

77
\subsection{Kontext}
88
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}.
1111
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.
1212

1313
\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.
1515
Dazu soll ein Programm erstellt werden, welches ein gegebenes Audiosignal mittels \ac{LPC} in eine vordefinierte Anzahl an Koeffizienten umwandelt.
1616
In einem weiteren Schritt soll der Zusammenhang zwischen den berechneten Koeffizienten und der sprechenden Person unter Verwendung eines vereinfachten \acp{NN} aufgezeigt werden.
1717

chapter/Grundlagen.tex

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
\section{Grundlagen}\label{sec:Grundlagen}
2-
Der Schwerpunkt dieser Arbeit unterteilt sich in zwei Teile, die Signalvorverarbeitung und das \ac{LPC} Verfahren.
2+
Der Schwerpunkt dieser Arbeit unterteilt sich in zwei Teile, die Signalvorverarbeitung und das \ac{LPC}-Verfahren.
33
Im Folgenden werden die theoretischen Grundlagen für beide Prozesse beschrieben.
44

55
\subsection{Signalvorverarbeitung}\label{sec:Signalvorverarbeitung}
@@ -38,20 +38,20 @@ \subsubsection{Windowing}
3838
Abbildung~\ref{fig:vonHannFenster} zeigt die von Hann Fensterfunktion, welche neben dem Hamming Fenster zu den typischen Fensterfunktionen in der Audiosignalverarbeitung zählt.
3939
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}.
4040

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.
4343
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}.
4444
% TODO: Bessere Quelle finden
4545

4646
\subsection{Linear Predictive Coding Koeffizientenberechnung}
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.
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.
4848
Die Grundlage von \ac{LPC} bildet das \ac{AR} Modell, welches zunächst beschrieben wird.
4949
Anschließend wird der theoretische Zusammenhang zwischen \ac{AR}, \ac{LPC} und der menschlichen Stimme dargestellt.
5050

5151
\subsubsection{Autoregression Modell}
5252
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.
5555
Ein \ac{AR} Modell sagt somit den Wert zu einem Zeitpunkt $n$, basierend auf $p$ Vorgängerwerten des Prozesses voraus.
5656
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}.
5757
\begin{equation}
@@ -66,16 +66,16 @@ \subsubsection{Autoregression Modell}
6666

6767
\subsubsection{Linear Predictive Coding}
6868
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.
7171
\newline
7272
\newline
7373
Bei der Stimmerzeugung spielen die sogenannten Formanten eine Rolle.
7474
Diese beschreiben die akustische Energie in einem unveränderlichen Frequenzbereich, welche wiederum von den Resonanz- und Interferenzeigenschaften des Artikulationsraums abhängen.
7575
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}.
7878
\newline
7979
\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 Burg Algorithmus 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.

chapter/TechnischeUmsetzung.tex

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
\section{Technische Umsetzung}\label{sec:TechnischeUmsetzung}
22
% 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.
44
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.
66

77
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 WAV Dateien.
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.
99

1010
\subsection{Klasse AudioPreprocessor}
1111
Die Klasse \textKlasse{AudioPreprocessor} (vgl. Quellcode~\ref{code:AudioPreprocessor}) beinhaltet die Funktionen für die Schritte der Signalvorverarbeitung (vgl. Kapitel~\ref{sec:Signalvorverarbeitung}).
1212
Die Funktion \textFunktion{remove\_noise} implementiert die Rauschreduzierung unter Verwendung der Bibliothek \textKlasse{noisereduce}.
1313
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}).
1616

1717
\subsection{Klasse FeatureExtractor}
1818
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.
1919
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}).
2020
Dieses definiert die Funktion \textFunktion{calculate\_features}, welche in den abgeleiteten Klassen implementiert wird.
2121
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}).
2323

2424
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}).
2525
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

Comments
 (0)