音频文件无法读取为 PCM WAV、AIFF/AIFF-C 或 Native FLAC;检查文件是不是损坏或其他格式

Posted

技术标签:

【中文标题】音频文件无法读取为 PCM WAV、AIFF/AIFF-C 或 Native FLAC;检查文件是不是损坏或其他格式【英文标题】:Audio file could not be read as PCM WAV, AIFF/AIFF-C, or Native FLAC; check if file is corrupted or in another format音频文件无法读取为 PCM WAV、AIFF/AIFF-C 或 Native FLAC;检查文件是否损坏或其他格式 【发布时间】:2021-08-03 06:17:48 【问题描述】:
import os
import speech_recognition as sr

command = "ffmpeg -i videototext.mp4 videototext.mp3"
os.system(command)

commandwav = "ffmpeg -i videototext.mp3 videototext.wav"
os.system(commandwav)

AUDIO_FILE = "videototext.wav"

r = sr.Recognizer()
videototext = sr.AudioFile(AUDIO_FILE)

with videototext as source:
   audio = r.record(source, duration=100)

print(type(audio))
print(r.recognize_google(audio))

上面是我的代码,那么错误是:音频文件无法读取为 PCM WAV、AIFF/AIFF-C 或 Native FLAC;检查文件是否损坏或其他格式。

【问题讨论】:

您的问题的答案正是在错误消息中。你的ffmpeg支持mp3吗? 是的,我的文件夹中确实生成了videototext.mkv、videototext.mp3、videototext.wav,但是程序最终会因为这个bug生成的.txt文件一直没有生成:(( 恐怕我没有完全得到你的答案。您能否在问题中详细说明您的问题并完整粘贴错误,如您的程序产生的那样?请不要截图和格式化。 我的主要目的是将录屏的word文件(从0到完整的文本)转成文本文件,录屏文件为.mp4文件(无声音)。目前我的程序可以将 .mp4 转换为 mp3、mkv、wav 文件。但由于此错误:“音频文件无法读取为 PCM WAV、AIFF/AIFF-C 或 Native FLAC;检查文件是否损坏或其他格式。”我无法生成最终的文本文件。我该如何解决这个问题:(( 当我们要求粘贴错误时,这意味着您应该粘贴带有错误的完整堆栈跟踪,而不仅仅是消息。目前看来您的ffmpeg 不支持mp3。 【参考方案1】:

这也让我发疯了; 路径显然是问题所在。有几种解释,如下面的解释,告诉您修改为 C:\ffmpeg\bin (例如:https://windowsloop.com/install-ffmpeg-windows-10/) 和其他解释相同的人不起作用。

我的解决方案是修改anaconda3路径的路径: C:\Users\YOURPATH\anaconda3\Lib\site-packages\ffmpeg\bin

然后我需要重新启动计算机才能使注册表更改生效!

不要忘记最后一步...

不寻常的是ffmpeg无法创建,使用路径无需用户修改路径(脏)。

【讨论】:

以上是关于音频文件无法读取为 PCM WAV、AIFF/AIFF-C 或 Native FLAC;检查文件是不是损坏或其他格式的主要内容,如果未能解决你的问题,请参考以下文章

如何将wav音频文件格式为pcm转化为ima adpcm格式

wav音频文件解析读取 定点转浮点分析 幅值提取(C语言实现)

wav格式和pcm格式怎么相互转换?

这是读取音频文件 FFT 的正确方法吗? (python + wav)

在 Python 中检测并录制音频为 PCM 格式

音频数据文件格式(PCM,WAV,MIDI)简记