CN1203410A - 实时动态乐器数字接口控制的方法和装置 - Google Patents

实时动态乐器数字接口控制的方法和装置 Download PDF

Info

Publication number
CN1203410A
CN1203410A CN97104655A CN97104655A CN1203410A CN 1203410 A CN1203410 A CN 1203410A CN 97104655 A CN97104655 A CN 97104655A CN 97104655 A CN97104655 A CN 97104655A CN 1203410 A CN1203410 A CN 1203410A
Authority
CN
China
Prior art keywords
midi
file
midi file
control
data
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.)
Granted
Application number
CN97104655A
Other languages
English (en)
Other versions
CN1141694C (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.)
Corporation Industrial Technology Research Institute of consortium
MStar Semiconductor Co., Ltd.
Original Assignee
Industrial Technology Research Institute ITRI
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 Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Publication of CN1203410A publication Critical patent/CN1203410A/zh
Application granted granted Critical
Publication of CN1141694C publication Critical patent/CN1141694C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/016File editing, i.e. modifying musical data files or streams as such
    • G10H2240/021File editing, i.e. modifying musical data files or streams as such for MIDI-like files or data streams

Abstract

通过把存储的乐器数字接口(MIDI)文件重新格式化成修正的MIDI文件格式并通过同时删除存储在文件中但是对再现无用的MIDI META事件、对MIDI文件预处理以便于再现文件的实时动态MIDI控制器。该MIDI控制器包括进行通道组配、通道声音信息组配或将各组配组合以便于控制选定的MIDI文件参数的管理器。实时动态MIDI控制器还包括输出接口电路,该电路对MIDI控制器已处理的一个或多个MIDI文件的传输进行协调。

Description

