2011-07-02 16 views
0

私の作品はまだありません。ウェーブファイルに変換する必要があります

import matplotlib.pyplot as plot 
import numpy as num 

def xr(start, stop, step): 
    while start < stop: 
     yield start 
     start = start + step 

wavef = lambda x: num.sin(x)/x 

t0 = [wavef(x) for x in xr(5.0,200.0,0.1) if x is not 0] 

plot.plot(t0) 
plot.show() 
+2

具体的に何をしたいのかを詳しく教えてください –

+0

どうしますか? – Alexander

答えて

0

Pythonはモジュールwave — Read and write WAV filesを有しています。

関数データをwavファイルに書き込む方法の例は、 Create a synthetic 'sine wave' wave fileおよびHow to make a simple .wav file with Pythonです。

Audiolabを使用することもできます。

既にnumpyを使用しているので、xr関数の代わりにnumpy.linspaceまたはnumpy.arangeを使用できます。何かのように、

x = num.arange(5.0, 200.0, 0.1) 
wavef = num.sin(x)/x 
関連する問題