这个问题已经在这里有了答案:
已关闭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)
对于播放声音,我建议您使用ossaudiodev或winsound,具体取决于您的平台。
您可能必须将
wave
数组缩放为一个字节数组或适当类型的numpy数组,以便音频设备可消化该数组。关于python - 如何在Python中播放向量? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12772235/