文档详情

音色是构成乐音的基本要素之一

痛***
实名认证
店铺
DOC
58KB
约40页
文档ID:160950994
音色是构成乐音的基本要素之一_第1页
1/40

      音色是构成乐音的基本要素之一在传统音乐的创作过程中,从作曲家、指挥家、 演奏家到录音师,各人的关注点不尽相同,但对音色的苛求他们都是毫不含糊的在这 里,音色的基本性质主要取决于发音的乐器因此,对具有不相同音色的乐器的选择和 雕琢,就成为那些环节中颇费心思而又需要优先解决的问题      到了MIDI音乐似乎就大不一样了打开一个作曲软件或菜单屏,找到它的音色选择 清单,竟有如此众多的音色供选择!顷刻间能让你惊叹不已鼠标轻轻一点,手到擒来 ,竟是如此的轻松便捷!然而,也常常会有让人困惑以至奈何不得的时刻:明明选用了 某种音色,发出的却是另类声音;音色已选用了,软件的音色表中却“看”不出来;音 源中上好的音色一大串,到软件的音色表选择栏中却偏偏对不着号;兴高采烈地扛回家 一台新音源(或合成器),汗流浃背也找不着软件中的音色清单却让人兴致全无……      音色表究竟出了什么问题?音乐软件出了什么“错”?即便找来某些电脑DIY“高手 ”也一时难于下手……其实,我们完全可以自己动手“排错解难”,并同时体验一回 当“准软件工程师”的乐趣本文将为你提供这一途径      (一) 音色参数文件的作用无论是音色表的神奇,还是它的无奈,其实都不是音色 表本身的功和过,真正起作用的是隐藏在它身后的软件程序文件组中的音色参数文件。

该文件决定了音色表及相关的音色栏目中的列表显示内容,决定了在MIDI制作中与音色 相关的一系列因素和软硬件的响应音色表只是一个向我们展示音色参数的窗口,为人 们提供了一个与机器友好交流的操作界面      音色参数文件的功能主要表现在以下几个方面:      1. 标识MIDI乐器,选择音源设备: 这是音色参数文件的第一项功能当前,投放 市场上的音源、合成器等发音设备,生产厂家不少,型号众多,产品更新换代的频率也 越来越高MIDI制作室和MIDI音乐制作人所使用的音源类设备各异,不同的设备的音色 数据设置具有不同的个性特点一般的MIDI音乐软件中都存放了与许多常见的发音设备 相对应的音色参数文件,它们对这些不同音源的音色数据一一作好了定义,用户可以根 据自己当前使用设备的厂家和型号,从软件的音色表中挑选出对应的音源或合成器的音 色组,从而使软件和硬件的配套和协调精确、高效      2. 指定音轨使用的音色: 这是音色参数文件更为重要的功能按照GM的规范,MI DI音源应当具有128个标准音色它们的名称和排列都是固化了的实际上,绝大多数音 源和合成器产品中存有的音色远远超出了这个数GS规格和XG规格把128个音色当作其中 的一个组——基本音色库的音色,在此基础上新增了若干个扩展音色库,理论上可以达 到16384个,每个音色库当中又可以有128个音色位。

目前这些音源中的实际音色总数已 经是用千位来计算了但遗憾的是,GS和XG的扩展音色的排列、音色命名和数据格式都 有相当的差异就是同规格、同厂家的产品,不同型号乐器中预置音色的数量和状态也 会有所不同此外,还有一些非GM、GS和XG规格的产品,他们本身强调的就是个性,音 色数据更是千差万别      解决MIDI技术中普遍存在的这种多元化现象,音色参数表即担当此任它依据各种 不同的MIDI乐器(音源或合成器)的音色拥有量、音色命名、排列方式和音色数据格式 ,按照音乐软件数据接口读数和转换—的要求,对应地编写进音色参数文件它让你在 操作界面上,只需要与简单明了的音色名称打交道用户端只要在音色表中挑选出相应 的MIDI音源设备音色组,然后就可以轻松自如地“点”取该设备中的任意音色了      2. 指定音轨使用的音色: 这是音色参数文件更为重要的功能按照GM的规范,MI DI音源应当具有128个标准音色它们的名称和排列都是固化了的实际上,绝大多数音 源和合成器产品中存有的音色远远超出了这个数GS规格和XG规格把128个音色当作其中 的一个组——基本音色库的音色,在此基础上新增了若干个扩展音色库,理论上可以达 到16384个,每个音色库当中又可以有128个音色位。

