尝试使用pydub.silence在python中将长音频剪切成更小的片段(小于12秒)
尝试使用pydub.silence在python中基于静默将长音频剪切成更小的片段(小于12秒)。 我试过:尝试使用pydub.silence在python中将长音频剪切成更小的片段(小于12秒),python,wav,pydub,Python,Wav,Pydub,尝试使用pydub.silence在python中基于静默将长音频剪切成更小的片段(小于12秒)。 我试过: from pydub import AudioSegment from pydub.silence import split_on_silence sound = AudioSegment.from_wav("path_to_the_file.wav") output_directory="path_to_output_file" filenam
from pydub import AudioSegment
from pydub.silence import split_on_silence
sound = AudioSegment.from_wav("path_to_the_file.wav")
output_directory="path_to_output_file"
filename="output_filename"
chunks = split_on_silence(sound,
# must be silent for at least half a second
min_silence_len = 1000,
# consider it silent if quieter than -50 dBFS
silence_thresh = -50, keep_silence=500
)
i=0
for i, chunk in enumerate(chunks):
chunk.export("{dir}{name}_{count}.wav".format(
dir=output_directory,
name=filename,
count=i), format="wav")
print ('They are splited into {number} files'.format(number=i + 1))
i+=1
输出是基于指定条件的剪辑的压缩。
如果我使用这样的“如果”条件:
i=0
for i, chunk in enumerate(chunks):
if (len(chunk)/1000)<12:
#chunk = chunk_silent+chunk+chunk_silent
chunk.export("{dir}{name}_{count}.wav".format(
dir=output_directory,
name=filename,
count=i), format="wav")
print ('They are splited into {number} files'.format(number=i + 1))
i+=1
i=0
对于i,枚举中的块(块):
if(len(chunk)/1000)