CN1249663C - 基于不同种类音乐数据的合奏的音乐播放器 - Google Patents

基于不同种类音乐数据的合奏的音乐播放器 Download PDF

Info

Publication number
CN1249663C
CN1249663C CNB02139959XA CN02139959A CN1249663C CN 1249663 C CN1249663 C CN 1249663C CN B02139959X A CNB02139959X A CN B02139959XA CN 02139959 A CN02139959 A CN 02139959A CN 1249663 C CN1249663 C CN 1249663C
Authority
CN
China
Prior art keywords
time
sign indicating
indicating number
music
sound
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.)
Expired - Fee Related
Application number
CNB02139959XA
Other languages
English (en)
Other versions
CN1427392A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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
Priority claimed from JP2002007872A external-priority patent/JP3804536B2/ja
Priority claimed from JP2002007873A external-priority patent/JP3867580B2/ja
Application filed by Yamaha Corp filed Critical Yamaha Corp
Publication of CN1427392A publication Critical patent/CN1427392A/zh
Application granted granted Critical
Publication of CN1249663C publication Critical patent/CN1249663C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10FAUTOMATIC MUSICAL INSTRUMENTS
    • G10F1/00Automatic musical instruments
    • G10F1/02Pianofortes with keyboard
    • 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
    • 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
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/005Device type or category
    • G10H2230/011Hybrid piano, e.g. combined acoustic and electronic piano with complete hammer mechanism as well as key-action sensors coupled to an electronic sound generator
    • 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/031File merging MIDI, i.e. merging or mixing a MIDI-like file or stream with a non-MIDI file or stream, e.g. audio or video

Abstract

一种音乐播放器/记录器,包括两个数据源(1/CD、2/FD)、一个控制系统(2/3/4/5)和两个声音源(3/13/6/7;15)或一个记录系统;两个数据源之一(2/FD)提供代表第一音的事件码和代表按照MIDI标准定义的各事件码之间的时间间隔的Δ时间码到控制系统,并且另一个数据源(1/CD)提供代表第二音的音频数据码和代表逝去时间的时间码到控制系统;控制系统(2/3/4/5)计数速度时钟(CT),并且变换速度时钟约数目为参考逝去时间,看是否逝去时间与参考逝去时间之间的差可以忽略;当给出的回答是否定的时,控制系统(2/3/4/5)改变所达时间间隔,于是第一音与相应第二音同步地产生。

Description

