2017-10-19 15 views
0

J'essaie d'utiliser le sphinx de poche pour transcrire des fichiers audio.le taux d'échantillonnage audio attendu ne correspond pas réel?

pocketsphinx_continuous -infile 116-288045-0005.flac.wav 

mais je reçois les erreurs:

ERROR: "continuous.c", line 136: Input audio file has sample rate [44100], 
     but decoder expects [16000] 
FATAL: "continuous.c", line 165: Failed to process file '116-288045-0005.flac.wav' 
     due to format mismatch. 

Voici l'un des fichiers audio que je dois retranscrire: Download from GitHub

Finalement, je lots retranscrire plus de 5 heures de fichiers audio tels que ceux-ci, actuellement ils jettent tous la même erreur.

Voici quelques statistiques du même fichier que je tente de retranscrire:

$ soxi 116-288045-0000.flac.wav 

Input File  : '116-288045-0000.flac.wav' 
Channels  : 1 
Sample Rate : 44100 
Precision  : 16-bit 
Duration  : 00:00:10.65 = 469665 samples = 798.75 CDDA sectors 
File Size  : 939k 
Bit Rate  : 706k 
Sample Encoding: 16-bit Signed Integer PCM 

Il pourrait y avoir un problème avec certains de la configuration de ce fichier, je l'ai fait une pré-traitement pour fusionner avec mp3s , convertir de flac en wav, entre autres.

Quel est le moyen le plus simple maintenant pour que la transcription fonctionne? Est-il possible sans rééchantillonner les fichiers jusqu'à 16 kHz. À l'origine, les fichiers flac avaient un taux d'échantillonnage de 16 kHz, mais j'ai dû les fusionner avec des fichiers mp3 de 44,1 kHz. Par conséquent, il y a maintenant des informations de haute fréquence qui peuvent être perdues si elles sont rééchantillonnées en 16k.

Répondre

1

Rééchantillonnez l'audio en échantillons 16000, puis réessayez.

Vous pouvez resample comme celui-ci
sox file.wav -r 16000 file-16000.wav

+0

Mais qui se débarrasse de l'information. Ce qui s'est passé, c'est que les fichiers '.flac' étaient à l'origine 16000Hz, mais j'ai dû les fusionner avec des fichiers mp3 44.1kHz. Par conséquent, il y a des informations haute fréquence qui peuvent être perdues si rééchantillonné à 16k – theonlygusti

+0

Comment puis-je le faire sans rééchantillonnage à 16 kHz? – theonlygusti

+0

Une autre option pourrait être de modifier le fichier de configuration et de changer la fréquence d'échantillonnage par défaut pour le décodeur. Le nom de l'option dans config est '-samprate' – deimus