У меня есть скрипт, который просто конвертирует видео в формат 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
модулем?
Спасибо!