pydub.exceptions.CouldntDecodeError:在wav数据中找不到fmt头

2024-10-01 00:27:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图将音频文件制作成块并转换成文本,但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 = {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

我不知道出了什么问题,请解决一下。 多谢各位

我的音频文件:大约40秒


Tags: toinnewstartaudiodictfileproj