在播放过程中用python播放声音并改变音调?

时间:2009-10-13 15:44:54

标签: python pygame pitch

有办法做到这一点吗?另外,我需要这个与pygame一起工作,因为我想在我的游戏中使用音频。我问这个是因为我在pygame中没有看到任何音调改变功能..谁都知道?

更新

我需要做一些像汽车加速噪音的事情。我真的不知道它是音色还是音色。

1 个答案:

答案 0 :(得分:1)

嗯,这取决于你是如何做声音的:我不确定这是否可以用pygame,但SDL(pygame基于)可以让你有一个回调来检索声音缓冲区的数据,并且可以改变正弦波(或其他)的频率,以便在回调中获得不同的音调,因为你可以在那里产生声音。

如果您正在使用预渲染的音色或声音文件,那么您可能需要对其进行重新取样以使其以不同的频率播放,尽管难以保持相同的长度。如果你正在谈论改变声音的音色,那那就完全不同了......

此外,它取决于声音需要改变的速度:如果你可以接受一点响应的延迟,你可能会产生一些短音,并根据需要播放/循环它们。我不确定声音的不断重放会影响性能/整体音频质量,但是:你必须确保所有波形的末端平滑过渡到下一个(可能)的开头。