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

时间:2012-05-17 03:13:11

标签: c# xna

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

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

基本上,我要做的是用这个频率播放生成的音调(正弦,方形,锯等),这样它就能通过扬声器发出声音。 XNA是否对此有任何支持?或者我是否必须使用额外的库?

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

1 个答案:

答案 0 :(得分:1)

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

他首先通过动态声音实例,然后通过向您展示如何创建声音(允许某种'用键盘弹奏钢琴')进入另一个级别。

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