CoSy Sprachanalyse
Die einzelnen Funktionailtäten der CoSy Sprachanalyse werden auf einzelne Skripte verteilt.
- Transkription
- Alignment
- Pitch und Loudness Schätzung
- Sprachanalyse
Genreller Aufbau der Python Skripte
main()
Das Herzstück eines jeden Skripts, in welcher alle der folgenden Unterfunktion load_modul(), read_io_paths(), process() aufgerufen werden.
load_model()
Lädt alle benötigten Modelle und zusätzlichen Dateien, welche zur Verarbeitung benötigt werden.
read_io_paths()
Liest die Dateipfade der Dateien ein, welche analysiert werden sollen.
process()
Hauptfunktion zur Verarbeitung der Sprachsignale und Transkripte. Bei Skripten, welche mit Audiosignalen wird jedesmal sichergestellt, dass die Audiosignale eine geeignete Abtastrate haben und werden gebenenenfalls resampled.
📄️ Automatische Spracherkennung (ASR)
Das Python Programm laboratorium-ai-asr generiert das Transkript der Gespräche. Hierfür wird "WhisperX" aus [1] mit dem "medium" Whisper Modell von Openai verwendet [2]. Die Verwendung anderer Modelle ist möglich (siehe Auflistung) indem der entsprechende Modellname in der whisperx.loadmodel() Funktion angepasst wird. Bei einer passenden Konfigurierung der Pythonumgebung können die Variablen DEVICE und COMPUTETYPE ebenfalls angepasst werden.
📄️ Forced Alignment
Das Python Programm laboratorium-ai-forced-alignment führt basierend auf dem Sprachsignal und dem dazugehörigen Transkript ein Forced alignment durch, um die Zeitpunkte zu bestimmen, an denen gesprochen wurde.
📄️ Frequenz- und Lautstärkeschätzung
Das Python Programm laboratorium-ai-pitch-loudness schätzt die Grundfrequenz und Lautstärke der Sprachsignale.
📄️ Natürliche Sprachverarbeitung (NLP)
Das Python Programm laboratorium-ai-nlp ermittelt, ob Fragen im Transkript vorliegen, ermittelt wie häufig bestimmte Worte im Transkript auftreten. Zudem wird ermittelt, ob vorher festgelegte Schlüsselworte oder Reizbegriffe im Transkript auftreten und Fragen detektiert.