我在 jupyter notebook 中执行此操作,视频放置在同一文件夹中,即 mp4 文件我想通过识别视频中所说的内容将 nanavi.mp4 文件转换为文本,但我收到此错误
在此处输入代码
import speech_recognition as sr
import os
import pyaudio
command2mp3 = 'ffmpeg -i nanavi.mp4 nanavi.mp3'
command2wav = 'ffmpeg -i nanavi.mp3 nanavi.wav'
os.system(command2mp3)
os.system(command2wav)
r = sr.Recognizer()
with sr.AudioFile("nanavi.wav") as source:
audio = r.record(source, duration=10)
print(r.recognize_google(audio))
**ERROR**
该文件已放置在 ipynb 文件的文件夹中
FileNotFoundError Traceback (most recent call last)
<ipython-input-19-9f97c7524cb8> in <module>
----> 1 with sr.AudioFile("nanavi.wav") as source:
2 audio = r.record(source, duration=10)
3 print(r.recognize_google(audio))
C:\ProgramData\anaconda3\lib\site-packages\speech_recognition\__init__.py in __enter__(self)
201 try:
202 # attempt to read the file as WAV
--> 203 self.audio_reader = wave.open(self.filename_or_fileobject, "rb")
204 self.little_endian = True # RIFF WAV is a little-endian format (most ``audioop`` operations assume that the frames are stored in little-endian form)
205 except (wave.Error, EOFError):
C:\ProgramData\anaconda3\lib\wave.py in open(f, mode)
508 mode = 'rb'
509 if mode in ('r', 'rb'):
--> 510 return Wave_read(f)
511 elif mode in ('w', 'wb'):
512 return Wave_write(f)
C:\ProgramData\anaconda3\lib\wave.py in __init__(self, f)
158 self._i_opened_the_file = None
159 if isinstance(f, str):
--> 160 f = builtins.open(f, 'rb')
161 self._i_opened_the_file = f
162 # else, assume it is an open file object already
FileNotFoundError: [Errno 2] No such file or directory: 'nanavi.wav'
最佳答案
尝试通过运行命令安装 flac
sudo apt-get install flac
这是一个常见的编解码器相关问题,安装 flac 将解决它。
关于python - 我正在尝试使用 python 将 mp4 文件转换为文本,但出现此错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61906714/