gpt4 book ai didi

python - 如何使用 pyaudio 播放立体声 aiff 文件?

转载 作者:行者123 更新时间:2023-12-02 23:10:55 27 4
gpt4 key购买 nike

这会播放单声道 aifc 文件,但对于任何立体声文件,我都会听到很大的静电声:

import pyaudio
import aifc

CHUNK = 1024

wf = aifc.open('C:\\path_to_file.aiff', 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
channels=wf.getnchannels(),
rate=wf.getframerate(),
output=True)

data = wf.readframes(CHUNK)

while data != '':
stream.write(data)
data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()

我正在测试的立体声文件: https://archive.org/details/TestAifAiffFile

如果这很重要,我在 Windows 7 上。

最佳答案

交换所有其他样本就可以了。将整个文件加载到 data , 然后做

a = numpy.fromstring(data, dtype = '<i2')
temp = a[1::2]
a[1::2] = a[::2]
a[::2] = temp

那就玩 a好像它是一串音频样本而不是一个 numpy 数组。我已经在两个不同的 aiff 文件上对其进行了测试,在这两种情况下,它都保留了两个 channel 并正确播放。

这可能是因为该文件具有与 pyaudio 期望的相反的字节顺序。

关于python - 如何使用 pyaudio 播放立体声 aiff 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31419805/

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