目前这些音源中的实际音色总数已 经是用千位来计算了但遗憾的是,GS和XG的扩展音色的排列、音色命名和数据格式都 有相当的差异就是同规格、同厂家的产品,不同型号乐器中预置音色的数量和状态也 会有所不同此外,还有一些非GM、GS和XG规格的产品,他们本身强调的就是个性,音 色数据更是千差万别      解决MIDI技术中普遍存在的这种多元化现象,音色参数表即担当此任它依据各种 不同的MIDI乐器(音源或合成器)的音色拥有量、音色命名、排列方式和音色数据格式 ,按照音乐软件数据接口读数和转换—的要求,对应地编写进音色参数文件它让你在 操作界面上,只需要与简单明了的音色名称打交道用户端只要在音色表中挑选出相应 的MIDI音源设备音色组,然后就可以轻松自如地“点”取该设备中的任意音色了      4. 指定MIDI控制器名称: 这是有些软件的音色数据表的“兼职”功能MIDI控制 器是制作中使用最频繁的技术手段之一,它对音乐的表现力起决定的作用,给软件作这 种指定显得尤为重要充分发掘音源或合成器的MIDI控制器功效,是提高MIDI音乐质量 的重要途径图5 Cakewalk控制器名称】      在整个MIDI制作链中,音色参数文件充当了用户、计算机和音源设备三者之间的翻 译密码册,成为他们互相沟通的桥梁。

     (二) 音色参数文件的编辑思路      音色参数文件是为MIDI音乐软件即时提供音色显示、音色选项、音色编码以及与音 色相关的软件操作环境的参数文件,它是程序文件组的补充和扩展因此,它的数据编 写方式和功效是由其所属的MIDI音乐软件所规定了的      1. 音色参数文件的构架: MIDI音乐软件中的音色参数文件,一般都由固定扩展名 (后缀)的同一种类型的文件组成由于MIDI音源设备的种类繁杂,且还在日益增多, 为便于管理和使用,通常都是按MIDI乐器的生产厂家,分列为各个不同的音色参数文件 目前的许多综合音源,一台之中就有数千种音色,因此也有的干脆就按不同的MIDI乐 器产品分列它们用MIDI乐器生产厂家或乐器名称命名文件,由此组成一个音色参数文 件组      比如Musicator的音色参数文件均以mod为扩展名,其3.0中文版的安装文件中就含有 SC55inst.mod、MU90.mod、MU100.mod、VL70m.mod、JV1080.mod、XP80.mod等20余个音 色参数文件有的音色软件将音色参数文件分为几类,不同类型的参数文件在软件中分 担着不同的职能。

比如XGworks中的音色参数文件就分为两类,混合音色表参数文件Mix erVcelist.ini和事件表显示分列文件组文件      音色参数文件内部数据呈结构化和模块化组合,类似于常见的高级计算机语言采 用列表式或赋值式语句,显得相当简洁、通俗,让人一目了然每个文件至少有一个音 色指定模块(段落),有扩充音色库的音源设备,除了有指定基本库的音色模块外,以 下还有分别定义其它音色库音色的数据块也有的采用分级嵌套的方式编写数据数据 模块(段落)内,每行定义一种音色(也称乐器),其中必须指定该音色的库号选择MS B、库号选择LSB和程序号Program ,以及音色名称,或许还有相应的代码      有的软件采取多音源多项目集成的方式编写,在一个音色参数文件内把同数据类型 同厂家的MIDI乐器都列入其中由于音色等内容庞杂,且又有不少是相互通用的部分, 因此,采用类似于C语言中的定义和调用函数的方式写入数据,比如Cakewalke音色参数 文件,它虽然文件较大,但编写效率高,调用起来比较方便      2. 音色参数文件的调用: 音色参数文件的使用一般无需用户直接参与,在软件的 启动过程中,它将会自动地寻找音色参数文件,将它们读入并作好设置。

但有的软件对 缺省方式以外的音色参数文件的选择和调用,需要用户按操作要求自己动手Cakewalk 中要改变当前的音色选项,必须首先能从程序文件认出所需要的音色参数文件,或者另 外给出一个新的参数文件,然后分导入音色参数文件和选用音源设备(乐器)两步完成 音色调用      Cakewalk 音色参数文件的导入步骤是:进入Tools...(工具)/Instruments(乐 器)菜单,先后点击Define(定义)、Import(导入)按钮,弹出的对话框将会把程序 目录下的所有音色参数文件列出来供你挑选,你可以从中点取所需要导入的文件图 6 进入Tools/Instruments,先后点击Define、Import,选音色参数文件】 接下来, 在Improt Instrument Definitions(引入乐器定义)对话框中选取所需的一个或多个音 源设备图7 选取一个或多个音源设备】      而后,再回到Tools/Instrument菜单,在Assign Instrument(指定乐器)对话框 中,将左侧Port / channel栏中的每一个通道与右侧Uses框中的所需音源设备连结起来 。

