这个问题已经在这里有了答案:




已关闭8年。






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

类似于以下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

提前致谢!

最佳答案

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

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

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

您可能必须将wave数组缩放为一个字节数组或适当类型的numpy数组,以便音频设备可消化该数组。

关于python - 如何在Python中播放向量? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12772235/

10-11 04:01