CN101165772B - 一种扩展合成器音色的方法 - Google Patents

一种扩展合成器音色的方法 Download PDF

Info

Publication number
CN101165772B
CN101165772B CN 200610122817 CN200610122817A CN101165772B CN 101165772 B CN101165772 B CN 101165772B CN 200610122817 CN200610122817 CN 200610122817 CN 200610122817 A CN200610122817 A CN 200610122817A CN 101165772 B CN101165772 B CN 101165772B
Authority
CN
China
Prior art keywords
compositor
midi
synthesizer
interface
track
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 200610122817
Other languages
English (en)
Other versions
CN101165772A (zh
Inventor
冯穗豫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Ankai Microelectronics Co.,Ltd.
Original Assignee
Anyka Guangzhou Microelectronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anyka Guangzhou Microelectronics Technology Co Ltd filed Critical Anyka Guangzhou Microelectronics Technology Co Ltd
Priority to CN 200610122817 priority Critical patent/CN101165772B/zh
Publication of CN101165772A publication Critical patent/CN101165772A/zh
Application granted granted Critical
Publication of CN101165772B publication Critical patent/CN101165772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

本发明公开了一种扩展合成器音色的方法,通过解析MIDI文件并保证MIDI数据能发送到指明的合成器中,再对已经添加到***中的合成器进行渲染并送向总输出。所述解析MIDI文件并发送到合成器包括:1、初始化各个轨道的合成器选择为默认合成器;2、解析MIDI文件各轨道的事件;3、如果解析完成,则结束解析;4、遇到Port Name,则看是否找到该事件指明名称指示的软件或硬件合成器,若找到,则获取合成器接口的入口地址,同时若该合成器是第1次使用,则修改***的“合成器总数”值,再返回1;否则,保留该轨道默认的合成器选择,再返回1;5、把事件送向如果该轨道选择的入口地址相应的合成器;6、返回1。采用所述方法,能使需要的音色能得到最有效的回放。

Description

一种扩展合成器音色的方法
技术领域
本发明涉及一种扩展合成器音色的方法。
背景技术
通用的MIDI规定了MIDI必需有128种乐器和47个打击乐,但为了扩展,不少新的MIDI标准比如XG、GS和GM2等都分别对音色进行了扩展,使其拥有更多的音色和打击乐。但使用这些标准制作的MIDI文件通常只能使用对应标准中的音色,如果还想使用以外的音色,还是没有办法,比如不管是XG、GS还是GM2中,都没有定义像二胡这样的乐器。如果一个曲子要用这样的音色,只能用小提琴代替,其效果肯定是不如直接带上这个音色的好。如果一个标准要带上所有的音色,基本上是不可能的,因为除了真实乐器发出的声音是一种音色以外,这些乐器的不同奏法从某种角度上看也可以是一种音色,比如GM中就有弦乐的拨奏音色,同样地,对于弦乐来说还有断奏、颤音等奏法,而其他乐器也存在这样的情况。对于这种模拟真实乐器发出的音色,目前最好的办法是使用采样,但如果要把所有的乐器的音色都通过采样做到合成器中,通常在空间上是不允许的,所以根本无法用采样的算法来实现所有的乐器。同时,有些音色,比如合成音色,就算使用采样也无法完美表现,因为合成音色通常是由多变的算法决定的,算法越复杂,能达到的效果就更丰富,不是由采样就能做到的。
发明内容
本发明的目的在于提供一种利用外部软件或硬件来扩展合成器,实现对MIDI文件的音色进行扩展的方法。
为了实现上述目的,可通过以下的技术措施来实现:一种扩展合成器音色的方法,解析MIDI文件并将MIDI数据发送到指明的合成器中,再对已经添加到***中的合成器进行渲染并送向总输出。
本发明所述的解析MIDI文件并保证MIDI数据能发送到指明的合成器,包括以下步骤:
1、初始化各个轨道的合成器选择为默认合成器;
2、解析MIDI文件各轨道的事件;
3、如果解析完成,则结束解析;
4、遇到Port Name事件,则看是否能找到该事件指明名称所指示的软件或硬件合成器,若找到,则获取对应合成器接口参数的入口地址,同时若该合成器是第一次使用,则修改***的“合成器总数”值,然后返回1;否则,保留该轨道默认的合成器选择,再返回1;
5、把事件送向如果该轨道选择的入口地址相应的合成器;
6、返回1。
所述步骤4的所指示的合成器具有可定位性,使用枚举方式取得其所在位置;如果被枚举到的时候,该合成器返回其唯一标识名,表明其是指定的合成器。
所述步骤4的所指示的合成器,具备两个作为合成器必需的接口,包括:1、能接收MIDI信息的接口,该接口能使音序器的MIDI信息传给合成器;2、能提供具“处理函数”,或者称“渲染函数”作用的接口,该接口能让混音模块能调用该合成器来产生需要的样本;其中,所述两个接口的参数跟呼叫者提供的参数一致。
本发明所述的对已经添加到***中的合成器进行渲染并送向总输出的过程,包括以下步骤:
1、清空最终混音缓冲;
2、检查当前***有多少个合成器被激活,通常情况下至少有一个默认的;
3、分别执行各个合成器的“处理函数”,令其计算出其对应长度的样本,并将该结果与最终混音缓冲混合;
4、把最终混音缓冲的数据送向DA或者其他输出设备;
5、如果还没有结束,则返回1。
所述步骤3执行各个合成器“处理函数”的过程,是通过调用其“处理函数”接口接收数据,并产生混音模块需要的样本。
采用本发明所述的方法,通过对合成器实现扩展,当遇到Port Name事件,能找到对应的合成器,使需要的音色在其对应合成器上得到最有效的回放,从而使MIDI得到很大的扩展。此外,本发明方法通过执行各合成器“处理函数”,把样本结果送到最终混音缓冲,从而也能对合成音色实现完美的回放表现。
附图说明
图1为解析MIDI的流程示意图;
图2为合成器合成时的流程示意图;
具体实施方式
本发明具体的实施方式可分成如下两个部分:
一、解析MIDI并保证MIDI数据能发送到指明的合成器中
二、对已经添加到***中的合成器进行渲染并送向总输出
现在依次说明:
一、初始化各MIDI轨道的合成器选择为默认合成器后,解析MIDI并保证MIDI数据能发送到指明的合成器中,如图1所示,其过程包括如下步骤:
1、解析MIDI文件各轨道的事件。该步骤无异于一般解析MIDI信息的过程
2、如果解析完成,则结束解析。该步骤亦无异于一般对解析MIDI完成的步骤
3、若遇到Port Name事件(FF 09),则看是否能找到该事件指明的名称所指示的软件或者硬件合成器。若找到,则进行本级如下的(1)-(5),否则保留该轨道合成器选择,然后返回1。该点可以细分为如下几个步骤:
(1)根据GM标定,MIDI的Meta事件中,允许选择多个端口来发送MIDI信号。该事件可以使用FF 09来表示。如果该事件出现在第3轨,则表示第3轨是指向某非默认端口的。该事件的完整表示是FF 09len(文本长)text(文本),其中len是text的长度,而text则是端口的名字。比如有个端口叫“Moog”,那么这个text就是“Moog”,len就是4。
(2)当遇到该事件时,则去寻找与其同名的设备,由于要保证找到,所以设备必需满足以下条件:
a)该设备应该能被枚举。要使一个设备能被枚举,它通常应该是具备可定位性。比如文件型的设备应该能被存放在指定的目录下,而硬件设备的情况则使用硬件的枚举方式取得。
b)该设备应该能返回“设备唯一标识名”,比如Moog。当设备被枚举到的时候,为了能鉴别是否是指定的合成器,该合成器必需提供一个返回信息,告诉该合成器的名字是什么。好让枚举设备找到要找的设备。
c)该设备应该具备作为合成器所最少必需的另外两个接口,以及需要满足接口的条件:
i.能接收MIDI信息。为了让解析MIDI的音序器能把MIDI信息传给这个设备,该设备必需支持这一接口。然后才能根据接收的MIDI信息来提供计算输出样本的数据。
ii.能提供一个“处理函数”,或者称“渲染函数”。为了让混音模块能调用该设备来产生需要的样本,该接口也是必需提供的。该接口主要是根据当前的各种数据来计算生成样本,而数据的一部分则是依赖上一个接口来获取的。
iii.以上两个接口的参数需要跟呼叫者提供的参数一致。比如同是标准的MIDI信息,同是双声道的16位声音缓冲指针等等。
(3)解决完这种事件后,直接获取对应设备的几个接口参数的入口地址,这个今后便可以直接调用该接口。
(4)如果该设备是第一次使用,则修改***的“合成器总数”值。
(5)返回上一层的1。
4、把事件送向如果该轨道的选择的合成器。由于已经确定了设备的入口地址,则直接调用其接收MIDI信息的接口把数据送到相应的设备。
5、返回1。
二、对已经添加到***中的合成器进行渲染并送向总输出,其过程包括如下步骤:
1、清空最终混音缓冲(Mixing Buffer)。由于这个最终的混音缓冲是用来送到DA的,所以在每次混音前,先将其清空;
2、检查当前***有多少个合成器被激活,通常情况下至少有一个默认的;
3、分别执行各个合成器的“处理函数”,令其计算出一定长度的样本,并将该结果与最终混音缓冲混合。调用该接口的目的是得出本次的一段样本,并将其混向Mixing Buffer(用数学加,并处理饱和)即可;
4、把最终混音缓冲的数据冲向DA或者其他输出设备(比如文件);
5、如果还没有结束,则返回1。
采用本发明所述的方法,通过外部软件或硬件对合成器实现扩展,当遇到Port Name事件,能找到对应的合成器,使需要的音色在其对应合成器上得到最有效的回放,从而使MIDI得到很大的扩展。此外,本发明方法通过执行各合成器“处理函数”,把样本结果送到最终混音缓冲,从而也能对合成音色实现完美的回放表现。

Claims (5)

1.一种扩展合成器音色的方法,其特征在于:解析MIDI文件并保证MIDI数据能发送到指明的合成器中,再对已经添加到***中的合成器进行渲染并送向总输出;
所述的解析MIDI文件并保证MIDI数据能发送到指明的合成器,包括以下步骤:
(1)、初始化各个轨道的合成器选择为默认合成器;
(2)、解析MIDI文件各轨道的事件;
(3)、如果解析完成,则结束解析;
(4)、遇到Port Name事件,则看是否能找到该事件指明名称所指示的软件或硬件合成器,若找到,则获取对应合成器接口参数的入口地址,同时若该合成器是第一次使用,则修改***的“合成器总数”值,然后返回(1);否则,保留该轨道默认的合成器选择,再返回(1);
(5)、把事件送向如果该轨道选择的入口地址相应的合成器;
(6)、返回(1);
所述的对已经添加到***中的合成器进行渲染并送向总输出的过程,包括以下步骤:
(a)、清空最终混音缓冲;
(b)、检查当前***有多少个合成器被激活,通常情况下至少有一个默认的;
(c)、分别执行各个合成器的“处理函数”,令其计算出其对应长度的样本,并将该结果与最终混音缓冲混合;
(d)、把最终混音缓冲的数据送向DA或者其他输出设备;
(e)、如果还没有结束,则返回(a)。
2.根据权利要求1所述的扩展合成器音色的方法,其特征在于:所述步骤(4)的所指示的合成器具可定位性,使用枚举方式找到其所在位置;同时,被枚举到的时候,该合成器返回其唯一标识名,表明其是指定的合成器。
3.根据权利要求1所述的扩展合成器音色的方法,其特征在于:所述步骤(4)的所指示的合成器设有两个接口,包括:a、接收MIDI信息的接口,该接口使音序器的MIDI信息传给合成器;b、提供具“处理函数”作用的接口,该接口让混音模块能调用该合成器来产生需要的样本。
4.根据权利要求3所述的扩展合成器音色的方法,其特征在于:;所述的两个接口的参数跟呼叫者提供的参数一致。
5.根据权利要求1所述的扩展合成器音色的方法,其特征在于:所述步骤(c)执行各个合成器“处理函数”的过程,是通过调用其“处理函数”接口接收数据,并产生混音模块需要的样本。
CN 200610122817 2006-10-18 2006-10-18 一种扩展合成器音色的方法 Active CN101165772B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610122817 CN101165772B (zh) 2006-10-18 2006-10-18 一种扩展合成器音色的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610122817 CN101165772B (zh) 2006-10-18 2006-10-18 一种扩展合成器音色的方法

