【发布时间】:2020-10-21 12:33:01
【问题描述】:
以下运行成功:
import speech_recognition as sr
filename = 'audiofiles/myaudiofile.wav'
# initiailse the recognizer
r = sr.Recognizer()
with sr.AudioFile(filename) as source:
# listen for the data (load audio to memory)
audio_data = r.record(source)
# recognize (convert from speech to text)
text = r.recognize_google(audio_data)
print(text)
...并输出 .wav 文件中所说单词的文本。
当我运行以下代码时(检查它是否适用于我将很快添加到此目录的多个文件):
import os
directory = 'audiofiles'
for filename in os.listdir(directory):
with sr.AudioFile(filename) as source:
# listen for the data (load audio to memory)
audio_data = r.record(source)
# recognize (convert from speech to text)
text = r.recognize_google(audio_data)
print(text)
print('---')
...文本输出正确,但随后出现以下错误。为什么?我该如何解决这个问题?
ValueError:音频文件无法读取为 PCM WAV、AIFF/AIFF-C 或 Native FLAC;检查文件是否损坏或其他格式
【问题讨论】:
-
尝试添加 print(filename) 作为循环的第一行,您看到的第一个文件是什么?
-
谢谢克里斯。打印的文件名是'myaudiofile.wav'
-
我刚刚使用
list_of_filenames = os.listdir(directory)打印了目录中的文件列表,看起来有一个额外的隐藏文件不是.wav 文件。我怎样才能让它只查看 .wav 文件? -
解决了!已添加
if filename.endswith('.wav'):
标签: python audio speech-recognition text-to-speech wav