2012-12-02 76 views
1

我正在研究一個有關解決數學問題和音樂的有趣項目。這是很容易產生一個特定音符(或音調):音樂多個同時音調,蟒蛇

ton = amplitude*sin(2pi*frequency*time/samplerate) 

我在python工作,並有代碼做這麼多來自http://code.google.com/p/scitools/

def note(frequency, length, amplitude=1, sample_rate=44100): 
    time_points = numpy.linspace(0, length, length*sample_rate) 
    return numpy.sin(2*numpy.pi*frequency*time_points)*amplitude 

當然,在真實音樂中,通常在同一時間步驟中播放多個音調。我試圖通過生成然後相加兩個音,即:

twotone =說明(440,2)+筆記(261.63,2)

要做到這一點,但這只是給廢話。我如何數學編碼n個同時音調?

回答

3

當使用兩個音調時,您應該有一半的個別振幅,或者總振幅可能會增加一倍。如果您使用兩個以上,則應按照反映其相對體積的比例進行混合,總振幅爲1。

+0

謝謝,就是這麼做的! –