gpt4 book ai didi

python - 在使用 PyAudio 生成音调时,为什么我会在它们之间听到咔嗒声?

转载 作者:太空宇宙 更新时间:2023-11-04 03:47:29 24 4
gpt4 key购买 nike

标题说明了问题所在。我不知道如何解决这个问题。咔嗒声在每个播放的音调之间。对某些人来说,我听起来也很流行。

import math
import pyaudio
import sys

PyAudio = pyaudio.PyAudio


def playTone(rate,wave,time,channel):
data = ''.join([chr(int(math.sin(x/((rate/wave)/math.pi))*127+128)) for x in xrange(rate)])
p = PyAudio()

stream = p.open(format =
p.get_format_from_width(1),
channels = channel,
rate = rate,
output = True)
for DISCARD in xrange(int(time)):
stream.write(data)
#stream.stop_stream()
#stream.close()
#p.terminate()


'''
playTone(88000,400,1,2)
playTone(88000,500,1,1)
playTone(88000,600,1,2)
playTone(88000,700,1,2)
'''

def scale(noteNumber):
counter = 100
while noteNumber*100 > counter:
playTone(88000,100+counter,1,2)
counter += 100

scale(10)

最佳答案

构建 data = ''.join([... 和播放 stream.write(data) 之间存在差距。缝隙发出咔哒声。

要找出答案,请尝试转储数据并将其作为 88000Hz、8 位和 2ch 原始数据播放。

简单的解决方案是在播放前生成所有信号。

或者,使用不同的线程来生成和播放声音。

关于python - 在使用 PyAudio 生成音调时,为什么我会在它们之间听到咔嗒声?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23004365/

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