我使用speech_recognition读取.wav文件,使用以下代码:
r = sr.Recognizer()
with sr.AudioFile(AUDIO_FILE) as source:
audio = r.record(source)
然而,我得到以下错误:file does not start with RIFF id
我尝试了以下解决方案并使用了以下代码,但最终出现了新错误:
解决方案1代码:
import librosa
import soundfile as sf
x,_ = librosa.load('sample_wav.WAV', sr=16000)
错误:Error opening 'C:\Users\biswankar.das\Downloads\sample_wav.WAV': File contains data in an unknown format
解决方案2代码:
from scipy.io import wavfile
samplerate, data = wavfile.read(file_path)
错误:File format b'xffxe3x18xc4' not understood. Only 'RIFF' and 'RIFX' supported.
我试着在线分析这个文件,格式是MPEG,以下是详细信息:分析细节:
General
Format : MPEG Audio
File size : 246 KiB
Duration : 4 min 11 s
Overall bit rate mode : Constant
Overall bit rate : 8 000 b/s
FileExtension_Invalid : m1a mpa mpa1 mp1 m2a mpa2 mp2 mp3
Audio
Format : MPEG Audio
Format version : Version 2.5
Format profile : Layer 3
Duration : 4 min 11 s
Bit rate mode : Constant
Bit rate : 8 000 b/s
Channel(s) : 1 channel
Sampling rate : 8 000 Hz
Frame rate : 13.889 FPS (576 SPF)
Compression mode : Lossy
Stream size : 246 KiB (100%)
我试着使用以下代码使用ffmpeg,但在尝试相同的代码时出现了错误:
import pydub as pydub
from pydub import AudioSegment
AudioSegment.ffmpeg = "\ffmpeg.exe"
pydub.AudioSegment.converter = r"\ffmpeg.exe"
data = AudioSegment.from_wav("sample_wav.wav")
错误:The system cannot find the file specified
-Altho我可以读取相同的文件位置
错误file does not start with RIFF id
表示wave
不支持您的文件,因此您必须完全使用不同的文件。这可能是因为该文件可能不是.wav
文件。查看这篇文章了解更多详细信息-无法将文件file.wav作为wav打开,原因是:文件不以RIFF id开头。