基于不同种类音乐数据的合奏的音乐播放器
技术领域
本发明涉及音乐记录/播放器,更具体地涉及用于在不同种类声音源之间合奏的音乐记录和播放器。
背景技术
一些乐曲根据不同格式存储在信息存储介质中。光盘是音乐数据信息存储介质的典型例子。但是,各段数据的含义不同。光盘中的二进制码是代表乐声的模拟信号的幅度的表示。模拟信号按44.1kHz进行周期性取样,并且二进制码连续地分配给各个离散的值。从而,模拟信号被量化,并且幅度的各个离散值被以数字码的形式存储在光盘中。幅度的离散值在下文被称为“时序音频数据”,并且代表该时序音频数据的数字码被称为“音频数据码”。
MIDI(乐器数字接口)标准对存储在光盘或软盘中的数字码指定了另一个格式。数字码代表每个音调的产生或消失事件以及各个事件之间的时间间隔。因此,这样被格式化的数字码下面被称为“MIDI码”。关于各个事件的信息段和关于时间间隔的信息段分别被称为“事件数据”和“持续时间数据”,并且代表事件数据的数字码和代表持续时间数据的数字码分别被称为“事件码”和“Δ时间码”。
音乐播放者试图用从记录在光盘上的时序音频数据再现的各段音乐进行合奏。其它的音乐播放者希望按MIDI码结合时序音频数据的形式记录他或她的演奏。图1表示现有技术的音乐记录/播放器100,并且音乐记录/播放器100包括:光盘播放器200、MIDI码发生器400和记录器/再现器500。光盘CD将被装入光盘播放器200中,并且MIDI码发生器400连接到诸如钢琴之类的乐器300。
光盘播放器200装备有光学头,并从光盘CD读出音频数据码。各段音乐通常以数字立体声信号形式存储在光盘中。光盘播放器将数字立体声信号变换为数字单声道信号,并提供代表时序音频数据的数字单声道信号到记录器/再现器500,作为要存储在左声道L中的信号。另一方面,当用户正在演奏乐器300时,MIDI码发生器400监视乐器上的弹奏,并且鉴别各个键的压按/释放。MIDI码发生器400确定一些事件,并产生表示演奏的各事件码和Δ时间码。MIDI码发生器400提供数字MIDI数据信号到记录器/播放器500,作为存储在右声道R中的信号。
记录器500在诸如可记录光盘之类的信息存储介质的左和右声道中写单声道音频数据码和MIDI码。当用户希望再现其演奏时,用户指令现有技术音乐记录器/播放器再现合奏,记录器/播放器500同时从左声道读出数字单声道音频数据码和从右声道读出MIDI码,并分别提供数字单声道音频数据码和MIDI码到光盘播放器200和音调发生器/声音系统(未示出)。光盘播放器200从数字单声道音频数据码产生单声道声音,并且音调发生器/声音系统从MIDI码产生电子音。从而,电子音和单声道声音彼此异步再现。
现有技术音乐记录/播放器固有的第一个问题是异步记录的数字码。如果用户临时弹奏他或她的的部分而与光盘播放器200的节奏不和谐,现有技术音乐记录/播放器如实地记录和播放与其它部分的节奏不和谐的他或她的部分。
另一个问题是单声道声音。即使其它部分作为立体声记录在光盘上,该其它部分是作为单声道再现的。因此,通过现有技术的音乐记录/播放器使声音质量恶化。
在用户希望光盘播放器与从软盘读出MIDI码的MIDI声音再现器执行合奏的情况下,没有办法使电子音与立体声同步再现。详细地讲,时序音频数据表示为音频数据码D1和时间码D2(见图2A),并且MIDI数据表示为事件码D3和Δ时间码D4,如图2B所示。事件码的例子如图2C所示,并表示音符-通,或音符-断、分配给要产生或消失的音的音符号和该音的速度。时间码D2代表从记录在光盘的演奏开始逝去的时间。时间码D2的值总是大于在其左侧的时间码D2。另一方面,Δ时间码D4,即Δt码代表两个事件之间的时间间隔。最左边的Δ时间码D4指示最左边的事件数据码D3表示的事件与由其右侧的事件码D3表示的下一个事件之间的时间间隔。当同时发生两个事件时,如图2B中间两个方框所示,事件码D3接着另一事件码D3。
虽然时序音频数据与MIDI数据都含有对要产生的各个音的定时信息,但时序音频数据与MIDI数据之间的定时数据在含义上是不同的。为此,即使时间码D2与对应的Δ时间码D4进行比较,但这种比较是毫无意义的,并且在光盘播放器与音调发生器/声音系统之间建立任何同步都是困难的。
一个控制器被假设并行地处理时序音频数据码和MIDI码。各个事件,即,在将被同时产生的各个音之前或之后将会发生音符-通事件,和音符-断事件。这是因为这样一个事实,即,不可能使用于控制器的时钟信号严格地等于取样时钟频率,即44.1kHz,以及用于MIDI码发生器的时钟信号。
发明内容
因此,本发明的一个目的是提供一种同步音乐播放器,它基于多种音乐数据,以实时方式在多个合奏的声音源之间建立同步。
本发明还有一个重要目的是提供一种同步音乐记录器,它以实时的方式记录与另外一种音乐数据同步产生的音乐数据。
为了实现该目的,本发明提出测量根据它定义时间间隔的参考逝去时间,比较参考逝去时间与逝去时间,看是否其差是可忽略的,并改变时间间隔用于调节定时,在该定时相应的第一音乐数据信息被提供给目的地,诸如第一声音源或记录系统。
按照本发明的一个方面,提供一种用于播放第一种声音和与之同步的第二种声音的音乐播放器,包括:第一数据源,输出第一种音乐数据,该第一种音乐数据含有代表第一音的第一音乐数据信息段和第一时间数据信息段,每个第一时间数据信息段代表各第一音乐数据信息段之一与第一音乐数据信息的下一段之间的时间间隔;第二数据源,输出的第二种音乐数据,该第二种音乐数据含有代表第二音的第二音乐数据信息段和第二时间数据信息段,每个第二时间数据信息段代表从第二音乐数据信息段(D1)的输出起点逝去的时间;连接到第一数据源和第二数据源的控制系统,产生参考标度,按该标度,定义逝去时间和时间间隔之一,参考标度在含义上与逝去时间和时间间隔的另一个相同,该控制系统比较逝去时间和时间间隔的另一个与参考标度,看是否两者之间的差是可忽略,当回答是否定的时,改变上述逝去时间和时间间隔的一个或参考标度,在逝去时间和时间间隔的另一个和参考标度之间比较以后,一旦改变或不改变的上述逝去时间和时间间隔之一期满,输出第一音乐数据信息段和第二音乐数据信息段相关的一个,并且还输出第一音乐数据信息段和第二音乐数据信息段的另一个;连接到所述控制系统并提供用于产生第一音的第一音乐数据信息段的第一声音源;以及连接到控制系统并提供用于产生第二音的第二音乐数据信息段的第二声音源。
附图说明
从下面结合附图的描述就更清楚地理解同步音乐播放器和同步音乐记录器的特点和优点,其中:
图1是现有技术的音乐记录器/播放器的组成框图;
图2A、2B和2C是表示时序音频数据码的安排、MIDI码的安排和事件的例子的图;
图3是表示按照本发明的音乐播放器的系统组成的框图;
图4是表示包含在音乐播放器中的软盘驱动器的电路组成的框图;
图5是表示通过音乐播放器再现一个合奏的定时图;
图6是表示通过音乐播放器再现另一个合奏的定时图;
图7是表示按照本发明的另一个音乐播放器的系统组成的框图;
图8是表示按照本发明另一个音乐播放器的系统组成的框图;
图9是表示按照本发明的音乐记录器/播放器的系统组成的框图;
图10是表示标准MIDI文件的文件结构图;
图11是表示包含在音乐记录器/播放器中的软盘驱动器的电路组成的框图;
图12是表示包含在软盘驱动器中的由修正值计算器执行的计算机程序的流程图;
图13是表示通过音乐记录器/播放器同步记录的定时图;
图14是表示包含在另一个音乐记录器/播放器中的软盘驱动器的电路组成的框图;
图15是表示包含在软盘驱动器中的由调节器执行的计算机程序的流程图;
图16是表示按照本发明的同步音乐记录器/播放器的系统组成的框图;
图17是表示包含在同步音乐记录器/播放器中的软盘驱动器电路组成的框图;
图18是表示通过同步音乐记录器/播放器播放合奏的定时图;和
图19是表示简单的同步音乐播放器的框图。
具体实施方式
音乐播放器
按照本发明的音乐播放器包括:第一数据源、第二数据源、第一声音源、第二声音源、和控制系统。第一数据源和第二数据源并联连接到控制系统,并提供第一种音乐数据和第二种音乐数据到控制系统。第一种音乐数据含有代表要通过第一声音源产生的第一音的第一音乐数据信息段之间的时间间隔的第一时间数据信息。第二种音乐数据含有代表逝去的时间的第二时间数据信息段,随着该逝去时间基于第二音乐数据信息将产生第二音。第一声音源和第二声音源并联连接到控制系统,并根据第一音乐数据信息段和第二音乐数据信息段分别产生第一音和第二音。
当音乐播放器开始对第一声音源和第二声音源之间的合奏播放时,第一数据源和第二数据源向控制系统提供第一种音乐数据和第二种音乐数据,并且控制系统调整定时,在该定时,每个第一音乐数据信息被提供给第一声音源,如下所述。详细地讲,控制系统继续提供第二音乐数据信息段到第二声音源,并且第二声音源从第二音乐数据信息段中产生第二音。
控制系统继续提供第二音乐数据信息到第二声音源,并且第二声音源从第二音乐数据信息中产生第二音。控制系统测量根据它定义时间间隔的参考逝去时间。控制系统比较逝去时间与参考逝去时间,看是否其之间的差可忽略。
如果回答是肯定的,一旦由对应的第一时间数据信息段代表的时间间隔期满时,控制系统提供相应的第一音乐数据信息段到第一声音源,并且第一声音源根据对应的第一音乐数据信息段产生第一音。
如果回答是否定的,控制系统增加或减少由第一时间数据信息段代表的时间间隔,一旦修改的时间间隔期满时,提供对应的第一音乐数据信息段到第一声音源,并且第一声音源根据第一音乐数据信息段产生第一音。
因此,第一时间数据信息段的标度盘(dial plate)被周期性地调整到第二时间数据信息段的标度盘,使得第一音乐数据信息段被提供给第一声音源与提供给第二声音源的对应的第二音乐数据信息段相同步。为此,第一音与对应的第二音同时产生,并且音乐播放器实现合奏的播放。
在另一种音乐播放器中,参考时间间隔可以根据代表逝去时间的第二时间数据段确定。在这个例子中,控制系统比较每个时间间隔与对应的参考时间间隔,用于调整第二时间数据信息段。
第一实施例
参照图3,实施本发明的音乐播放器大致包括控制系统600和声音源602。正如下面将要详细描述的那样,声音源602具有多个声音发生器。控制系统600同步地从外部数据源CD/FD读出两者都是数字码形式的时序音频数据和MIDI数据,并且传送该数字码到声音源602。在这个例子中,外部数据源是光盘CD和软盘FD。如图2A所示,音频数据码D1和时间码D2表示时序音频数据,并且如图2B所示,事件码D3和Δ时间码D4代表MIDI数据。事件码D3代表读出时序音频数据的开始,并在下面的描述中标注以“D3a”。音频数据码被选择性地分配左声道和右声道,并从音频数据码再现立体声。光盘可以存储左、右声道的一个的音频码系列和在左、右声道的另一个中的一组MIDI码。控制系统600实现两个主要任务。一个主要任务是在音频码的外部数据源与MIDI码的另一个外部数据源之间建立同步。另一个主要任务是选择传送音频/事件码到声音源602。
声音源602包括多个声音发生器,并且被选择的一个或多个声音发生器根据音频数据码和事件码,按独奏或合奏方式再现各个音。多个声音发生器声学地和/或电子地再现各个音。在这个例子中,多个声音发生器之一再现声学音,而多个声音发生器的另一个产生电子音。
控制系统600包括光盘驱动器1、软盘驱动器2、数字信号处理器3、控制器4和操纵板5。数字信号处理器3在图3中缩写为“DSP”。控制器3有信息处理能力。光盘驱动器1是通用光盘驱动器。换言之,光盘驱动器1不是专用于音乐。另一方面,软盘驱动器2被设计为用于音乐播放器,并有信息处理能力。软盘驱动器2不仅是音序器,而且还是定时控制器。时钟发生器201包含在控制器4中(见图4)。时钟发生器201包含石英振荡器、放大器和分频器。石英振荡器产生振荡信号,并且该振荡信号由放大器放大。振荡信号从放大器提供给分频器,并且从时钟发生器201输出频率彼此不同的多个时钟信号。各个时钟信号之一称为“速度(tempo)时钟信号”并在图4中用“CT”标注。
返回到图3,声音源602包括放大器6、扬声器7、合奏音发生器8、自动播放控制器9、钢琴音发生器10、螺线管驱动器11和声学钢琴12。声学钢琴12具有键盘14和踏板,并且螺线管操作的键致动器14a设置在键盘14下面并与踏板相连。螺线管驱动器11连接到螺线管操作的键/踏板致动器14a,并选择性地对螺线管操作的键/踏板致动器14a施加电压,以便不用任何手动和脚踏地移动键和/或踏板。自动播放控制器9、螺线管驱动器11和声学钢琴12作为一个整体构成自动播放钢琴15。事件码D3选择性地从控制器4向自动播放控制器9和合奏音发生器8提供,并且模拟音频信号从数字信号处理器3和控制器4提供给混合器13。这些系统部分下面将更详细地进行描述。
光盘驱动器1具有信号输入端口和信号输出端口。光盘驱动器1通过信号输出端口连接到数字信号处理器3,并在信号输入端口从控制器4接收控制信号。控制信号代表时序音频数据读出的开始。光盘驱动器1通过信号输出端口连接到数字信号处理器3,并提供音频数据码D1和时间码D2到数字信号处理器3。当控制信号到达光盘驱动器1时,光盘驱动器1从光盘CD连续地读出音频数据码D1和时间码D2,并提供音频数据码D1和时间码D2到数字信号处理器3。
软盘驱动器2具有连接到控制器4的信号端口。期望软盘驱动器2实现三个主要任务并作为音序器、数据变换器、和定时调节器。控制器4提供代表MIDI码读出开始的控制信号到软盘驱动器2,并且软盘驱动器2响应于该控制信号开始数据读出。软盘驱动器2从软盘FD读出一个事件码或者一组事件码,并提供事件码或码D3到控制器4。Δ时间码D4接着事件码或码D3。软盘驱动器2确定直至下一个数据的读出的时间周期,并在该时间周期保持空闲。一旦该时间周期期满,软盘驱动器2读出下一个事件码或码D3。因此,软盘驱动器2用作音序器。
如上所述,事件码D3a代表时序音频数据读出的开始,并位于等效于比MIDI码读出开始迟250ms的位置。当从软盘FD读出事件码D3a时,软盘驱动器2提供事件码D3a到控制器4。控制器4翻译事件码D3a,并确认光盘驱动器1开始数据读出的定时。然后,控制器4提供代表时序音频数据读出开始的控制信号到光盘驱动器1。
软盘驱动器2要实现的另一个主要任务是以实时方式变换时间间隔为逝去的时间。换言之,软盘驱动器2变换Δ时间码D3为时间码系列D2。
软盘驱动器2要实现的还另一个任务是调整软盘驱动器2传送事件码或码D3到控制器4的定时。这意味着软盘控制器2可以改变事件码D3之间的时间间隔。定时调节器的功能在下面将详细描述。
数字信号处理器3具有信号输入端口和信号输出端口。信号输入端口连接到光盘驱动器1的信号输出端口,并且信号输出端口分别连接到控制器4和混合器13。数字信号处理器3实现几个主要任务。首先,数字信号处理器3引入250ms的延迟到从光盘驱动器1到控制器4的音频数据码和时间码D1/D2的传播中。另一个主要任务是确定从光盘驱动器1提供的数据码的种类。当数据码到达数字信号处理器3时,数字信号处理器3分析该数据码,并确定数据码的种类。数字信号处理器3提供代表数据码的种类的控制信号到控制器4。再另一个任务是从音频数据码D1中产生模拟音频信号,并提供该模拟音频信号到混合器13。数字信号处理器3在音频数据码D1的接收与对应的用于合奏的模拟音频信号的发送之间引入250ms的延迟。
操纵板5连接到控制器4,并具有多个开关、指示灯和显示窗。开关之一是电源开关。当操纵电源开关时,音乐播放器被加电或被去掉电源。另外一个开关用作指定操作模式,即,合奏模式或者单一播放模式,并且再另一个开关用于指定声音发生器或一些发生器。用户选择性地操纵这些开关,以便对音乐播放器给出他们的指令。音乐播放器通过指示灯和显示窗通知用户当前的状态、模式和诸如从播放开始逝去的时间的信息段。
控制器4具有一些信号输入端口,这些端口连接到数字信号处理器3、软盘驱动器2、操纵板5和合奏音发生器8。分配给软盘驱动器2的信号输入端口被连接到一个三态缓冲器4a。当三态缓冲器4a正处在高阻抗状态时,事件码D3不能由缓冲器4a锁存。但是,当使能信号改变为有效电平时,三态缓冲器4a改变为使能状态,并且事件码D3由三态缓冲器4a锁存。控制器4还具有一些信号输出端口,这些输出端口连接到光盘驱动器1、软盘驱动器2、合奏音发生器8、自动播放控制器9和混合器13。控制器4与系统部件1-3、5、8、9和13通信并且实现以下主要任务。
第一主要任务是翻译用户的指令。用户向操纵板5给出指令,并且指令信号从操纵板5提供给控制器4。控制器4分析指令信号,并确定要实现的主要任务。
第二主要任务是使音频数据码和MIDI数据码从光盘CS和软盘CD同步读出。当用户通过操纵板5指令音乐播放器再现合奏音乐时,用户操纵用于操作模式的开关。操纵板5提供代表合奏模式的指令信号,并且控制器4确认要求的第二主要任务。控制器4提供代表MIDI码读出开始的控制信号给软盘驱动器2。软盘驱动器2连续读出MIDI码D3/D4,并传送事件码D3到控制器4。控制器4检查每个事件码D3,看事件码D3是否代表一段音乐数据,或代表时序音频数据读出的开始。当控制器4确认该事件码D3代表一段音乐数据时,控制器4提供事件码D3到自动播放控制器9。另一方面,当控制器发现事件码D3是代表时序音频数据读出的开始时,控制器4提供代表时序音频数据读出的开始的控制信号到光盘驱动器1。利用控制信号,光盘驱动器1开始从光盘CD读出音频数据码/时间码D1/D2。音频数据码/时间码D1/D2被提供给数字信号处理器3,并由数字信号处理器3延迟250ms。数字信号处理器3连同代表数据码的种类的控制信号一起连续提供音频数据码/时间码D1/D2到控制器4。当每个时间码D2到达控制器4时,控制器4传送时间码D2到软盘驱动器2。利用时间码D2和Δ时间码D4,软盘驱动器2建立事件码D3的读出与音频数据码D1的读出之间的同步。
第三主要任务是从数字音频信号中产生模拟音频信号。数字音频信号是从合奏音发生器8提供的。模拟音频信号从控制器4提供给混合器13。
第四主要任务有关于第二主要任务。第四主要任务是选择性地传送事件码D3到合奏音发生器8和自动播放控制器9。用户通过操纵板5指令控制器4事件码D3的目的地。
第五主要任务是中继用户的指令到诸如自动播放控制器9之类的其它系统部件。
合奏音发生器8连接到控制器4,并从事件码D3中产生数字音频信号。当用户指定合奏音发生器8作为目的地时,已经从软盘驱动器2间歇提供给控制器4的事件码D3,被从控制器4提供给合奏音发生器8。合奏音发生器8利用由事件码D3指定的地址访问波存储器,并产生数字音频信号。该数字音频信号被提供给控制器4或混合器13。如上所述,数字音频信号被控制器4变换为模拟音频信号。
混合器13具有连接到数字信号处理器3、控制器4、合奏音发生器8和钢琴音发生器10的信号输入端口。数字信号处理器3提供已经从音频数据码D1产生的模拟音频信号到混合器,并且控制器4或钢琴音发生器10提供已经从事件码D3产生的模拟音频信号到混合器。合奏音发生器8向混合器13提供数字音频信号。混合器13混合这些信号,并产生模拟音频信号。混合器13提供该模拟音频信号到放大器6。模拟音频信号被放大,并而后提供给扬声器7。通过扬声器7模拟信号被变换为声音。
自动播放控制器9根据用户指令选择性地实现两个主要任务。用户的指令是从控制器4再次传送的。第一主要任务是传送事件码D3到钢琴音发生器10。钢琴音发生器10利用由事件码指定的地址访问波存储器,并产生数字音信号。数字音信号被变换为模拟音频信号,并且该模拟音频信号从钢琴音发生器10提供给混合器13。
第二主要任务是通过螺线管驱动器11控制螺线管操作的键盘/踏板致动器14a。自动播放控制器9根据代表音符-通的事件码D3,确定与键盘/踏板相连的螺线管操作的键/踏板致动器14a的活塞(plunger)要被移动的轨迹。自动播放控制器9通知键/踏板的螺线管驱动器11要移动和键/踏板的轨迹。螺线管驱动器11调整驱动电压信号为各适当轨迹的潜在电平,并提供驱动潜在电平到螺线管操作的键/踏板致动器14a。当螺线管操作的键/踏板致动器14a利用驱动信号加电时,活塞凸出并推动相连的键和踏板。移动键和踏板,就象人弹奏按键和脚踏踏板一样。按下的键使音锤自由旋转升高,并在自由旋转结束时音锤打击音条。音条振动,并产生声学钢琴音。
当代表音符-断的事件码D3到达自动播放控制器9时,自动播放控制器9指令螺线管驱动器11从螺线管操作的键/踏板致动器14a取消驱动信号。活塞缩回,并且键/踏板返回静止位置。
在事件数据D3通过控制器4的传送到产生声学钢琴音之间存在一个时间滞后。该时间滞后为500ms数量级。当用户指令音乐播放器通过扬声器7和自动播放钢琴15再现合奏音时,控制器4指令软盘驱动器2从软盘FD中连续读出事件码D3和Δ时间码D4。事件码D3a是在从MIDI码读出开始250ms后从软盘FD读出的,并当事件码D3a到达时控制器4指令光盘驱动器1开始读出音频/时间码D1/D2。因此,控制器3引入250ms延迟到读出的数据中。如上所述,数字信号处理器3引入250ms延迟到控制器4的信号传播中。因此,每个音频码D1从事件码D3到达有500ms延迟。虽然声学钢琴音由于从控制器4传送到自动播放控制器9的事件码D3的传送有500ms延迟,但电子音和钢琴音从扬声器7同时发出。
转到图4,软盘驱动器2包括事件缓冲器202、Δ时间寄存器203、累加器211/221、发送控制230和用作定时调整功能的调节器241。累加器211是利用加法器211a和寄存器212的合奏实现的,并且加法器221a和寄存器222构成另一个累加器221。
事件码或码D3和Δ时间码D4被选择性地从软盘FD提供给事件缓冲器202和Δ时间寄存器203,并分别存储在事件缓冲器202和Δ时间寄存器203中。Δ时间码D4可以跟随多于一个事件码。事件缓冲器202具有大到足以存储所有事件码的存储容量。Δ时间码D4的值等于要在一个事件与下一个事件之间计数的速度时钟CT的数目。事件缓冲器202连接到控制器4的缓冲器4a,并且Δ时间寄存器203连接到累加器211和调节器241。
发送控制230具有连接到累加器211和调节器241的两个输入端口,并比较代表传送事件码或码D3的目标时间的累加总数M与存储在寄存器222中的数N,看是否事件码或D3要被传送到控制器4。当数N达到累加总数M时,回答给出肯定的,并且发送控制230改变使能信号和锁存控制信号到有效电平,并且提供有效使能/锁存控制信号到控制器4和Δ时间寄存器/用于累加总数的寄存器203/212。发送控制230也可以提供寄存器203/212写入时钟信号,替代锁存控制信号。
累加器211累加各个时间间隔,即,Δ时间码D4的值,并且提供累加的总数M到发生控制230。每个Δ时间码D4代表在一个事件与下一个事件之间计数的速度时钟CT的数目,于是累加的总数也可以由从开始读出MIDI码计数的速度时钟的总数表示。加法器211a具有分别连接到Δ时间寄存器203和用于累加总数的寄存器212的输入端口,连接到用于累加总数的寄存器212的输出端口。因此,加法器211和寄存器212形成累加环。当用户指令控制器4再现合奏时,寄存器212被复位为0。当软盘驱动器2连续读出MIDI码时,软盘FD间歇地提供Δ时间码D4到Δ时间寄存器203。当数N达到累加总数M时,发送控制230改变锁存信号为有效电平。利用有效锁存控制信号,下一个Δ时间码D4被存储在Δ时间寄存器203中,并且立即传送到加法器211用于累加。加法器211加Δ时间到累加总数M,并且存在有效电平的锁存控制信号时,新的累加总数M被存储到寄存器212中。
另一个累加器221计数速度时钟CT。加法器221a具有分别连接到恒定值“+1”的源和寄存器222的两个输入端口,和加法器221a的输出端口连接到寄存器222。加法器221a和寄存器222形成累加环。在加法器221a连接寄存器222的输入端口还被连接到调节器241和发送控制230,并且速度时钟CT作为锁存控制信号被提供给寄存器222。当用户指令控制器4再现合奏时,寄存器222被复位为0。加法器221a加1,并且响应于速度时钟CT,总数存储在寄存器222中。因此,速度时钟CT的数N被存储在寄存器222中,并且被提供给调节器241和发送控制230。
调节器241连接到控制器4、累加器221和Δ时间寄存器203。时间码D2通过数字信号处理器3和控制器4从光盘CD传送到调节器241,并且累加器221提供速度时钟CT的数N到调节器241。调节器241实现如下两个主要任务。
调节器241首先通过用速度时钟CT的脉冲周期乘以数N,即(N×τ),计算从MIDI码读出开始逝去的时间。如上所述,音频数据/时间码D1/D2从对应的MIDI码延迟500ms。为了使一个时钟的标度盘等于另一个时钟的标度盘,调节器41从逝去的时间(N×τ)减去500ms,并且确定从第一音频码D1到达控制器4逝去的时间TFD,即{(N×τ)-500}。
由调节器241实现的第二任务是设置时钟的超前和滞后。由时间码D2代表的逝去时间以“TCD”标注。首先,调节器241检查时间码D2,看是否逝去时间TCD大于0。当回答是否定时,调节器241重复这个步骤。当时间码D2表示逝去的时间TCD大于0时,回答改变为肯定。对于肯定的回答,调节器241比较逝去的时间TFD与逝去的时间TCD,看逝去的时间TCD是大于、等于还是小于逝去的时间TFD。在逝去的时间TFD不同于逝去的时间TCD的情况下,调节器241还检查逝去的时间TFD/TCD,看是否差DF落入预定余量MG内。根据如下的回答,调节器241前进到不同的步骤。
情况1:TFD=TCD或|DF|<MG
调节器241既不超前也不滞后地设置时钟。Δ时间码D4间歇地从软盘FD看提供给Δ时间寄存器203,并且在寄存器212中进行累加。当总速度时钟CT数N达到累加总数M时,发送控制230改变使能信号和锁存控制信号为有效电平。利用有效电平的使能信号,事件码或码D3被锁存在寄存器4a中,并且下一个Δ时间码D3在累加器211中累加。
情况2:TFD>TCD和|DF|>MG
在这种情况下,通过自动播放钢琴15再现的部分提前于通过从扬声器7再现的部分差DF,即TFD-TCD。调节器241首先通过用脉冲周期τ除差DF,变换时间,即DF为速度时钟CT数DN。乘积(TFD-TCD)/τ等效于通过自动播放钢琴15再现的部分提前的时间。调节器241从Δ时间寄存器203取Δ时间码D4,并加数DN到Δ时间码D4的值ND4上。调节器241写差{ND4+(TFD-TCD)/τ}到Δ时间寄存器203中。因此,由Δ时间码D3代表的时间间隔被延长。调节器241提供Δ时间码D4到寄存器203,于是存储在寄存器203中的Δ时间码D4代表大于以前数的数。当Δ时间码D4在寄存器212中累加时,发送控制230延迟事件码D或码D3的发送。这导致通过自动播放钢琴15和扬声器7同步地再现两部分。
情况3:TFD<TCD和|DF|>MG
通过自动播放钢琴15再现的部分滞后于通过扬声器7再现的部分。调节器241通过用脉冲周期τ除以差DF,变换滞后时间,即差DF为速度时钟CT的数目。乘积(TFD-TCD)/τ等效于时间延迟。调节器241从Δ时间寄存器203取Δ时间码D4,并从Δ时间码D4的值ND4减去数DN。
接下来,调节器241检查计算结果,看是否差{ND4-(TFD-TCD)/τ}是正数。当回答是肯定的时,调节器241把该差写到寄存器203中。由Δ时间码D3表示的时间间隔被缩短。调节器241将Δ时间码D4提供给寄存器203,以便存储在寄存器203中的Δ时间码D3代表小于以前数的数。当Δ时间码D4在寄存器212中累加时,发送控制230早于以前的方案发送事件码或码D3到缓冲器4a。这导致延迟被取消。两部分通过自动播放钢琴15和扬声器7被同步地再现。
另一方面,如果差是负数,回答是否定的。在这种情况下,调节器241用正数α除以乘积(TFD-TCD)/τ,并且从Δ时间码的值ND4中减去乘积(TFD-TCD)/τα。如果正数是2,给出差为{ND4-(TFD-TCD)/2τ}。调节器241检查计算结果,看是否差是正数。当回答是肯定的时,调节器241写差{ND4-(TFD-TCD)/2τ}到Δ时间寄存器203中,并保存另外一半,即(TFD-TCD)/2τ在内部寄存器(未示出)中。调节器241将从下一个Δ时间的值中减去另外一半。因此,调节器241逐步地消除时间滞后,以便使两部分彼此同步。如果差{ND4-(TFD-TCD)/2τ}仍然给出负的,调节器241增加除数,并重复上述顺序。
图5表示假设用户指令控制器4在首部开始再现的合奏的再现。时间码D2在0.25秒(见“来自CD的时间码”)的间隔被插入,并且从k秒和k+1秒(见“来自C.D的音频数据码”)之间读出音频数据码a[k](k=0、0.25、0.5、0.75、...)。数字信号处理器3引入250ms的时间延迟到音频数据码a[k],使得音频数据码a[k]在第二行和第三行之间延迟。另一方面,从软盘(见“来自软盘的MIDI码”)读出MIDI码m[k](k=0、0.25、0.5、0.75、...)以及声学钢琴12产生钢琴音m[k](k=0、0.25、0.5、0.75、...)。从读出MIDI码钢琴音被延迟500ms(比较第四行与第五行)。
现在假设用户指令控制器4在时间t0再现合奏,控制器4立即指令软盘驱动器2从软盘FD中读出MIDI码D3,并且MIDI码从软盘FD通过软盘驱动器2连续提供给控制器4。从时间t0和时间t1之间读出MIDI码m[0],和从时间t1和时间t2之间读出MIDI码m[0.25]。从软盘FD在时间t5和时间t6之间读出MIDI码m[1.25],并且从软盘FD在时间t6以后读出MIDI码m[1.5]。软盘驱动器2控制事件码或码D3传送到控制器4的定时。但是,当控制器4正等待事件码D3a时,任何时间码D2不能到达软盘驱动器2,并因此软盘驱动器2在由Δ时间码D4确定的定时,传送事件码或码D3到缓冲器4a。
在MIDI码读出开始以后250ms,从软盘FD提供事件码D3a到控制器4。控制器4立即指令光盘驱动器1从光盘CD读出音频数据码D1和时间码D2。在时间t1和时间t2之间从光盘CD读出音频数据码a[0],并且在时间t2和时间t3之间从光盘CD读出音频数据码a[0.25]。
事件码m[0]通过自动播放控制器9传送到螺线管驱动器11,并且螺线管驱动器11加电与要移动的键连接的螺线管操作的键致动器14a。键提升音锤的旋转,并在时间t2和时间t3之间产生音m[0]。音m[0]从开始MIDI码m[0]读出延迟500ms。
另一方面,音频数据码a[0]从光盘驱动器1传送到数字信号处理器3,并在接收后250ms提供给控制器4。当数字信号处理器3正等待该时间周期期满时,数字信号处理器3分析该数据码,并确定数据码的种类。当数字信号处理器3确定了数据码的种类时,数字信号处理器3通知控制器4该数据码种类。在这个例子中,数字信号处理器3通知控制器4,该数据码是音频数据码D1,没有任何MIDI码。一旦250ms期满,数字信号处理器3提供音频数据码a[0]、a[0.25]、...到控制器4,并且音频数据码a[0]、a[0.25]、...被从数字音频信号变换为模拟音频信号。最后,扬声器7从模拟音频信号产生电子音。
时间码[0]、[0.25]、[0.5]、...从控制器4传送到软盘驱动器2的调节器241。虽然调节器241不根据第一时间码[0]进行定时调节。但是,当下一个时间码[0.25]到达调节器241时,调节器241开始如上所述的定时调节。
合奏在开始读出音频数据码(见时间t2的a[0]和m[0])后250ms开始。但是,正如波形所表示的那样,在音频数据码D3读出开始后500ms,音乐播放器通过自动播放钢琴15和扬声器7同步再现两部分。换言之,音m[0.25]通过自动播放钢琴15与音a[0.25]同步地再现。
用户假设指令音乐播放器按一段乐曲结束的方式再现合奏。图6表示该合奏的再现。音乐播放器已播放该段音乐。当用户指令控制器4停止播放时,控制器4响应该指令,并在内部寄存器中暂时存储当前有效的时间码D2。在这个例子中,用户指令控制器4在时间[99.1]停止播放。时间码[99.25]尚未到达控制器4,而有效时间码是[99.0]。控制器4在内部寄存器中暂时存储时间码[99.0]。
当用户指令按合奏重新开始播放时,控制器4加预定时间周期到时间码[99.0]的值上,以便指定重新开始点PREP。在这个例子中,预定时间周期是1秒,于是音乐播放器在[100.0]重新开始合奏播放。控制器4连同与音频数据码D1同步地读出MIDI码的指令一起提供重新开始点PREP到软盘驱动器2。
软盘驱动器2响应于该指令,于是软盘驱动器2连续从软盘FD中读出事件码或码D3和Δ时间码D4,并且累加读出的Δ时间码D2的值。事件码或码D3被存储在事件缓冲器202中,并且,连同Δ时间码D4一起被重新写入。当Δ时间码D4的值在累加器211中累加时,调节器241检查累加总数,看是否等效于累加总数的时间周期略超过重新开始点PREP。调节器241确定等效于累加总数的时间与重新开始点PREP之间的差,并且,变换该差为速度时钟的数。调节器241写速度时钟数到寄存器222中。
当累加总数M达到早于重新开始点PREP 250ms的时间时,发送控制230提供事件码或码D3到缓冲器4a,并且控制器4传送事件码或码D3到自动播放控制器9。在时间[100.25]产生音m[100]。另一方面,在指令软盘驱动器2后,控制器4指令光盘驱动器1重新开始读出音频数据码D1,并给出光盘驱动器1重新开始点[100]。光盘驱动器1到重新开始点PREP之前不传送音频数据码D1到数字信号处理器3。光盘驱动器1在时间PREP重新开始向数字信号处理器3的码发送,并提供音频数据码[100]到数字信号处理器3。在接收后250ms,音频数据码[100]被传送到控制器4,并且在时间[100.25]从扬声器7发出电子音a[100]。因此,音乐播放器通过自动播放钢琴15和扬声器7同步再现两个部分。
控制器4传送时间码[100]到软盘驱动器2的调节器241,并且调节器241开始定时调整。调节器241表现为类似于在乐曲的首部播放时的情况,并且通过自动播放钢琴15和扬声器7同步地播放电子音和声学音。
正如将从上述描述理解的那样,按照本发明的音乐播放器装备有定时调节器,并且定时调节器根据从开始读出音频数据码D1/D2逝去的时间,改变各事件码D3之间的时间间隔。结果,多种音乐数据同时到达多个声音发生器6/7/8/10/13和15,并且多个声音发生器6/7/8/10/13和15同步产生乐曲的多个部分。因此,定时调节器使多个部分通过多个声音发生器同步地再现。
在第一实施例中,事件缓冲器202、Δ时间寄存器203和发送控制230作为一个整体构成音序器,并且累加器211用作数据变换器。累加器221和调节器241组合形成定时调节器。
在第一实施例中,读出首部,软盘驱动器2和光盘驱动器1的事件缓冲器202和发送控制230分别作为第一数据源和第二数据源,并且MIDI码和音频数据/时间码分别对应于第一种音乐数据和第二种音乐数据。自动播放钢琴15用作第一声源,并且数字信号处理器3、混合器13、放大器6和扬声器7作为一个整体构成第二声源。Δ时间寄存器203、累加器211/221、调节器614和控制器4作为一个整体构成控制系统。
第二实施例
转到图7,在实施本发明的另一个音乐播放器中包含软盘驱动器610。软盘驱动器610也具有信息处理能力。实现第二实施例的音乐播放器也包括控制系统612和声音源,并且该声音源与第一实施例一样具有多个声音发生器。控制系统612除调节器614外类似于控制系统600。为此,其它部件标注以与控制系统600对应的部件相同的标号,对此不予赘述。
调节器614连接到寄存器222,但是不连接到Δ时间寄存器203。这意味着调节器614根据存储在时间码D2中的逝去时间,改变速度时钟CT数。时间码D2连续地从控制器4提供给调节器614。
当时间码D2到达调节器614时,调节器614检查时间码D2,看是否从读出音频数据码D1逝去的时间等于0。第一时间码D2指示0。回答是肯定的,并且调节器614忽略第一时间码D1。在第一时间码以后的时间码D2指示逝去时间的有限值,并且回答变为否定的回答。TCD是代表从开始读出音频数据码逝去的时间。
随着否定的回答,调节器614访问寄存器222,并且取得存储在寄存器222中的速度时钟CT数N。调节器614根据速度时钟CT数N,按照TFD=N×τ-500,计算逝去时间TFD,并且比较逝去时间TFD与逝去时间TCD。调节器614计算TFD与TCD之间的差。根据比较的结果和差DF,调节器614前进到一个步骤。
情况1:TFD=TCD或|DF|<MG
调节器614设置时钟,不提前也不滞后。Δ时间码D4间歇地从软盘FD提供给Δ时间寄存器203,并且在寄存器212中进行累加。当总的速度时钟CT数N达到累加总数M时,发送控制230改变使能信号和锁存控制信号为有效电平。利用有效电平的使能信号,事件码或码D3被锁存在缓冲器4a中,并且下一个Δ时间码D3在累加器211中进行累加。
情况2:TFD>TCD和|DF|>MG
在这种情况下,通过自动播放钢琴15再现的部分提前于通过扬声器7再现的部分DF,即TFD-TCD。调节器614首先通过用脉冲周期τ除以差DF,变换时间差DF为速度时钟CT的数DN。乘积(TFD-TCD)/τ等效于自动播放钢琴15再现的部分播放被提前的时间。调节器614从寄存器222取得总速度时钟CT数N,并且从总速度时钟CT数N减去数DN。调节器614在寄存器222中写差{N-(TFD-TCD)/τ}。因此,当前时间被设置得滞后,并且发送控制230延迟事件码或码D3的发送。这导致两部分通过自动播放钢琴15和扬声器7同步地再现。
情况3:TFD<TCD和|DF|>MG
通过自动播放钢琴15再现的部分延迟于通过扬声器7再现的部分。调节器614通过用脉冲周期τ除以差DF,也变换时间差DF为速度时钟CT的数DN。乘积(TFD-TCD)/τ等效于时间延迟。调节器614从自寄存器222取得总速度时钟CT数N,并将数DN加到总速度时钟CT的数N上。调节器614写该和到寄存器222。因此,当前时间被设置提前,并且加速事件码或D3的发送。这导致通过自动播放钢琴15和扬声器7同步再现两部分。
正如将从上述描述中所理解的那样,定时调节器监视时间码D2,看是否事件码D3的发送与音频数据码D1的发送是同步的。如果事件码D3的发送相对音频数据码D1的发送提前或滞后,定时调节器设置时钟,即N个滞后或提前,以便建立乐曲的多个部分之间的同步。
第三实施例
图8表示实施本发明的再另一个音乐播放器。实现第三实施例的音乐播放器也包括控制系统620和声音源622。声音源622类似于声音源602。但是,控制系统624在以下方案不同于控制系统600,即光盘驱动器/数字信号处理器1/3和软盘驱动器2分别被小型盘驱动器624和软盘驱动器626所代替。小型盘驱动器624和软盘驱动器626分别具有信息处理能力。其它部件标注以与对应于第一实施例的部件的标号,为了简单的缘故这些部件的细节不再赘述。
音频数据码和时间码存储在小型盘MD中,并且MIDI码存储在软盘FD中。MD驱动器624具有读码器101和数据变换器102,并且软盘驱动器626用作音序器和定时调节器。
读码器101从小型盘MD读出音频数据码和时间码。读码器101检查读出的码,看是用于小型盘的音频数据码还是时间码。读码器101引入250ms的延迟到音频数据码到控制器4的传播中。另外,读码器101从音频数据码D1产生模拟音频信号。延迟的音频数据码被提供给控制器4,并且模拟音频信号被提供给混合器13。
用于小型盘的时间码从读码器101传送到数据变换器102。数据变换器102变换时间码为代表要与通过自动播放钢琴再现的各个音同步的音之间的时间间隔的Δ时间码MTC,并且引入250ms的延迟到Δ时间码D3到控制器4的传播中。
软盘驱动器626间歇地接收Δ时间码D3,并且,比较某些Δ时间码D3与对应的Δ时间码MTC,看是否某些Δ时间码D3之间的时间间隔等于对应的各Δ时间码MTC之间的时间间隔。如果回答是否定的,软盘驱动器626提供代表提前或滞后的状态信号到控制器4。控制器4响应该状态信号,于是控制器4指令MD驱动器624改变读出速度或250ms的延迟。因此,两部分彼此同步。
软盘驱动器626可以改变Δ时间或累加的速度时钟CT数,代替向控制器4提供状态信号。
正如从上述描述所看出的那样,软盘驱动器626比较Δ时间码D3的值与累加的速度时钟CT数,看对于对应的MIDI码音频数据码是否提前或滞后,并且读码器101改变音频数据码变换到模拟音频信号的定时。结果,通过自动播放钢琴15产生的部分与通过扬声器7产生的部分同步地进行再现。
在第三实施例中,软盘驱动器626用作音序器,并且调节器241与读码器101组合形成定时调节器。
音乐记录器
按照本发明的音乐记录器包括第一数据源、第二数据源、记录系统和控制系统。第一数据源和第二数据源连接到控制系统。第一数据源连续产生含有代表第一音的第一音乐数据信息段的第一种音乐数据。第一音乐数据信息段之间的时间间隔是由第一时间数据信息段定义的。第二数据源连续产生第二种音乐数据,并且第二种音乐数据含有代表第二音的第二音乐数据信息段和代表逝去时间的第二时间数据信息段。第二音是在逝去时间期间产生的。如下所述,控制系统产生第一时间数据信息段,并提供第一音乐数据信息段和第一时间数据信息段到记录系统,以便存储它们到信息存储介质。
当音乐记录器指令第二数据源提供第二种音乐数据时,第二数据源提供第二时间数据信息段到控制系统。第二音乐数据信息段可以被提供给声音源以便产生第二音。
控制系统测量根据根据它定义时间间隔的参考逝去时间。控制系统比较逝去时间与参考逝去时间,看是否之间的差可以忽略。如果回答是否定的,控制系统连续测量参考逝去时间。另一方面,如果回答是否定的,控制系统增加或减少参考逝去时间,以便最小化该差。当每个第一音乐数据信息段到达控制系统时,控制系统计算以前到达的第一音乐数据信息段与第一音乐数据信息段之间的时间间隔,并产生对应的第一时间数据信息段。第一音乐数据信息段和对应的时间数据信息段从控制系统提供给记录系统。记录系统写第一音乐数据信息段和第一时间数据信息段到信息存储介质上。
因此,第一种音乐数据与第二种音乐数据同步地记录到信息存储介质上。
第一实施例
参照图9,表示出实施本发明的音乐记录器/播放器并且一般由700指示。音乐记录器/播放器700基本上包括两个音乐数据源1/10、同步音乐记录器702、和音乐播放器704。在这个例子中,两个音乐数据源之一是光盘驱动器1,和另一个音乐数据源是电子钢琴10。复合键盘乐器可以用带有传感器的自动播放钢琴代替。两个音乐数据源1/10提供两种音乐数据码到同步音乐记录器702和音乐播放器704,这些码是根据不同标准编码的。特别是,两种音乐数据码含有在含义上不同的时间码。从音乐数据源1提供的音乐数据码和从另一个音乐数据源10提供的音乐数据码可以代表一段音乐的一部分和该音乐的另一部分。
当用户指令同步音乐记录器702记录合奏时,同步音乐记录器702请求音乐数据源1/10向其发送两种音乐数据码。音乐数据源1/10连续提供含有时间码的两种音乐数据码到同步音乐记录器702。同步音乐记录器702变换形成一种音乐数据码的各部分的时间码为在含义上与形成另一种音乐数据码的各部分的时间码相同的时间码,并比较变换的时间码与形成对应于另一种音乐数据码的各部分的时间码,看这两部分是否彼此同步。同步音乐记录器702连续写音乐数据码到软盘FD。当回答是肯定的,同步音乐记录器702在软盘FD中存储音乐数据码。但是,如果回答是否定的,同步音乐记录器702修改时间码,并写修改的时间码到软盘FD中。
同步音乐记录器702包括数字信号处理器2、控制器3、操纵板4和软盘驱动器8。控制器3具有信息处理能力。软盘驱动器8也具有信息处理能力。电子钢琴10包括键盘11、用于黑/白键11a的键传感器12、用于多个踏板的踏板传感器13、MIDI码发生器14和钢琴音发生器15。音乐播放器704包括数字信号处理器2、控制器3、混合器5、放大器6、扬声器7和钢琴音发生器15。在自动播放钢琴被用作数据源10的情况下,自动播放钢琴形成音乐播放器704的一部分。
在这个例子中,存储在光盘CD中的一种音乐数据码代表时序音频数据,并且目录数据也存储在光盘CD中。时序音频数据是由音频数据码D1和时间码D2表示(见图2A)。从电子钢琴10提供的另一种音乐数据码表示MIDI数据。MIDI数据是由事件码D3和Δ时间码D4表示的(见图2B)。这些部件和光盘驱动器1在下面更详细地描述。
光盘驱动器1具有信号输入端口和信号输出端口。多个光盘CD装在光盘驱动器1中,并且用户选择多个光盘CD中的一个用于播放和记录。光盘驱动器1通过信号输出端口连接到数字信号处理器2,并在信号输入端口从控制器3接收控制信号。控制信号表示目录数据和时序音频数据的读出开始。光盘驱动器1通过信号输出端口连接到数字信号处理器2,并提供音频数据码D1和时间码D2到数字信号处理器2。要装在光盘驱动器1的光盘可以存储另一种音乐数据。例如,光盘存储时序音频数据为左声道和MIDI数据为右声道,或反之依然。
数字信号处理器2具有信号输入端口和信号输出端口。信号输入端口连接到光盘驱动器1的信号输出端口,并且信号输出端口分别连接到控制器3和混合器5。数字信号处理器2实现若干个主要任务。
首先,数字信号处理器2引入到从光盘驱动器1到控制器3的时间码D2的传播250ms的延迟。另一个主要任务是从音频数据码D1中产生模拟音频信号,并提供该模拟音频信号到混合器5。数字信号处理器2在音频数据码D1的接收与用于合奏的模拟音频信号的对应部分的发送之间引入250ms延迟。
而再一个主要任务是确定从光盘驱动器1提供的数据码的种类,并且是在250ms的延迟内进行的。当数据码到达数字信号处理器2时,数字信号处理器2分析该数据码,并确定该数据码的种类。当数字信号处理器2作出该数据码可用于音乐段的再现等的判断时,数字信号处理器2提供模拟音频信号到混合器5。但是,如果数字信号处理器2作出另一个该数据码仅是发出的噪声的判断,数字信号处理器2不提供模拟音频信号到混合器5。数字信号处理器2向控制器3提供代表不适当的控制信号。
还再一个主要任务是提供代表目录数据的识别码ID到控制器3。每个音乐光盘CD存储用于鉴别各个光盘的盘识别码C-ID和代表其中存储的各段音乐的音乐识别码M-ID。
操纵板4连接到控制器3,并具有多个开关、指示灯和显示窗。开关之一是电源开关。当操作电源开关时,音乐记录器/播放器700被加电,或者从其去掉电源。另一个开关被用作指定操作模式,即,合奏模式或单音模式。用户选择性地操纵这些开关,以便向音乐记录器/播放器700给出他们的指令。音乐记录器/播放器700通过指示灯和显示窗通知用户当前的状态、模式、和诸如要再现或者记录的音乐的标题的信息段。当用户指令音乐记录器/播放器700播放时,控制器3提供图象传送信号到面板,用于根据盘识别码C-ID产生一些光盘CD的图象。用户假设选择其中一个光盘CD,控制器3提供请求光盘驱动器1传送音乐识别码的控制信号。数字信号处理器2从所选的光盘CD读出音乐识别码M-CD,并且数字信号处理器2传送它们到控制器3。控制器3提供图象传送信号到操纵板4,并使操纵板4在显示窗产生音乐成份的标题。
控制器3具有连接到数字信号处理器2、软盘驱动器8、操纵板4和MIDI码发生器14的信号输入端口。控制器3还具有连接到光盘驱动器1、操纵板4、软盘驱动器8、混合器5和MIDI码发生器14的信号输出端口。控制器4与这些系统部件1、2、4、5、8和14进行通信,并实现如下主要任务。
第一主要任务是翻译用户的指令。用户给出指令到操纵板4,并且这些指令信号从操纵板4提供给控制器3。控制器3分析指令信号,并确定要实现的主要任务。非常相关于本发明的指令是要求控制器3与从光盘的乐曲播放同步地记录键盘11上的演奏。当用户指令控制器3与播放同步地记录演奏时,控制器3提供代表同步记录的控制信号到光盘驱动器1和软盘驱动器8。仅MIDI码通过同步记录存储在软盘FD上。这意味着音频数据码和时间码D1/D2不记录在软盘FD上。
第二主要任务是从MIDI码发生器14传送事件码D3到软盘驱动器8和从数字信号处理器2传送时间码D2到软盘驱动器8。如上所述,每个时间码D2的接收对时间码D2的读出延迟250ms。但是,事件码D3延迟250ms到达软盘驱动器8用于产生对应的钢琴音。因此,事件码D3与对应的时间码D2同时到达软盘驱动器8。
键盘11具有黑/白键11a,并且键传感器12设置在黑/白键11a的下面。键传感器12分别监视相连的黑/白键11a。键传感器12产生代表相连的黑/白键11a的当前位置的键位置信号。键位置信号从键传感器12提供给MIDI码发生器14。踏板(未示出)分别与踏板传感器13相连,并产生代表当前踏板位置的踏板位置信号。当用户选择性地踏踏板时,踏板传感器13提供踏板位置信号到MIDI码发生器14。
MIDI码发生器14在信号端口连接到键传感器12和踏板传感器13,并且周期地取得键位置信号和踏板位置信号。MIDI码发生器14在内部工作存储器中存储一系列每个黑/白键11a的当前键位置和一系列每个踏板的当前踏板位置,并分析存储在工作存储器中的数据,看是否用户移动黑/白键11a的任何一个或各踏板的任何一个,以及用户是如何移动黑/白键11a和踏板的。当用户既没按下也没释放任何键/踏板,回答给出是否定的,并且MIDI码发生器14继续周期性取得键位置信号和踏板位置信号用于分析。当MIDI码发生器14发现用户移动黑/白键11a,MIDI码发生器14确定分配给被移动的黑/白键11a的音符号,并计算被移动的黑/白键11a的速度。音符号对应于一产生的音的调,并且键的速度等效于该音的响度。MIDI码发生器14产生对于移动的键/踏板的MIDI码。对于移动的键11a的事件,即音符-通事件或音符-断事件、键号和键速度以MIDI码组被存储。MIDI码发生器14确定从以前事件逝去的时间,并且增加代表各事件之间的时间间隔的Δ时间码。另一方面,当MIDI码发生器14发现用户踏了各踏板中的一个时,MIDI码发生器14利用踏板号识别移动的踏板,并确定移动踏板的敲击。如果需要,MIDI码发生器14产生一组代表给予一个音或一些音的影响和从以前事件的时间间隔的MIDI码。
MIDI码发生器14提供MIDI码到钢琴音发生器15和/或控制器3。在MIDI码,即事件码D3和Δ时间码D4提供给钢琴音发生器15的情况下,钢琴音发生器15根据MIDI码产生数字音信号,并变换数字音信号为模拟音频信号。MIDI码发生器14提供模拟音频信号到混合器5。如果控制器3已指令MIDI码发生器14发送MIDI码到它那里,MIDI码发生器14实时地提供事件码D3到控制器3。
混合器13具有连接到数字信号处理器2、控制器3和钢琴音发生器15的信号输入端口。数字信号处理器2提供已从音频数据码D1产生的模拟音频信号到混合器5,并且钢琴音发生器15提供已从事件码D3产生的模拟音频信号到混合器5。混合器5混合这些信号,并产生一个模拟音频信号。混合器5提供该模拟音频信号到放大器6。该模拟音频信号被放大,并且然后被提供给扬声器7。该模拟信号通过扬声器7被变换为电子音。
软盘驱动器8具有连接到控制器3的输出/输入端口的信号输入/输出端口。由软盘驱动器8实现的最重要的任务是同步记录以便产生标准MIDI文件SMF。盘识别码C-ID、音乐识别码M-ID和MIDI码MIDI都存储在标准MIDI文件SMF中。图10表示标准MIDI文件SMF的典型例子。标准MIDI文件SMF被分为首部块HT和轨迹块TT。诸如块类型、盘识别码C-ID和音乐识别码M-ID之类的基本信息被存储在首部块HT中。另一方面,轨迹块TT分配代表记录在软盘FD上的音乐段的MIDI码MIDI。一组MIDI码MIDI包括代表诸如系统的唯一事件、子事件等之类系统消息以及从MIDI码发生器14提供的事件码D3的事件码。当代表同步记录开始的控制信号到达软盘驱动器8时,软盘驱动器8开始一个时钟。从接收到控制信号250ms时,软盘驱动器8产生代表读出音频数据码开始的事件码D3a,并且存储事件码D3a到轨迹块TT中。正如下面更详细地描述的那样,软盘驱动器8产生代表各个事件之间的时间间隔的Δ时间码,并且作为轨迹块的部分也存储在软盘FD中。控制器3可以产生代表系统消息的事件码。
由软盘驱动器8实现的另一个主要任务是改变存储在每个Δ时间码D4中的时间间隔。这意味着软盘控制器8可以改变各事件码D3之间的时间间隔。更详细地,当用户在键盘上弹奏一段音乐时,控制器3从MIDI码发生器14传送事件码D3到软盘驱动器8。当一个事件码或一组事件码D3到达软盘驱动器8时,软盘驱动器8检查时钟,看该事件码或一些事件码D3离以前的事件码或一些事件码的距离有多长,并临时确定事件之间的时间间隔。软盘驱动器8检查通过控制器3传送的时间码D2,看在键盘上的弹奏与光盘CD的再现是否很好地同步。如果回答是肯定的,软盘驱动器8确定该时间间隔将被存储在Δ时间码D4中,并且写Δ时间码D4在轨迹块TT中。另一方面,如果回答是否定的,软盘驱动器8改变时间间隔,并将其写入Δ时间码D4。因此,软盘驱动器8用作定时调节器。
转到图11,软盘驱动器8包括控制器710。控制器710定义软盘FD中的标准MIDI文件SMF,并且记录上述码在标准MIDI文件SMF中。再有,控制器710根据通过时钟测量的逝去的时间与时间码D2之间的差,修改Δ时间码D4。时钟发生器210包含在控制器3中,并且产生多个时钟信号。时钟信号之一是速度时钟CT,并且速度时钟CT被提供给控制器710和MIDI码发生器14。MIDI码发生器根据速度时钟CT确定各事件之间的时间间隔。
时钟发生器210包括石英振荡器、放大器和分频器。石英振荡器产生一个振荡信号,并且该振荡信号被放大器放大。放大的振荡信号被提供给分频器,并且分频器从放大的振荡信号中产生各时钟信号。该各时钟信号之一是速度时钟CT。
控制器710包括用作时钟的累加器220、校正值计算器230、Δ时间计算器240和文件发生器250。控制器3连接到文件发生器250和校正值计算器230,并分别提供事件码D3和Δ时间码D4到文件发生器250和校正值计算器230。速度时钟CT从时钟发生器210提供给累加器220。
累加器220包括加法器221和寄存器222。当控制器3从数字信号处理器2接收到代表0的第一时间码时,控制器3写0到寄存器222中,并且传送该时间码到校正值计算器230。接点[+1]的源连接到加法器221的各输入结点之一,并且寄存器222连接到加法器221的另一个输入结点。速度时钟的总数N被提供给加法器221,并且加法器221对速度时钟的总数N加1。加法器221的输出结点连接到寄存器222,并且寄存器222响应于速度时钟CT锁存加法器221的输出信号。加法器221和寄存器222形成累加环,并且响应于速度时钟CT对总数N加1。速度时钟的总数N正比于从同步记录开始以后250ms的逝去时间。因此,累加器用作时钟。
文件发生器250在控制器3的控制下。文件发生器250连接到Δ时间计算器240,并当接收到一个事件码或一组事件码时,提供代表Δ时间的计算的指令信号到Δ时间计算器240,以便Δ时间计算器240确定Δ时间,即以前事件与当前接收的事件之间的时间间隔。Δ时间计算器240以Δ时间码存储Δ时间,并且提供Δ时间码到文件发生器250。
文件发生器250还通过驱动电路(未示出)连接到写入头260。控制器3提供盘识别码C-ID和音乐识别码M-ID到文件发生器250,并且文件发生器250通过写入头260写盘识别码C-ID和音乐识别码M-ID到软盘FD中的首部块HT中。文件发生器250产生代表从光盘CD读出音频码的开始的事件码D3a。文件发生器250在接收代表同步记录开始的控制信号后250ms,产生事件码D3a。当用户弹奏键盘11时,控制器3从MIDI码发生器14向文件发生器250间歇地传送事件码D3,并且传送其它事件码到文件发生器250。当事件码或各个事件码到达文件发生器250时,文件发生器250提供指令信号到Δ时间计算器240。Δ时间计算器240产生Δ时间码,并如上所述提供Δ时间码到文件发生器250。文件发生器250写事件码D3a、从控制器3提供的各事件码和Δ时间码到软盘FD中的轨迹块中。
Δ时间计算器240连接到累加器220、校正值计算器230和文件发生器250,并且包括寄存器241和242。当代表同步记录开始的控制信号到达控制器710时,寄存器241和242被初始化,并且在两个寄存器241和242中写0。Δ时间计算器240从文件发生器250接收指令信号的时间被存储在寄存器241中。以前的指令时间作为速度时钟数Nf存储在寄存器241中。当指令信号到达Δ时间计算器240时,Δ时间计算器240从寄存器222读出速度时钟数N,并计算时间间隔(N-Nf)。Δ时间计算器240保持寄存器241中的速度时钟数N作为以前指令的时间Nf。另一方面,另一个寄存器242被分配给也以速度时钟数形式写入的校正值R。校正值R代表时钟,即累加器220与根据时间码D2确定的逝去时间之间的差。校正值R是从校正值计算器230提供的,并且Δ时间计算器240加校正值R到时间间隔(N-Nf),以便确定Δ时间,即(N-Nf+R)。Δ时间计算器240以Δ时间码存储Δ时间,并提供Δ时间码到文件发生器250。
校正值计算器230连接到累加器220和Δ时间计算器240,并且确定校正值R。校正值R代表通过扬声器7再现的一段音乐的部分与通过电子钢琴10产生的该段音乐的另一部分之间的时间差。校正值计算器230通过执行如图12所示的计算机程序确定校正值R。
时间码D2假设到达校正值计算器230。校正值计算器230在步骤S0开始计算机程序,并在内部寄存器中(未示出)存储时间码D2。如通过步骤S1时间码D2存储从音频码的读出开始的逝去时间TCD。
接着,校正值计算器230从寄存器222读出速度时钟数N,并且如通过步骤S2变换数N为逝去时间TFD。速度时钟CT具有脉冲周期τ,并且逝去时间TFD由(N×τ)给出。
校正值计算器230确定逝去时间TCD与逝去时间TFD之间差的绝对值,并且如通过步骤S3比较绝对值|TCD-TFD|与余量Δ,看是否绝对值|TCD-TFD|、于余量Δ。当绝对值|TCD-TFD|小于余量Δ时,在步骤S3的回答为肯定,并且校正值计算器230确定校正值R为0。然后,如通过步骤S4校正值计算器230在寄存器242中写0,并从计算机程序退出。
另一方面,绝对值|TCD-TFD|大于余量Δ,在步骤S3的回答为否定,并且校正值计算器230检查逝去时间TCD和逝去时间TFD,如通过步骤S5看是否通过电子钢琴10产生的部分滞后于通过扬声器7再现的部分。
通过电子钢琴10产生的部分假设滞后于通过扬声器7再现的部分。逝去时间TCD大于逝去时间TFD,并且在步骤S5的回答为肯定。然后,校正值计算器230用脉冲周期τ除为负值的差TFD-TCD,并且写其乘积,即(TCD-TFD)/τ到寄存器242中作为校正值R。因为被除数(TCD-TFD)和除数τ一个是负值和一个是正值,乘积(TCD-TFD)/τ为负值。如通过步骤S6校正值计算器230在寄存器242中写校正值(>0)。当Δ时间计算器240加校正值R到时间间隔(N-Nf)用于确定Δ时间,即(N-Nf+R)时,时间间隔(N-Nf)被缩短,并且Δ时间码使下一个音符-通事件赶上通过扬声器7产生的音。
另一方面,如果通过电子钢琴10产生的部分提前于通过扬声器7再现的部分,在步骤S5的回答是否定的,校正值计算器230用脉冲周期τ除为正值的差TFD-TCD,并且写乘积,即(TCD-TFD)/τ到寄存器242中作为校正值R。因为被除数(TCD-TFD)和除数τ都是正的,乘积(TCD-TFD)/τ为正值。正如通过步骤S7校正值计算器230在寄存器242中写校正值(<0)。当Δ时间计算器240加校正值R到时间间隔(N-Nf)用于确定Δ时间时,即(N-Nf+R),时间间隔(N-Nf)被延长,并且Δ时间码使通过扬声器7产生的音赶上下一个音符-通事件。
在步骤S6或S7,校正值计算器230写校正值,校正值计算器230在步骤S8结束该任务。
下面参照图13对同步记录作出描述。从光盘CD读出的时间码表示在第一行,并且在时间0、0.25秒、0.50秒、...读出时间码[0]、[0.25]、[0.50.]、...。因此,时间码[k](k=0、0.25秒、0.50秒、...)按0.25秒、即250ms的间隔读出。从光盘CD读出的音频数据表示为a[0]、a[0.25]、a[0.50]、...,并且音频数据码a[k](k=0、0.25、0.50、...)代表时间[k]与时间[k+1]之间读出的音频数据码。从光盘CD读出的音频数据码a[k]表示在图13的第二行。音频数据码a[k]被变换为模拟音频信号,并且第三行中的a[k](k=0、0.25、0.50、...)代表对应于模拟音频信号部分的音频数据码。第四行被分配给存储在寄存器222中的值。在同步记录开始后250ms,控制器710在寄存器中写0。为此,在指令以后0.25秒发生r[0]。事件码ME-1、ME-2、ME-3代表响应于在键盘上弹奏从MIDI码发生器14提供的各事件码。
现在假设用户指令音乐记录器/播放器同步地记录他或者她在键盘上的演奏与在光盘CD中的一段音乐的播放。用户装入软盘FD到软盘驱动器8。用户选择光盘CD,并指定要再现的一段音乐。控制器3对光盘驱动器1给出准备的指令。光盘驱动器1从光盘CD中读出盘识别码C-ID和音乐识别码M-ID,并将它们通过数字信号处理器2提供给控制器3。控制器3提供盘识别码C-ID和音乐识别码M-ID到文件发生器250。文件发生器250写包含盘识别码C-ID和音乐识别码M-ID的控制数据信息段到标准MIDI文件SMF的首部块HT中。
当完成首部块HT时,音乐记录器/播放器作好同步记录的准备,并通知用户就绪状态。用户通过操纵板4指令控制器3开始同步记录。然后,控制器3向光盘驱动器1给出代表同步记录开始的控制信号,并且控制信号在时间码[0]到达光盘驱动器1。首先在[k]和[k+1]之间的时间间隔从光盘CD读出时间码[0]和音频数据码[0]。数字信号处理器2检查接收的码a[0],看接收的码是否是音频数据码。随着肯定的回答,数字信号处理器2向控制器3提供代表接收码的种类即没有任何MIDI码的音频数据码的控制信号,并且控制器3允许数字信号处理器2连续给出的任务。
数字信号处理器2变换音频数据码a[0]为模拟音频信号的开始部分,并在接收音频数据码a[0]后250ms提供模拟音频数据信号的开始部分到混合器5。数字信号处理器2在接收时间码[0]后也等待250ms。当延迟时间过后,数字信号处理器2提供时间码[0]到控制器3。
当控制器3接收时间码[0]时,控制器3产生同步记录的指令信号给软盘驱动器8,并且写r[0]到寄存器222。累加器220立即递增存储在寄存器222中的值。控制器3同时传送时间码[0]到校正值计算器230。校正值计算器230检查时间码[0],看是否逝去时间等于0。第一时间码k[0]存储0,并且给出肯定回答。校正值计算器230忽略第一时间码[0],并且不计算校正值R。
光盘驱动器1重复从光盘CD读出数据,引入延迟,产生模拟音频信号并传送时间码[k]到控制器3。模拟音频信号从混合器5通过放大器6传到扬声器7,并且通过扬声器7产生各个电子音。
当数字信号处理器2通过控制器3传送时间码[0.25]到校正值计算器230时,校正值计算器230确定存储在寄存器222中的值N,并根据值N和时间码[0.25]确定校正值R。如果差大于余量Δ,校正值计算器230在寄存器222中写有限校正值R。光盘驱动器1连续读出音频数据码a[k],并且按250ms间隔间歇地读出时间码[k]。软盘驱动器8提供音频数据码a[k]和时间码[k]到数字信号处理器2,并且数字信号处理器2重复上述任务。结果,形成一段音乐的一部分的电子音通过扬声器7产生,并且如果需要,校正值计算器在寄存器242中重写校正值R。
用户开始弹奏,并且MIDI码发生器14在[1.00]、[1.50]、[2.00]、...通过控制器3提供事件码ME-1、ME-2、ME-3到软盘驱动器8。当事件码ME-1、ME-2、ME-3到达文件发生器250时,并且文件发生器250请求Δ时间计算器240产生Δ时间码。Δ时间计算器240确定Δ时间,并提供代表事件码ME-1和ME-2、ME-2和ME-3、...之间的间隔的Δ时间码到文件发生器250。文件发生器250借助于写入头260写事件码ME-1、ME-2、ME-3和Δ时间码到标准MIDI文件SMF的轨迹块TT。
正如将从上述描述中理解的那样,软盘驱动器8不根据各个事件之间的实际时间间隔,内部产生Δ时间码。软盘驱动器8周期性地检查存储在累加器222中的逝去时间和时间码,看弹奏的与播放的一段音乐是否确实同步,并确定滞后或超前的量。因此,根据以系列时间码存储的逝去时间确定Δ时间码。为此,当与光盘CD同步地再现在键盘上的演奏时,演奏很好地与乐曲的播放进行合奏。
再有,两个声道,即右和左声道可用于音频数据码和时间码。通过扬声器7再现立体声,并且演奏的再现与播放之间的合奏给出音乐会大厅现场的效果。
如果用户希望播放他或她的演奏,音乐记录器/播放器从存储在软盘FD中的MIDI码再现其演奏。
在标准MIDI文件SMF中存储MIDI码。如果用户同步地执行存储在不同光盘CD上的多个乐节,音乐记录器/播放器利用存储在首部块TT中的盘识别码C-ID,容易地选择为每个乐节的各光盘CD之一。
在这种情况下,电子钢琴11和光盘驱动器1分别用作第一数据源和第二数据源。控制器3、时钟发生器210、累加器220、校正值计算器230和Δ间计算器240作为一个整体构成控制系统。文件发生器250和写入头260组合形成记录系统。
第二实施例
实施本发明的另一种音乐记录器/播放器包括与音乐记录器/播放器700类似的两个音乐数据源、同步音乐记录器720和音乐播放器。音乐数据源和音乐播放器类似于音乐记录器/播放器700,并且除软盘驱动器722外,同步音乐记录器720类似于同步音乐记录器702。为此,下面仅对软盘驱动器722进行描述。当我们在下面的描述中涉及到其它部件时,这些部件标以音乐记录器/播放器700对应的部件的标号。
软盘驱动器722也具有信息处理能力,并包括控制器724和写入头726。控制器724连接到控制器3,并且根据时间码内部产生Δ时间码。各个事件码是通过控制器3从MIDI码发生器14提供的,并且借助于写入头726将事件码和Δ时间码写入软盘。
控制器724包括累加器730、Δ时间计算器732、文件发生器734和调节器736。文件发生器734类似于文件发生器250,并在下文不再进一步描述以避免重复。
累加器730也包括加法器221和寄存器222,并且与累加器220类似,递增速度时钟CT的总数N。总数N表示从同步记录开始的逝去时间。累加器220与730之间的差别是调节器736可以重写速度时钟CT的总数N,正如将在下文更详细地描述的那样。
Δ时间计算器732仅包括被分配以前的事件码或一些事件码到达文件发生器734时速度时钟CT的总数Nf的寄存器241。Δ时间计算器732确定总数N与总数Nf之间的差,并以Δ时间码存储该差,即各事件之间的间隔。Δ时间计算器732提供Δ时间码到文件发生器734。
当时间码从控制器3传送时,调节器736比较根据总数N计算的逝去时间与以时间码存储的逝去时间,看是否逝去时间的差落在预定余量Δ内。如果差值小于余量Δ,调节器736不进行任何调节工作。另一方面,如果差大于余量Δ,调节器736重写总数N,以便消除逝去时间之间的差。
图15表示调节器736执行的计算机程序。假设时间码D2到达调节器736。调节器736在步骤S10开始计算机程序,并在内部寄存器(未示出)中存储时间码D2。如通过步骤S11时间码D2存储从读出音频码开始的逝去时间TCD。
接着,调节器736从寄存器222读出速度时钟的总数N,并如通过步骤S12变换数N为从同步记录开始的逝去时间TFD。速度时钟CT具有脉冲周期τ,并且逝去时间TFD按(N×τ)给出。
调节器736确定逝去时间TCD与逝去时间TFD之间差的绝对值,并如通过步骤S13比较绝对值|TCD-TFD|与余量Δ,看是否绝对值|TCD-TFD|小于余量Δ。当绝对值|TCD-TFD|小于余量Δ时,如通过步骤S13给出肯定的回答,并如通过步骤S14调节器736退出计算机程序。
另一方面,绝对值|TCD-TFD|大于余量Δ时,如通过步骤S13给出否定的回答,如通过步骤S15,调节器736比较逝去时间TCD与逝去时间TFD,看是否内部时钟,即累加器730延迟于以时间码存储的时间。
假设内部时钟延迟于以时间码存储的逝去时间。逝去时间TCD大于逝去时间TFD,并且如通过步骤S15给出肯定的回答。然后,调节器736用脉冲周期τ除绝对值|TFD-TCD|,并加乘积即|TCD-TFD|/τ到总数N。如通过步骤S16,和被写入寄存器222中。因此,用时间码设置内部时钟。调节器736在步骤S14退出计算机程序。
另一方面,如果内部时钟提前,步骤S15的回答是否定的,校正值计算器230用脉冲周期τ除绝对值|TCD-TFD|,并从总数N减去乘积即|TCD-TFD|/τ。调节器736如步骤S17将差值(N-|TCD-TFD|/τ)写入寄存器222中,这样,用时间码设置内部时钟。调节器736在步骤S14退出计算机程序。
当用户指令控制器3与存储在光盘CD中的一段音乐同步地记录他或她的演奏时,音乐记录器/播放器根据总数N和Nf之间的差内部产生Δ时间码,并在标准MIDI文件SMF中存储事件码和Δ时间码。调节器736周期检查内部时钟,看是否逝去时间Nτ近似等于以时间码存储的逝去时间。当逝去时间Nτ超前或滞后时,调节器利用时间码设置内部时钟。结果,以Δ时间码存储的时间间隔基于以时间码存储的逝去时间,并且从事件码再现的各个音与从音频码再现的立体声音很好地合奏。
第三实施例
图16表示实施本发明的再另一种音乐记录器/播放器800。音乐记录器/播放器800大致包括两个音乐数据源802/804、同步音乐记录器806和同步音乐播放器808。在这个例子中,一个音乐数据源802是光盘驱动器,并且另一个音乐数据源804是利用自动播放钢琴810实现的。光盘驱动器802具有信息处理能力,并且自动播放钢琴810和光盘驱动器802不仅用作音乐数据源802/804,而且还用作同步音乐播放器808的一部分。
光盘驱动器802和自动播放钢琴810都连接到同步音乐记录器806,并且还都连接到同步音乐播放器808。当用户弹奏自动播放钢琴810时,自动播放钢琴810产生一种音乐数据码,并提供该种音乐数据码到同步音乐记录器806。另一种音乐数据码是从光盘驱动器802提供给同步音乐记录器806的。虽然两种音乐数据码都要求时间码,但是一种音乐数据码要求的时间码与形成另一种音乐数据码的一部分要求的时间码在含义上是不同的。同步音乐记录器806根据内部时钟指示的时间,为一种音乐数据码内部产生时间码,并且在信息存储介质上与一种音乐数据码一起存储该时间码。
当同步音乐记录器806在信息存储介质上正在记录音乐数据码和内部产生的时间码时,同步音乐记录器806周期检查内部时钟,看是否时间基本与以从光盘驱动器802提供的时间码存储的时间一样。当时间超前或滞后于与相应的时间码存储的时间时,同步音乐记录器806利用相应的时间码设置内部时钟。因此,同步音乐记录器806将一种音乐数据码和内部产生的时间码与由另一种音乐数据码表示的一段音乐的播放同步地记录在信息存储介质上。同步音乐记录器806的操作类似于同步音乐记录器702。
当用户指令音乐播放器播放合奏时,同步音乐播放器808独立地开始从信息存储介质读出一种音乐数据码和时间码,并从另一种信息存储介质读出另一种音乐数据码和时间码。同步音乐播放器808变换一种音乐数据码的时间码为含义上与另一种音乐数据码的时间码相同的时间码,并且比较由变换的时间码指示的时间与由相应时间码指示的时间,看两个时间码是否指示相同的时间。如果回答是否定的,同步音乐播放器808重写以一种音乐数据码的时间码存储的时间。结果,根据一种音乐数据码再现的各音与根据另一种音乐数据码再现的音同步地再现。在一种音乐数据码与另一种音乐数据码表示一段音乐的不同部分的情况下,同步音乐播放器按合奏方式播放该段音乐。
自动播放钢琴810包括声学钢琴812、螺线管操作的键/踏板致动器814、螺线管驱动器816、键传感器818、踏板传感器820和控制器822。在这个例子中,声学钢琴812由标准大钢琴实现。直立式钢琴可以用作声学钢琴812。声学钢琴812包括键盘824和踏板826。用户指定通过键盘824产生的音调名称,并且通过踏踏板826延长和缩短各个音。
键传感器818设置在键盘824下,并连接到控制器822。键传感器818分别监视连着的各黑/白键。当用户按各黑/白键时,连着的键传感器818产生代表在所按键的轨迹上的当前键位置的键位置信号,并提供键位置信号到控制器822。当用户释放所按键时,键传感器818通过键位置信号通知控制器822该释放。
踏板传感器820分别提供给各踏板826,并连接到控制器822。用户假设踏踏板826之一。连着的踏板传感器产生代表在其轨迹上的当前踏板位置的踏板信号,并提供踏板信号到控制器822。
控制器822包括MIDI码发生器828。控制器822周期取得存储在键/踏板位置信号中的键/踏板位置数据,并将其存储在工作存储器(未示出)。控制器822周期检查工作存储器,看是否用户按或踏了键/踏板824/826的任何之一。在用户按了黑/白键的情况下,发生音符-通事件。控制器822指定所按的键,并且计算键的速度。控制器822通知MIDI码发生器828分配给所按键的音符号和键速度,并指令MIDI码发生器828产生代表音符-通事件、音符号和速度的各个事件码。另一方面,如果用户释放了所按的键,发生音符-断事件。控制器3指定分配给释放键的音符号,并指令MIDI码发生器828产生代表音符-断事件和音符号的事件码。
当用户踏踏板826之一时,发生踏板-通事件。控制器822指定该踏板,并确定踏板下沉的深度。控制器822指令MIDI码发生器828产生事件码或者一些事件码。当用户释放所踏的踏板时,发生踏板-断事件,并且控制器822指令MIDI码发生器828产生事件码。MIDI码发生器828还产生每个代表一个事件与以前事件之间的时间间隔的Δ时间码。
螺线管操作的键/踏板致动器被提供给黑/白键824和踏板826,并移动相连的各个键/踏板。控制器822累连接到驱动器电路816,并且驱动器电路816连接到螺线管操作的键/踏板致动器814。当同步音乐播放器806提供事件码到控制器822时,控制器822分析事件码,并确定被按下或者释放的黑/白键824和踏板826。当音符-通事件的时间到来时,控制器822通知驱动器电路816分配的音符号的要按的黑/白键和键速度,并且指令驱动器电路816用适当驱动电压信号给相连的螺线管操作的键致动器814加电。然后,驱动器电路提供驱动电压信号到相连的螺线管操作的键致动器814,并且螺线管操作的键致动器814凸出活塞用于移动相连的键。当音符-断事件的时间到来时,控制器822指令驱动器电路816从螺线管操作的键致动器814去掉驱动电压信号。因此,控制器822指令驱动器电路816选择性地向黑/白键824和踏板826提供和从其去掉驱动电压信号。黑/白键824和踏板826被选择性地移动用于产生钢琴音。
同步音乐记录器806包括数字信号处理器832、控制器834、操纵板836和软盘驱动器838。数字信号处理器832、控制器834和操纵板836在同步音乐记录器806和同步音乐播放器808之间共享。数字信号处理器832、控制器834、操纵板836和软盘驱动器838与包含在同步音乐记录器702中的2、3、4和8的操作相似。为此,为了简化的缘故下文不再进一步描述。
如上所述,自动播放钢琴810形成同步音乐播放器808的一部分。同步音乐播放器808还包括与同步音乐记录器806共享的光盘驱动器802、数字信号处理器832、控制器834和操纵板836,。同步音乐播放器808的其他部件是软盘驱动器842、混合器844、放大器846、扬声器848、合奏音发生器850和钢琴音发生器852。软盘驱动器842具有信息处理能力。在同步音乐播放器808中包含4个声音源。第一声音源是自动播放钢琴810,即声学钢琴812、螺线管操作的键致动器814、驱动器电路816和控制器822。数字信号处理器832、混合器844、放大器846和扬声器848组合形成第二声音源,并且控制器834、合奏音发生器850、混合器844、放大器846和扬声器848作为一个整体构成第三声音源。第四声音源是通过组合控制器822、钢琴音发生器852、混合器844、放大器846和扬声器848实现的。钢琴音发生器852或两个乐音发生器850/852可以形成自动播放钢琴852的各个部分。
合奏音发生器850根据事件码产生数字音频信号。各个事件码被从控制器834提供给合奏音发生器850,于是合奏音发生器850根据各个事件码产生数字音频信号。数字音频信号被反馈到控制器834,并且被变换为模拟音频信号。模拟音频信号被提供给混合器844,并到达扬声器前被放大器846放大。因为混合器844具有数字信号端口,数字音频信号可以直接从合奏音发生器850提供给混合器844。混合器844混合以数字和模拟形式提供给它的所有音乐数据段。
可以指令控制器834通过控制器822提供事件码到钢琴音发生器852或驱动器电路816。钢琴音发生器852根据各个事件码产生数字音频信号,并提供数字音频信号到混合器844的数字信号端口。钢琴音发生器852可以具有数-模变换能力。在这个例子中,钢琴音发生器852提供给混合器844一个模拟音频信号,而不是数字音频信号。另外,驱动器电路816选择性地提供驱动电压信号到螺线管操作的键/踏板致动器814,并且螺线管操作的键/踏板致动器814播放声学钢琴812。
数字信号处理器832从通过光盘驱动器802由光盘提供的音频数据码产生模拟音频信号,并提供模拟音频信号到混合器844。
要使用的声音源或各声音源是要由用户通过操纵板836指令的。在用户选择自动播放钢琴810的情况下,控制器834传送事件码到控制器822,并且控制器822指令驱动器电路816加电与所选黑/白键824之一相连的螺线管操作的键/踏板致动器814,用于通过音条振动产生声学音。信号传播和机械作用延迟声学音。在这个例子中,对于信号传播和机械作用要求500ms。为了与通过扬声器848再现的电子音同步产生声学音,同步音乐播放器808在读出音频数据码与提供模拟音频信号到混合器844之间引入500ms的延迟。声音源832/844/846/848在读出音频数据码后立即产生电子音。这意味着对于声音源832/844/846/848与自动播放钢琴810之间的合奏要求500ms的延迟。
在这个例子中,延迟是按如下引入的。光盘驱动器802在软盘驱动器842的250ms后开始数据读出,并且数字信号处理器832在接收音频数据码与产生模拟音频信号之间引入250ms延迟。即,一半延迟是由控制器834引入的,而另一半延迟是由数字信号处理器832引入的。
软盘驱动器842响应于开始读出MIDI码的控制信号,使得MIDI码可以间歇地提供给控制器834。当从软盘FD读出Δ时间码D4时,软盘驱动器842对于由Δ时间码D4指示的时间间隔保持空闲,并从软盘FD读出下一个事件码或一些事件码。软盘驱动器842重复空闲和数据读出,直至该音乐结束。因此,软盘驱动器842起到音序器的作用。
软盘驱动器842还期望用作定时调节器。图17表示软盘驱动器842的电路组成。用于定时调节器作用的软盘驱动器842包括事件缓冲器848、Δ时间寄存器846、累加器848/850、发送控制852和调节器854。累加器848是由加法器856和寄存器858的组合实现的,并且加法器860和寄存器构成另一个累加器850。
事件码或码D3和Δ时间码D4分别选择性地从软盘FD提供给事件缓冲器844和Δ时间寄存器846,并分别存储在事件缓冲器844和Δ时间寄存器846中。Δ时间码D4可以接着多于一个事件码。事件缓冲器844具有大到足以存储所有事件码的存储容量。Δ时间码D4的值等于在一个事件与下一个事件之间计数的速度时钟CT的数目。事件缓冲器844连接到控制器834的三态缓冲器,并且Δ时间寄存器846连接到累加器848和调节器854。
发送控制852有两个连接到累加器848和调节器854的输入端口,并且比较代表传送事件码或码D3的目标时间的累加总数M与存储在寄存器862中的数N′,看是否事件码或码D3要被传送到控制器834。当数N′达到累加总数M时,给出肯定的回答,并且发送控制852改变使能信号和锁存控制信号为有效电平,并提供有效的使能/锁存控制信号到控制器834和Δ时间寄存器,和累加总数寄存器846/858。发送控制852可以向Δ时间寄存器846和寄存器858提供写入时钟信号而非锁存控制信号。
累加器848累加各时间间隔,即Δ时间码D4的值,并提供累加总数M到发送控制852。每个Δ时间码D4代表在事件与下一个事件之间计数的empo时钟CT的数目,于是累加总数也由从MIDI码读出开始计数的empo时钟总数代表。加法器856有分别连接到Δ时间寄存器846和累加总数的寄存器858的输入端口,并且输出端口连接到累加总数的寄存器858。因此,加法器856和寄存器858形成累加环。当用户指令控制器834开始同步播放时,寄存器858被复位为0。当软盘驱动器842读出MIDI码时,软盘FD间歇提供Δ时间码D4到Δ时间寄存器846。当数N′达到累加总数M时,发送控制852改变锁存控制信号为有效电平。利用有效锁存控制信号,下一个Δ时间码D4被存储在Δ时间寄存器846中,并被立即传送到加法器856用于累加。加法器856加Δ时间到累加总数M上,并在有效电平的锁存控制信号出现时,新的累加总数M被存储在寄存器858中。
另一个累加器850计数empo时钟CT。加法器860具有分别连接到恒定值“+1”的源和寄存器862的两个输入端口,并且加法器860的输出端口连接到寄存器862。加法器860寄存器862形成累加环。加法器860连接到寄存器862的输入端口还连接到调节器854和发送控制852,并且empo时钟CT被提供给寄存器862作为锁存控制信号。当用户指令控制器834再现合奏时,寄存器862被复位为0。加法器860加1,并响应于empo时钟CT在寄存器862中存储总数。因此,empo时钟CT的数N′被存储在寄存器862中,并且被提供给调节器854和发送控制852。
调节器854连接到控制器834、累加器850和Δ时间寄存器846。时间码D2通过数字信号处理器832和控制器834从光盘CD传送到调节器854,并且累加器850提供累加的empo时钟CT数N′到调节器854。调节器854实现如下两个主要任务。
调节器854首先通过用empo时钟CT的脉冲周期乘以N′数,即(N′×τ′),计算从读出MIDI码开始的逝去时间。如上所述,对应于MIDI码的音频数据/时间码D1/D2被延迟500ms。为了使一个时钟的标度盘等于另一个时钟的标度盘,调节器854从逝去时间(N′×τ′)减500ms,并确定从第一音频数据码D1到达控制器834的逝去时间TFD′,即{(N′×τ′)-500}。
由调节器854实现的第二任务是设置时钟提前或滞后。由时间码D2代表的逝去时间被标注为“TCD”。首先,调节器854检查时间码D2,看逝去时间TCD′是否大于0。当回答是否定时,调节器854重复这种检查。当时间码代表的逝去时间大于0时,回答变为肯定。由于肯定的回答,调节器854比较逝去时间TFD′与逝去时间TCD′,看逝去时间TCD′是大于、等于、还是小于逝去时间TFD′。在逝去时间TFD′不同于逝去时间TCD′的情况下,调节器854进一步检查逝去时间的TFD′/TCD′,看是否其差DF落入预定余量MG内。根据如下的回答,调节器854前进到不同的步骤。
情况1:TFD′=TCD′或|DF|<MG
调节器854设置既不超前也不滞后的时钟。从软盘FD间歇地提供Δ时间码D4到Δ时间寄存器846,并在寄存器858中累加。当速度时钟CT总数N′达到累加总数M时,发送控制852改变使能信号和锁存控制信号为有效电平。利用有效电平的使能信号,事件码或码D3被锁存在控制器834的三态缓冲器中,并且下一个Δ时间码D4在累加器846中进行累加。
情况2:TCD′>TFD′和|DF|>MG
通过自动播放钢琴810再现的部分延迟于通过扬声器848产生的部分。通过用脉冲周期τ′除差DF,调节器854变换时间滞后,即差DF为速度时钟CT的数DN。乘积(TCD′-TFD′)/τ′等效于延迟。调节器854从Δ时间寄存器846取Δ时间码D4,并从Δ时间码D4的值ND4减去数DN。
接着,调节器854检查计算结果,看是否差{ND4-(TCD′-TFD′)/τ′}是正数。当回答是肯定时,调节器854在Δ时间寄存器846中写该差。由Δ时间码D4代表的时间间隔被缩短。调节器854提供Δ时间码D4到寄存器846,于是存储在寄存器846中的Δ时间码D4表示小于以前数的数。当Δ时间码D4在寄存器858中累加时,发送控制852早于以前的时间安排发送事件码或码D3到控制器834。这个导致消除了延迟。两部分通过自动播放钢琴810和扬声器848同步地再现。
另一方面,如果差是负数,给出否定的回答。在这种情况下,调节器241用正数α除以乘积(TCD′-TFD′)/τ′,并从Δ时间码的值ND4减去(TCD′-TFD′)/τ′α。如果正数是2,则差给出为{ND4-(TCD′-TFD′)/2τ′}。调节器854检查计算结果,看差是否是正数。当回答是肯定的时,调节器854写差{ND4-(TCD′-TFD′)/2τ′}到Δ时间寄存器846中,并保持另一半即(TCD′-TFD′)/2τ′在内部寄存器(未示出)中。调节器854将从下一个Δ时间中减去该另一半。因此,调节器854逐步消除时间延迟,以便使两部分彼此同步。如果差{ND4-(TCD′-TFD′)/2τ′}仍然是负的。调节器854增加除数,并且重复上述步骤。
情况3:TCD′<TFD′和|DF|>MG
在这种情况下,通过自动播放钢琴810再现的部分提前于通过扬声器848再现的部分差DF,即TFD′-TCD′。调节器854首先通过用脉冲周期τ′除以差DF,变换该时间,即差DF为速度时钟CT的数DN。乘积(TFD′-TCD′)/τ′等效于通过自动播放钢琴810再现部分提前的时间。调节器854从Δ时间寄存器846取Δ时间码D4,并加DN到Δ时间码D4的值ND4上。调节器854写差{ND4+(TFD′-TCD′)/τ/′}到Δ时间寄存器846中。由Δ时间码D4代表的时间间隔被延长。调节器854提供Δ时间码D4到寄存器846,使存储在寄存器846中的Δ时间码D4代表大于以前的数的数。当Δ时间码D4被在寄存器858中累加时,发送控制852延迟事件码或者码D3的发送。这个导致通过自动播放钢琴810和扬声器848的同步再现两部分。
现在假设用户指令同步音乐播放器808通过声音源832/844/846/848和自动播放钢琴810播放合奏,控制器834提供代表同步播放的控制信号到软盘驱动器842。软盘驱动器842从软盘FD中开始读出MIDI码,并立即提供该MIDI码到控制器834。在开始读出MIDI码后250ms,音频数据码读出开始的事件码D3a达到控制器834,并且控制器834指令光盘驱动器802利用控制信号开始读出音频数据码和时间码。因此,延迟的一半被控制器834取消。
光盘驱动器802从光盘CD读出音频数据码D1和时间码D2,并提供音频数据码D1和时间码D2到数字信号处理器832。数字信号处理器832在音频数据/时间码D1/D2的接收与模拟音频信号的产生/传送到控制器834之间引入250ms的延迟。因此,另一半延迟由数字信号处理器832取消。数字信号处理器832分析接收的码,看是否它们是音频数据码D1。如果回答是否定的,数字信号处理器832通知控制器834,接收的码不适于产生模拟音频信号。控制器834通过显示窗给用户告警消息。当给出肯定的回答时,数字信号处理器832从音频数据码D1中产生模拟音频信号,并提供时间码D2到控制器834。
控制器834传送时间码D2到调节器854,并且如果需要,调节器854改变以时间码D4存储的速度时钟CT的数目。因此,软盘驱动器842调节事件码D3的传送为正确的定时,在该定时要通过自动播放钢琴810再现的部分与要通过扬声器848产生的部分同步。
模拟音频信号通过混合器844和放大器846提供给扬声器,并且通过扬声器848产生电子音。另一方面,事件码D3从控制器834传送到控制器822,并且控制器834确定由活塞跟踪的轨迹。控制器834指令驱动电路816加电与所选各黑/白键和各踏板相连的螺线管操作的键/踏板致动器814,使得螺线管操作的键/踏板致动器814沿轨迹移动活塞,并且通过声学钢琴812产生钢琴音。
图18表示合奏的播放。用户指令同步音乐播放器808在第一音或多个音开始一段音乐。间歇从光盘CD读出的时间码D2指示逝去时间,并且逝去时间是从0到0.25、0.50、0.75、1.00、1.25、...递增的,如图18的第一行所示。换言之,各个时间码按250ms的间隔插入软盘。从光盘读出的音频数据码表示为a[k](k=0、0.25、0.50、0.75、1.00、1.25、...),并且如图18的第二行所看到的那样。从读出音频数据码开始的逝去时间表示为[k]。从时间[k]和时间[k+1]从光盘CD读出音频数据码a[k]。如上所述,数字信号处理器832在从接收到音频数据码a[k]250ms后,从音频数据码a[k]产生模拟音频信号。为此,在第三行的音频数据码a[k]延迟于在第二行的音频数据码a[k]250ms。如图18第四行所示,MIDI码m[r]提前于对应的音频数据码a[k]250ms。从读出MIDI码开始的逝去时间[r]由N′τ表示,并且MIDI码ME-1、ME-2、ME-3的传送按1.00秒、1.50秒和2.00秒安排。换言之,m[1.00]、m[1.50]和m[2.00]与ME-1、ME-2、ME-3相同。自动播放钢琴810根据事件码m[r]产生钢琴音,并且如第五行所示根据MIDI码m[r]的钢琴音延迟于对应的MIDI码m[r]500ms。时间[k]延迟于对应的时间[r]250ms。
用户指令同步音乐播放器808通过第二声音源832/844/846/848和自动播放钢琴810播放合奏。控制器834提供代表MIDI码读出开始的控制信号到软盘驱动器842。然后,软盘驱动器842立即从软盘FD开始读出MIDI码,在图18中被标以“开始软盘”,并且累加器850开始递增empo时钟CT的数N′。从软盘FD读出MIDI码m[0]、m[0.25]、m[0.50]、...,并且在0、0.25秒、0.50秒、...被传送到控制器834。同步音乐播放要求500ms用于信号传送和机械动作。为此,第一钢琴音在r=0.50秒产生,它对应于K=0.25。
光盘驱动器802仍不动作,并且不从光盘CD中读出任何时间码。调节器854也不进行定时调节。
从开始250ms后,事件码D3a从软盘驱动器842传送到控制器834,并且控制器842提供代表音频码读出开始的控制信号到光盘驱动器802。光盘驱动器802开始读出音频码和时间码,如在图18中标以“开始C.D.”。
在0与0.25秒之间从光盘CD中读出音频数据码a[0],并且被提供给数字信号处理器832。数字信号处理器直至250ms期满后才产生模拟音频信号,并检查接收的码,看是否它们是音频数据码。当肯定回答时,数字信号处理器832开始从音频数据码产生模拟音频信号,并通过混合器844和放大器846提供模拟音频信号到扬声器848。模拟音频信号通过扬声器848变换为电子音,并且在K=0.25产生第一电子音。因此,第一电子音是与第一钢琴音同时产生的。与对应于a[1.00]和a[2.00]的电子音同时产生对应于MIDI码ME-1和ME-2的钢琴音。
当从光盘CD中读出时间码(0.25)时,时间码(0.25)被提供给数字信号处理器832,并且数字信号处理器832在从光盘驱动器802到控制器834的传播中引入250ms的延迟。控制器834传送时间码(0.25)到软盘驱动器842,并且如上所述调节器854开始定时调节。每当时间码到达,调节器854都重复定时调节。这意味着对应于MIDI码m[0]、m[0.25]...的钢琴音是与对应于音频数据码a[0]、a[0.25]、a[0.50]...的电子音同步产生的。
正如从上述描述所理解的,按照本发明的同步音乐记录器/播放器根据用以时间码D2存储的逝去时间周期性调节的逝去时间Nτ,内部产生Δ时间码,并在信息存储介质上记录事件码和Δ时间码。另外,同步音乐记录器/播放器从信息存储介质和另一个信息存储介质读出MIDI码和音频/时间码,并且分别提供事件码和音频信号到声音源832/844/846/848和声音源810。
虽然已对本发明的具体实施例进行了表示和描述,对于本领域技术人员将十分清楚,在不脱离本发明的精神和范围的情况下可以作出各种改变和修改。
对于音乐播放器来说任何种类的复合乐器都是可用的。无声小提琴,即声学小提琴和电子音发生系统的组合是复合乐器的例子。另外一个例子是电子喇叭。装备声音发生器的个人计算机可以形成音乐播放器的一部分,并且音乐组成部分可以安装在个人计算机上。
虽然250ms的延迟对某些乐器是合适的,但另外有些乐器则引入短于或长于250ms的延迟。为此,根据乐器250ms的延迟是可变的。数字信号处理器引入对乐器适合的延迟到音频/时间码的传播中。
关于信息存储介质方案,光盘CD和软盘FD不设置任何限制。任何种类的易失或非易失存储器都可以用于按照本发明的音乐播放器。非易失存储器的例子是磁光盘。硬盘、CD-ROM、RAM和诸如记忆棒和智能存储器之类的可移动存储器都可用于按照本发明的音乐播放器和/或音乐再现器。音频码D1和时间码D2可以存储在软盘中。音频数据码和时间码D1/D2和/或MIDI码可以通过个人/公用通信信道从数据库提供。
音乐播放器可以在工厂中与自动播放钢琴组合。制造商销售作为合奏使用的自动播放器。
第三实施例的修改在小型盘驱动器624与控制器4之间可以具有数字信号处理器3。在这个例子中,数字信号处理器引入延迟到向控制器的传播中,并且从音频数据码产生模拟音频信号。
电子钢琴可以用无声钢琴代替,即在声学钢琴、音锤制动器和电子音系统之间的组合。按照本发明的音乐记录器/播放器可以分为音乐播放器和音乐记录器,其每个可以单独出售和独立使用。
按照本发明的音乐记录器可以与任何种类的组合乐器或装有传感器的声学乐器相组合。电子弦乐器、电子管乐器、和电子打击乐器是复合乐器的例子。当使用声学弦乐器时,传感器变换弦的振动为数字码。另外一种传感器可以变换空气的振动为数字码。另外,诸如活塞或键操纵的动作可以变换为数字码。
个人计算机系统可以用作MIDI码的源。用户在合适的计算机程序的辅助下,在显示单元上写乐谱,并且个人计算机以MIDI码形式表示一段乐谱。MIDI码可以从个人计算机提供给按照本发明的音乐记录器,并且该乐谱被与存储在光盘上一段音乐的播放同步地记录在外部存储器上。
按照本发明的同步音乐记录器可以在工厂中连同诸如光盘驱动器1和音乐播放器之类的其它数据源一起安装在电子钢琴10中。装备同步音乐记录器、其它数据源和音乐播放器的电子钢琴可以作为用于合奏的电子钢琴进行销售。
代表读出音频数据码开始的事件码D3a对于自动播放钢琴与诸如数字信号处理器和声音系统之类的声音源之间的合奏是方便的。但是,事件码D3a并不是本发明必不可少的特征。500ms延迟可以通过使用插入在从诸如软盘驱动器之类的数据源和扬声器之间的信号传播路径中的延迟电路来引入。同步音乐播放器如图19所示。同步音乐播放器的系统部件标以与上述对应的系统部件相同的标号。差别之一是MIDI码是从控制器3′向音发生器15提供的。音发生器15变换MIDI码为数字音信号,该信号又被变换为模拟音频信号。另一个差别是控制器3′独立地提供控制信号到光盘驱动器1和软盘驱动器8。这意味着软盘FD不存储代表音频数据码读出开始的事件码D3a。而再一个差别是延迟时间是从0到一个有限值时间可变的。数字信号处理器2引入给定值的延迟到时间数据码的传播中,并且变换为模拟音频信号。在这个例子中,两个电子音都是通过扬声器9产生的。

