校正基于STM32的MIDI合成器的音符频率

2019-07-14 17:20发布

我最近在研究EasyMXPro for STM32 dev,正在尝试使用DAC创建一个简单的单声道波表合成器,可播放的通道。但是,我有一个MIDI键盘,我有以下问题:我有一个循环遍历波表值(以MCU时钟的速度)循环。程序在阵列中循环的速率显然使我的频率与波表中正弦波的基频不同。对于数组中的每个样本,延迟/加快程序执行的最佳方法是什么,因为我需要以不同的速率循环访问数组以获得键盘上的不同音符?我尝试过使用简单的延迟,但是对于音符频率的每次变化,延迟量必须特别改变。是否有一种更简单的方法可以做到这一点,我没想过(也许使用计时器)?在此先感谢任何有用的答案!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。