单片机音乐程序是怎么弄出来的啊
单片机的音乐程序是怎么弄出来得,要经过什么的计算啊 用这个工具《单片机制作音乐编辑器》http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_433529.jpg
(原文件名:单片机音乐编辑器.jpg)
点击此处下载 ourdev_433530.rar(文件大小:542K) (原文件名:yuepu.rar)
/*说明**************************************************************************
曲谱存贮格式 unsigned char code MusicName{音高,音长,音高,音长...., 0,0}; 末尾:0,0 表示结束(Important)
音高由三位数字组成:
个位是表示 1~7 这七个音符
十位是表示音符所在的音区:1-低音,2-中音,3-高音;
百位表示这个音符是否要升半音: 0-不升,1-升半音。
音长最多由三位数字组成:
个位表示音符的时值,其对应关系是:
|数值(n): |0 |1 |2 |3 | 4 | 5 | 6
|几分音符: |1 |2 |4 |8 |16 |32 |64 音符=2^n
十位表示音符的演奏效果(0-2): 0-普通,1-连音,2-顿音
百位是符点位: 0-无符点,1-有符点
调用演奏子程序的格式
Play(乐曲名,调号,升降八度,演奏速度);
|乐曲名 : 要播放的乐曲指针,结尾以(0,0)结束;
|调号(0-11) : 是指乐曲升多少个半音演奏;
|升降八度(1-3) : 1:降八度, 2:不升不降, 3:升八度;
|演奏速度(1-12000): 值越大速度越快;
***************************************************************************/
#ifndef __SOUNDPLAY_H_REVISION_FIRST__
#define __SOUNDPLAY_H_REVISION_FIRST__
//**************************************************************************
#define SYSTEM_OSC 12000000 //定义晶振频率12000000HZ
#define SOUND_SPACE 4/5 //定义普通音符演奏的长度分率,//每4分音符间隔
sbit BeepIO = P3^7; //定义输出管脚
unsigned int code FreTab = { 262,277,294,311,330,349,369,392,415,440,466,494 }; //原始频率表
unsigned char code SignTab = { 0,2,4,5,7,9,11 }; //1~7在频率表中的位置
unsigned char code LengthTab= { 1,2,4,8,16,32,64 };
unsigned char Sound_Temp_TH0,Sound_Temp_TL0; //音符定时器初值暂存
unsigned char Sound_Temp_TH1,Sound_Temp_TL1; //音长定时器初值暂存
//************************************************************************** 再给你一个单片机唱歌的电路、仿真(Proteus)文件 + 单片机C语言源文件 打包:里面有很详尽的源代码+注释。
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_433531.jpg
(原文件名:8051单片机播放音乐.jpg)
点击此处下载 ourdev_433532.rar(文件大小:57K) (原文件名:Proteus+Keil.rar) 歌曲收下了 呵呵 一个音符就是一个频率,节拍另外给,做一个表格,然后查表就行了. 马克 好东西。 jh mark 感谢楼主! 为什么感谢楼主? 感谢 星罗棋布 是单音的吧,, mark 我想问一下
星罗棋布
蜂鸣器是有源跟无源的是一样吗? 感谢星罗棋布提供了这个工具 好玩呵呵,收藏了先... mark xie xie
shou xia http://shop57165217.taobao.com/ 谢谢,收下咯!!!!! 不错!
只是有些音不太准。 好玩,拿去了!楼主辛苦! 不错哦 谢谢了 收下啰,谢谢 单片机弄音乐就像是让一个1米5个人打NBA一样,再说这个不能叫音乐,还是用专门的音频解码芯片吧! 记号下 ............. ./emotion/em002.gif 咋不行啊,程序下进去后,就一种音乐,听起来也不像音乐。。。 mark 感谢星罗棋布提供了这个工具
就是玩具上常用的,呵呵 mark mark 非常酷 不错,哈哈 mark 值得收藏 mark mark mark zcllom 星罗棋布
我们老大教我们时就用的你给的范例 在此表示强烈感谢 MARK 谢谢,正在学 学习,有时间玩下 记号 原理没说详细
简单的说就是音乐由,频率 跟 拍数(频率的持续时间)组成, 一拍的时间没有规定多长,可长可短,通常用1秒吧
do re mi fa so la si(多 来 米 发 梭 拉 西) 代表1-7种频率每种频率持续播放多长时间就是拍数。。拍数要从简谱中来看
12M晶振各种音频率初值:
http://cache.amobbs.com/bbs_upload782111/files_29/ourdev_553536.JPG
(原文件名:1.JPG)
拍数以一拍时间为1秒为例:
http://cache.amobbs.com/bbs_upload782111/files_29/ourdev_553537.JPG
(原文件名:6.JPG)
上面的中音6,高音1 ,中音5,中音6 演奏持续时间都为1/4拍,也就是每个音的频率 演奏时间都为250ms
最后一个高音1 是演奏一拍的时间,为1秒
看拍数:
http://cache.amobbs.com/bbs_upload782111/files_29/ourdev_553538.JPG
(原文件名:3.JPG)
http://cache.amobbs.com/bbs_upload782111/files_29/ourdev_553539.JPG
(原文件名:4.JPG)
http://cache.amobbs.com/bbs_upload782111/files_29/ourdev_553541.JPG
(原文件名:5.JPG) mark mark 记号,不错的 有点意思 mark 好东西 mark 呵呵呵 http://cache.amobbs.com/bbs_upload782111/files_29/ourdev_554767.gif
(原文件名:QQ截图未命名.gif)
请问上面的半圆是什么意思 不知道这个软件是怎么用的, 大赞 星罗棋布 mark 谢谢~~~
不过 好像被 360 查成木马了 mark mark mark mark mark mark 非常不错,收下,谢谢 能不能插入音乐? 非常不错 360认为其是木马 mark mark 感谢 星罗棋布 mark 回复【楼主位】xiaodanpianji
-----------------------------------------------------------------------
怎么下载后360提示是木马啊?? MARK mark mark 非常好,谢谢! mark mark mark 不错 mark~ 回复【20楼】wshtyr
-----------------------------------------------------------------------
那你到底是怎么弄的啊??网上见用gold wave什么的。怎么弄??? mark mark 马克一下 标记单片机音乐 MARK mark 不懂乐谱怎办 不错学习了 有这样的小软件方便多了 MARK dddddddd mark mark mark mark 非常好,学习了。 记号
页:
[1]
2