from pydub import AudioSegment
from pydub.utils import make_chunks
audio = AudioSegment.from_file("./nnqdzj01.mp3", "mp3")
size = 30000 #切割的毫秒数 10s=10000
chunks = make_chunks(audio, size) #将文件切割为30s一块
for i, chunk in enumerate(chunks):
chunk_name = "./nnqdz01-wav30/nnqdzj00-{0}.wav".format(i)
print(chunk_name)
chunk.export(chunk_name, format="wav", parameters=["-ar", "16000","-ac","1", "-acodec", "pcm_s16le"])
结合ffmpeg,官网原文如下:
You can pass an optional bitrate argument to export using any syntax ffmpeg supports.
awesome.export("mashup.mp3", format="mp3", bitrate="192k")
Any further arguments supported by ffmpeg can be passed as a list in a 'parameters' argument, with switch first, argument second. Note that no validation takes place on these parameters, and > you may be limited by what your particular build of ffmpeg/avlib supports.Use preset mp3 quality 0 (equivalent to lame V0)
awesome.export("mashup.mp3", format="mp3", parameters=["-q:a", "0"])
Mix down to two channels and set hard output volume
awesome.export("mashup.mp3", format="mp3", parameters=["-ac", "2", "-vol", "150"])
参考
python--把音频按时间段切成小段(重叠和不重叠)
上面的内容,主要还是一些知识点整理和个人的一些思考,权当参考,如有错误或者更好的建议,可以在评论区指正,不胜感激!
可执行代码