实时动态乐器数字接口 控制的方法和装置
本发明一般涉及乐器数字接口(以下称为“MIDI”),具体涉及能实时改变MIDI参数的MIDI控制器。
乐器产生形成音乐的声波。例如,图1示出了一架钢琴100。钢琴100具有多个琴键102。每个琴键102与一个琴槌104耦联,图中只示出了一个琴键/琴槌的组合。钢琴100还包括多根张紧的琴弦106,其中一根琴弦106与琴槌104相配。演奏时,演奏者压下一个或多个琴键102。琴键102移动相关的琴槌使其敲击相关的一根琴弦106。琴弦106振动产生声波。因琴弦106振动而产生的实际音调取决于琴弦106的长度、琴弦所受的张力和通过演奏者的敲击而传递到琴弦106上的能量。
可以用电使琴弦106产生振动和用电子合成器产生音乐。图2表示一个带有多个琴键202的电子键盘200。演奏者用与钢琴100类似的方式通过敲击任何键202即可在电子键盘200上进行演奏。当压下一个琴键202时,不是使琴槌敲击琴弦,而是由琴键200产生电子音乐信号204。音乐信息204由音调发生器206接收。音调发生器206利用音乐信号204产生声波。图2表示一些电子合成器,例如包含琴键202和音调发生器206的键盘200,其中琴键202确定演奏者想要产生的声波(控制器部分),而音调发生器206真正产生声波(即声音发生器)。
图3表示可以把控制器部分和声音发生器分成两个分离的部件。参照图3,电子键盘300包括多个琴键302。当把一个琴键302压下时,键盘300产生电子音乐信号304。键盘300通过有形连接器308连接到实际上与键盘300分离的音调发生器306上。
利用几种工业标准音乐接口中的一种接口可以将键盘200或300分别与和它们相配的音调发生器206或306连通。这些接口可以是数字的。一种工业上公知的数字接口是MIDI。例如,在采用MIDI接口的键盘200的情况下,当演奏者通过敲击一个或多个琴键202在键盘200上演奏乐曲时,键盘200产生数字MIDI信号。相应的音调发生器利用该MIDI文件或MIDI信号产生所需的音乐。与MIDI有关的其它资料可参见Christian Braut的“音乐家MIDI指南”(The Musician′s Guide如MIDI),Sybex,1994或Rob Young的“MIDI文件”(The MIDI Files),Prentice Hall,1996。以格式0存储的MIDI文件包含MIDI META事件(“MME”)和MIDI声音信息事件(“MVE”)。将一个事件顺序串称为块数据。MME代表由版权信息、公告文本、顺序/轨道名文本、定位节拍(set tempo)信息等构成的MIDI文件中的数据。MVE代表由通道信息、音符接通/断开信息、音调和音色信息等构成的MIDI文件中的数据。用时间差分量存储每个事件(MME或MVE)。每个时间差单元等于(节拍时间)/每个MIDI四分音符的时钟滴(clock tick数)。用定位节拍MME来确定节拍。因此,时间差分量是微秒数除以时钟滴数。每个时间差单元代表存储事件之间的时间延迟量。从块数据中存储的第一事件到块数据中存储的另一事件,在块数据中累计的时间差单元数表示从乐曲开始直到演奏事件结束所经过的所有时间。
可以用三种格式中的一种格式存储每个MIDI文件。格式0文件包含按演奏者演奏的相应音符/琴弦的顺序存放的MVE。换句话说,格式0文件包含按演奏顺序排列的各个MVE。存储在格式1和格式2文件中的信息与存储在格式0文件中的信息相似。然而,与格式0不同,存储在格式1和2文件中的MIDI文件包含多个事件顺序串或多个块数据。而且,格式1文件仅包含第一块数据中的MME,而格式2文件则包含第一块数据中的大多数MME(例如每个格式2的块数据都具有定位节拍)。然而,在每个块数据中都存储有MVE。因此,格式1和2文件并不包含演奏者演奏的单一顺序的MVE。相反,它们包含演奏顺序中多个轨道中每一个轨道的信息。轨道是与块数据有关的音乐标记。例如将打击乐存储到第一轨道,将弦乐存储到第二轨道,将管乐存储到第三轨道。构成格式1或2 MIDI文件的块数据的总数与轨道数相对应。
由于音调发生器产生的是电子音乐信号而不是声波,所以MIDI文件中的大部分MME都是不必要的。此外,由于格式1和2不是顺序存储的,而是按轨道顺序存储的,所以在再现时需要大量的处理资源来实时地进行对MIDI文件的调节。因此,在再现MIDI文件时需减少实时调整所需的处理时间和处理资源。
本发明的优点和目的可从下面的描述中部分地显示出来,或可以通过本发明的实践而认识到。借助于在所附的权利要求中特别指出的要素及组合可以达到和实现本发明的优点和目的。
为了达到本发明的效果和根据本发明的目的,如本文所实施和充分描述的,按照本发明的系统通过把MIDI文件的格式更改成修正的格式并删除对再现无用的MIDI事件而减少了对乐器数字接口(MIDI)文件进行实时处理所需的处理时间和处理资源。为达到此目的,设置了预处理器,该预处理器提取时间信息并把时间信息存储到修正的MIDI文件中。然后,预处理器顺序地提取每个MIDI事件以确定该事件是MIDI声音信息事件还是MIDI META定位节拍事件。如果判定该事件是MIDI声音信息事件或是MIDI META定位节拍事件,则将该事件存储到修正的MIDI文件中,否则则将其删除。
此外,本发明的系统通过组配各种MIDI通道,MIDI通道声音信息或它们的任何组合而减少了实时处理乐器数字接口(MIDI)文件所需的处理时间和处理资源。组配控制有利于在再现MIDI文件时把实时控制信号送到MIDI通道。
纳入说明书并构成说明书一部分的附图示出本发明的优选实施例,并与说明书一起解释本发明的目的、优点和原理。在附图中,
图1是表示现有钢琴的示意图;
图2是表示现有电子键盘的示意图;
图3是表示另一种现有电子键盘的示意图;
图4是表示按照本发明构成的记录系统的示意图;
图5是表示按照本发明所述MIDI文件预处理方法的流程图;
图6是表示按照本发明所述把格式0 MIDI文件转换成修正的格式0MIDI文件的方法流程图;
图7是表示按照本发明所述把格式1的MIDI文件转换成修正的格式0MIDI文件的方法流程图;
图8是表示本发明所述控制处理管理器的示意图;
图9是表示对本发明所述对通道进行组配的方法流程图;
图10是表示本发明所述数据优化方法的流程图;和
图11是表示本发明所述MIDI输出接口电路的示意图。
下面将对本发明的优选实施例进行详细说明,优选实施例的实例示于附图中。包含在以下说明中和示于附图中的所有内容应理解为用作说明而没有限制意义。
本发明所述的方法和装置能够在再现期间有响应地和动态地实时控制MIDI文件。有响应和动态的实时控制主要是通过配备对每个MIDI文件进行预处理的MIDI控制器实现的。此外,MIDI控制器的结构能使用户组配类似的MIDI乐器以便于MIDI控制器为由用户定义的组配基本上同时地改变用户选定的MIDI参数。
图4表示按本发明构成的记录系统400。记录系统400包括具有多个琴键404的键盘402、MIDI控制器406、音调发生器408和存储器410。MIDI控制器406可以是个人计算机或其它类型的计算机,例如,适合包含下述特征的混音板。MIDI控制器406包括预处理器412、控制过程管理器414、和数据优化器416。预处理器412对存储在存储器410中的MIDI文件418进行修正,得到修正的MIDI文件420。管理器414对经修正的MIDI文件420进行更改以实时地形成更改的MIDI文件422。数据优化器416优化已更改的MIDI文件422并形成传输给音调发生器408的优化MIDI文件424。
用户(演奏者)通过压下键盘402上的琴键404来操作记录系统。键盘402产生可按任何格式以MIDI文件418的形式存储的表示乐谱的比特流,该比特流由MIDI控制器406接收。当键盘402动作时,MIDI控制器406起管道作用,它或者把MIDI文件418存储到存储器410中,或者使比特流进入音调发生器408。MIDI控制器406允许演奏者在再现已存储的MIDI文件418时调节MIDI参数。作为另一种选择,键盘402能够产生MIDI比特流,该比特流在输入MIDI控制器406之前就作为MIDI文件418存储在存储器410中。用这种方式连接时,可以把键盘402直接与音调发生器408和/或存储器410相连。
然而,当记录系统400通过直接从存储器410中检索MIDI文件418来播放乐曲时,最好是使用MIDI控制器406。播放乐曲时,MIDI控制器406从存储器410中检索MIDI文件418,并通过预处理器412、管理器414以及数据优化器416对检索到的文件进行处理,然后把优化的MIDI文件送到音调发生器408。MIDI控制器406上设有下文中将详细说明的预处理和各种控制处理,这样可实时地调整MIDI文件以提高再现质量。
在一个优选实施例中,MIDI控制器的预处理器412、管理器414和数据优化器416分别是在由主PC机的微处理器执行的软件中实现的。在另一个实施例中,所构成的MIDI控制器406包括专用微处理器,用于执行与预处理器412、管理器414和数据优化器416各功能相应的软件。在又一个实施例中,MIDI控制器406各部分的功能是用硬件电路或硬件与软件结合实现的。
在以下的描述中,将详细阐述能构成上述任一实施例所述MIDI控制器406的各预处理器412、管理器414和数据优化器416各自的功能。最好将该系统装到以Windows为基础的操作环境的PC机上。
由MIDI控制器406完成的预处理和控制处理根据用户需要实时地修正MIDI参数进而改变MIDI文件418,从而使得由音调发生器408产生的电子音乐信号听上去多少显得自然。为了提高MIDI控制器406通过控制处理修正文件418的能力,在MIDI控制器406上配备了预处理器412。预处理器412具有把不同格式的MIDI文件从其现有格式转换成标准格式0型文件的功能。此外,预处理器412从每个MIDI文件中除去在再现时不需要的信息,从而将MIDI文件转换成修正的格式0 MIDI文件。如上所述,存储在MIDI文件418中的大部分MME在再现时无用的。这包括版权、公告文本、顺序/轨道名文本、歌词(lyric)文本,时间标记、琴键标记等。事实上,为再现而存储在MIDI文件418中的相关信息只包括定位节拍MME,块数据的第三个字(每个四分音符MIDI的时钟滴数(以下称为“NTK”)和MVE。
图5是表示预处理器412完成预处理功能的流程图500。首先,预处理器412提取存储在存储器410中的MIDI文件418(步骤502)。提取MIDI文件418之后,预处理器412确定MIDI文件418的格式(步骤504)。MIDI文件可以按格式0,1或2存储。预处理器412根据检测到的文件格式,把该格式转换成修正的格式0 MIDI文件(步骤506)。然后把修正后的MIDI文件输出到管理器414(步骤508)。
图6是表示由预处理器412完成的把以格式0存储的每个MIDI文件转换成修正的格式0 MIDI文件功能的流程图600。为达到说明图6的目的,假设MIDI文件418为格式0。首先,预处理器412从MIDI文件418中提取NTK并把NTK存储到修正的MIDI文件420(步骤602)。然后,预处理器412从MIDI文件418中提取下一个MIDI事件(步骤604)。预处理器412判断该MIDI事件是否是MVE(步骤606)。如果该MIDI事件是MVE,则将这个事件存储到修正的MIDI文件420中(步骤610)。如果该事件不是MVE而是MME,预处理器412将进一步判断这个MME是否为定时节拍事件(步骤608)。如果MME是定位节拍事件,则将其存到修正的MIDI文件420中(步骤610)。存储在修正的MIDI文件中的每个文件都包含时间差信息和MIDI事件,该事件可以是MVE或定位节拍MME。最后,预处理器412判断是否已将MIDI文件418中的所有MIDI事件全部处理完毕(步骤612)。如果还未处理完全部MIDI事件,则重复步骤604-612,否则,预处理过程结束并把修正的MIDI文件420输出到管理器414中(步骤614)。
图7是表示由预处理器412完成的把以格式1存储的每个MIDI文件转换成修正的格式0 MIDI文件的功能流程图。如上所述,格式1文件与格式0文件的区别在于,格式1文件中的MVE信息遍布多个轨道,其中用块数据表示每个轨道。然而,定位节拍MME和NTK存储在第一块中。因此,除了用存储修正的MIDI文件代替输出修正的MIDI文件之外,其它均按照与上述步骤602-614处理格式0文件相同的方式处理第一块数据(步骤702)。预处理器412从修正的MIDI文件中提取NTK数据并将其存储到临时的修正的MIDI文件中(步骤704)。对于格式1的MIDI文件来说,下一个检验的块数据和每个后续块数据文件中只包含MVE。因此,为了建立单一的以格式0格式存储的修正的MIDI文件,预处理器412把下一个块数据和修正的MIDI文件合并以得到修正的MIDI文件420。为了确保按合适的顺序存储各MVE,预处理器412从修正的MIDI文件中顺序地提取各MVE并产生修正的MIDI文件累计时间信号(步骤706)。预处理器412几乎同时地从下一个块数据中顺序地提取事件并产生下一个块数据累计时间信号(步骤708)。接下来,预处理器412判断修正的MIDI文件累计时间信号是否大于下一个块数据累计时间信号(步骤710)。如果修正的MIDI文件累计时间信号不大于下一个块数据累计时间信号,就把从修正的MIDI文件中提取的MVE存储到临时的修正的MIDI文件内而将下一个块数据MVE放回块数据中(步骤712)。否则,将下一个块数据MVE存储到临时的修正的MIDI文件中而把从修正的MIDI文件中提取的MVE放回修正的MIDI文件中(步骤714)。在把存储到修正的MIDI文件和下一个块数据中的所有MVE合并成临时的修改的MIDI文件之前,预处理器412重复步骤706-714(步骤716)。预处理器412存储临时的修正的MIDI文件作为修正的MIDI文件(步骤718)。在处理完所有块数据文件之前,预处理器重复步骤706-718(步骤720)。处理完所有文件之后,把修正的MIDI文件420输出到管理器414(步骤722)。
为了转换存储在格式2协议中的MIDI文件,采取了与转换格式1文件相似的步骤,其中只有一点区别。该区别是,在格式2的MIDI文件中,每个块数据具有独立的定位节拍和与之有关的NTK事件。这不同于格式0和格式1文件。具体地说,格式0事件是按顺序存储的,其不需要块数据的合并。格式1事件是将每个事件按顺序存储在每个块中,而每个块具有与存入第一块中的值一致的时间差值,以便于预处理器412顺序地合并事件。格式2文件与格式1文件相类似,然而,时间差值并不与每个块数据相一致。为了将文件合并,预处理器412叠加一模拟时间差,从而有利于将块数据合并成一个文件。在优选实施例中,把定位节拍定为500,000微秒而将NTK设为25,000。这些值的选择使得转换的文件和原文件之间的时间误差为最小。不象对格式1的MIDI文件那样进行简单的时间差累加,对格式2的MIDI文件来说,事件i(Ts(i))的累计时间等于(时间差(n)·Tp(n))中n=0至i的和,其中时间差(n)是第(n)个事件的时间差数值,Tp(n)是在第(n)个事件时刻块的定位节拍值。因此,第i个事件的新时间差值dt(i)可以用等于[(Ts(i)-Ts(i-1))/T]取整值的dt(i)来表示,其中Ts(-1)=0,T是定位节拍值/(NTK)(在这个实施例中T=20微秒)。
预控制器412把修正的MIDI文件420转换成修正的格式0 MIDI文件之后,修正的MIDI文件420对由管理器414的控制处理器所进行的实时调节更加敏感。图8表示管理器414的一个实施例,该管理器包括三个控制处理器。三个控制处理器包括预定控制处理器800,手工控制处理器802,和软件控制处理器804。这些处理器对修正的MIDI文件420的相对作用可由用户通过调节加权系数来控制(未示出)。用加权系数产生展现控制处理器作用的加权平均值。这些控制处理器(或控制处理器的加权平均值)更改修正的MIDI文件420中的参数以形成更改的MIDI文件422。
预定控制处理器800在执行MIDI程序之前置位,以便在播放MIDI文件时,在预定时刻改变乐器参数或组配。此外,预定控制处理器800可以改变通道组配(下文将详细描述)、通道声音信息组配(下文将详细说明)、和在再现期间由程序员在预定时刻确定的其它参数。在再现乐曲时,预置的条件是固定的而且可以使这些条件在任何时间发生。下面将说明,如何通过手动操作的手动控制处理器802的两个接口中的任一个将用户和预定控制处理器800联系起来。
手动控制处理器802设有两个手动操作的接口。每个接口都足以完成手工操作。一个接口是图形控制接口单元,它在优选实施例中相当于在主PC机(未示出)上显示的图形接口屏。另一个接口是控制面板(未示出),它在优选实施例中接到MIDI控制器406的串行口(未示出)上。通常,手工控制处理器802起现有混音板(未示出)的作用,它使得演奏者在再现期间能调节再现速度、总体音量和音调等。利用这些接口可以调节所有MIDI文件通道的参数和参数组配以及调节通道组配。用户用固定的控制旋钮调节MIDI文件参数。这些控制旋钮成组设置,每组包含可连续调节的五个控制旋钮和三个设成单触式或开/关式的开关。此外,图形控制接口单元带有字母数字接口,以供用户输入字母数字数据,例如通道组配的识别名。利用选择数据的字母数字接口和通过压下图形控制接口上的OK按钮可以输入任何字母数字数据。
软件控制处理器804可以是模糊逻辑控制处理器。模糊逻辑增强了软件控制处理器804的能力。此外,软件控制处理器804能够更改各种MIDI文件输入从而使参数例如每个MIDI信号的节拍相一致。这种控制对用实况信号和记录信号进行同时演奏是特别有用的。
更具体地说,软件控制处理器804是处理两种数据源的模糊控制器。一种数据源是转换后的模拟数据源,例如把人的声音或模拟乐器转换成必要的控制信号的数据源。另一种数据源是数字源,例如存储的MIDI文件或与MIDI兼容的数字式乐器。
在处理之前,通过提取源的参数,把模拟数据源的人的实况演出特征(例如:缓慢的或快速的,强音或弱音等)转换成MIDI控制参数。这些参数是例如音调、音量、速度、节拍等。一旦转换成MIDI控制参数,软件控制处理器804的作用就是把用户选定的参数例如数字数据源的节拍与原始(演出者的实况表演特征)模拟数据源相匹配。模糊控制处理包括用于音乐节拍和片段的参数调节模型以便于软件控制处理器804的工作。
为了便于控制处理器800、802和804工作,MIDI控制器406具备通道组配、通道声音信息组配和复合组配的功能。复合组配是将通道组配和通道声音信息组配相结合。MIDI控制器406利用来自控制处理器800、802和804的指令控制各种组配而不需要控制各个通道和通道声音信息。
一种工业标准的MIDI记录系统具有16个通道。通常每个通道一次只产生一种乐器的声音。如果把音调发生器408配置为传统的音调发生器,该音调发生器每次能产生多达16种乐器的音乐。通道声音信息是一种改变音符或个别通道发声方式的信号。换句话说,它可以是持续奏一个音符、加入混响效果等的信息。
通道组配用来调节某组乐器的参数。例如,可要求同时调节所有管乐器通道。图9是表示MIDI控制器406为进行通道组配而完成的功能的流程图。首先,选择组名(步骤902)。接着给组名指定组配到一起的通道(步骤904)。特别是,MIDI控制器406以字节串的形式存储通道组配信息。字节串中的每个逻辑“1”位表示指定给该通道组的一个特定通道。因此,如果为这一组指定了四个乐器通道,那么文件中将包含的字节串其所有位处于逻辑“0”,但是与指定通道有关的4位除外。每个逻辑“1”代表一个有关的个别通道。因此,当选择组配通道进行控制时,所有指定的各通道都接收指令。
更具体地说,将通道组配到一起可使用户只需指出通道组名和要进行的改变就可对每组乐器的特定参数进行调整,而不必分别给每个通道号指出变化。利用图形控制接口来设置通道组以输入通道组名,然后选择所需的通道,最后按下OK按钮(如图9中的流程图900所示)。例如,如果将记录系统400配置成基本上同时处理两种MIDI文件,例如MIDI源1和MIDI源2,那么每个通道组信息文件的格式是通道_组_名:字节1字节2字节3字节4,其中通道_组_名是以字符串形式输入的通道组名。四个数据字节1-4表示指定给该组的特定通道,应注意到,字节1和2控制第一MIDI文件的通道而字节3和4控制第二MIDI文件的通道。组名和通道指定之间用关闭符号“:”分开。字节1至字节4各位的定义如下:
字节1:MIDI源1的通道15-通道8,其中最高有效位(“MSB”)是通道15;
字节2:MIDI源1的通道7-通道0,其中MSB是通道7;
字节3:MIDI源2的通道15-通道8,其中MSB是通道15;和
字节4:MIDI源2的通道7-通道0,其中MSB是通道7。
对于用记录系统400进行处理的每个MIDI文件来说,通道组信息文件包括两个字节。就每个MIDI文件而言,两个字节中的每位都与该MIDI文件的一个特定通道有关。因此,如果选择某一特定通道,则把相应位设定为1,否则则将其设置为0。例如,如果一个人希望用通道组名WINDS来定义管乐乐器组,并包括下列通道:处理第一MIDI文件的MIDI源通道9、8、5、4和处理第二MIDI文件的MIDI源通道10、9、6和5,则数据格式应为WINDS:03300660。
MIDI控制器406还用与通道组配相似的方式组配通道声音信息。然而,不是将通道组配到一起,而是把通道声音信息组配到一起。这样,当将通道声音信息组送到某个通道中时,该通道几乎同时接收几个通道声音信息。利用图形控制接口单元可以把通道声音信息组配输入到MIDI控制器406中。每个通道声音信息组是两字节字串。第一字节是选定的通道声音信息,例如音符关闭、音符接通、多音键按压(polyphonic key pressure)、控制变化、程序变化、通道按压、和音调的回旋变化(pitch wheel change)。第二字节通常是由通道声音信息产生的具体音符数,虽然也允许是其它信息。通道声音信息组配结束时需要识别,在优选实施例中,组尾用控制字节0来表示。
更具体地说,通道声音信息组配能够把影响MIDI特性的某些变化组配到一起。这有利于借助控制面板和图形控制接口单元进行控制。按照与通道组配相同的方式对通道声音信息进行组配,即,输入通道声音信息组名,一一选择或输入每个通道声音信息,然后依次压下图形控制接口单元的相加键;接着,在完成设置后压下OK按钮,所经历的过程类似于图9中的流程图所示过程。一旦设置完毕,通道声音信息组配具有以下格式:通道_组_名:SBDBCBSBDBCBSBDBCB....。在这种格式中,SB是选定通道声音信息的字节1,其数字值和类目的关系为80=音符关闭,90=音符接通,A0=多音键按压,B0=控制变化,C0=程序变化,D0=通道按压,和E0=音调回旋变化。DB是选定通道语言信息的字节2,其数字值一般在00和7F之间,该值表示个别的音符。然而,对音符接通、音符关闭或多音键按压这些功能来说,数字值80表示它影响所有音符号数。控制变化的数字值是00-7F,它用于选择控制器。对通道强制和音调回旋变化来说,将数字值固定在唯一数字值0上。CB是内部控制字节。当CB为“0”时,该字节用于指示通道声音信息组的结束,否则在组中存在附加的一些SB和DB。
由于例如音乐表现力和音量经常具有内在联系,所以通道声音信息组配提高了音乐特性。通道声音信息组配的功能性使得重放能获得更有效地控制。例如,音符接通、音符关闭、呼吸控制器和表现力控制等功能之间的内在联系可以彼此结合地进行设定;然后利用下述不同的转换程序,通过调节一个控制旋钮可对这些系统参数进行同时修正。
如上所述,可以将通道和通道声音信息在复合组配中组配到一起。这样便可以用通道声音信息或通道声音信息组同时设置通道或通道组。设置的方式如下:利用图形控制接口单元输入复合组名,然后选择通道或通道组。接着,选择通道声音信息或通道声音信息组。完成这一设置后,按下OK按钮,完成与图9中的流程900相类似的过程。复合组的文件格式是:复合_组_名:CH名:CH_V_名:TAG[:CH_NAME:CH_V_NAME:TAG],其中的CH_NAME是通道组或个别通道的名称。个别通道名用SxCy定义,其中参数x等于正由MIDI控制器406处理的MIDI文件数。在优选实施例中,将记录系统400配置成处理两个MIDI文件,因此x等于1或2。参数y等于0-15范围内的值,它相当于MIDI通道数。因此,Sx表示MIDI文件源而Cy表示通道0-15。CH_V_NAME是通道声音信息组名,它的格式为SBDB,其中SBDB与上述通道声音信息组配中所述的SBDB具有相同含义。TAG等于0或1。TAG 0表示没有其它的组配串,而TAG1表示存在另一组CH_NAME:CH_V_NAME:TAG数据。
控制处理器800、802和804利用修改型或增量型控制处理来更改修正的MIDI文件402以产生经更改的MIDI文件422。增量型控制处理是这样一种处理,其中例如来自处理器800、802或804的控制信号表示从音符1到音符2的变化是滑音变化,即音符从音符1到音符2的连续渐变。因此,更改的MIDI文件422包括由管理器414加入的需要产生连续变化的附加音符。相反,根据修改型控制处理,控制信号指示的是从音符1到音符2的瞬间音符变化。在这种情况下,更改的MIDI文件422包括音符变化但不包括音符1和音符2之间的附加音符。因此,修改型控制处理并不增加MIDI文件的尺寸,而只是修改存储在文件中的MIDI事件。然而,增量型控制处理产生附加的MVE并增加了MIDI文件尺寸。
增量型控制处理可以根据几个不同的数据转换程序来进行,例如线性转换、对数转换、指数转换、和非线性变换。
线性转换程序通过控制面板或图形控制接口单元对在选定的上下范围内传输的值进行线性转换并得到输出值。线性转换设置是通过选择图形控制接口单元上的线性转换功能作为转换方法,然后手工选择上限界和下限界而完成的。随后利用外部输入值转换公式进行转换:
新_值=下_界限+(上_界限-下_界限)
          V/255       (式1)其中下_界限和上_界限是输出值的预置范围,V是由控制面板或图形控制接口单元传输的值。
对数转换和指数转换程序除了它们分别使用对数和指数函数外,其它均与线性转换程序相类似。对数转换是通过下式完成的:
新_值=下_界限+(上_界限-下_限界)。
(logv/log255)     (式2)指数转换是按下式进行的:
新_值=下_界限+(上_界限-下_界限)·(expv/exp255)  (式3)
在公式(2)和(3)中,下_界限和上_界限是输出值的预置范围,V是由控制面板或图形控制接口单元传输的值。
非线性变换的转换对输出值和V进行一对一不规则转换。这个方法是通过选择控制面板或图形控制接口单元上的非线性变换法然后顺序输入与原始值相应的变换值0-255而输入的。这个方法最灵活,但是需要输入每个变换值。
在MIDI文件418上进行的预处理和在修正的MIDI文件420上进行的控制处理产生了经更改的MIDI文件422。由于预处理和控制处理除了提高接口系统的传输能力之外,还增加了MIDI文件的尺寸,所以用数据优化器416优化更改的MIDI文件422以便产生适合广播的优化MIDI文件424。各种优化方法都是有效的。然而,令人满意的优化方法包括广播用的运行状态优化和处理流程。
图10中示出了一个优化过程的实例。图10是运行状态优化方法的流程图1000。首先,数据优选器416重新组织更改的MIDI文件422从而使由状态字节和数据字节构成的包含相同状态字节的MVE按序排列(步骤1002)。接着,数据优化器416删除相同状态字节外的所有字节(步骤1004)。如果传输的文件尺寸不超过传输容量(步骤1006),则传输该文件(步骤1014)。然而,如果传输的文件超出传输容量(步骤1006),则从该文件中移出最后一个通道声音信息变化,而将其存储以便稍后传输(步骤1008)。如果传输的文件仍然超出传输容量(步骤1010),则存储某些MIDI事件以便秀后传输(步骤1012)。在存储连续的MIDI事件以供稍后传输的事件中,如果下一个MIDI事件与当前存储并供稍后传输的另一个MIDI事件具有相同的状态字节,那么下一个MIDI事件将改写当前存储的MIDI事件。
为了对修正的MIDI文件进行实时控制,MIDI控制器406设有MIDI输出接口电路1100。图11表示MIDI输出接口电路1100。电路1100含有包括例如石英晶体振荡器的振荡源电路1104和计数器1106的时基发生电1102。电路1104可以设置成由2MHz振荡器驱动的时钟电路以提供时钟信号CLK。由振荡源电路1104驱动的计数器1106提供计数信号CT。例如,可以将计数器1106设置成20比特的长度,每300毫秒返回到“0”和复位。电路1100还包括MIDI时间信号发生电路1108。电路1108包括:中断寄存器1110,它用于在下一次系统中断之前保持代表时间的8比特值;时钟信号SPP寄存器1112,用于存储MIDI信号源应产生同步信号的时间;滴嗒高时间(tick high time)TKH寄存器114,用于存储MIDI信号源应传输MIDI信号的时间。电路1108还包括译码器1116,该译码器接收来自相关主计算机1118中的微处理器的指令并把微处理器输出的数据写入寄存器1110、1112和1114。电路1108还包括与其他耦合的信号发生器电路1120,用于接收保持在寄存器1110、1112和1114中的电流值和作为计数器1106当前值的计数信号CT。信号发生器电路1120包括比较电路,该比较电路把保持在每个寄存器1110、1112和1114中的值与计数信号CT相比较。当寄存器1110中的值与计数器信号CT相符时,比较电路触发信号发生器1120产生信号INT;当寄存器1112的值与计数信号CT相符时,产生信号SPP,而当寄存器1114的值与当前信号相符时,产生信号TKH。
电路1100还包括含有缓冲存储器1142和MIDI信号发生器1144的MIDI信号发生电路1140。耦合的缓冲器1142用以接收来自主计算机1118中存储器1146的优化MIDI文件。MIDI信号发生电路1140完成的功能是将优化的MIDI文件和从MIDI时间信号发生电路1108输出的同步信号合并而且以MIDI输出信号串的形式传输合并的数据。
工作时,主计算机1118中的微处理器把存储在存储器1146中的优化MIDI文件传输到缓冲器1142。当时间信号发生电路1108产生TKH信号和该信号被MIDI信号发生电路1140接收时,MIDI信号发生器1144开始从缓冲器1142中检索MIDI信号并以串行的形式将其输出。MIDI信号发生器1144响应所产生的SPP信号在串行的MIDI信号中插入1字节F8H。这一字节用于使接收串行MIDI信号的MIDI声组件同步。
主计算机1118中的微处理器周期性地把代表下一次中断中计算机1118的时间值存储到中断寄存器1110中。接着,在计数信号CT等于中断寄存器1110中的值而使信号发生器1120产生INT信号时,通过向缓冲器1142传输附加的MIDI数据而使主计算机1118中的微处理器作出响应。这样便确保了MIDI信号发生器1144连续地产生串行的MIDI信号。
总之,按照本发明构成的记录系统提高了用户控制MIDI文件参数的能力。控制能力的提高主要是由能修正MIDI文件的预处理器实现的,所述MIDI文件可按三种格式中的任何一种格式存储成单一的修正格式。作为预处理的一部分,删除存储在MIDI文件中但对再现功能无用的信息。由于具有标准格式和较少额外数据的修正MIDI文件比非修正MIDI文件对预定控制处理器、手动控制处理器和软件控制处理器(这些处理器均受控制处理管理器的管理)提供的实时参数调整更敏感,所以可以获得实际的功能提高。
实时参数调整包括两种类型。一种类型可以增加MIDI文件中的数据,而另一种实时参数调整可修改MIDI文件中现有的数据。为了确保在MIDI文件中增加数据不会超出记录系统的传输能力,在记录系统中设置了数据优化器。
每个控制处理器都能逐个通道地调节MIDI文件参数;然而,根据本发明的另一个方面,通过提供由用户选择待组配通道、待组配的通道声音信息或它们的任何组合的处理,进一步提高了记录系统实时控制的能力。由于改变一组参数会影响到几个通道或通道声音信息,所以组配可提高实时控制的能力。
此外,按照本发明构成的记录系统能够几乎连续地处理MIDI文件。为了连续处理MIDI文件,记录系统配备了输出接口电路。输出接口电路产生用于协调MIDI文件传输的时序信号。
按照本发明构成的记录系统通过预处理减小了记录系统处理的数据量,又通过通道组配、通道声音信息组配、和复合组配减少了通道和通道声音信息指令的数量。由于减少了数据和指令量,所以减少了在再现MIDI文件时所需的处理时间和处理资源。
很显然,对于熟悉本领域的技术人员来说,在不脱离本发明的范围和构思的情况下,可以对本发明的方法和优选实施例的结构作出各种修改和变动。对熟悉本领域的技术人员来说,很显然,在本文所述的发明内容和实践的基础上可以得到本发明的其它实施例。本文的说明和举例只是作为例子,本发明的真正范围和构思体现在以下的权利要求中。

Claims (25)

1.用于处理乐器数字接口(MIDI)文件的方法,包括以下由处理器完成的步骤:
接收具有多个事件的表示音乐信息的MIDI文件;
从所述MIDI文件中提取时间信息;
把所述提取的时间信息存储在修正的文件中;
从所述MIDI文件中提取下一个事件;
如果下一个事件是产生音乐所需的事件,则将该下一个事件存储到所述修正的文件中;
如果所述MIDI文件中还有其它下一个事件上,则重复进行提取和存储下一个事件的步骤;和
输出所述修改的文件。
2.用于处理乐器数字接口(MIDI)文件的方法,包括以下由处理器完成的步骤:
(a)、接收具有多个块数据的MIDI文件,每个块数据包含多个事件;
(b)、从所述MIDI文件中提取第一块数据;
(c)、从所述第一块数据中提取时间信息;
(d)、把所述提取的时间信息存储在修正的文件中;
(e)、从所述第一块数据中提取下一个事件;
(f)、如果所述下一事件是产生音乐所需要的事件,则把该下一事件存储到所述修正的文件中;
(g)、如果在所述第一块数据中还存在其它下一事件,则重复步骤(e)-(f);
(h)、把所述时间信息从所述修正文件送到临时文件;
(i)、从所述MIDI文件中提取下一块数据;
(j)、从所述修正的文件中提取第一个下一事件;
(k)、产生第一个下一事件时间累计信号;
(l)、从所述下一个块数据中提取第二个下一事件;
(m)、产生第二个下一事件时间累计信号;
(n)、如果所述第一个下一事件时间累计信号不大于所述第二个下一事件时间累计信号,则将所述第一个下一事件存储到所述临时文件中而将所述第二个下一事件存储在所述下一个块数据中;
(o)、如果所述第一个下一事件时间累计信号大于所述第二个下一事件时间累计信号,则把所述第二个下一事件存储到所述临时文件中而将所述第一个下一事件存储到所述修正的文件中;
(p)、重复步骤(j)-(o),直到把所有所述修正的事件和块数据事件都存储到所述临时文件中;
(q)、存储所述临时文件作为所述修正的文件;和
(r)、重复步骤(i)-(g),直到把所有所述块数据都存储到所述修正的文件中。
3.根据权利要求2所述的方法,其中所述步骤(k)和(m)中的每一个均包括以下步骤:
选择定位节拍和每个MIDI四分音符值的时钟滴数;和
根据所述定位节拍和所述每个MIDI四分音符值的时钟滴数产生累计时间信号。
4.用于控制多个乐器数字接口(MIDI)通道的方法,包括以下由处理器完成的步骤:
选择组名;
为所述选定的组名指定多个MIDI通道;和
提供组控制信号以便控制给所述组名指定的所述多个MIDI通道的再现。
5.用于处理乐器数字接口(MIDI)文件的装置,包括:
用格式0、1和2中的一种格式存储MIDI文件的存储器;和
MIDI控制器,包括:
把所述MIDI文件转换成预定格式MIDI文件的预处理器,
控制处理管理器,用于有选择地改变每个已转换的MIDI文件的MIDI参数,和
数据优化器,以确保由所述控制处理管理器处理的每个已转换的MIDI文件的尺寸处于预定的传输能力之内。
6.乐器数字接口系统,包括:
用格式0、1和2中的一种格式存储MIDI文件的存储器;
MIDI控制器,包括:
对所述MIDI文件进行预处理以产生修正的MIDI文件的装置;
控制所述修正的MIDI文件参数的装置;和
优化所述修正的MIDI文件以便传输的装置;和
产生音乐声音的音调发生器。
7.乐器数字接口(MIDI)控制器,包括:
用于预处理标准MIDI文件以产生修正的MIDI文件的装置;
用于控制所述修正的MIDI文件的至少一个参数的装置;和
用于优化所述修正的MIDI文件以便传输的装置。
8.根据权利要求7所述的MIDI控制器,其中所述标准MIDI文件存储在存储器中;
其中所述的预处理装置包括:
用于从所述存储器中提取所述标准MIDI文件的装置;
用于确定所述标准MIDI文件格式的装置;和
按照所述确定的格式把所述标准MIDI文件转换成所述修正的MIDI文件的装置。
9.根据权利要求8所述的MIDI控制器,其中用于转换所述标准MIDI文件的装置包括:
把所述标准MIDI文件的时间信息存储到修正的MIDI文件中的装置;
从所述标准MIDI文件中反复提取多个MIDI事件的装置;
为每个已提取的MIDI事件判断该已提取的MIDI事件是否是再现所需事件的装置;
将已确定为再现所需的每个提取的MIDI事件存储到所述修正的MIDI文件中的装置。
10.根据权利要求7所述的MIDI控制器,其中所述控制装置包括预定控制器、手动控制器和软件控制器。
11.根据权利要求7所述的MIDI控制器,其中所述标准MIDI文件存储在存储器中;
而且其中对所述标准MIDI文件进行预处理的装置包括:
用于从所述存储器中提取所述标准MIDI文件的装置,
用于确定是所述标准MIDI文件格式的装置;和
根据所述确定的格式把所述标准MIDI文件转换成所述修正的MIDI文件的装置;和
其中所述控制装置包括预定控制器、手动控制器、和软件控制器。
12.根据权利要求7所述的MIDI控制器,其中所述控制装置包括用于独立地修改所述修正的MIDI文件中的至少一个参数的装置。
13.根据权利要求7所述的MIDI控制器,其中所述控制装置包括根据确定第一和第二值之间附加值的预定函数把所述修正的MIDI文件的至少一个参数从所述第一值变为所述第二值的装置。
14.根据权利要求7所述的MIDI控制器,其中所述控制装置包括用于独立修改所述修正的MIDI文件的至少一个参数的装置和根据确定第一和第二值之间附加值的预定函数把所述修正的MIDI文件的至少一个参数从所述第一值变为所述第二值的装置。
15.根据权利要求13所述的MIDI控制器,其中所述预定的函数是线性转换函数。
16.根据权利要求13所述的MIDI控制器,其中所述预定的函数是对数转换函数。
17.根据权利要求13所述的MIDI控制器,其中所述预定函数是指数转换函数。
18.根据权利要求13所述的MIDI控制器,其中所述预定函数是非线性交换函数。
19.根据权利要求13所述的MIDI控制器,其中所述预定的函数是线性转换函数、对数转换函数、指数转换函数和非线性变换函数中的至少一种函数。
20.用于控制多个乐器数字接口(MIDI)通道声音信息的方法,包括由处理器完成的以下步骤:
选择声音信息组名;
给所述选定的组名指定多个MIDI通道声音信息;和
提供声音信息组控制信号以便对给所述声音信息组名指定的所述多个MIDI通道声音信息进行再现控制。
21.用于控制多个乐器数字接口(MIDI)通道和多个MIDI通道声音信息的方法,包括以下由处理器完成的步骤:
选择复合组名;
给所述选定的复合组名指定多个MIDI通道中的至少一个和所述多个MIDI通道声音信息中的至少一个;
提供复合组控制信号,以便对指定给所述复合组名的所述至少一个MIDI通道和所述至少一个MIDI通道声音信息进行再现控制。
22.用于控制多个乐器数字接口(MIDI)通道和多个MIDI通道声音信息的方法,包括由处理器完成的以下步骤:
选择通道组名,通道声音信息组名,和复合组名;
给所述选定的通道组名指定多个MIDI通道,为给所述选定的通道声音信息组名指定多个MIDI通道声音信息,给所述选定的复合组名指定所述多个MIDI通道、通道组名、所述多个MIDI通道信息和通道声音信息组名这些中的至少一种;和
提供通道组控制信号、通道声音信息组控制信号和复合组控制信号中的至少一个信号以便对指定给所述通道组名的所述多个通道中的所述至少一个通道、对指定给所述通道声音信息组名的所述多个通道声音信息、和对指定给所述复合组名的所述通道组名、通道、通道声音信息组名、和通道声音信息中的至少一种进行再现控制。
23.乐器数字接口(MIDI)的输出接口电路,包括:
含有计数器的定时器;
MIDI时间信号发生电路,包含中断存储寄存器、滴嗒高时间存储寄存器、和SSP存储寄存器;
用于接收MIDI文件的MIDI信号发生电路;和
用于把所述中断存储寄存器、所述滴答高时间存储寄存器和所述SSP存储寄存器中的值与所述计数器的当前值进行比较的装置;和
其中所述MIDI时间信号发生电路包括对所述比较装置作出响应以产生输出MIDI文件的装置。
24.根据权利要求5所述的设备,其中所述MIDI控制器包括
包含计数器的定时器;
MIDI时间信号发生电路,该电路包含中断存储寄存器、滴答高时间存储寄存器、和SSP存储寄存器;
用于接收MIDI文件的MIDI信号发生电路;和
把所述中断存储寄存器、所述滴答高时间寄存器和所述SSP存储寄存器中的值与所述计数器的当前值进行比较的装置;和
其中所述MIDI时间信号发生电路包括对所述比较装置作出响应以产生输出MIDI文件的装置。
25.计算机程序产品,包括:
含有能进行数据处理的计算机可读码的计算机可用媒体和乐器数字接口(MIDI)控制器,所述计算机可用的媒体包括:
接收模块,其配置用于接收由所述MIDI控制器处理的MIDI文件;
预处理模块,其配置用于把所述MIDI文件转换成预定的格式;
控制处理模块,其配置用于有选择地改变所述已转换的MIDI文件的MIDI参数;和
数据优化模块,其配置用于把由所述控制处理模块处理的所述已转换MIDI文件尺寸优化到预定的传输容量范围内。
CNB971046557A 1997-06-25 1997-07-28 实时动态乐器数字接口控制的方法和装置 Expired - Lifetime CN1141694C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US882236 1997-06-25
US08/882,236 US5852251A (en) 1997-06-25 1997-06-25 Method and apparatus for real-time dynamic midi control

Publications (2)

Publication Number Publication Date
CN1203410A true CN1203410A (zh) 1998-12-30
CN1141694C CN1141694C (zh) 2004-03-10

Family

ID=25380180

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB971046557A Expired - Lifetime CN1141694C (zh) 1997-06-25 1997-07-28 实时动态乐器数字接口控制的方法和装置

Country Status (2)

Country Link
US (1) US5852251A (zh)
CN (1) CN1141694C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661672B (zh) * 2004-02-23 2010-06-23 联发科技股份有限公司 依据数据重要性进行内存管理的波表音乐合成系统与方法
CN1950879B (zh) * 2004-06-30 2011-03-30 松下电器产业株式会社 音乐信息计算设备和音乐再现设备
CN1953044B (zh) * 2006-09-26 2011-04-27 中山大学 一种基于midi文件的乐器演奏提示和检测系统及方法

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7989689B2 (en) 1996-07-10 2011-08-02 Bassilic Technologies Llc Electronic music stand performer subsystems and music communication methodologies
US7098392B2 (en) 1996-07-10 2006-08-29 Sitrick David H Electronic image visualization system and communication methodologies
US7297856B2 (en) 1996-07-10 2007-11-20 Sitrick David H System and methodology for coordinating musical communication and display
US7423213B2 (en) * 1996-07-10 2008-09-09 David Sitrick Multi-dimensional transformation systems and display communication architecture for compositions and derivations thereof
US6121532A (en) * 1998-01-28 2000-09-19 Kay; Stephen R. Method and apparatus for creating a melodic repeated effect
US7309829B1 (en) 1998-05-15 2007-12-18 Ludwig Lester F Layered signal processing for individual and group output of multi-channel electronic musical instruments
US20050120870A1 (en) * 1998-05-15 2005-06-09 Ludwig Lester F. Envelope-controlled dynamic layering of audio signal processing and synthesis for music applications
US6610917B2 (en) * 1998-05-15 2003-08-26 Lester F. Ludwig Activity indication, external source, and processing loop provisions for driven vibrating-element environments
US6121536A (en) * 1999-04-29 2000-09-19 International Business Machines Corporation Method and apparatus for encoding text in a MIDI datastream
US6462264B1 (en) * 1999-07-26 2002-10-08 Carl Elam Method and apparatus for audio broadcast of enhanced musical instrument digital interface (MIDI) data formats for control of a sound generator to create music, lyrics, and speech
JP3674407B2 (ja) 1999-09-21 2005-07-20 ヤマハ株式会社 演奏データ編集装置、方法及び記録媒体
US7827488B2 (en) 2000-11-27 2010-11-02 Sitrick David H Image tracking and substitution system and methodology for audio-visual presentations
US7386356B2 (en) * 2001-03-05 2008-06-10 Microsoft Corporation Dynamic audio buffer creation
US7162314B2 (en) * 2001-03-05 2007-01-09 Microsoft Corporation Scripting solution for interactive audio generation
US7126051B2 (en) * 2001-03-05 2006-10-24 Microsoft Corporation Audio wave data playback in an audio generation system
US7107110B2 (en) * 2001-03-05 2006-09-12 Microsoft Corporation Audio buffers with audio effects
US7376475B2 (en) * 2001-03-05 2008-05-20 Microsoft Corporation Audio buffer configuration
US6970822B2 (en) * 2001-03-07 2005-11-29 Microsoft Corporation Accessing audio processing components in an audio generation system
US7089068B2 (en) * 2001-03-07 2006-08-08 Microsoft Corporation Synthesizer multi-bus component
US6806412B2 (en) * 2001-03-07 2004-10-19 Microsoft Corporation Dynamic channel allocation in a synthesizer component
US7305273B2 (en) * 2001-03-07 2007-12-04 Microsoft Corporation Audio generation system manager
GB2392545B (en) * 2001-05-04 2004-12-29 Realtime Music Solutions Llc Music performance system
US6482087B1 (en) * 2001-05-14 2002-11-19 Harmonix Music Systems, Inc. Method and apparatus for facilitating group musical interaction over a network
KR100418563B1 (ko) * 2001-07-10 2004-02-14 어뮤즈텍(주) 동기정보에 의한 미디음악 재생 방법 및 장치
JP3867596B2 (ja) * 2002-03-19 2007-01-10 ヤマハ株式会社 演奏音提供装置、通信端末、演奏音提供方法、プログラムおよび記録媒体
EP1467348B1 (en) * 2003-04-08 2005-11-16 Sony Ericsson Mobile Communications AB Optimisation of MIDI file reproduction
EP1571647A1 (en) * 2004-02-26 2005-09-07 Lg Electronics Inc. Apparatus and method for processing bell sound
US7592534B2 (en) * 2004-04-19 2009-09-22 Sony Computer Entertainment Inc. Music composition reproduction device and composite device including the same
US20060101986A1 (en) * 2004-11-12 2006-05-18 I-Hung Hsieh Musical instrument system with mirror channels
US7326847B1 (en) * 2004-11-30 2008-02-05 Mediatek Incorporation Methods and systems for dynamic channel allocation
US7718882B2 (en) * 2007-03-22 2010-05-18 Qualcomm Incorporated Efficient identification of sets of audio parameters
US8759657B2 (en) * 2008-01-24 2014-06-24 Qualcomm Incorporated Systems and methods for providing variable root note support in an audio player
US8697978B2 (en) * 2008-01-24 2014-04-15 Qualcomm Incorporated Systems and methods for providing multi-region instrument support in an audio player
CN101231844B (zh) * 2008-02-28 2012-04-18 北京中星微电子有限公司 一种手机混铃的方法及系统
US9019237B2 (en) * 2008-04-06 2015-04-28 Lester F. Ludwig Multitouch parameter and gesture user interface employing an LED-array tactile sensor that can also operate as a display
US8345014B2 (en) 2008-07-12 2013-01-01 Lester F. Ludwig Control of the operating system on a computing device via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8169414B2 (en) 2008-07-12 2012-05-01 Lim Seung E Control of electronic games via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8604364B2 (en) * 2008-08-15 2013-12-10 Lester F. Ludwig Sensors, algorithms and applications for a high dimensional touchpad
US8170346B2 (en) 2009-03-14 2012-05-01 Ludwig Lester F High-performance closed-form single-scan calculation of oblong-shape rotation angles from binary images of arbitrary size using running sums
US20110066933A1 (en) 2009-09-02 2011-03-17 Ludwig Lester F Value-driven visualization primitives for spreadsheets, tabular data, and advanced spreadsheet visualization
US20110055722A1 (en) * 2009-09-02 2011-03-03 Ludwig Lester F Data Visualization Environment with DataFlow Processing, Web, Collaboration, Advanced User Interfaces, and Spreadsheet Visualization
US20110202934A1 (en) * 2010-02-12 2011-08-18 Ludwig Lester F Window manger input focus control for high dimensional touchpad (htpd), advanced mice, and other multidimensional user interfaces
US10146427B2 (en) * 2010-03-01 2018-12-04 Nri R&D Patent Licensing, Llc Curve-fitting approach to high definition touch pad (HDTP) parameter extraction
JP5654897B2 (ja) * 2010-03-02 2015-01-14 本田技研工業株式会社 楽譜位置推定装置、楽譜位置推定方法、及び楽譜位置推定プログラム
US9632344B2 (en) 2010-07-09 2017-04-25 Lester F. Ludwig Use of LED or OLED array to implement integrated combinations of touch screen tactile, touch gesture sensor, color image display, hand-image gesture sensor, document scanner, secure optical data exchange, and fingerprint processing capabilities
US9626023B2 (en) 2010-07-09 2017-04-18 Lester F. Ludwig LED/OLED array approach to integrated display, lensless-camera, and touch-screen user interface devices and associated processors
US8754862B2 (en) 2010-07-11 2014-06-17 Lester F. Ludwig Sequential classification recognition of gesture primitives and window-based parameter smoothing for high dimensional touchpad (HDTP) user interfaces
US9950256B2 (en) 2010-08-05 2018-04-24 Nri R&D Patent Licensing, Llc High-dimensional touchpad game controller with multiple usage and networking modalities
US20120204577A1 (en) 2011-02-16 2012-08-16 Ludwig Lester F Flexible modular hierarchical adaptively controlled electronic-system cooling and energy harvesting for IC chip packaging, printed circuit boards, subsystems, cages, racks, IT rooms, and data centers using quantum and classical thermoelectric materials
US9442652B2 (en) 2011-03-07 2016-09-13 Lester F. Ludwig General user interface gesture lexicon and grammar frameworks for multi-touch, high dimensional touch pad (HDTP), free-space camera, and other user interfaces
US9052772B2 (en) 2011-08-10 2015-06-09 Lester F. Ludwig Heuristics for 3D and 6D touch gesture touch parameter calculations for high-dimensional touch parameter (HDTP) user interfaces
US9823781B2 (en) 2011-12-06 2017-11-21 Nri R&D Patent Licensing, Llc Heterogeneous tactile sensing via multiple sensor types
US10430066B2 (en) 2011-12-06 2019-10-01 Nri R&D Patent Licensing, Llc Gesteme (gesture primitive) recognition for advanced touch user interfaces
US20150012569A1 (en) * 2013-07-08 2015-01-08 Nokia Corporation Method, apparatus and computer program product for conversion of a media file

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5208421A (en) * 1990-11-01 1993-05-04 International Business Machines Corporation Method and apparatus for audio editing of midi files
US5119711A (en) * 1990-11-01 1992-06-09 International Business Machines Corporation Midi file translation
US5471008A (en) * 1990-11-19 1995-11-28 Kabushiki Kaisha Kawai Gakki Seisakusho MIDI control apparatus
US5140887A (en) * 1991-09-18 1992-08-25 Chapman Emmett H Stringless fingerboard synthesizer controller
JP3516406B2 (ja) * 1992-12-25 2004-04-05 株式会社リコス カラオケオーサリング装置
US5376752A (en) * 1993-02-10 1994-12-27 Korg, Inc. Open architecture music synthesizer with dynamic voice allocation
US5521323A (en) * 1993-05-21 1996-05-28 Coda Music Technologies, Inc. Real-time performance score matching
JP3527763B2 (ja) * 1993-09-21 2004-05-17 パイオニア株式会社 調性制御装置
US5521324A (en) * 1994-07-20 1996-05-28 Carnegie Mellon University Automated musical accompaniment with multiple input sensors
KR0129964B1 (ko) * 1994-07-26 1998-04-18 김광호 악기선택 가능한 영상노래반주장치
US5596159A (en) * 1995-11-22 1997-01-21 Invision Interactive, Inc. Software sound synthesis system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661672B (zh) * 2004-02-23 2010-06-23 联发科技股份有限公司 依据数据重要性进行内存管理的波表音乐合成系统与方法
CN1950879B (zh) * 2004-06-30 2011-03-30 松下电器产业株式会社 音乐信息计算设备和音乐再现设备
CN1953044B (zh) * 2006-09-26 2011-04-27 中山大学 一种基于midi文件的乐器演奏提示和检测系统及方法

Also Published As

Publication number Publication date
CN1141694C (zh) 2004-03-10
US5852251A (en) 1998-12-22

Similar Documents

Publication Publication Date Title
CN1141694C (zh) 实时动态乐器数字接口控制的方法和装置
US6121533A (en) Method and apparatus for generating random weighted musical choices
US6103964A (en) Method and apparatus for generating algorithmic musical effects
US20040099125A1 (en) Method and apparatus for phase controlled music generation
US6576828B2 (en) Automatic composition apparatus and method using rhythm pattern characteristics database and setting composition conditions section by section
US7268289B2 (en) Musical instrument performing artistic visual expression and controlling system incorporated therein
Winkler Composing interactive music
JPH04249298A (ja) Midiデータファイルの処理システム及び方法
CN102053998A (zh) 一种利用声音方式检索歌曲的方法及系统装置
CN1252674C (zh) 用于在完美重奏中再现音乐的多个部分的音频系统
EP0339575B1 (en) Electronic musical instrument
US20090254206A1 (en) System and method for composing individualized music
CN1892812A (zh) 乐音合成设备和方法
CN1873775A (zh) 乐音合成装置及方法
JP3177374B2 (ja) 自動伴奏情報発生装置
US5136914A (en) Stringed instrument emulator and method
US7186910B2 (en) Musical tone generating apparatus and musical tone generating computer program
CN1770258B (zh) 表演风格确定设备和方法
US5223659A (en) Electronic musical instrument with automatic accompaniment based on fingerboard fingering
CN1205829C (zh) 在无线手持式设备中的音乐格式转换方法
CN1570826A (zh) 音乐输入系统,输入信号处理方法及键盘装置
CN115223524A (zh) 一种基于互联网的智能乐器合奏方法及系统
JPH10124046A (ja) 自動演奏データ変換システム及びプログラムを記録した媒体
Li et al. Research on the Computer Music Production Technology System under the Digital Background
JP3567297B2 (ja) 音源のアサイナ装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: INDUSTRIAL TECHNOLOGY RESEARCH INSTITUTE; MORNING

Free format text: FORMER OWNER: INDUSTRIAL TECHNOLOGY RESEARCH INSTITUTE

Effective date: 20081107

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20081107

Address after: Hsinchu County of Taiwan Province

Co-patentee after: MStar Semiconductor Co., Ltd.

Patentee after: Corporation Industrial Technology Research Institute of consortium

Address before: Hsinchu County of Taiwan Province

Patentee before: Industrial Technology Research Institute

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20040310