电脑技术学习

IMY铃声格式及手工输入方法初探

admin
升级68i的软件这么久了,相信很多人都跟我一样只会通过电脑传送IMY文件的方式获取铃声,可不知是不是我的个别现象,反正传入的铃声都无法编辑,显示“无法打开项目,删除项目”!直接恶果是我想自己添加一些特效的梦想落空:(
在网上寻找良久,始终不得要领。经过自己这两天的摸索,有些心得,奉献给大家:
(一)IMY基本格式解析:
##########################
BEGIN:IMELODY
VERSION:<version>
FORMAT:<format>
[NAME:<ring_name>]
[COMPOSER:<composer_name>]
[BEAT:<beat>]
[STYLE:<style>]
[VOLUME:<volume>]
MELODY:<melody>
END:IMELODY
###########################
注:[]中为可选项;<>中为变量;两排#号间为要存储为*.imy文件中的内容
变量详解:
(1)<version>:版本号。唯一值1.2
(2)<format>:格式编号。取值CLASS1.0|CLASS2.0(不了解后者是否被T68支持,一般填CLASS1.0)
(3)<ring_name>:ASCII字符,铃声名
(4)<composer_name>:作者名
(5)<beat>:节奏。取值从25到900bpm(拍/分钟),越大节奏越快,缺省120
(6)<style>:风格。取值为S0|S1|S2。
;;;; S0:普通。每音符间有暂停,音符与暂停时间比为20:1,缺省值
;;;; S1:持续。每音符间无暂停
;;;; S2:断奏。音符与暂停时间比为1:1
(7)<volume>:音量。取值V0到V15。V0为静音,缺省V7
(8)<melody>:旋律字符串
具体格式:{<silence>|<note>|<led>|<vibe>|<backlight>|<repeat>|<volume>}
;;<silence>:休止符。r<duration>[<duration-specifier>]
;;;;;<duration>:"0" | "1" | "2" | "3" | "4" | "5",分别为全音符、半音符、1/4音符...1/32音符
;;;;;<duration-specifier>:"." | ":" | “;”;延时符,1.5倍、1.75倍与2/3倍
;;
;;<led>:led特效。"ledoff" | "ledon"
;;
;;<vibe>:振动特效。"vibeon" | "vibeoff"
;;
;;<backlight>:背景灯特效。"backon" | "backoff"
;;
;;<repeat>:重复特效。"("+<melody>+"@n)";;;n取值0到无穷大
;;<note>:音符。格式为[<octave-prefix>]<basic-ess-iss-note><duration>[<duration-specifier>]
;;;;<octave-prefix>:音阶。取值"*0" | "*1" | … | "*8" (a=55Hz) | (a=110Hz) | … | (a=14080 Hz)
;;;;;;;;;;;;;;; 缺省"*4",代表标准音(小字一组a音为880Hz)
;;;;;;;;;;;; 特别提示:用68的编辑器录入时只有"*4"到"*8"
;;;;<basic-ess-iss-note>:具体唱名。
;;;;<basic-note>取值"c" | "d" | "e" | "f" | "g" | "a" | "b"(自然音)
;;;;<ess-note>取值"&d" | "&e" | "&g" | "&a" | "&b"(降半音)
;;;;<iss-note>取值"#c" | "#d" | "#f" | "#g" | "#a"(升半音)
(二)手工录入方法:
大家是不是已经看晕了?反正我自己已经快晕了。OK,进入正题,让我们用随机带的一首Funky来做例子
从手机中导出的funky.imy如下:
BEGIN:IMELODY
VERSION:1.2
FORMAT:CLASS1.0
STYLE:S0
VOLUME:V2
MELODY:vibeong2vibeoffbackoff*5d3g3*5&d3g2*5c2.backonledong2backoffledoff&b2backonledong2ledoffbackoffvibeonr2vibeoff*5d3g3*5&d3g2&b2.g2f2g2vibeonr2vibeoff*5c3*5&d3&b3g2&b2.backong2backofff2backong2backoffvibeonr2vibeoff*5c3*5&d3&b3g2&b2.r2r2backond4backoffr4backond4backoffr4
END:IMELODY
取"vibeong2vibeoffbackoff*5d3"来举例说明录入方法:
进入“编辑器”:
(1)按OPTION键(YES下面的)-2-6,插入"vibeon"
(2)"g2"前面无"*4",为缺省音阶,按5,插入标准音阶的1/4音符g音
(3)按键OPTION-2-5,插入"vibeoff"
(4)按键OPTION-2-3,插入"backoff"
(5)按键2-0-8,插入高八度的1/8音符d音(*5意味着高八度,按0提升;d后面的3是指1/8音符,按8减少持续时间就将原来的1/4音符减为1/8音符,其后节拍有变化记得用8和9调整!)
再取接近最后的"&b2.r2r2backond4backoffr4"说明:
(1)按键7-#-OPTION-6-“四分音符”-YES,插入"&b2.",降半度的1/4音符b音,带附点延长(原长的1.5倍)
(2)按键*,插入1/4拍休止符"r2"
(3)同(2)
(4)按键OPTION-2-4,插入"backon"
(5)按键2-8-8,插入1/16音符"d4"(用8键调两次从原1/4拍得到1/16拍)
(6)按键OPTION-2-3,插入"backoff"
(7)按键*,插入1/16休止符"r4"(为何不用8和9调整呢?注意第(5)步已经设置成了1/16拍!)
例二:HeartBeat
BEGIN:IMELODY
VERSION:1.2
FORMAT:CLASS1.0
BEAT:56
MELODY:(ledonvibeonvibeonvibeonvibeonvibeonledoffvibeoffr5ledonvibeonvibeonvibeonledoffvibeoffr2@101)
END:IMELODY
输入序列不全列上,只取关键处:
(1)按键OPTION-3-输入56,将节奏改为56
(2)按键OPTION-2-7,设置重复段起点
......(中间过程略,到"@101"之前)
(3)按键OPTION-2-8-9(长按9直到右上角数字变成101),设置重复段结尾,并设置重复次数为101次(不按9而直接按一次8会变成无穷大的标志)
大功告成!原理与基本操作已经告诉大家,享受自己手工慢慢编曲的快乐(or痛苦)吧!
不过若真有人能用T68的编辑器手工录入那没有长度限制的imy铃声,我由衷地佩服他的毅力:)有些短小的imy效果铃声,到不妨练练手。
篇后语:今天夜班,闲来无事,遂成此文。多从IMY的英文版基本格式说明入手,对照导出的IMY文件,多番试验,终有所成,不敢独享。鉴于对作曲完全不了解,以及对英文理解可能有偏差,难免有错漏之处,欢迎指正,共同探讨。