【问题标题】:OpenAl pitch values for particular musical notes in an octave八度音阶中特定音符的 OpenAl 音高值
【发布时间】:2011-01-14 15:36:09
【问题描述】:

我的 iPhone 应用程序上有一个 OpenAl 声音引擎。当我播放已加载的声音时,我可以控制它的音高。

在 OpenAl 中,设置为 1.0 的音高无效。如果将它加倍到 2.0,它会演奏高 1 个八度的音符(12 个半音)。如果你将它减半,到 0.5,它会低一个八度(12 个半音)。

所以,我的原始样本正在演奏 C。我假设如果我将 1 除以 12(半音),我可以得到该八度音阶中各个音符的音高。但情况似乎并非如此。这使我们认为半音不是相等的值。这是真的吗?

有谁知道我如何计算一个八度音阶中各个音符的 openAl 音高值?

谢谢

【问题讨论】:

    标签: iphone audio openal pitch


    【解决方案1】:

    半音是相等的比率。因此,如果您的示例是 C,C# 将是 2 的第 12 个根。如果计算半音 C=0、C#=1 等,比例为pow(2.0, n*1.0/12.0)

    也适用于负数。

    我应该注意,并非在每个调优方案中都严格如此……但这是一个好的开始。如果您真的关心音乐调音的全部复杂性,我可以为您找到一些参考资料。

    【讨论】:

    • 谢谢安德鲁!这是完美的!......正是我所追求的!是的,参考文献会很棒。特别是间距和样本长度之间的关系。再次感谢。
    • 哦,好吧,长度只是以相同的比例变短。我会找到关于音阶和调音的很好的介绍。
    • en.wikipedia.org/wiki/Mathematics_of_musical_scalesen.wikipedia.org/wiki/Equal_temperament 将带您进入有关此主题的维基百科文章的丛林中。一段时间后它会变得非常复杂,但它对于实用音乐也非常重要,尤其是在您使用弦乐器或管乐器时。
    猜你喜欢
    • 1970-01-01
    • 2020-12-31
    • 2023-03-12
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 2014-01-14
    相关资源
    最近更新 更多