图8将通道与音源设备连结起来】      它为我们提供了使用音源的灵活多样性:既可以让所有的通道使用同一音源,还可 以让不同的通道使用不同的音源导入和调用操作也可以到Cakewalke的音轨窗中,从双 击Patch(音色)栏开始      3. 为什么要编辑音色参数文件: 音色参数文件一般都是由软件设计者或MIDI乐器 厂家编写,或附在程序文件中,或通过其它途径(如Internet网)发放既然如此,为 什么还需要我们考虑文件编写的问题呢?      在实际应用中,光会使用现成的音色表(音色参数文件)是远远不够的事实上, 随着电脑科技的飞速发展,电子乐器的更新换代日益加快音源和合成器新产品投放市 场,与对应于它们的音色参数文件的发布往往是不同步的,音色参数文件一般都滞后于 设备的发布,其时差甚至相当大更何况一种新音源和合成器产品面向的又是种类繁多 的MIDI音乐软件,这就意味着等待着他们的是将要去分别编写对应于这许多不同软件的 不同格式的音色参数文件无论是对MIDI乐器厂家,还是软件开发设计商而言,这都是 一个难以周全应对的情况      对音乐人来说,买来新乐器后,一般都要被迫放弃MIDI音乐软件中使用音色的常规 操作,重新回到手控音源面板上的旋纽的原始操作中去。

要知道,用户对这个新乐器的 使用效率,就等于他投资购置它的效益!面对这种厂商的“无暇”顾及的“小事”,为 什么不可以考虑自己动手去解决呢?      即便是现成的音色参数文件,在音色操作中,我们也会经常为自己不习惯或不喜欢 原有的设计而叹息比如,有些对英文不大熟悉的人就很不喜欢那种没有音色号和库号 ,尽用英文显示音色(乐器)名称的音色选择对话窗对此,我们也完全可以动手,在 音色参数文件中,加上所希望有的音色标号,或直接把音色显示名称由英文改用中文        还可以根据制作音乐的风格和自己的爱好,对音色参数文件中原有的音色重新分组 或重新建组,形成个人化的音色选项单例如Roland的SC88-pro和YAMAHA的MU128等音源 中含有中国民乐音色,但它们都夹杂在128个基本音色下的数十个音色库之当中,调用时 寻找起来很不方便我们可以把所有的中国民乐音色集中编为一个组打开音色列表, 只要挑选中国民乐组音色,一个民族乐队就尽展眼前图9 新增Musicator中国民乐音 色组】      4. 编辑音色参数文件的方式: 如前所述,我们完全有理由把音色参数文件看作是 一种简单明了、易懂易编的普通文件。

音色参数文件后缀不尽相同,但一般都是ASCII码 文本类文件凡是文档编辑软件,都可以将它们打开如Windows附件应用程序中的记事 本、写字板工具、文字处理系统Micorosoft Word和WPS等等,可以在这些编辑器中修改 或编写音色参数文件要把它们当作“文本文件”类型读入      文件内容只能采取文本编辑方式编写,不可作字体、颜色、版式等其他版式编辑 编好后的文件也一律要用“文本方式”存储,最好使用记事本编辑器编写保存后的文 件如果是txt文件,则必须把它的后缀txt改成与你所选用的软件中的音色参数文件的后 缀      对英文不熟悉或不感兴趣者,可以在音色表标题、分组标题和音色名称中直接输入 中文在中文Windows环境下,软件的音色表中将全部以中文显示      每种类型的MIDI音乐软件都有它特有的音色参数文件,不仅文件的扩展名不同,文 件的大小、数量不同,文件内部的层次结构和语句书写的格式都可能有些区别虽然其 结构比较简单,但它们的法则是严格的只有按照它们的各自的规格编写,才能保证编 写的数据能在软件中得到正确的体现和响应      (三) Musicator音色参数文件的编辑      Musicator是专业音乐工作者较喜爱的MIDI音乐软件。

它的音色参数文件由若干个以 音源名称为主文件名(前缀),以mod为扩展名(后缀)的文件组成按Musicator自带 文件的规范,一台综合音源设备中的普通音色和鼓组音色需要分列为两个音色参数文件      1. 文件结构和语句格式:Musicator的音色参数文件内部结构比较简明单一,共有 三类不同功能的语句,每句书写一行      一是音色表标识语句它处在文件开头的第一行,可以由任意的字符(字母、数字 、中文均可)组成,一般都把这个文件所编写音色的音源设备名称作为该句的内容这 一行的字符将原样显示在音色表上部的乐器名称下拉选择框中,供人们选择音源设备        二是音色定义语句每行(句)定义一种音色,这是文件中最多也是最重要的语句 每行的书写分为两个部分第一部分是库号和程序号,其中又可以包含三个数字:第 一个数字是音色库号选择MSB的值,数值范围是0-127;第二个数字是库号选择LSB的值 ,数值由1-128,如果不用设置MSB和LSB,则可记作-1;第三个数字表示音色程序号p rogram(音色号),数值由0-127,它与通常人们所认定的音色号(N)是N-1的关系 第二部分是音色名称说明文字,可以用字母、数字,也可以用中文。

