加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 如何使用Delphi播放单音或自定义波?

发布时间:2020-12-14 04:08:14 所属栏目:Windows 来源:网络整理
导读:我查了一些代码,似乎所有东西都在创建一些数学函数波,但我想要一个单音,或者用自定义单音制作的自定义波. 我看了这个 How can I generate continuous tones of varying frequencies? 哪个接近我的答案. Assumin我会像上面的链接一样使用waveOutWrite,我似乎
我查了一些代码,似乎所有东西都在创建一些数学函数波,但我想要一个单音,或者用自定义单音制作的自定义波.

我看了这个
How can I generate continuous tones of varying frequencies?

哪个接近我的答案.
Assumin我会像上面的链接一样使用waveOutWrite,我似乎无法弄清楚如何为HWAVEOUT中的每个Sample计算放大器/频率.

在链接的代码中这样做:
样品[i]:= round(vol * sin(ω* t));

假设我想要15kHz频率单音和一些放大器(无关紧要),如何计算样本[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 /采样率,i是样本编号.你可以拼写为A * sin(2 * PI *(f / Fs)* i).请注意,一旦选择某个采样率Fs(采样/秒或简称Hz),最高音调永远不会大于Fs / 2 Hz.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读