Gestern stand ich noch wie der Ochs vorm Code-Berg: Der Sphinx-Demo WavFile konnte ich zwar problemlos einen ResultListener hinzufügen, aber der hat einfach keine Zwischenergebnisse ausgespuckt.
Heute dann der allererste Erfolg: Die Konfiguration der Demo lässt den Decoder die gesamte Audiodatei auf einmal konsumieren, erzeugt also keine Zwischenergebnisse. Lösung: In config.xml die Variable featureBlockSize auf die gewünschte Anzahl auf einmal zu dekodierender Frames stellen:
<component name="digitsDecoder" type="edu.cmu.sphinx.decoder.Decoder">
<property name="searchManager" value="searchManager"/>
<property name="featureBlockSize" value="1 "/>
</component>
Schon gibt es beliebig viele Zwischenergebnisse.
Ich möchte ja als erstes untersuchen, ab einer wie großen Latenz die Zwischenergebnisse der Erkennung verwertbar sind. Meine aktuelle Planung dazu steht im Wiki auf LatenzCheck.
Einen guten Überblick über Sphinx bietet übrigens: http://research.sun.com/techrep/2004/smli_tr-2004-139.pdf
Keywords: Literatur, Sphinx