Publications (2)

Publication Number Publication Date
CN101165772A CN101165772A (zh) 2008-04-23
CN101165772B true CN101165772B (zh) 2011-06-08

Family

ID=39334441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610122817 Active CN101165772B (zh) 2006-10-18 2006-10-18 一种扩展合成器音色的方法

Country Status (1)

Country Link
CN (1) CN101165772B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467909A (zh) * 2010-11-18 2012-05-23 盛乐信息技术(上海)有限公司 网络混音方法
CN107146598B (zh) * 2016-05-28 2018-05-15 浙江大学 一种多音色混合的智能演奏***和方法
CN109741720A (zh) * 2018-11-28 2019-05-10 星海音乐学院 一种合成器软件

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1831940A (zh) * 2006-04-07 2006-09-13 安凯(广州)软件技术有限公司 基于音频解码器的音调和节奏快速调节方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1831940A (zh) * 2006-04-07 2006-09-13 安凯(广州)软件技术有限公司 基于音频解码器的音调和节奏快速调节方法

Also Published As

Publication number Publication date
CN101165772A (zh) 2008-04-23

Similar Documents

Publication Publication Date Title
US7737354B2 (en) Creating music via concatenative synthesis
JP3161561B2 (ja) マルチメディア・システム
US7915514B1 (en) Advanced MIDI and audio processing system and method
US20020007721A1 (en) Automatic music composing apparatus that composes melody reflecting motif
JP2000194360A (ja) 音の電子的発生方法及び装置
JPH1173182A (ja) 音楽作品ファイルを作成、配布、記憶、及び、実行するシステム並びに方法
EP1639577A2 (en) Method and apparatus for playing a digital music file based on resource availability
US7186910B2 (en) Musical tone generating apparatus and musical tone generating computer program
RU2402166C2 (ru) Способ синхронизации по меньшей мере одного мультимедийного периферийного устройства портативного устройства связи и соответствующее портативное устройство связи
JP2001331175A (ja) 副旋律生成装置及び方法並びに記憶媒体
CN101165772B (zh) 一种扩展合成器音色的方法
US20050204903A1 (en) Apparatus and method for processing bell sound
US7030312B2 (en) System and methods for changing a musical performance
US6274799B1 (en) Method of mapping waveforms to timbres in generation of musical forms
JP4614307B2 (ja) 演奏データ処理装置及びプログラム
JP3812510B2 (ja) 演奏データ処理方法および楽音信号合成方法
Winter Interactive music: Compositional techniques for communicating different emotional qualities
JP3518716B2 (ja) 楽音合成装置
Oliver In dub conference: empathy, groove and technology in Jamaican popular music
US10593312B1 (en) Digital musical synthesizer with voice note identifications
US20050137881A1 (en) Method for generating and embedding vocal performance data into a music file format
WO2024034117A1 (ja) 音声データ処理装置、音声データ処理方法およびプログラム
JP2004226782A (ja) 演奏データ処理装置および演奏データ処理用プログラム
JP3812509B2 (ja) 演奏データ処理方法および楽音信号合成方法
JP4238807B2 (ja) 音源用波形データの決定装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 510663 301-303, 401-402, zone C1, 182 science Avenue, Science City, Guangzhou high tech Industrial Development Zone, Guangdong Province

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: 510663 301-303, 401-402, zone C1, 182 science Avenue, Science City, Guangzhou high tech Industrial Development Zone, Guangdong Province

Patentee before: ANYKA (GUANGZHOU) MICROELECTRONICS TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 510555 No. 107 Bowen Road, Huangpu District, Guangzhou, Guangdong

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: 510663 301-303, 401-402, zone C1, 182 science Avenue, Science City, Guangzhou high tech Industrial Development Zone, Guangdong Province

Patentee before: Guangzhou Ankai Microelectronics Co.,Ltd.