Technische Dokumentation
WORK IN PROGRESS - Ergänzungen willkommen
Übersicht
Die Projektdateien befinden sich im CVS-Repository "speakerid".
$ cvs -d /data/cvs checkout speakerid
Im Projektverzeichnis ist ein Build-Tool enthalten, siehe
ProtoypEins.
Von hier aus lässt sich auch die API-Dokumentation erzeugen
(
build/bin/ant javadoc
), die dann im Verzeichnis
doc/api
landet.
Siehe auch:
-
build.xml
(Konfiguration des Build-Prozesses)
-
README.build
-
README.files
(was für Dateien sind wichtig etc.)
Organisation
- Benutzerdatenbank ist XML-File
- pro Benutzer: Name, Dateinamen der Aufnahmen, persönlicher Schwellwert
- Namenskonvention: Wave- und Feature-Dateien
- Benutzer "peder" mit der ID 13 hat die Dateien:
- WavFiles/13peder1.wav
- WavFiles/13peder2.wav
- FeatureFiles/13peder1.feat
- FeatureFiles/13peder2.feat
Ablauf
Wichtige Klassen
Klasse |
Aufgabe |
speakerid.UserMatrix |
Verwaltet die Abstände aller Stimmproben zueinander |
speakerid.util.FeatureExtractor |
Ruft die Merkmalsextraktion auf |
speakerid.threshold.ThresholdAlgo |
Schwellwertbestimmung |
... |
... |
Noch zu beachten:
- Beim Start muss das HTK und Java 1.4 im PATH sein
- siehe
README.build
Benutzer hinzufügen
- Start der Anwendung (Klasse
Main
)
- Main-Fenster geht auf
- Klick auf "Benutzer hinzufügen"
- Neues Fenster
- Erzeugt in
BenutzerHinzufuegen1.java
- Name eingeben, Klick auf "Hinzufügen"
- Aufnahme von Sprechprobe 1
- Datei wird im Verzeichnis
WavFiles
abgelegt
- Mit Hilfe der Klasse
FeatureExtractor
wird die entsprechene Feature-Datei erzeugt und im Verzeichnis FeatureFiles
abgelegt
- Aufnahme von Sprechprobe 2
- Wav-Datei wird angelegt
- Feature-Datei wird angelegt
- Durch Aufruf von
ThresholdAlgo.calculateThresholds()
werden alle Schwellwerte in der Datenbank neu berechnet
- Benutzer wird in XML-Datenbank angelegt
- ...
Benutzer identifizieren