以上每个数字和部 分之间用一个空格符分隔图10 音色定义语句】      三是音色分组标题和标识语句从文件的第二行开始,凡是与音色定义语句的格式 不相同的字符行,均一律视之为分组标题语句可以使用任意字符,标题行中的字符将 会在软件音色窗的乐器组窗中显示出来作为标识,从当前标题行至下一个标题行之间 的所有定义的音色,都将归属于这个分组之中,音色表显示在右边的音色栏内      下例是XP-80的音色参数文件的内容:      XP-80 Presets ---- 音色表名称      Preset Bank A ---- 分组标题      81 0 0 64Voice Piano      81 0 1 Bright Piano ---- 音色定义      81 0 2 Classique ---- 音色定义      ………………      Preset Bank B ---- 分组标题      81 1 0 Dist Gtr 1 ---- 音色定义      81 1 1 Dist Gtr 2 ---- 音色定义      81 1 2 R&R Chunk ---- 音色定义      ………………      在最后一行的“音色定义”中,前部分的“81”是MSB,“1”是LSB,“2”是音色 号;后部分的“R&R Chunk”是音色名称。

其它“音色定义”行与此相同      2. 例说新增普通音色组: 了解了Musicator音色参数文件的结构后,就可以在原有 的文件中随意增减音色和音色组      在编辑文件之前,一定要读清楚所用音源或合成器的技术说明书,弄清楚音色库的 数据结构和相关数值,准确了解其音色组、鼓组各音色的MSB、LSB和Program值以及音色 名称这些都应当是举手之劳了剩下的就是用一个文档编辑软件(如记事本)新建或 者打开一个参数文件,按以上格式照本输入,最后存为一个以MOD为扩展名的文本类文件 就可以了也可以直接用中文输入音色表标题、分组标题和音色名称      例如,拥有一台SC88Pro音源,为了提高效率,避免在做民乐时费时去搜寻民乐音色 ,计划把散落在各个音色库中的所有民乐音色集中到一块,新编一个中国民乐组可以 按以下步骤操作:      第一步,用“记事本”(Notepad.exe)打开Musicator安装目录下的SC88Pro音源的 音色文件SC88Pro.mod读取文件操作中,应当在“打开文件”对话框的文件类型中选择 “所有类型”,否则在文件列表栏中看不到这个文件      第二步,在SC88Pro.mod文件的最后,加上一行分组标题“China Instruments”或 “中国民乐”。

再到文件中分别找出所有的中国民乐音色,并把它们把一一拷贝到这个 分组标题之下      第三步,存储文件,即告结束如果被修改的文件是“只读”属性不能直接“存储 ”,就要先在这个文件的属性选项中,取消“只读”属性      修订后的SC88Pro.mod文件如下:      SC-88Pro      Piano      0 -1 0 Piano 1      0 -1 0 Piano 1w      16 -1 0 European Pf  以上是原文件      …… ───┘      China Instruments  ───┐      16 -1 72 Di 以下是新增的段落      9 -1 105 San Xian      32 -1 105 PiPa      1 -1 107 Gu Zheng      8 -1 110 Ev Hu      9 -1 110 Gao Hu      32 -1 111 Suona 1      33 -1 111 Suona 2      在一个音色参数文件中,可以一表一音源,也可以一表一类音源,或者数种、数类 音源都组合在一个文件中,只要符合编写格式,分类清晰可辩,把不同音源设备用分组 标题指明即可,Musicator约定俗成的分置文件原则是可以打破的。

     新建的或修改后音色参数文件,只要放在Musicator安装目录下,软件启动时就会自 动读入使用Musicator 2.0及以下版本时须注意,它的音色表最多只能读入10个音色 参数文件因此,应当把那些用不上的音源或合成器的音色参数文件删除      (四) Cakewalk音色参数文件的编辑      Cakewalk是至今为止使用者和为其撰文著书最多的音乐软件,笔者在这里再进一步 揭开其音色参数文件的神秘面纱      Cakewalk的音色参数文件以ins为后缀(扩展名),主文件名一般用厂商或MIDI乐器 品牌的名称,一个文件中含有这个厂商或品牌的一系列MIDI乐器这个文件主要是为软 件提供有关音色的参数,但还包含有MIDI控制器的作用参数Cakewalk的安装文件中自 带有许多个这样的参数文件      1. 四个模块的结构和功能: 在ins文件内,一般可分为4个大的模块:音色名称( Patch Names)模块、音符名称(Note Names)模块,控制器名称(Controller Names) 模块和乐器定义(Instrument Definitions)模块,每个部分的起始处,用英文句点加 上模块的英文标题开头。

