gpt4 book ai didi

python - 在 Python 中合并音频文件

转载 作者:行者123 更新时间:2023-12-02 22:22:02 48 4
gpt4 key购买 nike

如何在 Python 中将多个音频文件 (wav) 合并到一个文件中?
我找到了这个:

import wave

infiles = ["sound_1.wav", "sound_2.wav"]
outfile = "sounds.wav"

data= []
for infile in infiles:
w = wave.open(infile, 'rb')
data.append( [w.getparams(), w.readframes(w.getnframes())] )
w.close()

output = wave.open(outfile, 'wb')
output.setparams(data[0][0])
output.writeframes(data[0][1])
output.writeframes(data[1][1])
output.close()

但这会将一个音频文件附加到另一个。我想要的是代码,它“堆叠”音频文件(请使用音量控制)。这在 Python 中甚至可能吗?

最佳答案

您可以使用 pydub 模块。这是使用 Python 剪切、编辑、合并音频文件的最简单方法之一。

这是一个如何使用它将音频文件与音量控制相结合的示例:

from pydub import AudioSegment
sound1 = AudioSegment.from_file("/path/to/sound.wav", format="wav")
sound2 = AudioSegment.from_file("/path/to/another_sound.wav", format="wav")

# sound1 6 dB louder
louder = sound1 + 6


# sound1, with sound2 appended (use louder instead of sound1 to append the louder version)
combined = sound1 + sound2

# simple export
file_handle = combined.export("/path/to/output.mp3", format="mp3")

要叠加声音,试试这个:
from pydub import AudioSegment
sound1 = AudioSegment.from_file("1.wav", format="wav")
sound2 = AudioSegment.from_file("2.wav", format="wav")

# sound1 6 dB louder
louder = sound1 + 6

# Overlay sound2 over sound1 at position 0 (use louder instead of sound1 to use the louder version)
overlay = sound1.overlay(sound2, position=0)


# simple export
file_handle = overlay.export("output.mp3", format="mp3")

完整文档在这里 pydub API Documentation

关于python - 在 Python 中合并音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61499350/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com