Python pydub.exceptions.couldntdecodecode错误:cand';在wav数据中找不到fmt头
我正试图将音频文件制作成块并转换成文本,但pydub拒绝读取我的wav文件。 这是密码Python pydub.exceptions.couldntdecodecode错误:cand';在wav数据中找不到fmt头,python,ffmpeg,pydub,Python,Ffmpeg,Pydub,我正试图将音频文件制作成块并转换成文本,但pydub拒绝读取我的wav文件。 这是密码 #from speakerDiarization import main,fmtTime from pydub import AudioSegment import os from speech_to_text import wav_to_text meet_audio = 'UK.wav' out_file = r'test.txt' #spkrs = main(meet_audio) spkrs =
#from speakerDiarization import main,fmtTime
from pydub import AudioSegment
import os
from speech_to_text import wav_to_text
meet_audio = 'UK.wav'
out_file = r'test.txt'
#spkrs = main(meet_audio)
spkrs = {0: [{'start': 0, 'stop': 6000}, {'start': 15000, 'stop': 15500}],
1: [{'start': 6000, 'stop': 11000}, {'start': 15500, 'stop': 18500}, {'start':27500, 'stop': 34500}],
2: [{'start': 11000, 'stop': 15000}, {'start': 18500, 'stop': 27500}, {'start': 34500, 'stop': 41000}]}
new_dict = {}
for spkr in spkrs:
for i in range(len(spkrs[spkr])):
new_dict[spkrs[spkr][i]['start']] = [spkr,i]
new_dict = sorted(new_dict)
audio = AudioSegment(meet_audio)
for i in new_dict:
spkr,ind = new_dict[i][0],new_dict[i][1]
start,end = spkrs[spkr][ind]['start'],spkrs[spkr][ind]['stop']
chunk = audio[start:end]
chunk_file = 'Chunks\chunk'+str(spkr)+str(ind)+'.wav'
chunk.export(chunk_file,format='.wav')
wav_to_text(chunk_file,out_file,spkr)
输出:
(sprk-diaz) H:\Btech-Proj\Speaker_Diarization>split_audio.py
H:\Btech-Proj\Speaker_Diarization\sprk-diaz\lib\site-packages\pydub\utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
Traceback (most recent call last):
File "H:\Btech-Proj\Speaker_Diarization\split_audio.py", line 20, in <module>
audio = AudioSegment(meet_audio)
File "H:\Btech-Proj\Speaker_Diarization\sprk-diaz\lib\site-packages\pydub\audio_segment.py", line 222, in __init__
wav_data = read_wav_audio(data)
File "H:\Btech-Proj\Speaker_Diarization\sprk-diaz\lib\site-packages\pydub\audio_segment.py", line 114, in read_wav_audio
raise CouldntDecodeError("Couldn't find fmt header in wav data")
pydub.exceptions.CouldntDecodeError: Couldn't find fmt header in wav data
(sprk diaz)H:\Btech Proj\Speaker\u dialization>split\u audio.py
H:\Btech Proj\Speaker\u dialization\sprk diaz\lib\site packages\pydub\utils.py:170:运行时警告:找不到ffmpeg或avconv-默认为ffmpeg,但可能无法工作
警告(“找不到ffmpeg或avconv-默认为ffmpeg,但可能不起作用”,RuntimeWarning)
回溯(最近一次呼叫最后一次):
文件“H:\Btech Proj\Speaker\u dialization\split\u audio.py”,第20行,在
音频=音频段(满足音频)
文件“H:\Btech Proj\Speaker\u dialization\sprk diaz\lib\site packages\pydub\audio\u segment.py”,第222行,在uu init中__
wav_数据=读取wav_音频(数据)
文件“H:\Btech Proj\Speaker\u dialization\sprk diaz\lib\site packages\pydub\audio\u segment.py”,第114行,以read\u wav\u audio格式
raise COULDNTDECODERROR(“在wav数据中找不到fmt头”)
pydub.exceptions.CouldntDecodeError:在wav数据中找不到fmt头
我不知道出了什么问题,请解决一下。
多谢各位
我的音频文件:大约40秒