后面紧跟的是该模块的参数      各模块之间,以“;----------------”分割其中的分号相当于汇编语言中的分 号或DOS命令中的“REM”,表明该行中此标号后的字符在软件读数时,将会被忽略,它 仅起注释作用,为编写或阅读参数文件者作参照      文件中的四个模块分述如下:      ① Patch Names(音色名称): 这第一个模块的作用,是定义所有的音色库及其所 包含的音色名称其中,以音色库为单位又可以分为若干个音色定义段落每个音色库 段落的第一行是加方括号的音色库名称从第二行开始,均是定义各个音色名称的语句 ,每句采用赋值式的结构它的格式是:“音色号=音色名称”音色号取值0-127,音 色名称可以是任意字符及组合在这里,音色号的值=常规音色号 - 1例如:      21=22 Acordion      等号右边的 Acordion(手风琴)是音色名称, Acordion音色在GM中列为22号音色 ,它的前面照常标为“22”,它们将会显示在音轨窗的Patch(音色)栏中图11 等 号右边音色名称显示在Patch栏中】      等号左边,赋值音色号=22-1,因而记作“21”,它是供软件读入的音色号值。

     在当前编辑的音色参数表中即将要定义的所有音源设备的所有音色库及其音色,都 应当以音色库为单位,在Patch Names块内,照以上格式定义,并且最好以单个设备为线 索顺序编写,以便于最后的调用      以下是YAMAHA.ins的音色名称模块中开头的一部分段落:      --------------------------------------------------------      Patch Names ---- 模块名称      [MU80-90R Bank 0] ---- 音色库标识      0=01 GrandPno ---- 音色定义      1=02 BritePno      2=03 E.Grand      3=04 HnkyTonk      …………      [MU80-90R Bank 1 (KSP)] ---- 音色库标识      0=01 GrndPnoK ---- 音色定义      1=02 BritPnoK      2=03 ElGrPnoK      …………      [MU80-90R Bank 100]      …………      ② Note Names(音符名称): 由于多数音源设备的鼓组和音效音色是按照“程序 号定音色组、音符号区分单个音色”的原则排列,因此,鼓组及音效组的音色仅仅在Pa tch Names模块中定义是不够的,还必须在指明程序号后,再指明其各个音色所在的音位 (键位),这就是Note Names模块要实现的目的。

     在Note Names中,对应于上一个模块中定义的鼓组音色组,分别将每个音色组列为 一个段落,再对它的每个音符(键位)的音色予以命名如:      60=Bongo H      其中,“60”是中央C的MIDI音符号,“Bongo H” 是打击乐器音色名称(高音邦戈 鼓)      一个音色组段落内的语句是,首先以方括号列出以上定义的这个鼓组的名称,再用 “音符号=音色名称”的格式,以音符号为序,分别赋予每个音位相应的音色名这里指 定的打击乐名称在鼓组音轨的钢琴卷帘窗中,将会按键盘排序予以标出图12 打击乐 名称在钢琴卷帘窗键盘上标出】      鼓组的划分一般都是以某种特定的音乐风格为线索,集合一整套打击类乐器的音色 因而在这许多不同的组合中,有许多常用的音色(乐器)是相同的为了减少“音符 名称”定义中的大量重复,可以在其中(第二行)加上一个“Based On=××××××” 语句,用作基本音位音色的缺省指定也就是只需定义本段落中特有的音位的音色名称 ,其它与已经定义了的“××××××”鼓组音色相同部分的定义语句就可以省略例 如:      Note Names ---- 模块名称      [MU80-90R Analog Kit] ---- 鼓组名称      BasedOn=MU80-90R Standard Kit -- 缺省指定      28=Reverse Cymbal ----指定键位音色名      30=Hi Q      31=SD Rock H      33=Bass Drum M      35=BD Analog L      …………      [MU80-90R Standard Kit] -- 缺省指向的鼓组      13=Surdo Mute      14=Surdo Open      15=Hi Q      16=Whip Slap      17=Scratch H      …………      在这里,等号左侧的音符号供软件识别键盘,等号右侧的音色名称将会原样显示在 钢琴卷帘窗中对应的键盘上。

     音效组键位音色的定义与鼓组相同      ③ Controller Names(控制器名称): MIDI控制器的编号和名命在GM、GS和XG的 产品中有些区别,其他规格的产品差别就更大在Cakewalke中,可以根据产品的实际对 MIDI控制器在软件中的使用作出定义这项功能附加给了Cakewalk音色参数表的第三大 模块这里的格式与前面部分相同,每种MIDI乐器编写一个段落,首行用方括号列出“ 音源设备名称+Controllers”,从第二行开始,用“控制器号=控制名称”的格式,将该 乐器所使用的所有控制器一一列出控制器名称中的字符,将会在钢琴卷帘窗的控制器 选项下拉菜单和MIDI事件窗的第一数据栏中显示出来      【图13 控制器名称在钢琴卷帘窗的控制器选项下拉菜单中显示】【图14 控制器名 称在MIDI事件窗的第一数据栏中显示】      ④ Instrument Definitions(乐器定义): 如果说,前三大模块是建造所有MIDI 乐器的各个组件的话,那么,最后的Instrument Definitions模块,就是对这个音色参 数文件所含的各个乐器的音色表单元构件的总装了。

     这里以每一种MIDI乐器为一个段落,同样以方括号指定音色表名称,这个音色表名 将会出现在Cakewalk导入音色文件时的选单中下面就分别指定在这个乐器音色单中需 要从前面调用已经定义了的MIDI控制器、音色库及其音色、键位音色等段落      控制器指定句是“Control=已定义的一个控制器段落名称”控制器指定一般只有 一句,因为一种乐器只有一种控制器模式例如 Roland SC-55 音源的指定句为:      Control=Roland GS Controllers      音色库指定句的格式为“Patch[x]=已定义的一个音色库音色段落名称”一句指定 一个音色库,直到指定了该MIDI乐器的所有音色库为止 这里的x值,就是让软件识别 的音色库号编码例如      Patch[2]=Roland SC-88 Map Capital Tones      指定的数值x和音色库名称,将以“x-音色库名”的形式,出现在音轨窗的音色库栏 (Bank)中,同时也会在从音轨窗弹出的音轨性质(Track Preperties)对话框的音色 库选择栏中显示例如,有“Patch[1]=MU80-90R Bank1(KSP)”,一经选用,则软件中 的上述两处显示为“1-MU80-90R Bank1(KSP)”。

