如何在Python中播放矢量?

时间:2012-10-07 19:44:02

标签: python matlab audio vector

  

可能重复:
  Playing a sound from a wave form stored in an array

我正在尝试在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

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以使用内置map功能创建波形;

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

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

您可能需要将wave数组扩展为bytearray或合适类型的numpy数组,以便为​​音频设备进行消化。