我有一个发出哔哔声的声音文件,我想连续播放声音几秒钟,这听起来像一个连续的声音。这是我的代码
alarm = sound.Sound('alarm.wav', secs = 5)
alarm.play()
但它只播放1秒,这是原始声音的长度。请帮忙!
答案 0 :(得分:2)
以下是一些解决方案:
使用心理感应产生哔声:
alarm = sound.Sound(700, secs=5) # 700Hz beep
当你想要一个长度是原始文件的倍数时,循环它,虽然这可能会在每次重复时产生一些点击(因为振幅突然跳跃,除非它们完全匹配):< / p>
alarm = sound.Sound('alarm.wav', loops=5)
使用音频编辑器将哔声延长至五秒钟,确保循环处没有咔嗒声。如果你有一个固定的持续时间,这可能比(2)更好。
如果您有多个播放长度,例如在条件之间,在实验期间的适当时间使用alarm.stop()
。然后将loops
设置为高数字或音频编辑声音足够长,如(3)所示,以便您知道它只会停止在您的命令上。
答案 1 :(得分:1)
持续时间参数(秒)不能像这样工作。如果alarm.wav
超过5秒,它将只播放前五秒(即我认为它可以截断文件,尽管它的主要目的是定义指定为音符的声音的持续时间,而不是通过外部声音文件)。但它不会通过重复播放持续时间较短的文件来自动填充该时段。
你应该使用一些声音编辑软件将alarm.wav
的五个实例连接到另一个文件(最简单的解决方案),或者创建一个循环来播放它五次(这可能很难集成到你的绘图循环中没有轻微的计时故障)。