C#/XNA - 根据频率播放生成的音调

本文关键字:放生 播放 频率 XNA | 更新日期: 2023-09-27 18:34:30

我正在编写一个小应用程序,它几乎是一个音序器(8位合成器(我有一个公式可以将音符转换为其相应的频率:

private float returnFrequency(Note note)
{
    return (float)(440 * Math.Pow(TwoToTheTwelfthRoot, (note.SemitonesFromC0 - 57)));
}

基本上,我要做的是用这个频率播放生成的音调(正弦、方波、锯齿等(,这样就可以通过扬声器听到它。XNA对此有任何支持吗?还是我必须使用额外的库?

我不想通过内容管道导入不同频率的 80+ 个正弦波样本,这样我就可以播放不同频率的音调。

C#/XNA - 根据频率播放生成的音调

对于那些请求链接的人,以及可能需要它的未来人民:http://www.david-gouveia.com/creating-a-basic-synth-in-xna-part-i/

他首先通过动态声音实例,然后通过向您展示如何创建声音(允许一种"用键盘弹钢琴"类型的东西(进入另一个层次。

有趣的是,David Gouveia有一个StackExchange帐户,所以如果我收到他的任何通知,我也不会感到惊讶,如果有人认出他。