WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章SMS MMSMMS技术手机铃声格式规范,midi格式规范

手机铃声格式规范,midi格式规范
作者:佚名  来源:天堂鸟  发布时间:2005-7-8 15:18:00
t is B7
<special-duration> := "." ; Dotted note
; End of specification
-------------------------------------------------------------------------------------------

midi format:
标准MIDI文件格式



标准的MIDI文件格式就像奇异的兽。总体看来,它是那样的让你无法抗拒。当然,你怎样看它无关紧要,可是用足够多的描述符描述一段音乐并使它能够重现,可不是很少的工作就可以完成的。然而,它虽然复杂,但是真正理解之后,MIDI文件格式的结构还是很直观明了的。

在这里我必须放弃一些东西,因为毕竟我不是MIDI也不是MIDI文件专家!最近我为我的PC准备了一块Gravis 超音频音效卡,利用它听完几段MIDI文件(.mid)之后,想:“呵,我要是能够制作自己的MIDI(.mid)文件该多好啊!”嗯,经过烦人的几个小时之后,我发现,那些并不是没有价值的工作。但是,我是不会让一个冗长的文件格式就能够阻止的(此外,我告诉过我的妻子,计算机不是很难用的,而且我十分憎恨当一个伪君子)。那么,在这篇文章中如果发现什么错误,请让我知道,我会修改它的。同时,这份文档的范围并没有提供所有类型的MIDI命令和任何可能的文件配置!这篇基本指南将使读者能够(以中等的时间投资)制作出MIDI类型的文件。

1.概述:

一个MIDI文件基本上由两个部分组成,头块和轨道块。第二节讲述头块,第三节讲述轨道块。一个MIDI文件有一个头块用来描述文件的格式、许多的轨道块等内容。一个轨道可以想象为像一个大型多音轨录音机那样,你可以为某种声音、某种乐谱、某种乐器或者你需要的任何东西分配一个轨道。

2.头块:

头块出现在文件的开头,有三种方式来描述文件。头块看起来一直是这样的:
4D 54 68 64 00 00 00 06 ff ff nn nn dd dd

前4个字节等同于ASCII码MThd,接着MThd之后的4个字节是头的大小。它将一直是00 00 00 00 06,因为现行的头信息将一直是6字节。

ff ff是文件的格式,有3种格式:
0-单轨
1-多规,同步
2-多规,异步

十六进制 二进制 数据 描述
00   00000000  nn ssss   设定轨道的序号
              nn=02 (两字节长度的序号)
              ssss=序号

01   00000001  nn tt ..   你需要的所有文本事件
             nn=以字节为单位的文本长度
              tt=文本字符

02   00000010  nn tt ..   同文本的事件, 但是用于版权信息
              nn tt=同文本事件

03   00000011 nn tt ..   序列或者轨道名
             nn tt=同文本事件

04   00000100  nn tt ..   轨道乐器名
              nn tt=同文本事件

05   00000101  nn tt ..   歌词
              nn tt=同文本事件

06   00000110  nn tt ..   标签
              nn tt=同文本事件

07   00000111  nn tt ..   浮点音符
              nn tt=同文本事件

2F   00101111  00      这个事件一定在每个轨道的结尾出现

51   01010001  03 tttttt  设定拍子
                tttttt=微秒/四分音符

58   01011000  04 nn dd cc bb 拍子记号
                nn=拍子记号分子
                dd=拍子记号分母2=四分之一
                3=8分拍, 等等.
                cc=节拍器的节奏
                bb=对四分之一音符标注的第32号数字

59  01011001  02 sf mi   音调符号
               sf=升调/降调(-7=7 降调, 0=基准C调,7=7 升调)
               mi=大调/小调(0=大调, 1=小调)

7F   01111111  xx dd ..   音序器的详细信息
              xx=被发送的字节数
              dd=数据

下表列出了控制整个系统的系统消息。这里没有MIDI通道数 (这些一般仅应用于MIDI键盘等.)

十六进制   二进制 数据     描述

F8   11111000         同步所必须的计时器
FA   11111010         开始当前的队列
FB   11111011         从停止的地方继续一个队列
FC   11111100         停止一个队列

下表列出的是与音符相对应的命令标记。
八度音阶¦¦          音符号
 # ¦¦
   ¦¦ C ¦ C# ¦ D ¦ D# ¦ E ¦ F ¦ F# ¦ G ¦ G# ¦ A ¦ A# ¦ B
-----------------------------------------------------------------------------
 0 ¦¦ 0 ¦ 1 ¦ 2 ¦ 3 ¦ 4 ¦ 5 ¦ 6 ¦ 7 ¦ 8 ¦ 9 ¦ 10 ¦ 11
 1 ¦¦ 12 ¦ 13 ¦ 14 ¦ 15 ¦ 16 ¦ 17 ¦ 18 ¦ 19 ¦ 20 ¦ 21 ¦ 22 ¦ 23
 2 ¦¦ 24 ¦ 25 ¦ 26 ¦ 27 ¦ 28 ¦ 29 ¦ 30 ¦ 31 ¦ 32 ¦ 33 ¦ 34 ¦ 35
 3 ¦¦ 36 ¦ 37 ¦ 38 ¦ 39 ¦ 40 ¦ 41 ¦ 42 ¦ 43 ¦ 44 ¦ 45 ¦ 46 ¦ 47
 4 ¦¦ 48 ¦ 49 ¦ 50 ¦ 51 ¦ 52 ¦ 53 ¦ 54 ¦ 55 ¦ 56 ¦ 57 ¦ 58 ¦ 59
 5 ¦¦ 60 ¦ 61 ¦ 62 ¦ 63 ¦ 64 ¦ 65 ¦ 66 ¦ 67 ¦ 68 ¦ 69 ¦ 70 ¦ 71
 6 ¦¦ 72 ¦ 73 ¦ 74 ¦ 75 ¦ 76 ¦ 77 ¦ 78 &brv

上一页  [1] [2] [3] [4] [5] [6]  下一页

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码