一种基于五线谱的音乐数字化方法技术

技术编号:4181967 阅读:724 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种基于五线谱的音乐数字化方法,其特征在于,在判断为音乐程序指令后作程序的初始化设置,查表给各个音乐频率赋值,查表给频率设置时间赋值,查表给单片机音乐端口通断赋值。在音乐程序未初始化且音乐未结束时,判断同一频率运行时间是否大于等于频率设置时间,若是则进行程序的初始化设置,若不是则判断单片机音乐端口是否通断。若单片机音乐端口开通则打开该单片机端口,若非通,则关闭该单片机音乐端口。单片机音乐端口和功放电路音乐端口通过电路相连接。本发明专利技术的方法实现了用单片机有限资源通过功放电路对音乐的准确和谐悦耳的模拟和播放,丰富了单片机仪器设计中的整体使用效果。

【技术实现步骤摘要】

本专利技术属于单片机
,尤其涉及单片机的。
技术介绍
五线谱中分为高音部记号和低音部记号。单片机中是通过中断实现这两部分记号 的,但是在单片机中主要是实现高音部记号中音符实现的。和弦也是通过中断实现的。如 果在高音部和低音部同时有几个音符需要一起演奏,那么就需要几个中断。由于单片机的 中断限制,大多数情况下只用一个中断来实现高音部记号里面的音符所表达的音乐,音乐 的主音是记录在高音部中的音符。如果中断比较多的话可以实现和弦音,即用另一个中断 来实现低音部记号里面音符所表达的音乐,低音部为辅音。采用适当的误差补偿,利用单片 机定时中断的方法能在宽音域范围产生准确稳定的音频信号。 世界上多数国家和地区以及大部分乐器通用五线谱记录音高。五线谱的高音谱表 (Treble Staff)(即G谱表,谱号从G开始)和低音谱表(Bass Staff)(即F谱表,谱号从 F线始)连在一起,中间有一条线即中央C (c'),这种把两个五线谱的高低音谱表连在一起, 加上中间的实际上存在的一条线,也称i^一线谱表或大谱表(Great Staff)。 钢琴的键盘有很多音,就是数组的音名的连续,自钢琴的正中央的C音向右方的 七音,用小字母加数字1的,称之为"小字一组七音"或"基础七音"。基础七音向右的(或更 高的) 一组,加数字2的,称之为"小字二组七音"。又基础七音向左的(或更低的) 一组, 没有加小数字的,称之为"小字七音"。小字七音向左的(或更低的) 一组,用大写字母,称 之为"大字七音"。这是世界共同的乐谱规则。基础七音的C,名曰"中央C",它即在键盘的 中央,又在谱表上的中央,即大谱表中高音部谱表与低音部谱表的中央所夹的加线上。故大 谱表底各线与各间,也有规定的音名。大谱表上方的高音部谱表记录右手所弹的或高声部 所唱的音,下方的低音部谱表记录左手所弹的或低声部所唱的音。 音程是描述两个音的音高之间的距离,在音乐上可以用"度"表示,或用半音、全音 来表示;在音乐声学上,音程还可用频率比或音分来表示。音程每高八度,发声体的振动频 率增高为两倍。也即al = 440Hz, a2 = 880. OOHz, a = 220. OOHZ等等。对应于实际情况, 弦的长度或管的长度每縮短一半,频率就是原先的两倍,这样就把音程与频率比联系起来 了 。用半音或全音表示音程其最小单位是半音,这个间距太大了 ,在键盘乐器上暂就定了 , 在弦乐和管乐演奏上已经感到不够,而在乐器制造、音律学研究及音乐声学的其他方面的 研究上,就理更不够了。于是,把一个八度音程按等比分成1200份,每份叫做一音分。两个 频率为H.f2的音。 十二平均律是作为音乐学和电子学中间的桥梁。通过十二平均律可以把音乐学中 音阶、音调、音节、音程等等转化为电子学中可以应用的频率和周期。 按照国际标准,音乐学中基础七音的a1频率为440Hz,从此音开始,比之高半 音的音,其频率是此音的频率乘^^4.05946,比它低半音的音,其频率是此音的频率乘1/^^=0. 943874,余次类推,可以得到其他所有各律的频率。 基于上述的分析,可以得出,利用单片机有限的资源通过功放电路也能够实现音 效稳定准确悦耳音乐曲子。而现有技术中,还没有一种方法可以在单片机上实现理想的音 乐曲子。
技术实现思路
本专利技术的目的是提供一种基于五线谱原理利用单片机对音乐数字化播放的方法。 本专利技术的技术方案是,,在判断为音乐程序指 令后作程序的初始化设置,查表给各个音乐频率赋值,查表给频率设置时间赋值,查表给单 片机音乐端口通断赋值。 在音乐程序未初始化且音乐未结束时,判断同一频率运行时间是否大于等于频率设置时间,若是则进行程序的初始化设置,若不是则判断单片机音乐端口是否通断。 若单片机音乐端口开通则打开单片机该端口 ,若非通,则关闭单片机该音乐端口 。 本专利技术的方法实现了用单片机有限资源通过功放电路对音乐的准确和谐悦耳的模拟和播放,丰富了单片机仪器设计中的整体使用效果。附图说明 图1是本专利技术 一实施例中方法流程图 具体实施例方式如图1所示,本专利技术的具体实施方式是基于五线谱的音乐数字化方法,在判断为 音乐程序指令后作程序的初始化设置,查表给各个音乐频率赋值,查表给频率设置时间赋 值,查表给单片机音乐端口通断赋值。在音乐程序未初始化且音乐未结束时,判断同一频率 运行时间是否大于等于频率设置时间,若是则进行程序的初始化设置,若不是则判断单片 机音乐端口是否通断。若单片机音乐端口开通则打开单片机该端口 ,若非通,则关闭单片机 该音乐端口。 当在单片机中用一个中断产生音级,另一个中断产生音长。推而广之,如果单片机 中中断比较多,可以利用几个中断产生出几个音级,包括高音部和低音部,可以用几个中断 表出几个音长,利用程序控制曲谱的输出。就可以产生旋律了。 要产生音频信号,只要算出某一音频的周期(频率的倒数),将此周期除以2即为 半周期的时间,利用定时器计时此半周期时间,计时到后取反输出,重复此过程即得到此频率的声音信号。 定时器TO工作在定时方式l,产生不同的音频频率。必须考虑到中断响应时间 的影响,尤其在高音部分,若忽略中断响应时间,会使音频频率比标准值低几十Hz,相当于 1/4音程,很容易听出来,对低音部分影响不大。 一般中断响应时间为3 6个机器周期,经 过反复试验取5个机器周期作为校正最为恰当。另外,为避免T1中断可能引起杂音,应将 定时器T0中断设为高优先级。这样编写出来的程序播放的音与标准音叉进行差频校音,非 常准确和谐。 每个音符使用两个字节。低位字节(偶地址)代表音级,需要有寄存器(如00H)表示不发音(休止符),需要有寄存器(如01H 30H)依次表示的音级为c、 #c、 d、 #d、 e、 f、……a3、fe3、b3等等。高位字节(奇地址)代表音符的时值(拍数),有寄存器(00H OFH)依次表示拍数为1/8拍(0. 10s) 8拍(6. 40s)。 定时器Tl工作在定时方式l,定时时间为O. lOs左右,作为音符节拍的最小时间单 位,即1/8拍,该时间要求不必很准确,该时间越短,音乐播放节奏就越快。时间取O. 10s时。 其它的音符节拍都是1/8拍的整数倍,借助软件计数,允许中断的次数就是倍数。例如,要 得到l拍的延时,只要中断8次即可。 要编写的乐谱按要求以音符字节数据表的形式存放在程序中,改变乐曲就是通过 改变该数据表的内容来实现的。主程序的任务是按顺序读取数据表中的字节,根据情况调 用音级子程序和音长子程序,启动定时器T0;根据定时器T1应中断的次数,启动定时器T1。 数据表读完后,根据所设置的循环演奏次数决定是否结束程序。音级子程序的任务是取出 字节中的音级部分,分析寄存器(如THO和TLO中)应送入何值,送给寄存器(如R3、R2)。 音长子程序的任务是取出字节中的音长部分,分析确定定时器Tl应中断的次数,次数送寄 存器(如R4)中,同时启动定时器T1,直到完成所需拍数。定时器TO的中断服务程序任务 是取反单片机音乐端口输出产生方波,重新为寄存器(TH0,TL0)送初值。定时器T1的中断 服务程序任务是判断节拍数完成否,关闭定时器T0、T1中断。权利要求,其特征在于,在判本文档来自技高网
...

【技术保护点】
一种基于五线谱的音乐数字化方法,其特征在于,在判断为音乐程序指令后作程序的初始化设置,查表给各个音乐频率赋值,查表给频率设置时间赋值,查表给单片机音乐端口通断赋值。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨凤生
申请(专利权)人:上海精密科学仪器有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1