VC 正弦波 三角波 方波 的有关问题

VC 正弦波 三角波 方波 的问题
我现在想做一个煲机软件,能够分别发出 正弦波 三角波  方波  三种波形声音,频率和声音强度可调。
现在遇到的问题是 虽然可以发出这种波形的声音,可是调整 频率和声音强度的时候不正常,应该是我的算法不对,希望了解的朋友可以提供几个可用的算法。

现在用的算法,是在别人程序上抄下来的,也不知道里面算法的依据是什么,和标准算法好像不太搭边

------解决方案--------------------
要看看你是如何“调整 频率和声音强度”的
------解决方案--------------------
matlab代码

sampleRate = 44100;
mySampleRate = 2000;

for n=1:sampleRate
    s5(n)=sin(2*pi*n*mySampleRate/sampleRate);
end;
s6=s5/2;
wavwrite(s6,sampleRate,16,'s.wav');

------解决方案--------------------
三角波和方波可以用傅里叶级数,就是正弦波的叠加嘛。