在Python Audiolab中发出哔声

2 投票
2 回答
2487 浏览
提问于 2025-04-16 04:13

我想知道怎么在Python中生成一个轻柔的“哔”声,使用audiolab,而不想用外部的.wav文件。我找到一个生成随机噪音的例子:

play(0.05 * np.random.randn(2, 48000))

可惜的是,我对音频的表现形式了解得不够,无法创建一个特定频率的“哔”声,而且我也不知道在哪里能找到一些易懂的文档。

如果有人能帮忙,那真是太好了!

2 个回答

0

我搞明白了:

play(0.05 * np.array([math.cos(x/40) for x in range(10000)]))

这个代码生成了一个很不错的音调,其中的数值:

  • 0.05 定义了音量;
  • 40 定义了频率;
  • 10000 定义了音调的持续时间。

再见!

3

具体来说:

import audiolab
import scipy
x = scipy.cos((2*scipy.pi*f/fs)*scipy.arange(fs*T))
audiolab.play(x, fs)

这里的 f 是音调的频率,单位是赫兹(Hertz),fs 是采样率,T 是音调的持续时间,单位是秒。

撰写回答