图15 x+音色库名称显示于音轨窗的 Bank栏】【图16 x+音色库名称显示于从音轨窗弹出的Track Preperties框的Bank栏】      如果这种乐器是鼓组或效果组,它们的单个音色是按键位(音符)分配的,就还要 写上指名在“音符名称”(Note Names)模块中定义键位音色段落的语句,格式是:      key[x, 程序号]=已定义的一个键位音色段落名称      其中x的值与上面的库号x值相同例如:      Key[2, 32]=Roland SC-88 Jazz Set      【图15 x+音色库名称显示于音轨窗的Bank栏】【图16 x+音色库名称显示于从音轨 窗弹出的Track Preperties框的Bank栏】      2. 关于Patch[x]中x的值: Patch[x]中x的值既然是音色库号的编码,按说大家不 会感到陌生但是说到这个“x”,人们却往往感到满头雾水,不得其解打开一个现成 的MIDI文件,普通音色的库号值x人们对它是一目了然的--不就是原本的音色库号么但 鼓组和音效等音色的值有如8192、16256等却不知从何而来要正确编写Cakewalk的参数 表,就必须弄清楚这个x的正解。

图17 音色库号等于16256……?】      在计算机语言中,记数的基本单位是一个二进制的“位”,每8位组成一个“字节” PC机的字长为16位,即由两个字节组成,其中处在高位的字节称MSB,低位字节称LSB 在MIDI通讯中沿用此法      我们知道,音色的选择是要由MSB、LSB和程序号(音色号)三个值共同来决定的 虽然,通常把LSB称作音色库号,但音色库的定位是由MSB和LSB两个座标共同作用的结果 由于MSB和LSB的有效数据位都各是7位,MSB和LSB共能形成14位二进制数值,换算成十 进制数,MSB和LSB各能计满128,那么,理论上他们可以有128×128=16384个定位,也就 是能够标出16384个音色库号这么多的库号从0开始按线性列举,不就出了0 - 16383的 编号么?      在这里,Patch[x]中x的值,就是MSB与LSB两值相交,并且换算成十进制数的结果 忽略不同进制数值的计算,可简单表述为:x=128MSB+LSB      当MSB=0时,x的值就是LSB的值比如XG音源中一般音色的MSB=0,Patch的方括号中 就可以直接写入库号LSB的值。

     当MSB≠0时,x的值就会出现大于127的现象例如,XG音源的鼓组的MSB=127,LSB =0,则x=128MSB+LSB= 128×127+0=16256;SFX库的MSB=64,LSB=0,则x=8192      无论什么音源,只要你从它的数据手册中找到它的库号选择MSB和LSB,据此就能正 确地写出它的音色库号编码x,并把它编入参数文件中      3. 例说增设鼓组音色: 从以上对Cakewalk音色参数文件结构的分析中可知,要在 一个音色参数文件中修改或增减相关的数据,必须同时在几个不同的大模块中进行不 仅要分别按照各部分的格式要求编写,而且还要将前后相互关联起来      普通音色和鼓组音色的编辑,后者比前者多了一个键位定义步骤下面,以在YAMA HA音色参数文件的MU100音源鼓组音色表中增加一个YAMAHA128音源的中国鼓组(China  kit)为例,具体说明有关的操作方法      ① 用记事本,用读入“所有类型文件”方式,打开YAMAHA.ins 图18 记事本用 读入“所有类型文件”方式打开ins文件】      ② 在Patch Names 模块中定义音色组。

先找到 [MU100 SFX Kits]段落由于MU12 8音源中国鼓组的MSB与MU100的SFX鼓组相同,所以,只需在这个段落中增加一行“Chin a kit”鼓组音色库的定义就可      [MU100 SFX Kits]      0=1 SFX 1      1=2 SFX 2      ……      34=35 China Kit 中国打击乐 ------ 新增加的定义行      新增鼓组将会出现在选项中图19 新增鼓组将会出现在选项中】      ③ 在Note Names模块中,插入一个“China kit”音色组的键位音色定义段落      在MU128音源中国鼓组中,仅有以下19个键分配了鼓音色采样,其他键都不发声,所 以不用写入作基本音位音色缺省指定的“Based On=”语句:      …………      [MU100 Small Latin Kit]      …………      [MU100 China Kit] ---- 新插入段落      36=Bangu 板鼓      37=Dagu Mute 大鼓闷音      38=Dagu Heavy 大鼓      39=Paigu High 高音排鼓      40=Paigu Middle 中音排鼓      41=Paigu Low 低音排鼓      52=Zhong cha Mute 镲闷音      53=Zhong cha Open 镲      54=Zhong luo Mute 大锣闷音      55=Zhong luo Open 大锣      56=Xiao luo Open 小锣      57=Xiao luo Mute 小锣闷音      58=Xiao cha Open 铙钹      68=Bang zi 梆子      69=Muyu High 高音木鱼      70=Muyu Mid-High 中高音木鱼      71=Muyu Mid 中音木鱼      72=Muyu Mid-Low 中低音木鱼      73=Muyu Low 低音木鱼      [MU100 Standard Kit (Basic)]      …………      步骤②中和这里的等号右边的乐器名称,可以只写中文,它们在中文环境下,将会 在相应窗口直接以中文显示出来。

