在portAudio

时间:2018-02-11 20:42:14

标签: c++ qt portaudio

我正在尝试使用方波生成声音。声音在播放,但听起来太刺耳了。 这是我的例子的代码:

for(int i=0; i<SE_TABLE_SIZE; i++)
{
    abc = 0.1*sin(2 * M_PI * data.soundPitch[freq] * ((double)i/(double)SAMPLE_RATE));
    if(abc >= 0)
        data.sine[i] += 0.05;
    else
        data.sine[i] += -0.05;
}
Pa_Sleep(duration);
for(int i=0; i<SE_TABLE_SIZE; i++)
{
    abc = 0.1*sin(2 * M_PI * data.soundPitch[freq] * ((double)i/(double)SAMPLE_RATE));
    if(abc >= 0)
        data.sine[i] -= 0.05;
    else
        data.sine[i] -= -0.05;
}

我正在生成正弦波然后我正在检查值。如果它的重量大于0 - 0.05则分配。否则它是-0.05。在我看来它应该有用,但正如我之前写的那样 - 它太苛刻了。有人可以解释一下我做错了什么吗?也许你有更好的解决方案?

0 个答案:

没有答案