2014-04-24 59 views
-2

我正在使用python,pyaudio和scipy,並且我想以一種音調接連播放(創建旋律)的方式組合兩個正弦波(兩種音調)。假設我有兩個數組:tone1和tone2,其中包含具有350Hz(tone1)頻率的聲音和440Hz(tone2)頻率的聲音的數據。我的問題是:如何將這兩個數組合併成一個數組,以創建一個旋律而不會在聲音之間產生裂縫?如何結合兩個正弦波而沒有裂縫

+1

你到目前爲止做得如何? –

+0

我不認爲代碼會在這裏幫助 - 我只需要一個大概的想法如何做和/或可能有用的功能。 – Shot

+0

你的耳朵不會注意到裂縫,只需在另一個之後直接彈奏一個音調即可。 –

回答

1

將它們附加在一起並應用傅立葉變換平滑濾波器。在單音區域,傅里葉變換將只有一個分量,而濾波器不會做任何事;而在過渡區域,你會得到兩個組件(加上來自跳轉的垃圾),過濾器將有希望平滑。

+0

numpy/scipy是否具有執行傅立葉變換平滑濾波的功能? – Shot

+0

我不認爲他們這樣做,但你可以使用pyOpenCV:http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_imgproc/py_transforms/py_fourier_transform/py_fourier_transform.html或自己推出。 – Davidmh