我有一个关于波形发生器的问题。我正在尝试创建一个包含给定频率声音的.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 我在哪里出了问题?:(
samplesCount
不是波周期的倍数而引起的别名问题 - 尝试调整该参数。 - moonwave9980k
作为值 - 我只是在解释窗口如何影响频谱;并不是说我声称这是问题的答案,只是试图提供一个提示作为评论 ;) - moonwave99