我的波形发生器有问题。我正在尝试使用给定频率的声音创建.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
我在哪里做错了什么? :(
答案 0 :(得分:1)
考虑到采样率,所需频率太接近Nyquist frequency,无法正确采样。我建议您使用96kHz的采样率。
答案 1 :(得分:0)
我已经完成了一些事情,但我的解决方案与我的意思略有不同......无论如何,我拿了样品并通过高通频率滤波器。信号有点扭曲,但对我的目的来说足够好了:))