51单片机产生音乐问题

[复制链接]
 楼主| hllyellow 发表于 2012-9-11 11:31 | 显示全部楼层 |阅读模式
请问用51产生音乐时,知道音乐的简谱怎么知道对应的音长呢,还有频率?
liusensen 发表于 2012-9-11 11:39 | 显示全部楼层
用51?
xsjkiver 发表于 2012-9-11 13:12 | 显示全部楼层
这个应该是要知道音乐方面的一些知识,我也不懂,只是以前用一个模块做过,51做的,蜂鸣器发声,当然效果不怎么好。模块网上有很多。
computer00 发表于 2012-9-11 13:43 | 显示全部楼层
音长由每分钟的拍数和音符的拍数决定。
频率由音符的音高决定,对于简谱,首先要确定主音的频率(也就是定调)。
假设选择为a大调,我们定1的频率为440Hz。那么
1  #1  2  #2  3  4  #4  5  #5  6  #6  7
每个音在前一个音的基础上,频率升高到2的1/12次方(约为1.0594631)即可。

440Hz、466Hz、494Hz、523Hz………………
coody 发表于 2012-9-11 14:24 | 显示全部楼层
按十二平均率计算乐谱对应的频率,建一个谱表,时间就是时值,也要按一定的规则编码,由程序识别。
 楼主| hllyellow 发表于 2012-9-11 15:31 | 显示全部楼层
谢谢四楼的大侠,那音长怎么确定啊
 楼主| hllyellow 发表于 2012-9-11 15:39 | 显示全部楼层
最好谁能对照这个简谱解释解释 感激不尽啊~~~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
teddeng 发表于 2012-9-11 17:32 | 显示全部楼层
无聊,简单回答下:
百度音高和频率转换表,1=C就是1=261.63hz,其他自己查表。
速度没标,你自己定义吧,一般一分钟60~120拍,也就是1的时长1秒~0.5秒;
如果是一分钟60拍,那么1时长1秒,1-时长2秒,1下划一线0.5秒,下划2线0.25秒,1.下划一线0.75秒,保证一小节(两个竖线之间)时长之和4秒。
4/4拍子是强弱次强弱,拿第一小节来说就是1电压最高,2低,3次高,1低,这个是为了好听,简单点把每小节第一个四分音符电压输出高点就OK了,高多少好听你自己设个参数调。
云的追寻 发表于 2012-9-11 23:26 | 显示全部楼层
仅是想法:pwm写一个函数,按音符转换调用。。。
fjzzclc 发表于 2012-9-12 08:56 | 显示全部楼层
音乐不懂
ljx901217 发表于 2012-9-12 09:00 | 显示全部楼层
ljx901217 发表于 2012-9-12 09:00 | 显示全部楼层
不了解
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

18

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部