我的波形发生器出了点问题。我正在尝试创建一个具有给定频率的声音的.wav文件。我使用的代码是:
$freqOfTone = 21000;
$sampleRate = 44100;
$samplesCount = 80000;
$amplitude = 0.25 * 32768;
$w = 2 * pi() * $freqOfTone / $sampleRate;
for ($n = 0; $n < $samplesCount; $n++)
{
$data->samples[1][] = 32768 + (int)($amplitude * sin($n * $w));
}不幸的是,输出的波形是不正确的,我得到了几个频率而不是一个:http://i49.tinypic.com/ab1nx0.png
它应该看起来像这样:http://i50.tinypic.com/33zbslk.png
我哪里做错了?
发布于 2012-10-07 00:15:41
给定该采样率,所需频率与Nyquist frequency太接近,无法正确采样。为此,我建议您使用96 this的采样率。
发布于 2012-10-22 03:21:46
我最终实现了一些东西,但我的解决方案与我的意思有点不同……不管怎样,我采集了样本,并把它们放入高通滤波器。信号有点失真,但对我的目的来说还是足够好的:)
https://stackoverflow.com/questions/12761094
复制相似问题