我有一些语音音频文件,我想分成 30 秒的块,这是代码
# Split Audios to 30 sec
from pydub import AudioSegment
from pydub.utils import make_chunks
myaudio = AudioSegment.from_file('wav.audios/file_Name.wav' , "wav")
chunk_length_ms = 30000 # pydub calculates in millisec
chunks = make_chunks(myaudio, chunk_length_ms) #Make chunks of one sec
#Export all of the individual chunks as wav files
for i, chunk in enumerate(chunks):
chunk_name = 'parts/chunk{0}.wav'.format(i)
print("exporting", chunk_name)
chunk.export(chunk_name, format="wav")
音频的一个块始终是无声块(最后一个(,我希望python检测到它并删除它,所以我最终得到不是静音的文件块。我该怎么做?
只需使用 - del chunks[-1]
删除最后一个块,如下所示。
from pydub import AudioSegment
from pydub.utils import make_chunks
myaudio = AudioSegment.from_file('wav.audios/file_Name.wav' , "wav")
chunk_length_ms = 30000 # pydub calculates in millisec
chunks = make_chunks(myaudio, chunk_length_ms)
del chunks[-1]
for i, chunk in enumerate(chunks):
chunk_name = 'parts/chunk{0}.wav'.format(i)
print("exporting", chunk_name)
chunk.export(chunk_name, format="wav")