2017-04-26 4 views
1

Ich benutze pocketsphinx, um Audio in Text zu konvertieren. Es funktioniert gut. Jetzt möchte ich einen Zeitstempel für jedes Wort erhalten. Dies ist mein Code:pocketsphinx python geben falsche timestamp

import speech_recognition as sr 

r = sr.Recognizer() 
framerate = 100 
with sr.AudioFile("1.wav") as source: 

    audio = r.record(source) 

    decoder = r.recognize_sphinx(audio, show_all=False) 

    print ([(seg.word, seg.start_frame/framerate)for seg in decoder.seg()]) 

Nach ihrer Dokumentation, die Standard-Framerate ist 100. Ich die Startzeit eines jeden Wortes bekam. Es ist jedoch falsch. Der Unterschied beträgt 2 Sekunden, manchmal mehr als 3 Sekunden.

Es ist bekannt Problem oder fehle ich etwas?

Antwort

1

Ich habe irgendwo gelesen, dass die Rate war 1/100 mit meinem Projekt Also, ich geteilt durch, auf Unfall, 1/10 statt 1/100 aber die Ergebnisse waren für eigentlich in Ordnung, was ich tat. Ich würde vorschlagen, durch 0.1 oder 0.01 zu teilen und sehen, was das Ihnen bietet.

Also für Ihren Code nur versuchen, diese Variablen aus:

framerate = .1 

ODER

framerate = .01 
Verwandte Themen