Prototyp 1

prototype1.jpg

Build-Verfahren

Im Repository ist jetzt ein Build-Tool integriert (ant). Nach dem Aktualisieren (cvs update -d) kann mit einem Aufruf die fertige Anwendung kompiliert werden.

Befehl Aktion
build/bin/ant compile Kompilieren. Die class-Dateien landen im Verzeichnis build/classes
build/bin/ant run Die Anwendung starten
build/bin/ant clean Temporäre und Arbeitsdateien löschen
build/bin/ant javadoc API-Dokumentation generieren im Verzeichnis doc/api

Die Quelldateien werden zurzeit aus verschiedenen Orten zusammenkopiert, bevor das Kompilieren beginnt. Sollen neue Quelldateien aus dem Repository in diesen Prozess einbezogen werden, müssen diese in der Datei build.xml, die den Build-Prozess steuert, ergänzt werden.

Voraussetzungen

Normalerweise sollte die Anwendung nach build/bin/ant run laufen.

Java 1.4 und die HTK-Tools müssen im Pfad sein, Näheres dazu in README.build im Repository.

Soll die Anwendung in einer Umgebung getestet werden, wo das HTK-Paket nicht installiert ist (zum Beispiel zu Hause), kann man in der Datei build.xml eine Zeile auskommentieren (s. dort) und auf einem nats-Rechner einen HCopy-Server starten. Das geht mit dem Aufruf von

java -cp build/classes speakerid.util.HCopyServer 3344 "perl util/wav2feat.pl"

vom Verzeichnis speakerid aus. Danach steht auf Port 3344 ein Server bereit, der eingehende Wave-Dateien in .feat-Dateien umwandelt und zurückschickt. Zum Zugriff auf diesen Port von außen muss ein ssh-Tunnel von der lokalen Testumgebung (z.B. zu Hause) zum nats-Rechner eingerichtet werden. In der Klasse speakerid.util.FeatureExtractor wird dann bei einem Aufruf der Feature-Erzeugung eine Verbindung zum HCopy-Server aufgebaut, anstatt zu versuchen, HCopy lokal zu starten.

Code-Anpassungen

Um den Prototypen zum Laufen zu kriegen, mussten verschiedene Stellen im Verzeichnis speakerid/AufnahmeTool11.06.04 angefasst werden. Unter anderem bereitete die Nebenläufigkeit der Aufnahme-Threads Probleme, die fürs Erste mit kleinen Kniffen umgangen worden sind. Alle Änderungen sind im Code mit PROTO! gekennzeichnet.

Merkmalsextraktions-Konfiguration

Die aktuelle Konfiguration für die Merkmalsextraktion (also für den HCopy-Aufruf) wird in der Datei speakerid/featurefiles/hcopy_config erwartet. Die jetzige Version wurde aus speakerid/featurefiles/2004-05-14_2/config1 übernommen.

Einschränkungen

  • Der individuelle Schwellwert ist immer der Abstand der beiden Aufnahmen
    • Erkennen nur möglich, wenn man einer Probe ähnlicher ist als die Proben sich gegenseitig
    • Sinnvolle Schwellwertbestimmung nötig (bzw. Entscheidung: "Nein, Ihre Proben sind zu unterschiedlich!")
  • Fehlerbehandlung
Warning: Can't find topic SpeakerId.WebLeftBarExample

 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback