У меня есть сценарий, который просто конвертирует видео в формат wav с определенными параметрами, а затем расшифровывает его аудио.
def video_to_wav(self):
mp4_video = os.path.join(self.dir, self.name + ".mp4")
if os.path.isfile(mp4_video):
subprocess.call("ffmpeg -i {0} -acodec pcm_s16le -ac 1 -ar 16000 {1}.wav".format(
mp4_video, os.path.join(self.dir, self.name)), shell=True, env=os.environ)
os.remove(mp4_video)
else:
raise SystemError
return self.name + ".wav"
Для транскрипции аудио я выбрал PocketSphinx, но я использовал его из распознавания речи.
PocketSphinx довольно неточен, если звук не имеет очень высокого качества (он едва распознает речь с приличным / хорошим качеством). Вы можете видеть, что параметры конвертации специально выбраны для распознавания сфинксов:
ffmpeg -i {0} -acodec pcm_s16le -ac 1 -ar 16000 {1}.wav
Что я могу сделать, чтобы повысить точность? Возможно, акустическая модель настроит точность распознавания речи? Если да, то как я могу использовать его с модулем speech-recognition
?
Спасибо!