Python 使用scipy.io.wavfile.write写入正弦波并读取它

Python 使用scipy.io.wavfile.write写入正弦波并读取它,python,scipy,wav,Python,Scipy,Wav,我创建了一个正弦波(包含波形值的numpy数组),并编写了一个包含其内容的文件。我播放.wav文件,它听起来和预期的一样 现在我打开同一个文件,绘制它,得到一个方波 为什么会这样 sampling_rate = 44100 def seno(frequency, duration=0.5, sampling_rate=44100.0): return np.array([np.sin(n * 2 * np.pi * frequency / sampling_rate) for n i

我创建了一个正弦波(包含波形值的numpy数组),并编写了一个包含其内容的文件。我播放.wav文件,它听起来和预期的一样

现在我打开同一个文件,绘制它,得到一个方波

为什么会这样

sampling_rate = 44100


def seno(frequency, duration=0.5, sampling_rate=44100.0):
    return np.array([np.sin(n * 2 * np.pi * frequency / sampling_rate) for n in xrange(int(duration * sampling_rate))]).reshape(-1, 1)

# Example:
write('ejemplo_seno.wav', sampling_rate, seno(1000))

这就是我创建文件的方式

在Python 3.5上运行良好如果听起来像预期的那样,但您在打开和打印文件时遇到问题,可能问题就在这一步中,您能分享您的代码以打开和打印它吗?@s0upa1t它在其他计算机上也适用于我。相同版本的python(2.7)但不同的IPython笔记本。。。这很奇怪(一个在IPNotebook中,另一个在Jupyter中)。在Python 3.5上对我来说很好。如果它听起来像预期的那样,但是你在打开和打印它时遇到了问题,也许问题就在那一步,你能分享你的代码来打开和打印它吗?@s0upa1t它在其他计算机上对我来说也很好。相同版本的python(2.7)但不同的IPython笔记本。。。这很奇怪(一个在IPNotebook,另一个在Jupyter)。