图20 新增鼓组将会以中文显示】      ④ 在Instrument Definitions模块的[Yamaha MU100R Drum Kits]音色表单指定模 块中,增加鼓组音色库和键位音色的指定语句      由于中国打击乐组所在的MU100 SFX Kits鼓组在表中原先已经有了指定句“Patch[ 16128]=MU100 SFX Kits”,因此只要加入键位音色指定语句就行了:      [Yamaha MU100R Drum Kits]      …………      Key[16128,34]=MU100 China Kit ----新增行      …………      ⑤ 保存文件最好存为一个新的ins文件,或将原文件备份      ⑥ 启动Cakewalk,重新引入这个新的音色参数文件,并选用Yamaha MU100R Drum  Kits乐器参照“音色参数文件的编辑思路”有关部分操作      这时,我们就能够快速高效地利用原有的音色参数文件来为特有的MU128音源服务了 如果把以上几处“MU100……”改为“MU128……”,则软件中的显示就与你的音源完 全一致了。

     要添加普通乐器的音色,只需要在两个模块中操作:先在Patch Names 模块中添加 定义新增音色库及其所包含的各个音色的段落,然后到Instrument Definitions模块中 插入调用前面添加的音色库的语句就告完成      这些插入的段落和语句,必须准确地参照乐器说明书中的相关参数,严格地按规格 编写如果是对原有音色参数文件作修改,应当在动手之前先对原文件作一个备份      (五) XGworks音色参数文件的编辑      在Musicator和Cakewalk中,每种乐器的音色参数只有一个文件XGworks1.0的音色 参数文件有两个,一个主参数文件(混合音色文件)MixerVceList.ini和一个用近似乐 器名称命名、后缀为ini的辅助文件,前者起决定作用,后者仅作用于XGworks的MIDI事 件表软件中,前一类文件只有一个,它囊括了所有的音源设备数据,后一类文件有一 组      1. 主参数文件的层次和格式: 主参数文件MixerVceList.ini相对于前两个软件而 言,要显得复杂许多它采取的是分层定义,层层嵌套调用的结构编写整个文件分列 为若干个数据段落块,这些段落地就象是一座学校大楼内的每个房间一样,其中有校长 办公室、副校长办公室、各系主任办公室、各班级教室等等,他们虽然都各自占有一室 ,但他们相互之间是分级指向,分层隶属的关系。

在每一个数据段落块中,前四行是标 识本段落层级、功能、指向和大小等属性的说明语句,第五行以后,才是音色数据      每个数据段落都以方括号标题开头,段落间空一行段落的前四句都是以赋值的形 式,在等号后用数码指代相应的内容      这四个说明语句的性质及其值所指代的意义是:      “size”指明本段落所定义的项目的数量,也就是数据语句的行数      “box”指明本段落在文件中所处的层级,从0开始计数第一层(最高层)为“0” ,第二层是“1”,第三层是“2”这里的层级与XGworks软件中音色列表中的目录(C ategory)相关,第一层中定义的MIDI乐器(组)清单将出现在音色列表的目录1栏目中 ,第二层中的音色组名将出现在目录2栏,第三层中的具体音色名称,出现在右边的音色 栏中图21 box对应的三层目录】      “type”项说明本段落的功能作用:“0”是定义音色分组名称,以及该音色组中的 音色所占用程序号的范围;“1”是指定音色表及其音色库号选择MSB的值;“2”是指定 每个具体音色名称、程序号,以及库号选择LSB,“3”是仅仅指定分组名及库号选择LS B通常有四种类型。

     “next”项指明与它将要调用的下一层段落的层级(box)的编号如果没有向下层 调用的段落,该值为“0”例如:      [Vce-list] ---- 音色表定义段落      size=7 ---- 共定义7种音色表      box=0 ---- 第一层(目录1)      type=1 ---- 确定音色表及其MSB      next=1 ---- 调用box=1层级的段落定义      0=0,Melody ---- MSB=0的Melody音色表      1=64,SFX ---- MSB=64的SFX音色表      …………      6=97, VL2 ---- MSB=97的VL2音色表      数据语句的等号左边是序号,右边是指定(赋值)的内容      各种不同类型段落的数据赋值格式如下:      ① 指定音色表及其MSB的段落(type=1):      序号=库号选择MSB,音色表名称(见上例)      ② 指定音色组以及各组占用程序号的范围的段落(type=0):      序号=起始程序号,末尾程序号,音色组名称      例如:      0=0,7,Piano      1=8,15,Parcussion      2=16,23,Organ      3=24,31,Guitar      以上最后一行指定的是第4个音色组,其中的音色从程序号24开始,至31号结束,音 色组的名称是Guitar(吉他)。

     ③ 指定具体音色及其LSB、程序号的段落(type=2):      序号=程序号,库号选择LSB,音色名称      例如:      0=40,0,Violin      1=40,8,Slow Violin      2=40,40,Unison      3=40,64,Cadenza      4=41,0,Viola      5=41,40,Viola Double      以上最后一行指定的是第6个音色,其中的程序号是41,LSB是40,音色名称是Viol a Double      ④ 指定分组及其LSB的段落(type=3):      序号=序号选择LSB,分组名称      例如:      0=0,MIC      1=1,GUITAR      2=2,KEY BOARD      3=3,AUDIO      4=18,STEREO KEYBOARD      以上第一行指定的是第1个分组,其中的LSB是0,分组的名称是MIC(麦克风)      2. 辅助参数文件的内容: XGworks音色参数的另一类文件我们且称之为辅助音色参 数文件,它是供MIDI事件表在程序号栏内显示音色名称用的。

