我正试图将音频文件制作成块并转换成文本,但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秒
目前没有回答
相关问题 更多 >
编程相关推荐