Claims (12)

1.一种用于彼此同步地产生第一种声音和第二种声音的音乐播放器,包括:
第一数据源(2/FD),输出第一种音乐数据,该第一种音乐数据含有代表第一音的第一音乐数据信息段(D3)和第一时间数据信息段(D4),第一时间数据信息段的每段代表所述第一音乐数据信息段之一与下一段第一音乐数据信息之间的时间间隔;
第二数据源(1/CD),输出第二种音乐数据,该第二种音乐数据含有代表第二音的第二音乐数据信息段(D1)和第二时间数据信息段(D2),第二时间数据信息段的每段代表从第二音乐数据信息段(D1)的输出起点的逝去时间;
第一声音源(15),被提供所述第一音乐数据信息段(D3),用于产生所述第一音;和
第二声音源(3/13/6/7),被提供所述第二音乐数据信息段(D1),用于产生所述第二音,
其特征在于还包括:
控制系统(2/4/5),连接到所述第一数据源(2/FD)、所述第二数据源(1/CD)、所述第一声音源(15)和所述第二声音源(3/13/6/7),
所述控制系统(2/4/5)产生参考标度,根据该参考标度定义所述逝去时间和所述时间间隔中的一个,
所述参考标度在含义上与所述逝去时间和所述时间间隔的另一个相同,
所述控制系统(2/4/5)比较所述逝去时间和所述时间间隔的另一个和所述参考标度,看其间的差是否可以忽略,
当回答是否定的时,所述控制系统(2/4/5)改变所述逝去时间和所述时间间隔中的一个或所述参考标度;
在所述逝去时间和所述时间间隔的另一个和所述参考标度比较之后,一旦改变的或未改变的所述逝去时间和所述时间间隔之一期满,所述控制系统(2/4/5)输出有关的第一音乐数据信息段和第二音乐数据信息段之一,以及
所述控制系统(2/4/5)还输出所述第一音乐数据信息段和第二音乐数据信息段的另一个。
2.权利要求1所述的音乐播放器,其中,所述参考标度代表从输出所述第一种音乐数据的首部的参考逝去时间,于是所述控制部件比较所述逝去时间与所述参考逝去时间。
3.权利要求2所述的音乐播放器,其中所述第一种音乐数据是由MIDI(乐器数字接口)标准定义的数字码表示的,于是所述第一音乐数据信息段和所述第一时间数据信息段分别以事件码(D3)和Δ时间码(D4)被存储,并且所述第二种音乐数据由用于光盘(CD)定义的数字码表示,于是所述第二音乐数据信息段和所述第二时间数据信息段分别以音频数据码(D1)和时间码(D2)被存储。
4.权利要求3所述的音乐播放器,其中,所述第一声音源包括具有多个用于指定所述第一音的音调的操纵器(14)和多个用于不用人弹奏的移动操纵器的致动器(14a)的声学乐器(12),和被提供所述事件码用于选择性加电所述多个致动器(14a)的控制器(9/11)。
5.权利要求4所述的音乐播放器,其中,所述声学乐器是钢琴(12)。
6.权利要求3所述的音乐播放器,其中,所述各事件码的一个(D3a)代表输出所述音频数据码(D1)和所述时间码(D2)的开始,于是当接收到所述事件码的所述一个(D3a)时,控制系统(2/3//4)指令所述第二数据源(1/CD)输出所述音频数据码(D1)和所述时间码(D2)。
7.权利要求6所述的音乐播放器,其中,所述各事件码的一个(D3a)被存储在对应于一个时间间隔的位置,以便取消直至产生相关的一个所述第一音而由每个所述事件码(D3)消耗的第一时间周期,与直至产生相关的一个所述第二音而由每个所述音频数据(D1)消耗的第二时间周期之间的时间差的一部分。
8.权利要求3所述的音乐播放器,其中,所述第二声音源(3/13/6/7)变换所述音频数据码(D1)为音频信号,用于从所述音频信号产生所述第二音。
9.权利要求2所述的音乐播放器,其中,所述控制系统包括:
寄存器(203),连接到所述第一数据源(2/FD)并响应控制信号,以便存储从所述第一数据源(2/FD)提供的每个所述第一时间数据信息段(D4);
缓冲器(202),连接到所述第一数据源(2/FD)并存储所述每个第一时间数据信息段(D4)和下一个第一时间数据信息段(D4)之间的第一音乐数据信息段(D3);
累加器(211),连接到所述寄存器(203)并响应控制信号,以便连续累加所述第一时间数据信息段,用于更新传送存储在所述缓冲器(202)中的第一音乐数据信息段(D3)的定时(M);
时钟(221),连接到周期信号CT的源(201)并用该周期信号(CT)递增所述参考逝去时间;
调节器(241),连接到所述第二数据源(1/CD)、所述时钟(221)和所述寄存器(203),被提供所述参考逝去时间(N)和每个所述第二时间数据信息段(D2),看是否所述逝去时间与所述参考逝去时间(N)之间的差可以忽略,并且当给出的回答是否定时,改变由每个所述第一时间数据信息段(D4)指示的值;和
发送控制(230),连接到所述累加器(211)和所述时钟(221),比较所述参考逝去时间(N)与所述定时,看是否所述参考逝去时间(N)达到所述定时(M)并当给出的回答是肯定的时,传送所述第一音乐数据信息段(D3)到所述第一声音源(15)。
10.权利要求9所述的音乐播放器,其中,所述周期信号是时钟信号(CT),利用该时钟信号定义所述时间间隔。
11.权利要求2所述的音乐播放器,其中所述控制系统包括:
寄存器(203),连接到所述第一数据源(2/FD)并响应控制信号,以便存储从所述第一数据源(2/FD)提供的所述第一时间数据信息段(D3);
缓冲器(202),连接到所述第一数据源(2/FD)并存储每个所述第一时间数据信息段(D4)与下一个所述第一时间数据信息段(D4)之间的第一音乐数据信息段(D3);
累加器(211),连接到所述寄存器(203)并响应控制信号,以便连续累加所述第一时间数据信息段(D4),用于更新传送存储在所述缓冲器(202)中的第一音乐数据信息段(D3)到所述第一声音源(15)的定时(M);
时钟(221),连接到周期信号(CT)的源(201)并且用所述周期信号(CT)递增所述参考逝去时间(N);
调节器(614),连接到所述第二数据源(1/CD)和所述时钟(221),被提供所述参考逝去时间(N)和每个所述第二时间数据信息段(D2),看是否所述逝去时间与所述参考逝去时间之间的差可以忽略,并当给出否定的回答时改变所述参考逝去时间(N);
发送控制(230),连接到所述累加器(211)和所述时钟(221),比较所述参考逝去时间(N)与所述定时(M),看是否所述参考逝去时间(N)达到所述定时(M),并当给出的回答是肯定的时,传送所述第一音乐数据信息段(D3)到所述第一声音源(15)。
12.权利要求11所述的音乐播放器,其中,所述的周期信号是时钟信号(CT),用该时钟信号定义所述时间间隔。
CNB02139959XA 2001-11-30 2002-11-30 基于不同种类音乐数据的合奏的音乐播放器 Expired - Fee Related CN1249663C (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP2001367316 2001-11-30
JP367316/2001 2001-11-30
JP367316/01 2001-11-30
JP7872/02 2002-01-16
JP2002007872A JP3804536B2 (ja) 2002-01-16 2002-01-16 楽音再生記録装置、記録装置及び記録方法
JP2002007873A JP3867580B2 (ja) 2001-11-30 2002-01-16 楽曲再生装置
JP7873/2002 2002-01-16
JP7873/02 2002-01-16
JP7872/2002 2002-01-16

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2005100649501A Division CN1670818B (zh) 2001-11-30 2002-11-30 基于不同种类音乐数据的合奏的音乐记录器

Publications (2)

Publication Number Publication Date
CN1427392A CN1427392A (zh) 2003-07-02
CN1249663C true CN1249663C (zh) 2006-04-05

Family

ID=27347892

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB02139959XA Expired - Fee Related CN1249663C (zh) 2001-11-30 2002-11-30 基于不同种类音乐数据的合奏的音乐播放器
CN2005100649501A Expired - Fee Related CN1670818B (zh) 2001-11-30 2002-11-30 基于不同种类音乐数据的合奏的音乐记录器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2005100649501A Expired - Fee Related CN1670818B (zh) 2001-11-30 2002-11-30 基于不同种类音乐数据的合奏的音乐记录器

Country Status (4)

Country Link
US (1) US6737571B2 (zh)
EP (1) EP1324311B1 (zh)
CN (2) CN1249663C (zh)
DE (1) DE60220876T2 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3885587B2 (ja) * 2002-01-16 2007-02-21 ヤマハ株式会社 演奏制御装置及び演奏制御用プログラム、並びに記録媒体
JP3835324B2 (ja) * 2002-03-25 2006-10-18 ヤマハ株式会社 楽曲再生装置
US7863513B2 (en) * 2002-08-22 2011-01-04 Yamaha Corporation Synchronous playback system for reproducing music in good ensemble and recorder and player for the ensemble
AU2003275089A1 (en) * 2002-09-19 2004-04-08 William B. Hudak Systems and methods for creation and playback performance
TWI240918B (en) * 2003-06-02 2005-10-01 Sunplus Technology Co Ltd Method to generate and play music file, and computer-readable recording medium carrying the music file
US7259319B2 (en) * 2003-12-17 2007-08-21 Yamaha Corporation Performance operator control apparatus
US7653344B1 (en) * 2004-01-09 2010-01-26 Neosonik Wireless digital audio/video playback system
JP4531415B2 (ja) * 2004-02-19 2010-08-25 株式会社河合楽器製作所 自動演奏装置
US7630928B2 (en) * 2004-02-20 2009-12-08 General Electric Company Systems and methods for multi-objective portfolio analysis and decision-making using visualization techniques
CN100562923C (zh) * 2005-03-01 2009-11-25 北京中星微电子有限公司 一种乐器数字化接口中突发音的播放方法
US7767901B2 (en) * 2005-04-15 2010-08-03 Contois Music Technology, Llc Control of musical instrument playback from remote management station
JP2006330533A (ja) * 2005-05-30 2006-12-07 Roland Corp 電子楽器
US7612277B2 (en) * 2005-09-02 2009-11-03 Qrs Music Technologies, Inc. Method and apparatus for playing in synchronism with a CD an automated musical instrument
US7683251B2 (en) * 2005-09-02 2010-03-23 Qrs Music Technologies, Inc. Method and apparatus for playing in synchronism with a digital audio file an automated musical instrument
US7507900B2 (en) * 2005-09-02 2009-03-24 Qrs Music Technologies, Inc. Method and apparatus for playing in synchronism with a DVD an automated musical instrument
US7847174B2 (en) * 2005-10-19 2010-12-07 Yamaha Corporation Tone generation system controlling the music system
US7592531B2 (en) * 2006-03-20 2009-09-22 Yamaha Corporation Tone generation system
US7723605B2 (en) 2006-03-28 2010-05-25 Bruce Gremo Flute controller driven dynamic synthesis system
JP4998033B2 (ja) * 2007-03-23 2012-08-15 ヤマハ株式会社 鍵駆動装置付き電子鍵盤楽器
JP5168968B2 (ja) * 2007-03-23 2013-03-27 ヤマハ株式会社 鍵駆動装置付き電子鍵盤楽器
JP5119932B2 (ja) * 2008-01-11 2013-01-16 ヤマハ株式会社 鍵盤楽器、ピアノおよび自動演奏ピアノ
WO2009108437A1 (en) * 2008-02-27 2009-09-03 Steinway Musical Instruments, Inc. Pianos playable in acoustic and silent modes
CN101404154B (zh) * 2008-10-27 2010-12-29 钱福明 一种能自动演奏的仿钢琴礼品
JP5338312B2 (ja) * 2008-12-26 2013-11-13 ヤマハ株式会社 自動演奏同期装置、自動演奏鍵盤楽器およびプログラム
US8541673B2 (en) 2009-04-24 2013-09-24 Steinway Musical Instruments, Inc. Hammer stoppers for pianos having acoustic and silent modes
US8148620B2 (en) * 2009-04-24 2012-04-03 Steinway Musical Instruments, Inc. Hammer stoppers and use thereof in pianos playable in acoustic and silent modes
US9083443B2 (en) * 2009-08-19 2015-07-14 Utc Fire & Security Americas Corporation, Inc. Intelligent notification appliance circuit and system
JP2011145541A (ja) * 2010-01-15 2011-07-28 Yamaha Corp 再生装置、楽音信号出力装置、再生システム及びプログラム
JP2011242560A (ja) * 2010-05-18 2011-12-01 Yamaha Corp セッション端末及びネットワークセッションシステム
JP6720728B2 (ja) * 2016-06-28 2020-07-08 ヤマハ株式会社 音色設定装置、電子楽器システムおよび音色設定方法
JP6926662B2 (ja) * 2017-05-17 2021-08-25 ティアック株式会社 オーディオ装置及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0239917A3 (en) 1986-03-29 1989-03-29 Yamaha Corporation Automatic sound player system having acoustic and electronic sound sources
US5189237A (en) 1989-12-18 1993-02-23 Casio Computer Co., Ltd. Apparatus and method for performing auto-playing in synchronism with reproduction of audio data
US5902949A (en) * 1993-04-09 1999-05-11 Franklin N. Eventoff Musical instrument system with note anticipation
JP3551507B2 (ja) * 1994-12-01 2004-08-11 ヤマハ株式会社 自動演奏ピアノ
JP3567527B2 (ja) 1995-04-19 2004-09-22 ヤマハ株式会社 鍵盤楽器
US5908997A (en) 1996-06-24 1999-06-01 Van Koevering Company Electronic music instrument system with musical keyboard
JP3196715B2 (ja) 1997-10-22 2001-08-06 ヤマハ株式会社 楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体
JP2000181449A (ja) * 1998-12-15 2000-06-30 Sony Corp 情報処理装置および方法、並びに提供媒体
EP1103973A3 (en) 1999-11-18 2002-02-06 Pioneer Corporation Apparatus for and method of recording and reproducing information
JP4608718B2 (ja) 2000-01-12 2011-01-12 ヤマハ株式会社 楽器
IT1316734B1 (it) * 2000-07-07 2003-05-12 Korg Italy S P A Dispositivo elettronico avvalentesi di piu' sequecers capaci difunzionare in maniera indipendente o coordinata
JP4403658B2 (ja) * 2001-01-18 2010-01-27 ヤマハ株式会社 楽曲データ出力装置及び楽曲データ出力方法

Also Published As

Publication number Publication date
DE60220876T2 (de) 2008-03-06
US20030101862A1 (en) 2003-06-05
CN1670818A (zh) 2005-09-21
CN1670818B (zh) 2010-12-15
EP1324311A3 (en) 2004-02-11
CN1427392A (zh) 2003-07-02
US6737571B2 (en) 2004-05-18
DE60220876D1 (de) 2007-08-09
EP1324311A2 (en) 2003-07-02
EP1324311B1 (en) 2007-06-27

Similar Documents

Publication Publication Date Title
CN1249663C (zh) 基于不同种类音乐数据的合奏的音乐播放器
CN100339908C (zh) 用于与可视图像同步记录和/或再现音乐的多媒体平台
CN1455384A (zh) 电乐音接近原声乐音的方法和产生系统,原声乐音录音系统
CN1223983C (zh) 乐音语音再现装置及其控制方法、及服务器装置
CN1252674C (zh) 用于在完美重奏中再现音乐的多个部分的音频系统
CN100339907C (zh) 同步重放系统及其记录器和播放器
CN1220172C (zh) 记录器、记录/再现音乐的方法、播放器及合奏系统
CN1258751C (zh) 乐音合成方法和用于合成乐音的设备
CN1525433A (zh) 通过空闲琴键改变演奏风格的乐器、方法及其计算机程序
CN1755686A (zh) 音乐搜索系统和音乐搜索装置
CN1194336C (zh) 波形产生方法
CN1941071A (zh) 拍子提取及检测设备和方法、音乐同步显示设备和方法
CN1838229A (zh) 重放装置和重放方法
CN1133150C (zh) 自动演奏装置
CN1783323A (zh) 内容使用装置及方法、分配服务器装置、信息分配法、记录介质
CN1750111A (zh) 免于老化的变换器、使用该变换器的乐器及其使用方法
US20140102285A1 (en) Recording System for Ensemble Performance and Musical Instrument Equipped With The Same
CN101046951A (zh) 自动演奏乐器以及合并在其中的自动演奏系统
CN1254785C (zh) 乐音生成装置、携带终端装置以及乐音生成方法
CN1612204A (zh) 乐器,音乐数据产生器和用于乐器的音乐数据源
CN1127719C (zh) 带效果数据转换功能的电子音乐设备和效果增添方法
CN1510678A (zh) 信息记录介质
CN1159698C (zh) 利用计算机软件的乐音发生器系统
CN1454379A (zh) 模拟电子鼓组、鼓棒、模拟电子鼓组用零件以及脚踏板单元
CN1096054C (zh) 效果赋予装置

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060405

Termination date: 20161130

CF01 Termination of patent right due to non-payment of annual fee