【问题标题】:Playing sounds with python and changing their tone during playback?用 python 播放声音并在播放过程中改变它们的音调?
【发布时间】:2009-10-13 15:44:54
【问题描述】:

有没有办法做到这一点?另外,我需要它来使用 pygame,因为我想要在我的游戏中使用音频。我问这个是因为我在 pygame 中没有看到任何音调变化功能。有人知道吗?

更新:

我需要做一些事情,比如汽车加速时的噪音。不知道是音色还是音色。

【问题讨论】:

  • 什么样的音调?您是想让它们放慢速度还是加快它们的速度,还是想在不影响长度的情况下改变音高?
  • 是的,我的意思是改变音高而不影响长度

标签: python pygame pitch


【解决方案1】:

嗯,这取决于您如何处理声音:我不确定 pygame 是否可以做到这一点,但是 SDL(pygame 的基础)允许您通过回调来检索声音缓冲区的数据,并且可以更改正弦波(或其他)的频率以在回调中获得不同的音调,前提是您在那里生成声音。

如果您使用的是预渲染音调或声音文件,那么您可能需要对其重新采样以使其以不同的频率播放,尽管很难保持相同的长度。如果你说的是改变声音的音色,那就完全不同了……

另外,这取决于声音需要多快改变:如果您可以接受响应的一点延迟,您可能会生成一些短声音,并根据需要播放/循环它们。不过,我不确定声音的持续重放会如何影响性能/整体音频质量:您必须确保所有波形的末端平滑过渡到下一个波形的开头(也许)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    相关资源
    最近更新 更多