2012-05-17 63 views
1

我正在寫一個小應用程序,這幾乎是一個音序器生成的音(8個合成器),我有一個音符轉換爲其對應的頻率公式:C#/ XNA - 播放基於頻率

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

基本上,我試圖做的是用這個頻率播放生成的音調(正弦,方形,鋸齒等),所以它可以通過揚聲器聽到。 XNA是否對此有任何支持?或者我將不得不使用額外的庫?

我不想通過內容管道以不同頻率導入80多個正弦波樣本,所以我可以播放不同頻率的音調。

+0

我認爲這個問題提出並回答了相同的基本問題。 [如何在XNA中播放動態聲音?](http://stackoverflow.com/questions/5032450/how-to-play-dynamic-sounds-in-xna) –

+0

我在Google上發現了一篇很好的文章,所以考慮這個問題已經死了 – Jared

+1

@JaredB發佈並接受你自己的答案是可以接受的,否則你可以將其標記爲刪除。 –

回答

1

對於那些你們誰要求的鏈接,以及誰可能需要在未來的人民: http://www.david-gouveia.com/creating-a-basic-synth-in-xna-part-i/

他首先通過動態聲實例出現,然後向您展示如何創建去到另一個層次聲音(允許某種'用鍵盤彈奏鋼琴'類型的東西)。

有趣的是,David Gouveia有一個StackExchange賬戶,所以如果我收到他的任何通知,也不會感到驚訝,也不會有人認出他。

+0

很高興文章幫助:)我通常在遊戲開發Stackexchange,這就是爲什麼我沒有注意到這個問題。 –