2016-12-06 4 views
0

ändern Ich versuche, pobesphinxs Live-Spracherkennung genauer zu machen, da ich nur ein paar Worte sagen werde. Ich suchte online und es scheint, dass ich in der Lage sein sollte, mein eigenes Wörterbuch mit dem Tool auf dieser Website zu erstellen: http://www.speech.cs.cmu.edu/tools/lmtool-new.html Dies schien zu funktionieren, aber ich kann nicht finden, was mit den Dateien zu tun, nachdem ich sie erstellt habe. Von der Python-Tasche Sphinx Website: https://pypi.python.org/pypi/pocketsphinx scheint es, ich soll das Wörterbuch für die Live-Spracherkenner wie folgt festgelegt werden kann:Wie python pocket Sphinx Wörterbuch

import os 
from pocketsphinx import LiveSpeech, get_model_path 

model_path = get_model_path() 

speech = LiveSpeech(
    verbose=False, 
    sampling_rate=16000, 
    buffer_size=2048, 
    no_search=False, 
    full_utt=False, 
    hmm=os.path.join(model_path, 'en-us'), 
    lm=os.path.join(model_path, 'en-us.lm.bin'), 
    dic=os.path.join(model_path, 'cmudict-en-us.dict') 
) 

for phrase in speech: 
    print(phrase) 

Allerdings bin ich als zu unklar, was genau in diesem Code Eingang zu ändern meine eigenen Wörterbuchdaten. Ich habe versucht, in das Wörterbuch der model_path für das Wörterbuch auf dem Weg ändernden ich von der Website heruntergeladen, aber das gab einen Fehler:

RuntimeError: new_Decoder returned -1 

Was muss ich in diesem Code ändern pocket bekommen mein Wörterbuch zu verwenden, ?

Antwort

2

Sie sollten etwas wie 8569.lm - das Sprachmodell und 8659.dic - das Wörterbuch erhalten. Sie legen sie in Dateisystem verwenden, wie folgt aus:

import os 
from pocketsphinx import LiveSpeech, get_model_path 

model_path = get_model_path() 

speech = LiveSpeech(
    sampling_rate=16000, 
    hmm=os.path.join(model_path, 'en-us'), 
    lm='/home/user/8569.lm', 
    dic='/home/user/8569.dic' 
) 

for phrase in speech: 
    print(phrase) 

Sie müssen richtig das Dateisystem Pfad zu den Dateien angeben und es wird funktionieren.

+0

Das hat funktioniert und den Fehler beseitigt! also danke, aber das Programm läuft jetzt und tut nichts, keine Ahnung, warum es nichts für den Text zurückgeben würde, den es erkennen soll? – Wso

+0

Wahrscheinlich ist das Mikrofon stummgeschaltet oder funktioniert nicht. Sie müssen prüfen, ob Sie überhaupt Ton aufnehmen können. –