2017-04-26 4 views
1

J'utilise pocketsphinx pour convertir l'audio en texte. Ça fonctionne bien. Maintenant, je veux obtenir l'horodatage de chaque mot. Ceci est mon code:pocketphinx python donne un mauvais 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()]) 

Selon leur documentation, le framerate par défaut est 100. Je suis arrivé le temps à partir de chaque mot. Cependant, c'est incorrect. La différence est de 2 secondes, parfois plus de 3 secondes.

Il est connu problème ou Suis-je quelque chose manquant?

Répondre

1

je lu quelque part que le taux était 1/100 Donc, avec mon projet, je divisé par, sur un accident, 1/10 au lieu de 1/100 mais les résultats étaient en fait très bien pour ce que je faisais. Je suggère de diviser par 0.1 ou 0.01 et voir ce que cela vous fournit.

Donc, pour votre code juste essayer ces variables:

framerate = .1 

OU

framerate = .01