51音乐合成原理

音乐合成原理

    (1). 音频产生原理

1.        要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2即为半周期的时间。利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可以在I/O引脚上得到此频率的脉冲。

2.        利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0TL0以产生不同频率。

3.        例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次计数956次时将I/O反相,就可得到中音1(DO)(523Hz)。同理可以得到 DAO RE MI 等等

 (2). 简谱的单片机实现

  

1.  每个音符使用一个字节,字节的高4位代表音符的高低,低4位代表音符的节拍。如果1拍为0.4秒,1/4拍就是0.1秒,只要设定延时时间就可以求得节拍的时间。假设1/4拍为1DELAY,则1拍应为4DELAY,依此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数。下表为1/41/8节拍的时间设定。

曲调值

DELAY1/4拍)

曲调值

DELAY1/8拍)

4/4

125毫秒

4/4

62毫秒

3/4

187毫秒

3/4

94毫秒

2/4

250毫秒

2/4

125毫秒

2.  建立音乐的步骤:

A.     先建立音频表,建立时可不必把所有音频都建在表里,可以从音乐里最低的音频开始建立。

B.     再按音乐的简谱和节拍建立音符表。音符表的高4位为音符的音频高低,低4位为节拍数。

C.     可以用延时或中断的方式产生1/4节拍或1/8节拍时间间隔。

D.     程序中从音符表的开始处依次读取音符并翻译成音频和节拍数,直到音乐结束。

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yantaoliu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值