2

可能重复:
从存储在数组中的波形播放声音

我正在尝试在 Python 中生成一个包含正弦波的向量(或类似的数据结构)并在不将任何内容记录到磁盘的情况下播放它。

有点像下面的 MATLAB 代码:

t = 0:1/8000:1;              % Generate a 1 second vector at a sampling rate of 8000 Hz
wave = sin(2*pi*440*t);      % Store a 440 Hz sine wave
sound(wave, 8000);           % Play the waveform

提前致谢!

4

1 回答 1

0

您可以使用内置map函数创建波形;

import math
t = range(8001)
wave = map(lambda x: math.sin(2 * math.pi * 440 * x), t)

对于播放声音,我建议使用ossaudiodevwinsound,具体取决于您的平台。

您可能必须将wave数组缩放为 bytearray 或合适类型的 numpy 数组,以便音频设备可以消化它。

于 2012-10-07T22:12:48.253 回答