图22 MIDI事件表中的辅 助音色名称】      它以不同MSB的音色表为单位,分别建立文件一般在前面的主参数文件的第一个段 落中定义了几种音色表单,就应当相应地有几个辅助音色名称显示文件      这个文件分为两个部分,其中也由若干个用方括号命名的段落组成两个部分之间 空一行第一部分只有一个段落,括号中的段落标题就是该音色表的标题,其中指定了 该音色表0号音色库中的基本音色名称,通常有128个格式是:      程序号=音色名称      第二部分是分库定义音色它对应于第一部分定义了的若干种基本音色,由同样数 量的段落组成每个段落的标题就是前面的基本音色名称,它为这个音色的每个不同库 号内的变化音色命名格式是:      库号LSB=音色名称      例如:      [Grand Piano]      0=Grand Piano      1=Grand Piano KSP      18=Mellow Grand Piano      40=Piano strings      41=Dream      …………      [Bright Piano]      0=Bright Piano      1=Bright Piano KSP      3=Stereo Bright Piano      20=Resonant Bright Piano      …………      3. 例说编辑步骤: 如果需要修改或添加,增加一个MIDI乐器音色表,步骤如下:        第一步,用文档编辑器打开MixerVceList.ini文件,在box=0的第一层段落中增写一 行音色表定义。

如果仅仅是修改或增减音色表中的音色分组或具体音色,免去这一步        第二步,建立一个新的音色分组定义段落或到相应的段落中去修改乐器组定义, 它的box=1,type=0      第三步,按音色分组,分别建立相应的具体音色定义段落它的box=2, type=2 若是增加部分音色,只要在原有的音色定义段中加上新的音色定义行在以上操作中, 凡是增减了定义语句行,都要给该段落前面的说明语句size的值作相应增减      第四步,新建一个与第一步定义的音色表名称对应的辅助音色参数文件,或到相应 的辅助参数文件中作修改,确保MIDI事件表能同步反映新增的音色      以下举一个增列MU128音源的民乐音色组的例子:      首先,用文档编辑软件打开XGworks1.0安装目录下的主参数文件MixerVceList.ini 因为是对软件原有的XG音色表作增补,跳过第一步直接进入第二步,修改Melody音色 表      在[Melody]段落中,将size加1改为17,并增写一个中国乐器音色组及其使用程序号 区段定义行:      16=15,111,China Ins.      再在[Sound Effects]段后,增写一个新的[China Ins]音色组的音色LSB、程序号和 音色名称指定段落:      [China Ins.]      size=10      box=2      type=2      next=0      0=15, 98, Yang Qin 扬琴      1=72, 96, Bang Di 梆笛      2=73, 96, Qu Di 曲笛      3=105, 99, Pi Pa 琵琶      4=107, 98, Zheng 筝      5=109, 96, Sheng 笙      6=110, 96, Er Hu 二胡      7=110, 97, Ban Hu 板胡      8=110, 98, Jing Hu 京胡      9=111, 98, Suo Na 唢呐      其中的音色名称,也可以直接使用中文。

     为让新编入的中国民乐音色名在MIDI事件表中显示,最后将以上音色各自按照音色 库号的归属,一一加到辅助文件Melody.ini第二部分的相应音色段落中去至此,XGwo rks的音色参数才算编辑完成      编辑XGworks 3.0的音色参数,还要涉及xgeditor.ini等文件,其它与此大同小异        这些插入的段落和语句,必须准确地参照乐器说明书中的相关参数,严格地按规格 编写如果是对原有音色参数文件作修改,应当在动手之前先对原文件作一个备份。

下载提示
相关文档
正为您匹配相似的精品文档