Mit*_*eow 8 windows delphi playsound
我查了一些代码,似乎一切都在创造一些数学函数波,但我想要一个单音,或者用自定义单音制作的自定义波.
我读过这个 如何生成不同频率的连续音?
哪个接近我的答案.Assumin我将在上面的链接中使用waveOutWrite,我似乎无法弄清楚如何为HWAVEOUT中的每个Sample计算放大器/频率.
在链接的代码中这样做:
Samples[i] := round(vol*sin(omega*t));
假设我想要15kHz freq单音和一些放大器(无关紧要),如何计算样本[1]?
连续(及时)正弦波可以定义为A*sin(2*PI*f*t),其中A一些幅度,PI即3.14 ......,f是以赫兹为单位的音调频率,t以秒为单位的时间.
现在,既然你没有连续的时间,因为你的时间是离散的,你代替dt*i到位t和得到A*sin(2*PI*f*dt*i),这里dt是样品或之间的时间1/sample rate,并i为样本数.你可以拼写出来A*sin(2*PI*(f/Fs)*i).请注意,一旦选择了某个采样率Fs(采样/秒或简称Hz),最高音调就不会大于Fs/2Hz.