CN100339907C - 同步重放系统及其记录器和播放器 - Google Patents

同步重放系统及其记录器和播放器 Download PDF

Info

Publication number
CN100339907C
CN100339907C CNB031272657A CN03127265A CN100339907C CN 100339907 C CN100339907 C CN 100339907C CN B031272657 A CNB031272657 A CN B031272657A CN 03127265 A CN03127265 A CN 03127265A CN 100339907 C CN100339907 C CN 100339907C
Authority
CN
China
Prior art keywords
data
fragment
music
music data
audio
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
CNB031272657A
Other languages
English (en)
Other versions
CN1495788A (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 JP2002242481A external-priority patent/JP3925349B2/ja
Priority claimed from JP2002242482A external-priority patent/JP3969249B2/ja
Priority claimed from JP2002316806A external-priority patent/JP4063048B2/ja
Priority claimed from JP2002316807A external-priority patent/JP4048917B2/ja
Application filed by Yamaha Corp filed Critical Yamaha Corp
Publication of CN1495788A publication Critical patent/CN1495788A/zh
Application granted granted Critical
Publication of CN100339907C publication Critical patent/CN100339907C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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/046File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
    • G10H2240/056MIDI or other note-oriented file format
    • 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/325Synchronizing two or more audio tracks or files according to musical features or musical timings

Abstract

一种同步播放器系统用于记录在自动播放器钢琴(3)和音频播放器(4)之间的合奏,以及它们之间的重放;当用户在音频播放器(4)的合奏下弹奏自动播放器钢琴(3)时,该演奏的参考特性数据从音频音乐数据中被提取,并且与事件码一起被存储在存储器(FD)中;当该用户指示该同步播放器系统在另一光盘中记录的相同音乐片段的合奏下,再现该演奏时,该同步播放器系统从被记录在另一个光盘中的音频数据中提取目标特性数据,并且通过例如相关性分析而发现差值,并重新安排再现音符事件的定时以便同步控制自动播放器钢琴(3)和音频播放器(4)。

Description

同步重放系统及其记录器和播放器
技术领域
本发明涉及一种用于一首音乐的重放系统,以及形成该重放系统一部分的记录器和播放器,并具体涉及用于再现一首音乐的同步重放系统,以及形成该同步重放系统一部分的记录器和播放器。
背景技术
目前存在有描述以不同的方式表达多首音乐的几个标准书。一种标准书被称作″MIDI(乐器数字接口)标准″,并且该MIDI标准流行于演奏电子乐器的音乐家之间。基于MIDI标准的音乐数据被认为是″MIDI音乐数据代码″。事件码和δ时间码是一组MIDI音乐数据代码的主要部分。有音符事件和无音符事件是事件码的典型实例。在有音符事件中产生音调,并且在无音符事件中减退音调。该δ时间码代表一个事件和下一事件之间的时间周期或者从重放开始所经过的时间。该MIDI音乐数据代码包括一条信息,并且被写入MIDI数据代码中的信息以下简称为″MIDI数据″。
另一个标准书被称作″红皮书″,它流行于音响爱好者之间。音乐通路(amusic passage)由关于模拟音频信号的一系列离散二进制值表示,并且CD(光盘)用于以离散二进制值的形式记录多首音乐。代表音乐通路的一系列离散二进制值以下简称为″音频音乐数据代码″。该音频音乐数据代码形成一组″音频数据代码″和一些种类的控制数据代码。某一种类的控制数据码表示从演奏开始到一组音调被再现所经过的时间,并且以下简称为″音频时间数据代码″。该音频音乐数据代码包含一条信息,并且该被写入到音频音乐数据代码中的信息以下简称为″音频数据″。
在下面的描述中,″电子乐器″表示至少产生代表一个音乐通路的多首音乐数据或者从多首音乐数据中再现音调的设备。由此观点,电子钢琴、合成器、制样机、硬盘记录器、音序器和具有适当软件的个人计算机系统在电子乐器中被加以分类。电子乐器以下简称为″MIDI乐器″,它产生由MIDI音乐数据代表的音乐通路或者基于该MIDI音乐数据再现该音乐通路。电子乐器以下简称为″电子音频乐器″,它产生由该音频音乐数据代码代表的音乐通路或者从该音频音乐数据代码再现所述音乐通路。
同步重放系统已经被提供用于在MIDI乐器和电子音频乐器之间的合奏曲中再现一首音乐。音频时间数据代码可用于同步重放,并且该同步技术例如在日本专利申请号第2002-7872和2002-7873号中被公开。
通过现有技术的同步重放系统,一个个人演奏者首先用电子音频乐器在合奏曲中记录他或她的演奏,此后通过现有技术的同步重放系统,而用电子音频乐器再现合奏曲中的此演奏。详细地,MIDI乐器例如电子键盘和电子音频乐器被连接到记录器,此记录器组成现有技术的同步重放系统的一部分。个人演奏者通过电子音频乐器开始重放一首音乐,并且准备在电子键盘上用手指弹奏这首音乐。音频音乐数据代码和音频时间数据代码顺序地从光盘读出,并且分别提供给音响系统和记录器。当该音响系统再现第一个音调时,个人演奏者在电子键盘上开始他的或她的演奏。个人演奏者在与电子音频乐器的合奏中有选择地按下和释放按键,并且在电子键盘上该手指的弹奏被转换成MIDI音乐数据代码。事件码间歇地到达记录器,并且由记录器产生该δ时间码。音频时间数据代码还间歇地到达记录器,并且记录器在信息存储媒体例如软盘中存储事件码和δ时间码以及音频时间数据代码。
假定个人演奏者指示现有技术的重放系统来再现该合奏曲。该电子音频乐器开始再现这首音乐,并且音频音乐数据代码和音频时间数据代码分别地被提供给音响系统和现有技术的重放系统。事件码、δ时间码和音频时间数据代码从软盘中被读出,并且该事件码被间歇地提供给MIDI乐器。因此,音调部分通过音响系统、部分通过电子键盘被合奏再现。当MIDI音乐数据代码和音频时间数据代码从软盘中被读取时,现有技术的重放系统对从软盘中读取的音频时间数据代码与从电子音频乐器中提供的音频时间数据代码进行比较,以便观察通过电子键盘的重放与通过音响系统的重放是否同步。当回答是肯定时,现有技术的重放系统继续在合奏中重放。另一方面,如果回答是否定的,那么现有技术的重放系统为了保持重放同步,改变事件码和下一事件码之间的时间间隔。
现有技术可以用于乐器和另一种仪器,比如发光器、视频再现系统或者音响器之间的同步。现有同步技术在已公开日本专利申请公开号第2001-195061号中被公开。例如表现照明度变化的标记被增加到音乐数据代码中。当音乐数据代码被处理时,标记间歇地到达现有技术的控制器,并且现有技术的控制器指示另一种类的仪器以便改变照明度。因此,照明度与这首音乐的重放同步改变。
还有另一个现有技术在申请号为No.2001-215958的日本专利中被公开。将同步数据代码补充到一系列事件码中。
现有技术的同步重放系统中所遇到的问题是同步重放在软盘和光盘之间的合奏中几乎不能够实现,其中事件码和δ时间码已经与音频时间数据代码一起存储在此软盘中,并且此光盘在版本上与被用于记录的光盘不同。这是因为,即使光盘标题和演奏者名称相同,音频时间数据代码也不能够保证用于现有技术的重放系统中的从基于另一个光盘中存储的音频音乐数据代码而开始重放所经过的时间。
假定一首音乐由某一音乐家演奏。演奏被记录在主带中。当记录公司制造音乐光盘时,该厂家为存储在主带中的这首音乐和其它音乐设计金属母盘。记录公司从金属母盘复制大量音乐光盘,并且在音乐市场中销售。记录公司希望进一步制造音乐光盘,并且设计另一金属母盘用于存储在主带中的这首音乐和其它音乐。虽然这首音乐和演奏者相同,但是不可能使得金属母盘精确地等同于上述金属母盘。例如,前一版本的静音时间通常不同于新版本的静音时间,其中静音时间是从读入的开头到代表第一个音调的音频音乐数据代码之间的时间周期。这就意味着现有技术的重放系统开始被分配给MIDI乐器或者电子音频乐器的部分早于被分配给另一个乐器的另一部分。换句话说,同步重放通过现有技术的重放系统几乎不能够实现。
被存储在软盘中的音频时间数据代码并不总是等同于被存储在光盘中的音频时间数据代码,其中此光盘版本方面不同于被用于记录的光盘。当记录公司准备新的版本时,编辑器可以把混响增加到某音调中。这就导致表示重放进程的音频时间数据代码与原始演奏进程稍有不同。此外,在记录中使用的时钟信号并不总是精确地在频率上等同于被用于翻版的时钟信号。这也导致了MIDI乐器或者音频乐器在重放中延迟于另一个乐器。
发明内容
所以本发明重要的一个目的是提供一种同步播放器系统,它使多种仪器精确地同步。
本发明另一个重要的目的是提供一种在该同步系统中使用的方法。
为了达到此目的,本发明提出重新安排定时,以便通过对记录在光盘中的音乐通路的音频波形特定特征和记录在另一个光盘中的音乐通路的音频波形的相应特定特征之间的比较来提供部分第一种类的音乐数据例如音符事件。
根据本发明的一个方面,提供一种记录器,用于记录第一种类音乐数据片段的演奏,该演奏与在格式上不同于第一种类音乐数据的第二种类音乐数据片段的音乐通路的重放相合奏,并且记录器包一接口,被连接到所述第一种类音乐数据片段的数据源,第二种类音乐数据片段的另一个数据源和音乐数据文件被提供其中的一个目的单元以及被连接到接口的数据处理单元,从第二种类音乐数据片段中提取表示音乐通路的音频波形的特定特征所代表的参考特性数据片段,并且形成第一种类音乐数据片段、参考特性数据片段和表示定时的时间数据片段,以便把在演奏中产生的音调再现成为音乐数据文件用于通过接口把音乐数据文件提供给目的单元。
根据本发明的另一个方面,提供一种播放器,用于再现第一种类音乐数据片段的演奏中的音调,该演奏与格式上不同于第一种类音乐数据片段的第二种类音乐数据片段所表示的音乐通路的重放相合奏,并且播放器包括一接口,被连接到存储至少一个音乐数据文件的音乐数据文件源,该音乐数据文件包含第一种类音乐数据片段,由表示音乐通路的第二种类音乐数据的其他片段代表的音频波形特定特征所表示的参考特性数据片段和表示定时的时间数据片段,以便再现在演奏中的音调,第二种类音乐数据片段的数据源,用于根据第一音乐数据片段产生音调的一个声源和用于从第二种类音乐数据片段产生其它音调的另一声源,和被连接到接口的数据处理单元,从第二种类音乐数据片段中提取表示音乐通路的另一个音频波形的特定特征所表示的目标特性数据片段,对目标特性数据片段与参考目标特性数据片段进行比较以得到音频波形的特定特征与另一个音频波形的特定特征之间的时间差,并且重新安排定时以便通过改变时间数据片段来把第一种类音乐数据提供给声源,并且在由已经改变的时间数据片段代表的定时处,把第二种类音乐数据片段提供给另一个声源以及把第一种类音乐数据片段提供给声源。
根据本发明的另一个方面,提供一种同步播放器体系,用于执行至少预先记录和同步重放,并且同步播放器系统包括一接口,被连接到表示在演奏中产生的音调的第一种类音乐数据片段的数据源,在格式上不同于第一种类音乐并且表示音乐通路和表示音乐通路的第二种类音乐数据的其它片段的第二种类音乐数据片段的另一数据源,存储包含第一音乐数据片段、表示由第二种类音乐数据片段代表的音频波形的特定特征的参考特性数据片段和由定时代表的时间数据片段的至少一个音乐数据文件以便在演奏中产生音调的音乐数据文件源,根据第一种类音乐数据片段产生音调的声源和从第二种类音乐数据的其它片段中产生其它音调的另一声源以及一数据处理单元,被连接到接口并且与用于预先记录的数据源、上述另一个和音乐数据文件源进行传送,并且与用于同步重放的音乐数据文件源、上述声源和另一声源进行传送,数据处理单元从第二种类音乐数据片段中提取所述参考特性数据片段,并且把第一种类音乐数据片段、参考特性数据片段和时间数据片段形成为音乐数据文件,用于通过接口把音乐数据文件提供给音乐数据文件源,并且其中数据处理单元从第二种类音乐数据片段中提取代表表示音乐通路的另一个音频波形的特定特征的目标特性数据片段,对目标特性数据片段与参考目标特性数据片段进行比较从而发现音频波形的特定特征与另一个音频波形的特定特征之间的时间差,重新安排定时以便通过改变时间数据片段来把第一种类音乐数据提供给第一声源,并且在由已经改变的时间数据片段代表的定时处,把第二种类音乐数据的其它片段提供给另一声源以及把第一种类音乐数据片段提供给声源。
附图说明
从结合附图的下列描述中,同步重放系统和方法的特征和优点就会变得更加清楚,其中:
图1是表示根据本发明的同步播放器系统的系统配置的方框图,
图2A是表示有音符事件码的格式的视图,
图2B是表示无音符事件码的格式的视图,
图2C是表示系统专用事件码的格式的视图,
图3是表示标准MIDI文件结构的视图,
图4是表示用于产生相关性数据片段的方法的流程图,
图5是表示梳线滤波器,
图6是表示用于产生MID音乐数据代码的序列的视图,
图7是表示用于标准MIDI文件的数据格式的视图,
图8是表示用于相关性分析的方法的流程图,
图9A至9C是表示相关性分析结果的图表,
图10是表示通过同步重放系统的同步重放的脉冲波形图,
图11是表示根据本发明的同步重放系统的修改的系统配置的方框图,
图12是表示用于标准MIDI文件的数据格式的视图,
图13是表示通过修改方案的同步重放的脉冲波形图,
图14是表示根据本发明的同步重放系统的另一个修改的系统配置的方框图,
图15是表示用于标准MIDI文件的数据格式的视图,
图16是表示通过第二个修改方案的预先记录和同步重放的方框图,
图17是表示根据本发明的另一个同步播放器系统的系统配置的方框图,
图18A是表示通过同步重放系统处理的有音符事件码的格式的视图,
图18B是表示通过同步重放系统处理的无音符事件码的格式的视图,
图18C是表示通过同步重放系统处理的系统专用事件码的格式的视图,
图19是表示通过同步重放系统创建的标准MIDI文件的结构的视图,
图20是表示用于产生部分管理信息的方法的流程图,
图21是表示梳线滤波器的电路结构的方框图,
图22是表示通过光盘驱动器在重放期间产生的特性事件、中程索引和远程索引的图表,
图23是表示在光盘驱动器和自动播放器钢琴间的合奏期间产生的特性事件和MIDI事件的图表,图24是表示通过同步重放系统创建的标准MIDI文件的数据结构的视图,
图25是表示存储在光盘中的部分音乐的进度和存储在另一个光盘中的部分音乐的进度之间关系的图表,
图26是表示改变定时以便通过定时校准以同步重放模式把音符事件提供给自动播放器钢琴的表格,
图27是表示根据本发明的同步重放系统的第一个修改的系统配置的方框图,
图28是表示改变定时以便把音符事件提供给自动播放器钢琴的表格,
图29是表示代表用于一对特性事件的回归线的曲线的图表,
图30是表示用于音符事件的定时校准的表格,
图31是表示自动播放器钢琴和光盘驱动器/音频单元之间的同步重放的图表,
图32是表示根据本发明的另一个同步播放器系统的系统配置的方框图,
图33是表示标准MIDI文件数据结构的视图,
图34A、34B和34C是表示用于音符事件码的数据格式的视图,
图35是表示用于产生部分参考相关性数据的方法的流程图,
图36是表示梳线滤波器的电路结构的方框图,
图37是表示用于在采样值中发现特性事件的方法的流程图,
图38是表示梳线滤波器的电路结构的方框图,
图39是表示中程索引和远程索引的图表,
图40是表示特性事件和音符事件的图表,
图41是表示用于在来自参考材料的音乐的末端部分处产生参考相关性数据的数据处理的流程图,
图42是表示用于相关性分析的数据处理的流程图,
图43是表示绝对相关索引、相对相关索引及其最大值的图表,
图44是表示标准MIDI文件数据结构的视图,
图45是表示代表音频数据的音频波形和特征/音符事件之间的关系的视图,
图46是表示用于在同步重放中重新安排音符事件的方法的流程图,
图47是表示在相关性分析之后建立的用于顶部偏移量时间和底部偏移量时间的标准MIDI文件的数据结构的视图,
图48是表示用于人工地重新安排定时以便产生事件码的方法的流程图,
图49是表示存储在标准MIDI文件中的特性事件和从在同步重放中再现的一对音频音乐数据代码中提取的特性事件之间的关系的表格,
图50是表示特性事件的假定到达时间的表格,
图51是表示经过时间和假定到达时间之间的回归线的图表,
图52是表示重新安排前后的音频数据、目标相关性数据、索引和音符事件的脉冲波形图,
图53是表示根据本发明的同步重放系统的修改的系统配置的方框图,
图54是表示根据本发明的另一个同步播放器系统的系统配置的方框图,
图55是表示标准MIDI文件数据结构的视图,
图56A、56B和56C是表示用于音符事件码的数据格式的视图,
图57是表示用于产生部分参考相关性数据的方法的流程图,
图58是表示梳线滤波器的电路结构的方框图,
图59是表示用于在采样值中发现特性事件的方法的流程图,
图60是表示梳线滤波器的电路结构的方框图,
图61是表示中程索引和远程索引的图表,
图62是表示特性事件和音符事件的图表,
图63是表示用于在来自参考材料的音乐的末端部分处产生参考相关性数据的数据处理的流程图,
图64是表示用于相关性分析的数据处理的流程图,
图65是表示绝对相关索引、相对相关索引及其最大值的图表,
图66是表示标准MIDI文件数据结构的视图,
图67是表示代表音频数据的音频波形和特征/音符事件之间的关系的视图,
图68是表示用于在同步重放中重新安排音符事件的方法的流程图,
图69是表示在相关性分析之后建立的用于顶部偏移量时间和底部偏移量时间的标准MIDI文件的数据结构的视图,
图70是表示用于人工地重新安排定时以便产生事件码的方法的流程图,
图71是表示存储在标准MIDI文件中的特性事件和从在同步重放中再现的一对音频音乐数据代码中提取的特性事件之间的关系的表格,
图72是表示特性事件的假定到达时间的表格,
图73是表示经过时间和假定到达时间之间的回归线的图表,
图74是表示重新安排前后的音频数据、目标相关性数据、索引和音符事件的脉冲波形图,和
图75是表示根据本发明的同步重放系统的修改的系统配置的方框图。
具体实施方式
本发明的基本概念是根据表示音乐通路的音频波形的特定特征和表示相同音乐通路的另一音频波形的特定特征之间的时间延迟来重新安排音符事件。当通过乐器产生音符事件时,例如用户听到音乐通路的重放,并且控制他的或她的手指与音乐通路的进度同步。这就意味着,音频波形的特定特征影响手指弹奏。即使在音乐通路的前一进度和相同音乐通路的后一进度之间发生时间延迟,只要音符事件很好的对应于表示音乐通路的音频波形的特定特征,用户也可以感觉到音乐通路的后一进度与演奏的再现有好合奏。
基于上述发现而作出本发明。对于好合奏所需要的第一技术是使音频波形的特定特征对应于另一音频波形的特定特征,从而发现出特定特征和对应特定特征之间的时间延迟。如果有这种情况的话,所需要的第二技术是消除来自它们之间的时间延迟。
相关性分析可用于使特定特征彼此对应,即作为第一技术。在相关性分析之前必需准备相关性数据片段。举例来说相关性数据片段准备如下。音频波形由音频音乐数据代码的采样值表示,其中音频音乐数据代码的采样值通过采样音频波形获得,从而采样值本身能够被作为特定特征。然而,音频波形通常包含噪声分量。所以,更好的是通过适当的过滤器从采样值中除去噪声分量。此外,特定特征在低频范围的波形中会被发现。所以,更好的是从采样值中提取低频分量。如果具有足够大的数据处理能力来对所有的采样值执行数据处理,那么对于相关性数据片段不需要任何下采样。如果不是这样的话,更好的是对采样值执行下采样。因此,从音频音乐数据代码的采样值中产生相关性数据片段。对于一个音频波形的相关性数据片段与对于另一个音频波形的相关性数据片段进行比较,以便观察在它们之间是否发生时间延迟。如果发现了时间延迟,那么通过使用第二种技术从它们之间消除时间延迟,这将在下文中详细描述。由于音符事件与从一个音频波形中提取的相关性数据同步地产生,所以在消除时间延迟之后,音符事件被认为是与从另一个音频波形提取的相关性数据同步地被再现。
相关性数据可以从一部分波形或者整个音频波形中提取。部分波形可以占据这首音乐的开头部分、这首音乐的结尾部分或者这首音乐的中间部分。最好是相关性数据从这首音乐的特征部分被提取。
声音属性的突变能够被作为特定特征。声音的属性可以是某一频率范围的音量或者响度。为了发现在某一频率范围中的音量的突变,通过对采样值的低通滤波来从音频音乐数据代码的采样值中提取低频分量和极低频分量。低频范围中的分量和极低频范围中的分量被认为是″中程索引″和″远程索引″。当某一频率范围例如1Hz到100Hz的音量在音频波形中被突然地增大时,中程索引超过远程索引。为此,中程索引与远程索引进行比较从而确定该突变或特定特征。该突变被认为是″特性事件″。使音频波形中的特性事件对应于在另一个音频波形中的特性事件,并且察看在两组特性事件之间是否发生任一时间延迟。如果发生时间延迟,那么通过使用第二个技术从它们之间消除时间延迟。由于音符事件与从一个音频波形中提取的特性事件同步地产生,所以在消除时间延迟之后,音符事件被认为是与从另一个音频波形提取的特性事件同步地被再现。
其它种类的突变可以被用作特定特征,从而响度的突变不会对本发明的技术范围设定任何限制。
如同下述,从与记录在某一光盘中的音乐通路合奏而产生的音符事件和与记录在另一光盘中的音乐通路合奏而再现的音符事件之间消除时间延迟。这首音乐被假设为以一组音频数据代码的形式被记录在两个光盘中,并且由一组音符事件码和δ时间码表示该演奏,其中δ时间码表示从演奏开始到相关音符事件所经过的时间。
在光盘中,在一首音乐之前和一首音乐之后记录着静音。即使相同的一首音乐被记录在两个光盘中,在一个光盘中的静音比在另一光盘中的静音要长或者短。这些光盘被认为是″第一种类光盘″。此外,如果一个光盘和另一个光盘之间静音相等,那么这首音乐在一个光盘和另一光盘之间的节奏方面不同。这些光盘被认为是″第二种类光盘″。最终,一个光盘和另一个光盘之间的静音和节奏两个方面不同。这些光盘被认为是″第三种类光盘″。相关性数据的提取和特性事件的提取被有选择地应用于那些光盘,即第一种类光盘、第二种类光盘和第三种类光盘。
在两个光盘属于第一种类的情况下,相关性数据提取可以被应用于那些光盘。当随着记录在一个光盘中的一首音乐被重放,用户在合奏中产生音符事件时,相关性数据片段从表示这首音乐的音频音乐数据代码的采样值中被提取,并且相关性数据片段与音符事件、定时一起被存储用于重放,其中定时为例如在其中音符事件被分别产生的时间数据片段和其中某一相关性数据片段从采样值中产生的时间数据片段。
当用户希望再现与记录在另一个光盘中的音乐通路重放合奏的由音符事件表示的演奏时,相关性数据片段从记录在另一个光盘中的音频音乐数据代码的采样值中被提取,并且到达时间被确定。相关性分析在两组相关性数据片段中被执行。当发现这首音乐的一部分与已经被存储的一首音乐的一部分高度相关时,指定对应于已经被存储的某一相关性数据片段的相关性数据片段,并且与采样值相关的从中产生相应相关性数据片段的时间数据片段与用于某一相关性数据片段的时间数据片段进行比较,以便观察是否发生了时间延迟。如果发现了时间延迟,那么时间延迟的数值被增加到由发生音符事件的定时表示的时间数据片段中或者从中减去时间延迟的数值。因此,音符事件被重新安排。第一种类的光盘将结合第一个具体实施方式进行更详细地描述。相关性分析在重放之前或者以实时样式被执行。
在光盘属于第二种类的情况下,特性事件的提取可以被应用于其中。当用户与记录在一个光盘中的一首音乐的重放合奏来产生音符事件时,特性事件从表示这首音乐的音频波形的音频音乐数据代码的采样值中被提取,并且特性事件与音符事件、定时一起被存储用于重放,其中定时为分别产生音符事件和特性事件的时间数据片段。
当用户希望再现与记录在另一个光盘中的音乐通路重放合奏的由音符事件表示的演奏时,特性事件从记录在该另一个光盘中的音频音乐数据代码的采样值中被提取,并且特性事件与相应的特性事件进行比较,以便观察是否发生了时间延迟。如果发现了时间延迟,那么时间延迟的数值被增加到由发生音符事件的定时表示的时间数据片段中或者从中减去时间延迟的数值。因此,音符事件被重新安排。第二种类的光盘将结合第二具体实施方式进行更详细地描述。在每一特性事件和相应的特性事件之间发生时间延迟之后,重复进行重新安排。
在光盘属于第三种类的情况下,当用户与记录在一个光盘中的一首音乐合奏来产生音符事件时,在开头部分处的相关性数据片段从表示这首音乐的开头部分的采样值中被提取,并且在结尾部分处的相关性数据片段从表示这首音乐的结尾部分的采样值中被提取,并且在开头部分处的相关性数据和在结尾部分处的相关性数据与音符事件、用于音符事件的时间数据片段、在其中预定相关性数据片段发生在开头部分处的相关性数据中的某一时间和在其中另一预定相关性数据片段发生在结尾部分处的相关性数据中的另一某一时间一起被存储。当用户希望再现演奏时,在开头部分处的相关性数据片段从表示记录在另一个光盘中的一首音乐的开头部分的采样值中被提取,并且在结尾部分处的相关性数据片段从表示这首音乐的结尾部分的采样值中被提取。在开头部分处的两组相关性数据和在结尾部分处的两组相关性数据上执行相关性分析,并且确定对应于某一时间的一个时间和对应于另一个某一时间的另一时间。可确定顶部偏移量,即某一时间和相应时间之间的时间差值,和底部偏移量,即另一个某一时间和相应时间之间的时间差值。根据顶部偏移量、底部偏移量和那些时间,计算记录在一个光盘中的一首音乐的节奏和记录在另一个光盘中的一首音乐的节奏之间的比率。然后,通过使用此比率来重新安排将产生音符事件的定时。因此,相关性数据的提取被应用于第三种类的光盘。当然,特性事件的提取可应用于第三种类光盘。这些应用将结合第三和第四个具体实施方式进行更详细的描述。
然而,特性事件的提取可以应用于第一种类的光盘,并且相关性数据的提取可以应用于第二种类的光盘。
通过在第一至第四实施方式中的数据处理,实现在特定特征之间的上述对应和从它们之间消除时间延迟。数据处理单元被包括在本发明中实施的记录器、播放器和同步播放器系统中,并且运行给定任务的计算机程序。计算机程序将在下文中结合第一个至第四个实施方式进行描述。
第一实施例
系统配置
首先参考附图1,包含本发明的同步播放器系统大体包括光盘驱动器1,软盘驱动器2,自动播放器钢琴3,音频单元4,操作面板/显示器5和控制器6。光盘驱动器1、软盘驱动器2、自动播放器钢琴3、音频单元4和操作面板/显示器5彼此通过信号线相连接,并且自动播放器钢琴3和音频单元4彼此通过信号线直接地连接。同步重放系统具有至少一个预先记录方式和同步再现模式。同步重放系统预先地在软盘FD中准备MIDI标准文件,其中MIDI数据片段和δ时间数据片段与根据本发明的参考相关性数据片段一起以预先记录方式被存储。δ时间数据片段由从开始合奏所经过的时间表示,并且参考相关性数据片段由从音频音乐数据代码片段产生的音频信号的波形表示。
另一方面,同步重放系统接收来自软盘FD的MIDI数据片段、δ时间数据片段和参考相关性数据片段和来自光盘驱动器1的音频音乐数据。同步重放系统对参考相关性数据片段和目标相关性数据片段进行比较用于相关性分析,其中目标相关性数据片段以同步重放模式从由光盘播放器1提供的音频音乐数据代码中产生,并且对于与通过光盘驱动器/音频单元1/4的重放的合奏来调节MIDI音乐数据到一个适当的定时。因此,该同步重放系统使得自动播放器钢琴3和音频单元4以好的合奏同步地再现音乐通路。
操作面板/显示器5连接到控制器6。用户通过操作面板命令控制器6,并且控制器6通过在显示器上产生的可视图像将同步重放系统的当前状态通知用户。控制器6进一步被连接到光盘驱动器1、软盘驱动器2、自动播放器钢琴3和音频单元4,并且自动播放器钢琴3被直接地连接到音频单元4。MIDI数据片段、音频音乐数据片段、δ时间数据片段、参考相关性数据片段及其它种类的数据选择性地以预先记录方式和同步再现模式在这些系统部件1、2、3、4、5和6之间被传送。这些系统部件1、2、3、4、5和6的运行状态将在随后详细地描述。
光盘驱动器
读入区、多个帧和读出区串联地存储在光盘CD用于音乐通路,并且音频时间数据片段和音频音乐数据片段与预定种类的控制数据一起形成帧。音频音乐数据片段和音频时间数据片段以二进制码的形式被建立,并且分别对应于音频音乐数据代码和音频时间数据代码。音频音乐数据代码由模拟音频信号产生。指定右通道和左通道的模拟音频信号在44,100Hz处被采样,并且采样离散值被量化为用于左右通道的16比特音频音乐数据代码。音频音乐数据代码部分地由右通道模拟音频信号产生,并且被认为是″右通道音频音乐数据代码″。剩余的音频音乐数据代码由左通道模拟音频信号产生,并且被认为是″左通道音频音乐数据代码″。
光盘CD被装载到光盘驱动器1和从光盘驱动器1上卸载下来,并且光盘驱动器1响应于通过操作面板/显示器5给予的用户的指令,从而开始和停止音乐通路的再现。当音乐通路被再现时,只有音频音乐数据代码从光盘驱动器1被提供到控制器6。光盘驱动器1是标准类型,并且包括圆盘托盘、用于圆盘托盘的电动机、用于电动机的伺服机构、光学拾取单位、用于该光学拾取单元的聚焦伺服机构、用于伺服机构的同步电路和误差校正系统。这些器件对于本领域普通技术人员是熟知的,在下文中就不再赘述。
软盘驱动器
软盘驱动器2包括运行计算机程序的微处理器,从而软盘驱动器2具有数据处理能力。软盘驱动器2接收来自控制器6的事件码、δ时间码和由参考相关性数据片段表示的参考相关性数据代码,并且在软盘FD中建立标准MIDI文件。软盘驱动器2从标准MIDI文件中读取MIDI音乐数据代码和参考相关性数据片段,并且把MIDI音乐数据代码和参考相关性数据片段提供给控制器6。
图2A、2B和2C表示用于MIDI音乐数据代码的格式,并且图3表示标准MIDI文件的结构。图2A表示有音符事件码EV1的数据区DF1/DF2/DF3,图2B表示无音符事件码EV2的数据区DF4/DF5/DF6,并且图2C表示系统专用事件码EV3的数据区DF7/DF8/DF9/DF10。
有音符事件码EV1具有三个数据区DF1、DF2和DF3。第一个数据区DF1表示有音符事件和分配给所产生音调的通道。根据MIDI标准,十六进制数[9n]H被写入第一个数据区DF1。″H″表示[9n]是一个十六进制数,并且″n″表示分配给所产生音调的通道。第二个数据区DF2被分配音符数目,它表示所产生音调的音高,并且第三个数据区DF3表示速度。速度规定了键朝着端部位置移动,并且与所产生音调的响度成比例。无音符事件码EV2还具有三个数据区DF4、DF5和DF6。
无音符事件码EV2还具有三个数据区DF4、DF5和DF6。十六进制数[8n]H将被写入第一个数据区DF4。″8″表示无音符事件,并且″n″表示已经分配给所下降音调的通道。第二个数据区DF5被分配表示所下降音调的音高的音符数目,并且第三个数据区DF6被分配速度。速度规定键朝着剩余位置的移动,并且与直到静音的时间周期成反比。
系统编排器和/或软件服务站能够自由地设计系统专用事件码EV3。系统专用事件码EV3具有四个数据区DF7、DF8、DF9和DF10。第一个数据区DF7表示系统专用事件码EV3的开头部分,并且[FO]H被写入第一个数据区DF7。第二个数据区DF8表示用户数据的数据长度,并且第三个数据区DF9被分配用户数据。最后的数据区DF10表示系统专用事件码EV3的结尾部分。[F7]H被写入最后的数据区DF10。
这就可以知道,事件码EV1、EV2和EV3不具有任何时间数据片段。换句话说,事件码EV1和EV2被立即执行用于控制音调,并且用户数据还被立即处理。
那些种类的事件码EV1、EV2和EV3形成标准MIDI文件MF。标准MIDI文件MF被分解为头部块HC和音轨块TC。头部块HC被分配表示将存储在音轨块TC中的音乐数据格式的控制数据片段和时间单元。音轨块TC被分配MID音乐数据代码,即事件码和δ时间码。δ时间码表示一个事件码和下一事件码之间的时间间隔或者从重放开始所经过的时间。时间间隔可以表示为许多时钟脉冲,和由小时、分钟和秒表示的所经过时间,帧的数目以及它们的组合。在这一情况下,δ时间码被假设为表示以秒表示的所经过的时间。
自动播放器钢琴
自动播放器钢琴3主要包括声学钢琴31A、编码系统31B和自动播放系统31C。用户演奏声学钢琴31A上的音乐通路,并且通过声学钢琴31A产生声学钢琴音调。编码系统31B和自动播放系统31C与声学钢琴31A相联系。当用户演奏旋律时,键的动作和踏板的动作通过编码系统31B被存储在事件码中,并且事件码从编码系统31B被传送给控制器6,它依次把事件码传送给软盘驱动器2用于在软盘FD中建立标准MIDI文件SMF。另一方面,此时用户请求自动播放系统31C,以便根据事件码再现音乐通路。MIDI音乐数据代码通过控制器6被提供给自动播放系统31C,并且声学钢琴音调通过声学钢琴31A沿着音乐通路被再现。自动播放器钢琴31C进一步根据MIDI音乐数据代码有效地再现数字音频信号,并且数字音频信号被提供给音频单元4用于从数字音频信号中再现电子音调。
声学钢琴31A是一个标准三角钢琴,并且包括键盘31a、动作单元31b、音锤31c、音弦31d、减震器(未显示)和踏板31e。黑色键和白色键形成键盘31a的一部分,并且通过用户有选择地按下和释放。被按下的键激活动作单元31b并且使得减震器从相关联的音弦分隔开。被激活的动作单元31b驱动相关联的音锤31c用于旋转,并且音锤31c敲打在旋转末端的相关音弦31d。减震器已经从音弦分隔开,从而音锤31c引起振动用于产生声学钢琴音调。踏板31a与键盘31a和减震器相连接。当用户在他的或她的演奏中踩踏板时,减震器使得声学钢琴音调延长,和/或键盘31a使得声学钢琴音调的响度减小。
编码系统31B包括键传感器32、踏板传感器33和控制器34。键传感器32分别监控黑/白色键,并且踏板传感器33分别监控踏板31e。键传感器32产生表示相关联黑/白色键32的当前位置的键位置信号,并且把键位置信号提供给控制器34。同样地,踏板传感器33产生表示相关联踏板31e的当前位置的踏板位置信号,并且把踏板位置信号提供给控制器34。控制器34包括微处理器,并且微处理器周期地取得由键位置信号和踏板位置信号表示的位置数据片段。微处理器分析位置数据片段,以便观察用户是否压下键/踏板中任何一个。假定用户压下黑色键并且踩下一个踏板。微处理器指定所压下的黑色键和踏板,并且计算速度。微处理器把这些音乐数据片段存储在事件码中,并且把事件码提供给控制器6。
自动播放系统31C包括控制器34、音调发生器35、驱动单元36a和一排电磁操纵键/踏板致动器36b。控制器34接收来自控制器6的事件码。如果用户指示同步播放器系统产生电子音调,那么控制器34把事件码传送给音调发生器35,并且音调发生器35根据事件码产生一对数字音频信号用于左右通道。另一方面,如果用户指示同步重放系统产生声学钢琴音调,那么控制器34确定黑/白色键移动的轨道,并且指示驱动单元36a激励电磁操纵键致动器36b用于沿着轨道移动相关联黑/白色键。驱动单元36a有选择地把驱动信号提供给电磁操纵键/踏板致动器36b,从而电磁操纵键/踏板致动器36b引起键的动作和/或踏板的动作用于移动黑/白色键和踏板31e。黑/白色键激活动作单元31b,并且音锤31c敲打在旋转末端的音弦31d。因此,自动播放系统31C根据事件码产生声学钢琴音调或电子音调。
如果用户指示控制器34以便在键盘31a上的演奏期间把事件码提供给音调发生器35,那么控制器34把事件码提供给音调发生器35,并且一对数字音频信号从音调发生器35被提供给音频单元4。
音频单元
音频单元4包括混音器41、数模转换器42、放大器43和扬声器44。控制器6和音调发生器35被连接到混音器41,并且一对数字音频信号和另一对数字音频信号从音调发生器35和控制器6被提供给混音器41。从控制器6被提供的一对数字音频信号由音频音乐数据代码产生。混音器41通过算术平均值把用于右通道的数字音频信号和用于左通道的数字音频信号混合成一对数字音频信号,并且把该对数字音频信号提供给数模转换器42。数字音频信号被转换成用于右通道的模拟音频信号和用于左通道的另一模拟音频信号,并且把该模拟音频信号提供给放大器43。模拟音频信号通过放大器43被均衡并且放大,并且此后被提供给扬声器44。扬声器44把模拟音频信号转换成为立体声电子音调。
操作面板/显示器
操作面板/显示器5包括一排键、开关、指示器和显示窗口。用户通过键和开关把他的或她的指令给予控制器6,并且控制器6通过指示器和显示窗口向用户报告当前状态。当控制器6提供表示位图数据片段的数字控制信号时,操作面板/显示器在显示窗口上产生字符和/或其它种类可视图像。
控制器
控制器6包括缩写为″ROM″的只读存储器61、缩写为″CPU″的中央处理单元62、缩写为″DSP″的数字信号处理器、缩写为″RAM″的随机存取存储器64、用于与其它系统部件1、2、3和4以及总线系统65b进行通信的接口65。只读存储器61、中央处理单元62、数字信号处理器63、随机存取存储器64和接口65a被连接到总线系统65b,并且通过总线系统65b能够彼此通信。
只读存储器61是一种非易失性存储器,并且形成计算机程序的指令码被存储在该只读存储器61中。中央处理单元62通过通用目的微处理器被执行。中央处理单元62顺序地取得指令码,并且执行指令码用于完成给定工作。中央处理单元62以预先记录模式和同步重放模式运行特定计算机程序,这将在下文中详细地描述。
数字信号处理器63是一个高速的专用微处理器,并且能够在中央处理单元62的控制下高速处理音频音乐数据代码。数字信号处理器63进一步处理参考相关性数据片段/目标相关性数据片段,并且把相关性分析结果报告给中央处理单元62,这将在下文中详细描述。
随机存取存储器64是一种易失性存储器,把临时数据存储提供给中央处理单元62。换句话说,随机存取存储器64被作为工作存储器。接口65a在系统部件1、2、3、4和5之间传送数字代码。在系统部件之间的数据格式不相同的情况下,接口65a把数字代码从该数据格式改变为另一种数据格式。
预先记录方式
用户以与通过光盘播放器1和音频单元4的重放合奏来在键盘31a上演奏一首音乐,并且在键盘31a上的演奏与参考相关性数据片段一起被记录在软盘FD中。被用于预先记录的光盘CD以下简称为″CD-A″,并且被用于同步重放的光盘CD被认为是″CD-B″,从而使得光盘能够彼此区分开。虽然音乐标题和演奏者相同,但是光盘CD-B在版本上不同于光盘CD-A。
用户首先把光盘CD-A装载到光盘驱动器1中,并且把软盘FD装载到软盘驱动器2中。用户按下操作面板/显示器5上的键,从而中央处理单元62收到用户的指令以便开始预先记录。然后,中央处理单元62通过接口65a把表示要求重放的控制信号提供给光盘驱动器1。
光盘驱动器1驱动光盘CD-A用于旋转,并且把音频音乐数据代码提供给接口65a。一对音频音乐数据代码以每一间隔1/44100秒被传送到用于右通道和左通道的接口65a。一对音频音乐数据代码可以表示为(R(n),L(n)),并且音频音乐数据代码R(n)/L(n)的值以下简称为″采样值″。该采样值是一个整数,并且所有的采样值属于从-32768到+32767的范围。″n″表示在轨道中的音频音乐数据代码的地点。例如,第一对音频音乐数据代码可以表示为(R(0),L(0)),并且下一对可以表示为(R(l),L(l))。因此,重放期间该地点增加1。
当一对音频音乐数据代码(R(n),L(n))到达接口65a时,中央处理单元62从接口65a取得一对音频音乐数据代码(R(n),L(n))。中央处理单元62通过接口65a把一对音频音乐数据代码(R(n),L(n))传送给混音器41。一对音频音乐数据代码(R(n),L(n))被转换为模拟音频信号,并且该模拟音频信号通过放大器43被提供给扬声器44。因此,所述一对音频音乐数据代码(R(n),L(n))通过控制器6被顺序地从光盘驱动器1提供给音频单元4,用于通过扬声器44再现这首音乐。
中央处理单元62进一步工作,以在一个预定时间周期把预定数目的成对音频音乐数据代码(R(n),L(n))累积到随机存取存储器64。在这一情况下,中央处理单元62校验216对音频音乐数据代码,即65536对音频音乐数据代码用于累积。表示静音或者几乎静音的一对音频音乐数据代码(R(n),L(n))被忽视,并且不被累积在随机存取存储器64中。换句话说,中央处理单元62在某一时间周期之后累积65536对音频音乐数据代码。该65536对音频音乐数据代码等于1.49秒。
详细地,当第一对音频音乐数据代码(R(0),L(0))到达中央处理单元62时,中央处理单元62开始校验(R(0),L(0))到(R(65535)音频音乐数据代码对,以便观察采样值是否超过一个阈值。阈值表示边界值。在这一情况下,阈值被假设为1000。至少一个采样值被认为超过在一对音频音乐数据代码(R(52156),L(52156))中的阈值。当″n″从零被增加到52155时,给予否定的回答,并且中央处理单元62忽视从(R(0),L(0))到(R(52155),L(52155)的这些音频音乐数据代码对。换句话说,中央处理单元62不会累积从(R(0),L(0))到(R(52155),L(52155)的音频音乐数据代码对。静音时间时期大概是1.18秒。当″n″到达52156时,中央处理单元62把回答改变为肯定的。随着肯定的回答,中央处理单元62把一对音频音乐数据代码(R(52156),L(52156))和被分配给存储单元的地址一起传送给随机存取存储器64,其中在此存储单元中音频音乐数据代码(R(52156),L(52156))被存储。中央处理单元62连续地把65536对音频音乐数据代码传送给随机存取存储器64,从而从(R(52156),L(52156))到(R(117691),L(117691))的音频音乐数据代码对被累积在随机存取存储器64中。因此,表示静音或者几乎静音的一对音频音乐数据代码不被累积在随机存取存储器64中。从(R(52156),L(52156))到(R(117691),L(117691))的音频音乐数据代码对的采样值以下简称″用于参考相关性数据的原始资料″或者″参考原始资料″。
当中央处理单元62完成用于参考相关性数据的参考原始资料的累积时,中央处理单元62开始一个内时钟,并且指示数字信号处理器63从用于参考相关性数据的原始资料中产生参考相关性数据片段。音频音乐数据代码对(R(n),L(n))由通过在44100Hz对模拟音频信号进行采样而获得的采样值产生。数字信号处理器63把采样值转换成为相当于在172.27Hz处的采样值的参考相关性数据片段。参考相关性数据片段被使用在从光盘CD-B读出的音频音乐数据代码和从光盘CD-A读出的音频音乐数据代码之间的相关性分析中,这将在下文中进行详细描述。
图4表示一种用于把采样值转换为参考相关性数据片段的方法。此方法以计算机程序的形式被存储在程序存储器中。在步骤S1中数字信号处理器62从随机存取存储器64中读取参考原始资料片段,即音频音乐数据代码对(R(n),L(n))的采样值,并且在步骤S2中计算参考原始资料片段的算术平均值用于把立体声音频音乐数据转换为单声道音频音乐数据。从立体声音频音乐数据到单声道音频音乐数据的转换使得在数字信号处理器63上的负荷变轻。
随后,在步骤S3中数字信号处理器63通过相当于高通滤波的数据处理从算术平均值中消除表示模拟音频信号直流分量的值。计算值在正反区域中被标出。最好是从相关性分析准确性的观点来看,计算值被分散在两个正反区域中。
随后,在步骤S4中绝对化计算值。通过绝对化,对于该计算值确定乘方(power)的替代值。该绝对值小于表示乘方的平方数,并且在下面的数据处理中易于操作。然而,如果数字信号处理器63具有非常大的数据处理能力,那么数字信号处理器63可以计算该计算值的平方数来代替该绝对值。
随后,在步骤S5中,数字信号处理器63通过相当于梳线滤波器的数据处理来从绝对值中提取表示原始音频信号波形变化趋势的低频分量。虽然低频分量通常通过相当于低通滤波器的数据处理被提取,但是相当于梳线滤波器的数据处理负荷轻于相当于低通滤波器的数据处理。为此,采用相当于梳线滤波器的数据处理,即梳状滤波。
图5表示梳线滤波器的电路结构。方框表示延迟,并且三角形表示乘法。″Z-k″被放在左边方框中,并且″k″表示延迟时间等于(采样周期×k)。采样频率是44100Hz,从而采样周期等于1/44100秒。乘数被放进三角形中。在图5中,″k″表示如下
k=(44100-π×f)/(44100+π×f)    .....表达式1
通过使用乘数″k″的乘法,该数据处理使得梳线滤波器实现频率f的高通滤波,并且直流分量从绝对值中被很好地消除。可以试验性地最佳化″k″和″f″,从而增强相关性分析的准确性。
回到图4,在步骤S6中数字信号处理器63执行相当于低通滤波器的数据处理,用于通过降采样(down sampling)防止采样数据产生重叠(fold-over)噪音。数字信号处理器63把在44100Hz处的采样值转换为在172.27Hz处的降采样值,并且发生重叠噪音,这将结合下一步骤S7进行描述。为了防止降采样值产生重叠噪音,必须消除高于86.13Hz的频率分量,即172.27Hz的一半。虽然梳线滤波器从采样值中完全地把高频分量消除,但是高频分量仍然留在采样值中。为此,数字信号处理器63在降采样之前从采样值中完全地消除高频分量。在数字信号处理器63具有大数据处理能力的情况下,数字信号处理器63可以执行相当于高精度低通滤波的数据处理来代替在步骤S5和S6中的两种数据处理。
随后,在步骤S7中数字信号处理器63从每256个样本中取出一个样本。即,数字信号处理器63以1/256执行降采样。当完成降采样时,数据量从65536减小到256。在降采样之后的样本被作为参考相关性数据片段X(m)。″m″是从0到255的范围。在这一情况下,X(0)-X(255)代表256个参考相关性数据片段。最终,数字信号处理器63把参考相关性数据片段X(0)-X(255存储在随机存取存储器64中。
当数字信号处理器63产生参考相关性数据片段X(0)-X(255)时,用户准备在键盘31a上弹奏这首音乐。如上所述,在完成参考原始资料的累积时,中央处理单元62开始内时钟。在内时钟开始增加经过的时间之后,用户以与通过光盘播放器/音频单元1/4的重放合奏来演奏这首音乐。这就意味着,用户有选择地下压和释放黑/白色键,并且踩踏板31e。
当黑/白色键和踏板31e被移动时,黑/白色键和踏板31e改变当前按键的位置和当前踏板的位置,并且相关的键传感器32和相关的踏板传感器33通过键位置信号和踏板位置信号将当前按键位置和当前踏板位置通知到控制器34。控制器34周期性地从数据端口获取位置数据片段,并且把位置数据片段累积在随机存取存储器64中。控制器34校验所累积的数据以便观察用户是否改变了当前按键位置和/或当前踏板位置。当回答是肯定时,控制器34产生事件码用于下压/释放键和/或下压/释放踏板31e。控制器34把事件码提供给控制器6。
当事件码到达接口65a时,中央处理单元62获取事件码,并且检验对于到达时间的内时钟。中央处理单元62产生表示到达时间的δ时间码,并且把事件码和δ时间码存储在随机存取存储器64中。
图6表示用于产生MIDI音乐数据代码的序列。光盘驱动器1在时间T1处开始从光盘CD-A读取音频音乐数据代码,即音频数据,并且增加经过的时间。在从重放开始的1.18秒处,采样值超过阈值。然后,中央处理单元62开始把从(R(52156),L(52156))到(R(117691),L(117691))的音频音乐数据代码对的采样值存储在随机存取存储器64中,并且如上述详细描述的数字信号处理器63从参考原始资料中产生参考相关性数据片段X(m)。
在时间T2,即从重放开始之后的2.67秒,最后一对音频音乐数据代码(R(117691),L(117691))的采样值被存储在随机存取存储器64中。然后,中央处理单元62开始内时钟,并且用户准备在键盘31a上演奏这首音乐。用户开始在键盘31a用他的或她的手指弹奏,并且控制器34把第一事件码提供给接口65a。在时间T3,即在重放开始之后的3.92秒,中央处理单元62确认收到第一事件码。在时间T3,内时钟表示1.25秒,并且中央处理单元62把第一事件码与表示时间T3的δ时间码一起存储在随机存取存储器64中。
控制器34产生第二事件码,并且把第二事件码提供给接口65a。在时间T4,即在重放开始之后的5.30秒,中央处理单元62确认收到第二事件码,并且在时间T4,内时钟表示2.63秒。中央处理单元62产生表示时间T4的δ时间码,并且把第二事件码与δ时间码一起存储在随机存取存储器64中。
第三事件发生在时间T5附近,并且控制器34把第三事件码提供给接口65a。在时间T5,即在重放开始之后的6.38秒,中央处理单元62确认收到第三事件码,并且在时间T5,内时钟表示3.71秒。中央处理单元62产生表示时间T5的δ时间码,并且把第三事件码与δ时间码一起存储在随机存取存储器64中。以从第一到第三事件码相似的方法,其它事件码与δ时间码一起被存储在随机存取存储器64中。
光盘播放器1完成重放,因此用户停止他或她的手指演奏。然后,用户按下操作面板/显示器5上的一个键用于通知控制器6已完成演奏。然后,操作面板/显示器5把表示演奏完成的控制信号提供给接口65a。
中央处理单元62确认完成演奏,并且把表示重放终止的控制信号提供给光盘驱动器1。光盘驱动器1停止重放。中央处理单元62从随机存取存储器64中读取事件码、δ时间码和参考相关性数据片段X(m),并且把参考相关性数据片段X(m)、事件码和δ时间码形成到音轨块中。中央处理单元62把头部块加入到音轨块上从而建立如图7所示的标准MIDI文件。参考相关性数据片段X(m)以系统专用事件的形式与表示0.00秒的δ时间码一起被存储在音轨块的第一区域中。第一事件码和第二事件码表示在C5处的有音符和在E6处的有音符,并且第三事件码表示在C5处的无音符。在系统专用事件之后,第一事件码与表示1.25秒的δ时间码一起被存储在音轨块中,并且第二事件码和表示2.63秒的δ时间码跟随第一事件码。第三事件码和表示3.71秒的δ时间码跟随第二事件码。因此,事件码和相关δ时间码被存储在音轨块中直到用户完成演奏。
在完成标准MIDI文件时,中央处理单元62把标准MIDI文件从随机存取存储器64传送到软盘驱动器2,并且要求软盘驱动器2把标准MIDI文件存储在软盘FD中。软盘驱动器2响应中央处理单元62的指令从而标准MIDI文件被建立在软盘FD中。
同步重放
假定用户指示同步重放系统再现声学钢琴31A和光盘驱动器/音频单元1/4之间的合奏。光盘CD-B被用在同步重放中。被存储在光盘CD-B中的一首音乐在标题方面与以预先记录模式被再现的这首音乐相同。然而,复制光盘CD-B的金属母盘不同于复制光盘CD-A的金属母盘。为此,静音时间时期和动态范围在被存储在光盘CD-A中的一首音乐和被存储在光盘CD-B中的相应一首音乐之间不相等。此外,当金属母盘被设计用于光盘CD-B时,唱片公司把音响效果加到这首音乐中。这就意味着被记录在光盘CD-B中的这首音乐在旋律进度方面与被记录在光盘CD-A中的这首音乐不十分相同。
假定用户指示控制器6与通过光盘播放器/音频单元1/4的重放合奏来再现声学钢琴31A上的演奏。软盘FD和光盘CD-B已经被分别加载到软盘驱动器2和光盘驱动器1。
当中央处理单元62从操作面板/显示器5中接收表示用户指令的控制信号时,中央处理单元62通过控制信号请求软盘驱动器2来发送标准MIDI文件。软盘驱动器2存取存储在软盘FD中的标准MIDI文件,并且通过接口65a把标准MIDI文件从软盘FD传送到中央处理单元62。中央处理单元62把标准MIDI文件还原在随机存取存储器64中。
随后,中央处理单元62请求光盘驱动器1发送几对音频音乐数据代码。光盘驱动器1从光盘CD-B读取音频数据代码,并且把音频音乐数据代码(r(n),l(n))传送到接口65a。″r″、″l″和″n″的定义与″R″、″L″和″n″的定义分别相同。
中央处理单元62从接口65a获取音频音乐数据代码(r(0),l(0))、(r(l),l(1))、(r(2),l(2))、.....。中央处理单元62首先通过接口65a把音频音乐数据代码(r(0),l(0))、(r(l),l(1))、(r(2),l(2))、.....传送到音频单元4。音频单元4把音频音乐数据代码(r(0),l(0))、(r(l),l(1))、(r(2),l(2))、.....转换为声音。在某一时间周期之后可听到电子音调。
中央处理单元62把请求相关性分析的指令给予数字信号处理器63,以使数字信号处理器63准备相关性分析。然后,中央处理单元62连续地把音频音乐数据代码(r(0),l(0))、(r(l),l(1))、(r(2),l(2))、.....提供给数字信号处理器63用于相关性分析。由音频音乐数据代码(r(n),l(n))产生的目标相关性数据片段与从音频音乐数据代码(R(n),L(n))产生的从软盘FD中被读取的参考相关性数据片段进行比较,以便观察相关性分析中它们是否彼此相类似。
图8表示用于相关性分析的方法。当中央处理单元62把几对音频音乐数据代码(r(n),l(n))传送到数字信号处理器63时,数字信号处理器63把这几对音频音乐数据代码(r(n),l(n))累积在随机存取存储器64中。音频音乐数据代码对(r(n),l(n))、(r(n+1),l(n+1))....(r(n+65535),l(n+65535))的65536个采样值被认为是″目标原始资料(n)″。当数字信号处理器63把一对音频音乐数据代码(r(65535),l(65535))累积在随机存取存储器64中时,在步骤S11中数字信号处理器63开始从目标原始资料(0)中产生目标相关性数据片段。详细地,数字信号处理器63首先从随机存取存储器64中读取目标原始资料(0),即(r(0),l(0))到(r(65535),l(65535)),并且在步骤S1到S8(参见图4)中执行数据处理。当完成数据处理时,从Yn(0)到Yn(255)的256个目标相关性数据片段被留在随机存取存储器64中。Yn(0)到Yn(255)指出目标相关性数据片段由目标原始资料(n)产生。256个目标相关性数据片段对在下文被认为是″目标相关性数据(n)″。
随后,在步骤S12中数字信号处理器63从随机存取存储器64中读取形成部分系统专用事件的参考相关性数据片段X(0)到X(255)和目标相关性数据片段Yn(0)到Yn(255)。
随后,数字信号处理器63确定绝对相关索引,并且对绝对相关索引IDXa与常数p进行比较,以便观察绝对相关索引IDXa是否等于或者大于常数p。
Σ i = 0 255 ( x ( i ) × Y 0 ( i ) ) / Σ i = 0 255 ( x ( i ) 2 ) ≥ p .....表达式2
表达式2的左边表示绝对相关索引IDXa,并且常数p具有从0到1的范围的值。参考相关性数据X(m)和目标相关性数据Y0(m)彼此越接近,绝对相关索引越接近1。参考相关性数据片段被假定为与相应的目标相关性数据片段成对。如果增加数据片段对的数目,那么左侧的值就会变大,其中所述数据片段对在参考相关性数据片段和相应的目标相关性数据片段之间的值相等。常数p以此方法被确定,从而用于某一通路的目标相关性数据片段和用于相同通路的相应的参考原始资料片段使得表达式2的答案是肯定的,并且用于某一通路的参考相关性数据片段和用于另一通路的相应的目标相关性数据片段使得表达式2的答案是否定的。因此,常数p被试验性地最佳化。
数字信号处理器进一步确定相对相关索引IDXr,并且把相对相关索引IDXr与常数q进行比较,以便观察相对相关索引IDXr是否等于或大于常数q。
{ Σ i = 0 255 ( x ( i ) × Y 0 ( i ) ) } 2 / { Σ i = 0 255 ( x ( i ) 2 ) × Σ i = 0 255 ( Y 0 ( i ) 2 ) } ≥ q .....表达式3
表达式3的左侧表示相对相关索引IDXr,并且具有介于0和1之间的一个值。由参考相关性数据X(m)表示的音频波形与由目标相关性数据片段Y0(m)表示的音频波形越类似,相对相关索引IDXr越接近于1。常数q具有0和1之间的一个值,并且被试验性地最佳化。
如同下述,相对相关索引IDXr不同于绝对相关索引IDXa。假定参考相关性数据和目标相关性数据表示在某一音乐通路上的演奏。如果用于目标相关性数据的模拟音频信号的动态范围低于用于参考相关性数据的模拟信号的动态范围,那么绝对相关索引IDXa小于1,并且绝对相关索引IDXa和1之间的差值取决于用于目标数据片段的模拟音频信号的动态范围。在用于目标相关性数据的模拟音频信号的动态范围高于用于参考相关性数据的模拟信号的动态范围的情况下,绝对相关索引IDXa大于1,并且该差值取决于模拟信号的动态范围。另一方面,不管在动态范围中的差值如何,相对相关索引IDXr具有接近于1的一个值。换句话说,即使光盘CD-B在版本方面不同于光盘CD-A,表达式3的答案是肯定的。
如果一个或者两个答案是否定的,那么在步骤S13中数字信号处理器63终止关于目标相关性数据Y0(m)的相关性分析,并且转到步骤S14。在步骤S14中,数字信号处理器63等待下一对音频音乐数据代码(r(256),l(256))。当中央处理单元62接收下一对音频音乐数据代码(r(256),l(256))时,中央处理单元62把下一对音频音乐数据代码(r(256),l(256))传送给随机存取存储器64,并且下一对音频音乐数据代码(r(256),l(256))被存储在随机存取存储器64中。在数据写入完成时,中央处理单元62请求数字信号处理器63执行相关性分析,并且在步骤S14中,从(r(1),l(1))到(r(256),l(256))的下一对音频音乐数据代码从随机存取存储器64传送到数字信号处理器63。数字信号处理器63回到步骤S11,并且执行从步骤S11到S14中的任务,用于对从(r(1),l(1))到(r(256),l(256))的下一音频音乐数据代码对进行相关性分析。因此,数字信号处理器63反复执行由步骤S11到S14组成的循环。如果数字信号处理器63重复循环n次,那么目标原始资料(0)到目标原始资料(n-1)经过了相关性分析。
假设表达式(2)和(3)的两个答案被改变为肯定的。数字信号处理器63计算在n=0时X(m)和Yn(m)之间乘积和的变化率,如同下述。
d ( Σ i = 0 255 ( x ( i ) × Y 0 ( i ) / dn = 0 .....表达式4
X(m)和Yn(m)之间的乘积和以下简称″相关值R″。相关值R具有下列趋势。假定参考相关性数据片段分别与目标相关性数据片段配套。如果具有在数值方面与目标相关性数据相关联片段接近的参考相关性数据片段的对的数目被增加,那么相关值R变大。此外,当相关值R按照时间被绘出,即X(m)和Y0(m)之间的R0,X(m)和Y1(m)之间的R1,R2,R3,...和Rn时,在相关值R的函数的极值处,变化率变为零。因此,数字信号处理器63通过表达式4检验相关值R的极值。
随后,数字信号处理器63再一次对函数f(R)求微分,并且寻找相关值Rn函数中的局部最大值MX,如同下述。
d 2 ( Σ i = 0 255 ( x ( i ) × Y 0 ( i ) ) / d 2 n = 0 .....表达式5
因此,在步骤S15中,数字信号处理器63检验一系列参考相关性数据X(m)和目标相关性数据Yn(m),以便观察相关值Rn是否在函数中的局部最大值处。
当然,当″n″是0时,在目标相关性数据Y0(m)之前不存在任何目标相关性数据。然后,在步骤S15中数字信号处理器63立即将否定答案给予该查询,并且数字信号处理器63转到步骤S14。如上所述,在采样值超过阈值之后,数字信号处理器63开始累积在参考原始资料中的音频音乐数据代码对(R(n),L(n))。然而,不管采样值如何,数字信号处理器63连续地累积从第一对(r(0),l(0))开始的在目标原始资料(0)中的音频音乐数据代码对(r(n),l(n))。在此情况下,以下可能性很小,就是首先超过阈值的音频音乐数据代码对(R(n),L(n))占据一系列音频音乐数据代码(r(n),l(n))的开头部分。
参考相关性数据片段X(m)和目标相关性数据片段Yn(m)具有离散值,以便如下所述在步骤S15中数字信号处理器63处理参考相关性数据片段/目标相关性数据片段X(m)/Yn(m)。数字信号处理器63确定X(m)和Yn(m)的乘积和与X(m)和Yn-1(m)的乘积和之间的差值Dn,并且检验差值Dn以便确定Dn-1是否大于0和Dn是否小于0。如果Dn-1大于0并且Dn小于0,那么相关值R的变化率处于局部最大值或在局部最大值的附近。然后,在步骤S15中,数字信号处理器63给出该查询的肯定答案″Yes″。数字信号处理器63请求″n″等于或大于2来用于上述数据处理。为此,当″n″为1时,在步骤S15中,数字信号处理器63给出该查询的否定答案″No″。
如果在步骤S15中给出否定的回答,那么数字信号处理器63等待对于相关性分析的请求。当下一对音频音乐数据代码通过中央处理单元62被获取时,下一对音频音乐数据代码被写入随机存取存储器64,并且中央处理单元62请求数字信号处理器63执行相关性分析。然后,数字信号处理器从随机存取存储器64中读取新的目标相关性数据Yn+x,并且通过步骤S11到S15重新开始相关性分析。
当在步骤S13或S15中的回答保持否定时,数字信号处理器通过步骤S11到S14和/或S11到S15来重复相关性分析。当数字信号处理器63发现相关值Rn+y占据局部最大值时,在步骤S15中的回答被改变为肯定的,并且数字信号处理器63完成了相关性分析。
假定在光盘CD-B中的一系列音频音乐数据代码对(r(n),l(n))是通过从在光盘CD-A中的一系列音频音乐数据代码对(R(n),L(n))被延迟51600个采样点,即1.17秒。如上所述,从(R(52156),L(52156))到(R(117691),L(117691))的音频音乐数据代码对在参考原始资料的结合中形成。对应于从(R(52156),L(52156))到(R(117691),L(117691))的这些对的音频音乐数据代码对(r(n),l(n))占据从103756到169291的位置。换句话说,从(r(103756),l(103756))到(r(169291),l(169291))的音频音乐数据代码对对应于从(R(52156),L(52156))到(R(117691),L(117691))的音频音乐数据代码对。当数字信号处理器63分析用于相关性的目标相关性数据片段集Y0(m)到目标相关性数据片段集Y103755(m)时,在步骤S13和S15之一给予否定回答。这是因为事实上目标相关性数据片段集Y0(m)-Y103755(m)是从参考相关性数据片段集X(m)脱离而来的。换句话说,数字信号处理器63没有发现目标相关性数据片段集Y0(m)到Y103755(m)的任何一个与参考相关性数据片段X(m)高度相关。
然而,当数字信号处理器63分析用于与参考相关性数据片段X(m)相关的目标相关性数据片段集Y103756(m)时,在步骤S13和s15中给予肯定的回答,因为目标相关性数据片段Y103756(m)分别对应于参考相关性数据片段X(m)。随着肯定的回答,数字信号处理器63把参考相关性数据X(m)和目标相关性数据Y103756(m)之间的相关性报告给中央处理单元62。
当肯定的报告到达中央处理单元62时,中央处理单元62开始通过自动播放器钢琴31A进行重放。标准MIDI文件已经从软盘FD传送到随机存取存储器64,并且中央处理单元62通过接口65a连续地把音频音乐数据代码(r(n),l(n))传送到音频单元4,用于通过扬声器44再现电子音调。
中央处理单元62首先开始内时钟,并且从随机存取存储器64读取第一δ时间码。中央处理单元62周期性地对内时钟与第一δ时间码进行比较,以便观察第一事件码是否被传送到自动播放器钢琴31A。当回答是否定时,中央处理单元等待一段时间以便把该第一事件码传送到自动播放器钢琴31A。当由δ时间码表示的时间周期结束时,中央处理单元62通过接口65a把第一事件码传送到控制器34。
控制器34分析第一事件码,并且确定通过黑/白色键被追踪的轨迹。控制器34请求驱动器36a沿着轨迹移动黑/白色键。驱动器36a用驱动信号激励电磁操纵按键致动器36b,并且使电磁操纵按键致动器36b驱动用于旋转的相关黑/白色键。黑/白色键激励相关联的动作单元31b,此动作单元通过释放(escape)传动装置(jack)依次驱动用于旋转的关联音锤31c。音锤31b在旋转的末端敲击相关联的音弦31d,并且从振动的音弦31d产生声学钢琴音调。
如果用户已指示控制器6只通过音频单元4来重放这首音乐,那么控制器34把第一事件码传送给音调发生器35,并且数字音频信号从音调发生器35被提供给混音器41。来自音调发生器35的数字音频信号与来自光盘驱动器1的数字音频信号,即音频音乐数据代码对(r(n),l(n))混合,并且电子音调由扬声器44产生。
当中央处理单元62传送第一事件码时,下一个δ时间码从随机存取存储器64读取到中央处理单元62,并且周期性地检验内时钟以便观察第二事件码是否被传送到自动播放器钢琴3。当传送第二事件码的时间来临时,中央处理单元62通过接口65a把第二事件码传送到自动播放器钢琴3。因此,中央处理单元62间歇地把事件码传送到自动播放器钢琴3,并且声学钢琴音调/电子音调基于音频音乐数据代码(r(n),l(n))随着电子音调的产生而被同步地再现。
图9A到9C表示相关性分析的一个结果。当在步骤S3中的数据处理相当于被作为在25Hz时的高通滤波器的单阶IIR(无限冲击响应)滤波器的电路性能,在步骤S5中的梳线滤波器具有等于4410的常数k和等于1的另一常数f,并且在步骤S6中的数据处理相当于被作为在25Hz时的低通滤波器的单阶IIR滤波器的电路性能的情况下,执行相关性分析。在步骤S13中的常数p和q分别被设定为0.5和0.8。
在图9A、9B和9C中,″n″沿着向右方向中的横坐标轴被增加,并且纵坐标轴表示以下曲线的值。曲线PL1表示常数p和表达式2的左侧的分母之间的乘积,并且曲线PL2代表表达式2的左侧的分子。曲线PL3表示常数q和表达式3的左侧的分母之间的乘积,并且曲线PL4代表表达式3的左侧的分子。曲线PL5表示表达式4的左侧。
曲线PL1是常数。大部分曲线PL2在曲线PL1之下起伏。然而,在域A中曲线PL2超过曲线PL1。换句话说,表达式2的左侧具有等于或大于常数P的值。域B属于域A。当″n″经过域B时,曲线PL4超过曲线PL3,并且表达式3的左侧具有等于或大于常数q的值。因此,绝对相关索引IDXa和相对相关索引IDXr分别等于或大于常数p和常数q,并且只有在域B中在步骤S13中的回答才为肯定。
另一方面,在C处表达式4的左侧等于0,并且表达式5在点C处被满足。点C属于域B。因此,在步骤S15中给予肯定的回答,并且在自动播放器钢琴31A和光盘驱动器/音频单元1/4之间的合奏中的点C处同步重放系统开始重放。本发明人证实自动播放器钢琴31A与光盘驱动器/音频单元1/4能够很好的同步用于以合奏再现这首音乐。
因此可以知道,控制器6以实时的形式分析一组音频音乐数据代码对(R(n),L(n))和一系列音频音乐数据代码对(r(n),l(n)),用于查找自动播放器钢琴31A开始的定时。这就意味着,自动播放器钢琴31A开始以与通过光盘/音频单元1/4的重放的好合奏来再现声学钢琴音调。换句话说,控制器6消除来自自动播放器钢琴31A和光盘驱动器/音频单元1/4之间的合奏的在光盘CD-A中的静音时间和在光盘CD-B中的静音时间之间的差值。
本发明人证实如下同步重放。图10表示在预先记录中的音乐数据和在同步重放中的音乐数据之间的关系。PL7表示从音频音乐数据代码(R(n),L(n))再现的模拟音频信号和在T方向运行的时间。
静音时间在1.18秒附近连续,并且在1.18秒处采样值超过阈值。从1.18秒到2.67秒的音频音乐数据代码(R(n),L(n))作为参考原始资料被存储在软盘FD中。参考原始资料以系统专用事件的形式被累积在随机存取存储器64中,并且在2.67秒处完成累积。然后,中央处理单元62开始内时钟,并且此后用户在键盘31a上开始他的或她的弹奏。在3.92秒、5.30秒和6.38秒处分别发生第一事件、第二事件和第三事件。第一事件从参考原始资料的累积的末端被延迟1.25秒。表示第一事件到最后一个事件的事件码与δ时间码一起被存储在标准MIDI文件中。
曲线PL8表示由存储在光盘CD-B中的音频音乐数据代码(r(n),l(n))产生的模拟音频信号和在T方向上运行的时间。从光盘CD-B再现的音频信号的动态范围比从光盘CD-A再现的音频信号的动态范围狭窄。
在光盘CD-B中的静音时间比在光盘CD-A中的静音时间长。当音频音乐数据代码对(r(0),l(0))到达中央处理单元62时,数字信号处理器63开始从目标原始资料中产生目标相关性数据片段,并且分析参考相关性数据片段和目标相关性数据片段用于寻找高度相关状态。
在控制器6简单地把事件码传送到自动播放器钢琴31A的情况下,第一事件、第二事件和第三事件分别发生在3.92秒、5.30秒和6.38秒,从而自动播放器钢琴31A提前演奏。这将导致光盘播放器/音频单元1/4与自动播放器钢琴31A不能很好地一体化。
另一方面,用户指示控制器6以与通过自动播放器钢琴31A的重放合奏来再现演奏。数字信号处理器63没有确认在3.84秒之前的高度相关状态。当重放到达3.84秒时,数字信号处理器63发现目标相关性数据与参考相关性数据高度相关,并且中央处理单元62开始内时钟。时间在D方向上运行。中央处理单元62读取第一δ时间码,并且把所经过的时间与由该第一δ时间码表示的时间进行比较。当内时钟与该时间匹配时,中央处理单元62把该第一事件码传送到自动播放器钢琴31A,并且产生声学钢琴音调。在相关性分析完成,即5.09秒之后的1.25秒,第一事件码被传送到自动播放器钢琴31A。从超过阈值到传送第一事件码的时间间隔等于在光盘CD-B中的静音时间之后的时间间隔。在6.47秒和7.55秒处,第二事件和第三事件被传送到自动播放器钢琴31A。在预先记录和同步重放之间,事件码的时间间隔是相等的。因此,不管静音时间的长度和动态范围,同步重放系统完成在自动播放器钢琴31A和光盘驱动器/音频单元1/4之间好的合奏。
从上述描述中可以知道,不管静音时间的长度和动态范围,实施本发明的同步重放系统以好合奏再现一首音乐的演奏。
第一个修改方案
转向附图11,包含本发明的同步播放器系统的第一个修改方案还主要地包括光盘驱动器1A、软盘驱动器2A、自动播放器钢琴3A、音频单元4A、操作面板/显示器5A和控制器6A。软盘驱动器2A、自动播放器钢琴3A、音频单元4A和操作面板/显示器5A在配置和性能方面相似于包含本发明的同步播放器系统的这些部件,并且构成部件标有指示图1所示的相应构成部件的参考标记。虽然控制器6A在数据处理方面与控制器6稍有不同,但是系统配置与控制器6相似,为此构成部件标有指示控制器6的相应构成部件的参考标记而不需要详细说明。
该第一个修改方案还有选择地加入预先记录模式和同步重放模式,并且在那些操作模式中的性能一般等同于同步重放系统的性能。为此,描述集中在由同步重放系统执行的数字处理的差别。
光盘驱动器1A顺序地从光盘CD读取音频音乐数据代码和音频时间数据代码,并且不但把音频音乐数据代码传送到控制器6A而且把音频时间数据代码传送到控制器6A。这就是与光盘驱动器1性能的差别。
控制器6A在预先记录和同步重放模式中具有如下不同的性能。当光盘驱动器1A把音频音乐数据代码(R(n),L(n))和音频时间数据代码传送到控制器6A时,中央处理单元62连续地检验音频音乐数据代码对(R(n),L(n)),以便观察采样值是否超过阈值。当中央处理单元62发现采样值超过阈值时,音频时间数据代码与参考原始资料第一片段一起被存储在随机存取存储器64中。音频时间数据代码组成系统专用事件的一部分,并且被存储在标准MIDI文件中。另一差别是其中事件码到达控制器6A的音频时间数据代码与δ时间码一起被存储在标准MIDI文件中。在同步重放模式中,根据由光盘驱动器1A提供的音频时间数据代码,控制器6A把事件码传送到自动播放器钢琴3A。音频时间数据代码以小时、分、秒和帧表示从开始重放所经过的时间。然而,为了简化起见在下面描述中只使用秒来表示所经过的时间。
详细地,假定用户通过操作面板/显示器5A来指示同步重放系统以与通过光盘驱动器/音频单元1A/4A的重放合奏来预先记录在键盘31a上的演奏。这首音乐从光盘CD-A以预先记录模式被再现,并且从光盘CD-B以同步重放模式被再现。
音频音乐数据代码和音频时间数据代码被连续地从光盘CD-A中读取,并且从光盘驱动器1A提供到接口65a。中央处理单元62从接口65a获取音频音乐数据代码和音频时间数据代码,并且把音频音乐数据代码传送到音频单元4A。音频单元4A把音频音乐数据代码转换成为电子音调,从而这首音乐通过扬声器44被再现。当中央处理单元62把音频音乐数据代码传送到音频单元4A时,中央处理单元62进一步有效地检验音频音乐数据代码对(R(n),L(n)),以便观察至少一个采样值是否超过阈值。当中央处理单元62发现具有采样值超过阈值的音频音乐数据代码对时,中央处理单元62把紧靠音频音乐数据代码对之前接收的音频时间数据代码改变为表示存储在音频时间数据代码中的所经过时间的δ时间码。中央处理单元62把δ时间码存储在随机存取存储器64中。在紧靠表示1.18秒的音频时间数据代码到达之后,假定采样值超过阈值。因此,被存储在随机存取存储器64中的δ时间码表示1.18秒。被存储在随机存取存储器64中的δ时间码以下简称为″参考δ时间码″。
在超过阈值之后,中央处理单元62把音频音乐数据代码对传送到随机存取存储器64保持1.49秒,并且把其中的采样值存储在随机存取存储器64中作为原始资料片段。
当在随机存取存储器64中完成原始资料片段的累积时,中央处理单元62请求数字信号处理器63通过图4所示的数据处理从原始资料片段产生参考相关性数据片段。因此,参考相关性数据片段由原始资料片段产生,并且被存储在随机存取存储器64中。
当第一个电子音调从扬声器44广播出时,用户在键盘31a开始他的或她的弹奏并且有选择地踩踏板31e。当用户与通过光盘播放器/音频单元1A/4A的重放合奏,在声学钢琴31A上演奏这首音乐时,控制器34产生来自键位置信号和踏板位置信号的表示有音符、无音符、踩踏板和离开踏板的事件码,并且把事件码提供给接口65a。
中央处理单元62从接口65a获取事件码,并且从紧靠事件码之前接收的音频音乐数据代码中产生δ时间码。中央处理单元62把事件码和δ时间码存储在随机存取存储器64中。
当用户停止他的或她的演奏时,用户通过操作面板/显示器5A指示同步重放系统记录该演奏。然后,中央处理单元62指示光盘驱动器1A停止该重放,并且从随机存取存储器64读取参考δ时间码、参考相关性数据片段、事件码和相关联δ时间码,从而形成标准MIDI文件SMF2。
图12表示用于标准MIDI文件SMF2的数据格式。系统专用事件码、在C5处用于有音符的事件码、在E6处用于有音符的事件码、在C5处用于无音符的事件码被存储在音轨块中,并且表示1.18秒的参考δ时间码与参考相关性数据片段一起被存储在系统专用事件数据代码中。表示3.92秒的δ时间码表示其中在C5处的有音符事件到达接口65a的定时。同样地,表示5.30秒的δ时间码表示其中在E6处的有音符事件到达接口65a的定时,并且表示6.38秒的δ时间码表示其中在C5处的无音符事件到达接口65a的定时。
标准MIDI文件SMF2从中央处理单元62被传送到软盘驱动器1A,并且被写入软盘FD中。
假定用户指示同步重放系统与通过光盘驱动器/音频单元2A/4A的重放合奏,来再现通过自动播放器钢琴3A在键盘31a上的演奏。用户把光盘CD-B装载到光盘驱动器1A中。
中央处理单元62请求软盘驱动器2A把标准MIDI文件SMF2传送到接口65a。标准MIDI文件SMF2从软盘FD被读取,并且从软盘驱动器2A被传送到接口65a。中央处理单元62从接口65a获取存储在标准MIDI文件中的数据代码,并且还原在随机存取存储器64中的系统专用事件码、事件码和δ时间码。
中央处理单元62进一步请求光盘驱动器1A连续地把音频音乐数据代码和音频时间数据代码从光盘CD-B传送到接口65a。中央处理单元62从接口65a获取音频音乐数据代码和音频时间数据代码,并且从接收数据中选择音频音乐数据代码。中央处理单元62把音频音乐数据代码传送到音频单元4A,并且音频单元4A把音频音乐数据代码转换为电子音调。因此,这首音乐通过音频单元4A被再现。
中央处理单元62进一步把事件码与δ时间码一起传送到随机存取存储器64,并且事件码和δ时间码被存储在随机存取存储器64中。
当第65536对音频音乐数据代码(r(65535),l(65535))被存储在随机存取存储器64中时,中央处理单元62请求数字信号处理器63开始相关性分析。虽然参考相关性数据片段未被改变,但是重新产生的目标相关性数据片段把旧的目标相关性数据片段从该组中排挤出来。因此,该组目标相关性数据片段的成员随着时间而变。数字信号处理器63把参考相关性数据片段与目标相关性数据片段进行比较,以便观察目标相关性数据片段与参考相关性数据片段是否如图8所示方法所述的高度相关。当在步骤S15中给予肯定的回答时,那么数字信号处理器63完成对目标相关性数据片段的相关性分析。然后,数字信号处理器63报告中央处理单元62相关性分析成功完成,并且把分配给上一组的第一个目标相关性数据片段的识别号码发送给中央处理单元62。在这一情况下,假定识别号码″103756″被发送给中央处理单元62。
当接收到成功报告和识别号码″103756″时,中央处理单元62存取随机存取存储器64,并且读取与音频音乐数据代码对(r(103756),l(103756))相关联的音频时间数据代码。音频时间数据代码被假定为表示2.35秒。中央处理单元62进一步从随机存取存储器64中读取参考δ时间码,并且对音频时间数据代码与参考δ时间码进行比较以便观察光盘CD-A和光盘CD-B之间的静音时间是否相等。在这一情况下,参考δ时间码表示1.18秒。然后,给予否定的回答。根据该否定的回答,中央处理单元62计算光盘CD-A的静音时间和另一个光盘CD-B的静音时间之间的差别。该差别是1.17秒。这就意味着光盘驱动器/音频单元1A/4A开始被存储在光盘CD-A中的这首音乐的重放比被存储在光盘CD-B中的相同一首音乐的重放早1.17秒。为此,中央处理单元62把1.17秒加到由被存储在标准MIDI文件SMF2中的每一个δ时间码表示的所经过时间上。
在C5处的第一个有音符事件将发生在距离开始重放的3.92秒处(见图12)。当时间差别的相加完成时,在C5处的第一个有音符事件从3.92秒延迟到5.09秒。同样地,在E6处的第二个有音符事件从5.30秒被延迟到6.47秒,并且在C5处的无音符事件从6.38秒被延迟到7.55秒。因此,被存储在δ时间码中的所经过时间被调整到存储在光盘CD-B中的这首音乐的重放所经过的时间。用于从被存储在δ时间码中所经过时间中消除时间差的任务以下简称为″定时校准″,并且在定时校准之后的δ时间码被称为″调整δ时间码″。
当定时校准完成时,中央处理单元从随机存取存储器64读取第一δ时间码,并且检验由光盘驱动器1A提供的音频时间数据代码,以便观察相关联事件码是否被传送到自动播放器钢琴3A。当音频时间数据代码表示所经过的时间短于由第一调整δ时间码所表示的经过时间时,中央处理单元62把音频音乐数据代码对(r(n),l(n))传送到音频单元4A,但是不把事件码传送到自动播放器钢琴3A。为此,只有电子音调从扬声器44中广播出来。
当中央处理单元62获取表示3.92秒的音频时间数据代码时,回答被改变为肯定,并且中央处理单元62把在C5处的第一事件码从随机存取存储器64传送到自动播放器钢琴3A的控制器34。控制器34把驱动信号提供给电磁操纵按键致动器36b用于驱动用于旋转的音锤31c。音锤31c敲击相关联的音弦31d,并且在C5处产生声学音调。
以类似的方式,中央处理单元62对由调整δ时间码表示的所经过时间与由音频时间代码表示的所经过时间进行比较,以便观察相关联事件码是否将被传送到自动播放器钢琴3A,并且在适当的定时处把相关联事件码传送到自动播放器钢琴3A。这就导致了在通过自动播放器钢琴3A的重放和通过光盘驱动器/音频单元1A/4A的重放之间的好的合奏。
图13表示通过同步重放系统第一个修改方案的同步重放。横坐标轴表示由音频时间数据代码表示的所经过时间。曲线PL11表示由存储在光盘CD-A中的音频音乐数据代码(R(n),L(n))产生的模拟音频信号的波形,并且曲线PL12表示由存储在光盘CD-B中的音频音乐数据代码(r(n),l(n))产生的模拟音频信号的波形。参考相关性数据片段由参考原始资料RRM1从1.18秒到2.67秒产生,并且第一事件、第二事件和第三事件分别发生在3.92秒、5.30秒和6.38秒。因此,δ时间码表示在3.92秒、5.30秒和6.38秒处的所经过时间,并且被存储在标准MIDI文件SMF2中。
另一方面,曲线PL13表示由目标相关性数据片段产生的模拟信号的波形,并且与由在2.35秒和3.84秒之间的参考目标相关性数据片段PL14产生的另一模拟信号的波形高度相关。因此,目标相关性数据片段是从参考相关性数据片段被延迟1.17秒。
中央处理单元62通过定时校准消除目标相关性数据和参考相关性数据之间的时间差,从而第一、第二和第三事件分别从3.92秒、5,30秒和6.38秒被延迟到5.09秒、6.47秒和7.55秒。
光盘驱动器1A具有一个振荡器,并且该振荡信号被分成44100Hz的时钟信号。与时钟信号同步地从光盘CD-B读取音频数据代码。振荡器是不稳定的,并且与在频率方面高于前一同步重放的时钟信号同步地从光盘CD-B读取音频数据代码。虽然音频时间代码表示相同的经过时间,但是时间间隔被缩小,并且时差t1、t2和t3发生在前一同步重放中的第一、第二和第三事件以及在更高时钟频率之下的同步重放中的第一、第二和第三事件之间。虽然中央处理单元62执行在不同于光盘驱动器1A的时钟信号下的任务,但是中央处理单元62对由δ时间码表示的经过时间与由音频时间数据代码表示的经过时间以实时形式进行比较,从而所述事件码比前一同步重放中的事件码更早被传送到自动播放器钢琴3A。因此,自动播放器钢琴3A以与通过光盘驱动器/音频单元1A/4A的重放的好的合奏,来再现一首音乐。
第二个修改方案
图14表示包含本发明的同步播放器系统的第二个修改方案,还主要地包括光盘驱动器1B、软盘驱动器2B、自动播放器钢琴3B、音频单元4B、操作面板/显示器5B和控制器6B。光盘驱动器1B、软盘驱动器2B、自动播放器钢琴3B、音频单元4B和操作面板/显示器5B在配置和性能方面类似于实施所述第一个实施例的同步播放器系统的那些部件,并且这些构成部件标有指示图1中所示的相应构成部件的参考标记。虽然该控制器6B在数据处理方面与控制器6不同,但是其系统配置与控制器6相似,为此构成部件标有指示控制器6的相应构成部件的参考标记而不需要详细说明。
第二修改方案还有选择地加入预先记录模式和同步重放模式,并且在那些操作模式中的性能一般等同于同步重放系统的性能。为此,描述集中与图1所示的同步重放系统执行的数字处理的差别上。
主要的差别是控制器6B从这首音乐的中间部分提取的原始资料片段中产生参考相关性数据片段。另一差别是在相关性分析之后从光盘的开头部分开始完全重放。
假定用户指示控制器6B与通过光盘驱动器/音频单元1B/4B重放一首音乐合奏,来预先记录他的或她的演奏。数字信号处理器63从这首音乐的任何通路产生参考相关性数据片段。通路可以是特殊的。此特殊通路可能从这首音乐的第一个音调之后的3分钟出现。在这一情况下,参考相关性数据片段由从光盘单元1B提供的音频音乐数据代码对(R(n),L(n))产生并保持1.49秒。在下面描述中,通路在从开头部分的180秒开始,并且连续1.49秒。
当中央处理单元62收到用于预先记录的指令时,中央处理单元62请求光盘驱动器1B把表示通路的音频音乐数据代码对(R(n),L(n))传送到接口65a。然后,光盘驱动器1B移动轻音符(pickup)到表示180分钟的音频时间数据代码,并且把相当于1.49秒的65536对音频音乐数据代码(R(n),L(n))和相关联音频时间数据代码传送到接口65a。该65536对音频音乐数据代码(R(n),L(n))形成参考原始资料。中央处理单元62把第一个音频时间数据代码转换为参考δ时间码,并且把该参考δ时间码存储到随机存取存储器64。在这一情况下,参考δ时间码表示180秒。中央处理单元62进一步把形成参考原始资料的65536对音频音乐数据存储在随机存取存储器64中。
当所有的参考原始资料被存储在随机存取存储器64中时,中央处理单元62请求数字信号处理器63从参考原始资料产生参考相关性数据片段。数字信号处理器63开始图4所述的数据处理,并且类似于控制器6产生参考相关性数据片段。参考相关性数据片段被存储在随机存取存储器64中,并且数字信号处理器63通知中央处理单元62完成数据写入。
然后,中央处理单元62请求光盘驱动器1B把音频音乐数据代码和相关联音频时间数据代码传送到接口65a。光盘驱动器1B移动轻音符到该第一对音频音乐数据代码(R(0),L(0)),并且把所述音频音乐数据代码和相关联音频时间数据代码传送到接口65a。中央处理单元62从接口65a获取音频音乐数据代码和相关联的音频时间数据代码,并且把音频音乐数据代码传送到音频单元4B。音频音乐数据代码通过扬声器44被转换为电子音调。音频时间数据代码被存储在中央处理单元62的内部寄存器中,并且当下一音频时间数据代码到达接口65a时被重写。
用户在键盘31a上弹奏,并且控制器34把事件码提供给接口65a。当中央处理单元62获取事件码时,中央处理单元62将事件码与表示所经过时间的δ时间码一起传送,其中所经过时间由目前存储在内部寄存器中的音频时间数据代码表示。因此,事件码和相关联δ时间码被存储在随机存取存储器中。
当用户完成他的或她的演奏时,用户指示控制器6A终止预先记录。中央处理单元62请求光盘驱动器1B停止从光盘CD-A读取数据。中央处理单元62从参考相关性数据片段(参见图15)、参考δ时间码、事件码和δ时间码中形成标准MIDI文件SMF3,并且请求软盘驱动器2B把标准MIDI文件SMF3存储在软盘FD中。表示180秒的参考δ时间码被存储在所示的系统专用事件码中。
假定用户指示同步重放系统与通过光盘驱动器/音频单元1B/4B重放被存储在光盘CD-B中的这首音乐合奏,来同步地再现该演奏。中央处理单元62要求软盘驱动器2B把标准MIDI文件SMF3从软盘FD传送到接口65a,并且把参考δ时间码、事件码和相关联δ时间码存储在随机存取存储器64中。
中央处理单元62进一步请求光盘驱动器1B把音频数据代码传送到接口65a。中央处理单元62不会把音频音乐数据代码传送到音频单元4B,从而用户不会听到任何电子音调。中央处理单元62把音频音乐数据代码对(r(n),l(n))存储在随机存取存储器64中。当(r(0),l(0))到(r(65535),l(65535))的65536对音频音乐数据代码被存储在随机存取存储器64中时,中央处理单元62请求数字信号处理器63开始关于参考相关性数据片段和目标相关性数据片段的相关性分析。中央处理单元62连续地把最近接收的音频音乐数据代码存储在随机存取存储器64中,并且数字信号处理器63重复关于预定数目的目标相关性数据片段的相关性分析。
当数字信号处理器63发现一组目标相关性数据片段与一组参考相关性数据片段高度相关时,数字信号处理器63报告发现与参考相关性数据片段高度相关的一组目标相关性数据片段。然后,中央处理单元62对涉及第一个目标相关性数据片段的音频时间数据代码与参考δ时间码进行比较,以便观察在光盘CD-A中的通路和在光盘CD-B中的相应通路之间存在多长的时间差。该时间差被假定为1.17秒。这就意味着,当从181.17秒到182.66秒的目标相关性数据片段与参考相关性数据片段进行比较时,在步骤S15中的回答被改变为肯定的。
中央处理单元62把1.17秒的时间差加到由δ时间码表示的所经过时间上去用于定时校准。当完成定时校准时,中央处理单元62请求光盘驱动器2B把音频数据代码,即音频音乐数据代码对(r(0),l(0)).....和相关联音频时间数据代码从光盘CD-B传送到接口65a。
当光盘驱动器1B把音频数据代码从光盘驱动器CD-B传送到接口65a时,中央处理单元62把音频音乐数据代码(r(0),l(0))....提供给音频单元4B用于把它们转换为电子音调,并且对由音频时间数据代码表示的所经过时间与δ时间码进行比较,以便观察相关联事件码是否将被传送到自动播放器钢琴3B。当回答是肯定时,中央处理单元62把相关联事件码传送到自动播放器钢琴3B,并且控制器/驱动器34/36a使声学钢琴31产生声学钢琴音调。因此,与通过光盘驱动器/音频单元1B/4B的重放合奏,演奏通过自动播放器钢琴3B被再现。
图16表示用于同步重放的方法。当预定时间时期T1截止时,原始资料从存储在光盘CD-A中的一组音频数据代码中提取,并且参考相关性数据片段与参考δ时间码一起被存储在形成标准MIDI文件SMF一部分的系统专用事件码中。另一方面,在光盘CD-B中存有目标原始资料片段,并且时间周期T2是未知的。目标相关性数据片段通过数据处理由目标原始资料片段产生,并且顺序地被替换为新的目标相关性数据片段。当新的目标原始资料片段被考虑时,多组目标相关性数据片段被连续地与参考相关性数据片段进行比较用于相关性分析。当发现一组目标相关性数据片段与参考相关性数据片段高度相关时,时间周期T2被确定。将时间差(T1-T2)加到由δ时间码表示的所经过时间上用于定时校准。如果该差别是一个正数,那么由δ时间码表示的所经过时间被缩短。另一方面,如果该差别是一个负数,那么所经过时间被延长。因此,在开始同步重放之前完成定时校准。
其它的修改方案
在上述第一实施例和两个修改方案中,自动播放器钢琴3/3A/3B中提供了系统部件1/1A/1B、2/2A/2B、4/4A/4B、5/5A/5B和6/6A/6B。然而,第三个修改方案由物理上彼此分离的多个部件构成。执行第三个修改方案的同步播放器系统可能物理上被分成为多个部件,例如
1.光盘驱动器1/1A/1B,
2.软盘驱动器2/2A/2B,
3.自动播放器钢琴3/3A/3B,
4.混音器/数模转换器41/42,
5.放大器43,
6.扬声器44,和
7.操作面板/显示器和控制器5/5A/5B和6/6A/6B。此外,控制器6/6A/6B可能物理上被分成为记录部分和重放部分。
可通过音频电缆、MIDI电缆、音频信号光纤、USB(通用串行总线)电缆和/或最近设计用于同步重放系统的电缆来连接这些系统部件。在市场上可以获得的标准软盘驱动器、标准放大器和标准扬声器可以被用于根据本发明的同步重放系统中。
分离型同步重放系统是用户所希望的,因为用户通过使用一些已经拥有的系统部件来组成他们自己的系统。
同步重放系统的第四个修改方案不包括光盘驱动器1/1A/1B和软盘驱动器2/2A/2B,但是控制器6/6A/6B具有硬盘和可连接到LAN(局域网)、WAN或互联网的接口。在这一情况下,通过该接口从一个适当的数据源提供音频数据代码,并将所述音频数据代码存储在硬盘中。同样地,通过接口从外部数据源传送标准MIDI文件,并且该标准MIDI文件也被存储在硬盘中。当用户在键盘31a上弹奏时,音频音乐数据代码从硬盘中被读取,并且被传送到音频单元4/4A/4B用于把它们转换为电子音调。事件码和δ时间码被存储在音轨块中,并且标准MIDI文件被留在硬盘中。
在执行第一个实施例的同步重放系统中,数字信号处理器63通过关于绝对相关索引的分析、关于相对相关索引的分析和关于相关值的分析来执行相关性分析。虽然这三种分析使得相关性分析很精确,但是这三种分析也可能会非常繁重。为此,第五个修改方案通过三种分析中的一种或二种来执行相关性分析。
第六个修改方案仅通过表达式(4)在步骤S15中作决定。详细地,数字信号处理器计算Dn-1和Dn之间的乘积,并且检验它以便观察该乘积是否等于或小于0。当乘积等于或小于0时,相关值函数的变化率是0或改变为过0。这就意味着该相关值处于最大值或者在最大值附近。为此,在步骤S15中给予肯定的回答。在几乎不可能具有彼此接近的最小值和最大值的情况下,通过简单的数据处理可获得相同的回答。
从上述描述中可以知道,不管光盘CD-A和CD-B之间的差别,随着通过音频系统,即光盘驱动器/音频单元1/4,1A/4A或1B/4B的重放,根据本发明的同步播放器系统以好的合奏再现乐器,即声学钢琴31A上的演奏。换句话说,即使同步重放中使用的光盘CD-B不同于预先记录中使用的光盘CD-A被编辑,用户仅请求一个预先记录数据用于单一音乐通路的同步重放。因此,该同步播放器系统使得同步重放简单并且使得数据管理更加容易。
在第一实施例及其修改方案中,表示模拟音频信号波形的音频音乐数据代码用于相关性分析,从而该同步播放器系统准确地确定音乐通路和在记录电平方面不同于被用于预先记录的音乐通路之间的相关性。
最终,即使光盘驱动器在数据读取速度方面不稳定,执行第一个修改方案的同步播放器系统消除被用于预先记录的一系列音频数据和被用于同步重放的一系列音频数据之间关于读取速度方面的差别,因此可与通过光盘驱动器/音频单元1A/4A的重放的好合奏,来再现演奏。
第二实施例
参考附图17,实施本发明的另一个同步播放器系统的实施例主要包括光盘驱动器1C、软盘驱动器2C、自动播放器钢琴3C、音频单元4C、操作面板/显示器5C和控制器6C。该光盘驱动器1C、软盘驱动器2C、自动播放器钢琴3C、音频单元4C和操作面板/显示器5C都与第一实施例的类似。这些元件部分标有与图1对应部分相同的附图标记,这里没有详细说明。此外,控制器6C在系统配置方面与控制器6类似,但控制器6C的计算机程序与控制器6的程序不同。因此,将主要说明中央处理单元62和数字信号处理器63的工作。
附图18A、18B和18C表示有音符事件码EV1C、无音符事件码EV2C和系统专用事件码EV3C的数据格式。有音符事件码EV1C有三个数据段DF1、DF2和DF3,无音符事件码CEV2C也有三个数据段DF4、DF5和DF6,并且系统专用事件码EV3C有四个数据段DF7、DF8、DF9和DF10。这些数据段DF1到DF10与事件码EV1、EV2和EV3的数据段是一样的,因此出于简化的原因,下面不再进一步说明。
如图19所示,标准MIDI文件MFC与标准MIDI文件MF有类似的数据结构。头部块HC和音轨块TC也与标准MIDI文件MF的类似,为了避免不必要的重复,以下没有再作说明。
执行第二实施例的同步播放器系统进入预先记录模式和同步重放模式。当同步播放器系统在预先记录模式下记录演奏时,控制器6C从音频音乐数据中提取出表示低频分量幅度的中程索引和表示极低频分量幅度的远程索引,并且将表示幅度突变的管理信息片段存储在系统专用事件码中。系统专用事件码与音符事件码、表示将音符事件码提供给自动播放器钢琴的定时的δ时间码和表示将发生管理信息片段的定时的其它δ时间码一起存储在软盘FD中。
当光盘驱动器1C正在将音频音乐数据代码从另一个光盘CD-B传送到控制器6C时,控制器6C将音频音乐数据代码传送到音频系统4D用来产生电子音调,并且控制器6C从音频音乐数据代码中生成中程索引和远程索引,以便也产生表示幅度突变的管理信息片段。当存储在系统专用事件码中的突变将发生时,控制器6C寻找已经发生或将在预定时间周期内出现的突变,并确定经过时间之间的比值。控制器6C将该音符事件的δ时间码所表示的经过时间与该比值相乘,并重新定时,以便把音符事件提供给自动播放器钢琴3C。这就导致自动播放器钢琴3C的演奏和记录在光盘CD-B上的一首音乐的回放之间有较好的合奏。
预先记录
用户通过与光盘播放器1C和音频单元4C的重放合奏,来在键盘31a上演奏一首音乐,并且在键盘31a上的演奏和管理信息片段被一同记录在软盘FD上,这些将在下面做详细描述。为了互相区分,以下将用于预先记录的光盘CD称为“CD-A”,将用于同步重放的光盘CD称为“CD-B”。虽然音乐的标题和演奏者是相同的,但是光盘CD-B与光盘CD-A在版本上是不同的。在该例中,记录在光盘CD-B上的音乐片段节奏与记录在光盘CD-A上的对应音乐片段节奏是不同的。此外,虽然并不是人为地在光盘CD-A记录的一首音乐上加上混响,但是编辑者可以人为地在光盘CD-B记录的一首音乐的音调上加上混响。因此,从存储在光盘CD-B上的音频音乐数据代码再现得到的音频信号与从存储在光盘CD-B上的音频音乐数据代码再现得到的音频信号在波形和动态范围上有轻微的差别。
用户首先将光盘CD-A装到光盘驱动器1C,将软盘FD装到软盘驱动器2C。用户按下操作面板/显示器5C上的键,以使中央处理单元62识别用户的指令以便开始预先记录。然后,中央处理单元62经过接口65a向光盘驱动器1C提供表示请求重放的控制信号。
光盘驱动器1C驱动光盘CD-A旋转,然后将音频音乐数据代码从光盘CD-A传送到接口65a。每隔1/44100秒就会有一对音频音乐数据代码被传送到接口65a,用于右声道和左声道。该组音频音乐数据代码用(R(n),L(n))来表示,以下将音频音乐数据代码R(n)/L(n)的值称作“采样值”。采样值是一个整数,所有的采样值都在-32768到+32767范围内。“n”表示该音频音乐数据代码在音轨上的位置,并且是从0开始每次递增1,即0,1,2,......。举例来说,第一对音频音乐数据代码用(R(0),L(0))来表示,下一对就用(R(1),L(1))来表示。因此在重放期间,位置就会以1来递增。
当音频音乐数据代码对(R(n),L(n))到达接口65a时,中央处理单元62就从接口65a获取音频音乐数据代码对(R(n),L(n))。中央处理单元62开始内部时钟,且该内部时钟增加经过的时间。此外,中央处理单元62连续地将音频音乐数据代码(R(n),L(n))提供给音频单元4C,经过扬声器44将该音频音乐数据代码(R(n),L(n))转化为电子音调。虽然音频音乐数据代码对(R(n),L(n))开始是表示静音,但音频音乐数据代码对(R(n),L(n))将很快的动态改变采样值,这样这首音乐的电子音调就产生了。
中央处理单元62还可将音频音乐数据代码对(R(n),L(n))传送到随机存取存储器64,并在随机存取存储器64的预定存储区域内存储采样值。中央处理单元62计数已经传送到随机存取存储器64的音频音乐数据代码对(R(n),L(n))的数目,当达到预定数目时就停止向随机存取存储器传送数据。该预定数目取决于将在下面详细描述的滤波特性。然而,假设该预定数目为44100,相当于一分钟。音频音乐数据代码对的预定数目用(R(0),L(0))到(R(44099),L(44099))来标注,并称作“参考原始资料”。
当音频音乐数据代码对的数目达到预定数目时,中央处理单元62请求数字信号处理器63产生管理信息片段。数字信号处理器63以不同的频率执行两次低通滤波,然后将第一次低通滤波获得的低频分量与第二次低通滤波获得的低频分量进行比较,来计算特性事件。特性事件是一种用于产生定时信息片段的标志。第二次低通滤波的截止频率低于第一次低通滤波的截止频率。
图20表示一种用于产生管理信息片段的方法。该方法表示为由数字信号处理器63执行的计算机程序。
当数字信号处理器63接收到用于产生管理信息的请求时,数字信号处理器63在步骤S0开始该计算机程序。在步骤S1中,数字信号处理器63从随机存取存储器中读出音频音乐数据代码对(R(0),L(0))到(R(44099),L(44099)),并将它们存储到内部寄存器。在下文中,用最后一对音频音乐数据代码来表示形成参考原始资料的一组预定数目的音频音乐数据代码对。举例说,用“参考原始资料(44099)”来表示一组从(R(0),L(0))到(R(44099),L(44099))的音频音乐数据代码对。
随后,在步骤S2中,从每对音频音乐数据代码的采样值中计算算术平均值。该算术运算相当于将立体声的声音转化为单声道的声音。算术平均值减轻了数字信号处理器63的负荷。
接下来,在步骤S3中,数字信号处理器63确定算术平均值的绝对值。通过取绝对值得到了幂的代替值。该绝对值小于表示幂的平方数,并在接下来的数据处理中很容易处理。然而,如果数字信号处理器63有非常强大的数据处理能力,数字信号处理器63也可以计算所计算值的平方数,而不是绝对值。
随后,在步骤S4中,数字信号处理器63执行相当于对绝对值进行低通滤波的数据处理。此例中假设截止频率为100Hz。完成相当于低通滤波的数据处理后,就得到了用于音频音乐数据代码对的中程索引。用“中程索引(n)”来表示音频音乐数据代码对(R(n),L(n))的中程索引。中程索引(n)表示音频波形在中程范围内的变化趋势。通常,音频波形在近程范围内频繁的改变。通过相当于低通滤波的数据处理,可从一系列采样值中去除近程范围内的变化,因为近程范围内的变化会受到先前采样值的制约。因此在数字信号处理器63中保留了表示在中程和远程范围内变化的数据信息。换言之,在数字信号处理器63中保留了中程索引...(n-2),(n-1),(n)。在步骤S5中,数字信号处理器63将中程索引传送到随机存取存储器64,并将该中程索引保存到随机存取存储器64中。
接下来,在步骤S6中,数字信号处理器63通过梳线滤波器执行一个相当于低通滤波的数据处理。步骤S6中的截止频率低于步骤S4中的截止频率。这相当于在中程索引所表示的波形中提取出低频分量。梳线滤波器是数字信号处理器63所期望的,因为相当于梳线滤波器的数据处理量要小于相当于低通滤波器的数据处理量。
图21表示相当于梳线滤波器的数字处理。方框和圆圈形成串联的两个回路,一个三角形连接在第二个回路和输出端口之间。方框在信号传播中引入时间延迟,“Z-k”表示延迟时间,等于采样周期和常数k的乘积。如上所述的采样频率是44100Hz。即信号采样周期是1/44100秒。三角形表示一个乘法运算,“1/k”是乘数。在以下的说明中假设“k”的值是22050。通过相当于梳装滤波器的数据处理,中程索引中高于1Hz的频率分量几乎都被滤除了。这样,在步骤S6中,数字信号处理器63完成数据处理后就保留了表示远程变化的分量。
随后,数字信号处理器63将一系列表示远程变化的分量乘以一个正的常数“h”。通过步骤S8中的乘法运算,就把下一步骤S9中肯定回答得到的频率调整到适当的值。如果“h”的值比较小,两次相邻的肯定回答的时间间隔就很窄。当肯定回答的时间间隔太宽时,在步骤S11中就以较长的时间间隔来产生特性事件,这样就降低了定时校准的精度。另一方面,如果肯定回答的时间间隔太窄,在步骤S10中,将趋向于取消肯定回答,就会在较长的时间间隔内得到特性事件。这就降低了定时校准的精度。在此情况下,应试验性的确定乘数“h”的值。完成步骤S7中的乘法运算后,数字信号处理器63中就保留了远程索引。在下文中,将对应(R(n),L(n))的远程索引称作“远程索引(n)”。这样,在步骤S7数字信号处理器63在完成数据处理后就保留了远程索引...(n-2),(n-1),(n)。在步骤S8中,数字信号处理器63将远程索引传送到随机存取存储器64,并将远程索引保存到随机存取存储器64中的预定存储区域内。
接下来,在步骤S9中,数字信号处理器从随机存取存储器64中读出中程索引(n)和远程索引(n),用于相互比较。首先,数字信号处理器63从随机存取存储器64中读出最后一个中程索引(44099)和最后一个远程索引(44099),并进行比较来观察中程索引(44099)是否等于或大于远程索引(44099)。步骤S9中的肯定回答是表示在音频波形上中程范围内的宽的变化,该音频波形由对应采样点(R(n),L(n))的点上的参考原始资料表示。更详细的讲,当音频波形上范围从1Hz到100Hz的频率量突然增大时,中程索引就会变得大于远程索引,在步骤S9中会得到肯定回答“是”。然后数字信号处理器63检查内部时钟,以获得该比较得出肯定回答时的当前时间,并在随机存取存储器64中保存该当前时间。
随后,在步骤S10中,数字信号处理器63从随机存取存储器64中读出得到前一肯定回答时的时间,然后用当前时间减去读出时间,以便观察该差值是否等于或者小于预定的值τ。如果该差值大于预定值τ,则从产生前一特性事件已经过了很长时间。这样,步骤S10中的数据处理就会阻止中央处理单元62在短的时间间隔内产生多个特性事件。如果特性事件太多,要将从光盘CD-B中读取的音频音乐数据代码对(R(n),L(n))的特性事件与光盘CD-A中存储的音频音乐数据代码对(R(n),L(n))的特性事件准确的对应起来是很困难的。应试验性的来确定预定值τ。当然,当数字信号处理器63得到第一次肯定回答时,随机存取存储器64内没有任何先前时间。在此情况下,步骤S10中会自动给出否定回答。
当得到否定回答时,在步骤S11中数字信号处理器63产生特性事件,并将该特性事件提供到中央处理单元62。
如果在步骤S9中得到否定回答,数字信号处理器进入步骤S12。当步骤S10得到肯定回答时,数字信号处理器63也会进入步骤S12。当完成步骤S11的工作时,数字信号处理器63也进入步骤S12。数字信号处理器63等待下一对音频音乐数据代码(R(n+1),L(n+1))。当下一对音频音乐数据代码到达接口65a时,中央处理单元62将这对音频音乐数据代码(R(n+1),L(n+1))传送到音频单元4C,并将其存储在随机存取存储器64中。中央处理单元62会再次请求数字信号处理器63重复该数据处理。然后,数字信号处理器63从随机存取存储器64中取来参考原始资料(44100),即(R(1),L(1))到(R(44100),L(44100)),然后返回步骤S1。
这样,数字信号处理器反复的执行由步骤S1到步骤S12组成的循环,直到用户终止键盘31a上的演奏。这样数字信号处理器63就从一组表示音乐片段的音频音乐数据代码对中提取了多个特性事件。
本发明人进一步说明图20所示的数据处理过程。在步骤S4中将一个IIR(无限脉冲响应)滤波器用作低通滤波器。步骤S7中的常数“h”是4,时间周期τ是0.55秒。数据处理生成的曲线PL16和PL17和特性事件都在附图22中给出。曲线PL16表示中程索引,曲线PL17代表远程索引。当中程索引PL16等于或者超过远程索引PL17时,数字信号处理器63生成特性事件。如大圆圈图所示,虽然中程索引在A,B和C的瞬间超过远程索引,数字信号处理器63也只在A处生成特性事件,因为在B点和C点没有达到0.55秒的预定时间(见附图20中步骤S11)。
当光盘驱动器1C通过控制器6C将音频音乐数据代码传送到音频单元4C时,用户准备演奏这首音乐。当通过音频单元4C生成电子音调时,用户可以选择按下和释放黑/白键,并踩下踏板31e。通过音弦31d的振动,就生成了声学钢琴音调,键传感器32和踏板传感器33将键的动作和踏板的动作报告到控制器34。控制器34生成表示有音符事件、无音符事件的事件码,并对声学钢琴音调施加影响,然后将所述事件码提供给接口65a。这样,中央处理单元62不仅接收来自数字信号处理器63的特性事件码,还接收来自自动播放器钢琴3C的事件码。
图23表示合奏过程中生成的特性事件和音符事件。中程索引和远程索引的变化分别由曲线PL16和曲线PL17来表示,时间沿着横坐标轴向右增加。第一特性事件发生在第一对音频音乐数据代码到达后的0.13秒,其他特性事件发生在0.81秒、1.45秒...。另一方面,中央处理单元62在0.49秒接收第一事件码,并分别在1.23秒、2.18秒...接收其他的事件码。这样,在合奏过程中,以实时的方式生成了特性事件码和音符事件码。
当中央处理单元62取来特性事件码时,中央处理单元62生成用于在其中存储特性事件的系统专用事件码,并检查内部时钟以便观察特性事件的到达时间。中央处理单元62生成表示到达时间的δ时间码,并将δ时间码和特性事件码保存到随机存取存储器64中。
类似的,当中央处理单元62取来音符事件码时,中央处理单元62检查内部时钟以便观察音符事件码的到达时间。中央处理单元62生成表示到达时间的δ时间码,并将δ时间码和音符事件码保存到随机存取存储器64中。
当用户在键盘31a上完成演奏时,用户指示控制器6C来终止预先记录。控制器6C响应用户的指令,从而中央处理单元62通知光盘驱动器1C完成预先记录。然后,光盘驱动器1C停止从光盘CD-A向接口65a传送数据。
随后,中央处理单元62根据系统专用事件码、与其相关的δ时间码、音符事件码和与其相关的δ时间码来构造音轨块,并为音轨块添加头部块。这样,如图24所示,系统专用事件码与音符事件码被混合在音轨块中。当完成标准MIDI文件时,中央处理单元62将该标准MIDI文件提供给软盘驱动器2C,并请求软盘驱动器2C将该标准MIDI文件保存到软盘FD中。
同步重放
在光盘驱动器/音频单元1C/4C重放音乐的合奏下,用户希望再现在键盘31a上的演奏。用户将光盘CD-B放入光盘驱动器1C,将软盘FD放入软盘驱动器2C。如上所述,记录在光盘CD-B中的音乐片段与记录在光盘CD-A中的对应音乐片段在节奏、混响和动态范围上是有所不同的。
假设用户通过操作面板/显示器5C指示控制器6C在光盘驱动器/音频单元1C/4C重放的合奏下,来再现软盘FD上记录的演奏。当控制器6C识别用户的指令后,中央处理单元62请求软盘驱动器2C将标准MIDI文件从软盘FD传送到接口65a。然后,软盘驱动器FD从软盘FD中读出标准MIDI文件,并将该标准MIDI文件传送到接口65a。中央处理单元62将该标准MIDI文件保存到随机存取存储器64中。
中央处理单元62请求光盘驱动器1C连续将音频音乐数据代码(r(n),l(n))传送到接口65a。每隔1/44100秒的规则间隔,就有音频音乐数据代码对(r(n),l(n))到达接口65a。
当中央处理单元62取到第一对音频音乐数据代码时,中央处理单元62开始内部时钟,用来测量第一对音频音乐数据代码(r(0),l(0))到达时所经过的时间。所经过的时间用“时间T”表示。中央处理单元62连续从接口65a取音频音乐数据代码对(r(n),l(n)),并将音频音乐数据代码对(r(n),l(n))传送到音频单元4C,使得通过扬声器44使音频音乐数据代码对转换成电子音调。中央处理单元62还将音频音乐数据代码对(r(n),l(n))传送到随机存取存储器64,并将它们保存到随机存取存储器64中。
当随机存取存储器64中累积了预定数目的音频音乐数据代码对时,中央处理单元62请求数字信号处理器63执行如图20所示的数据处理。当按照由步骤S1到步骤S11所组成的循环完成数据处理后,数字信号处理器63将通过引入一对新的音频音乐数据代码(r(n+1),l(n+1))代替最老的一对音频音乐数据代码,来重新构建参考原始资料(n)。这样,数字信号处理器63将按照循环重复进行数据处理,并且当步骤S10中得到否定回答时,数字信号处理器63将生成特性事件码。当生成了每一特性事件码时,数字信号处理器63将该特性事件码提供到中央处理单元62。
当开始内部时钟时,中央处理单元62存取已经被传送到随机存取存储器64中的标准MIDI文件,并且从该标准MIDI文件中取出第一δ时间码。中央处理单元62周期性的将第一δ时间码所表示的经过时间与经过时间T进行比较,以便观察经过时间T与第一δ时间码所表示的经过时间是否相等。当中央处理单元62发现经过时间相等时,中央处理单元62检查相关的事件码,以便观察音符事件或者系统专用事件是否将发生在δ时间码所表示的时刻。
如果第一δ时间码表示的是音符事件发生时的经过时间,中央处理单元62将音符事件码提供给自动播放器钢琴3C,以使通过音弦31d的振动或者扬声器44来生成声学钢琴音调或者电子音调。当数据传送到自动播放器钢琴3C后,中央处理单元62取下一个δ时间码,并且周期性的将经过时间T与用于定时的δ时间码所表示的经过时间进行对比,以执行与事件码相关的下一项工作。这样,音符事件码被断续的提供给自动播放器钢琴3C,以使记录在软盘FD上的演奏能在光盘驱动器/音频单元1C/4C重放音乐的合奏下得以再现。
另一方面,如果相关码是系统专用事件,为了使自动播放器钢琴3C的演奏与光盘驱动器/音频单元1C/4C重放的音乐更好的合奏,中央处理单元62执行定时校准,具体将在下面说明。
如上所述,记录在光盘CD-B上的音乐片段与记录在光盘CD-A上的音乐片段在节奏上略有不同。如果中央处理单元62不做任何定时校准就将音符事件码传送到自动播放器钢琴3C,那么在自动播放器钢琴3C所奏音乐的和声(progression)和光盘驱动器/音频单元1C/4C重放的音乐的和声之间将有时间滞后。
图25举例说明了定时校准过程。当光盘驱动器1C连续地从光盘CD-A向接口65a传送音频音乐数据代码对(R(n),L(n))时,数字信号处理器63在中程索引PL16和远程索引PL17的基础上生成特性事件码,并且自动播放器钢琴3C将该音符事件码提供给中央处理单元62。在0.13秒、0.81秒...的特性事件被保存到系统专用事件码中,该系统专用事件码和0.49秒、1.23秒...的音符事件码一起被保存到标准MIDI文件里。
在同步重放模式下,当从软盘FD向随机存取存储器64传送标准MIDI文件时,将伴随特性事件码和音符事件码分别生成表示0.13秒、0.81秒...的δ时间码和表示0.49秒、1.23秒...的δ时间码。在下文把保存在随机存取存储器64内的特性事件码称作“特性事件码A”,将特性事件称作“特性事件A”。
记录在光盘CD-B内的音乐片段的节奏要比记录在光盘CD-A内的音乐片段的节奏快。当光盘驱动器1C正在向接口65a传送音频音乐数据代码对(r(n),l(n))时,数字信号处理器63在中程索引PL16’和远程索引PL17’的基础上产生在0.10秒、0.75秒、1.36秒...的特性事件B。在同步重放模式下产生的特性事件码在下文被称作“特性事件码B”,特性事件被称作“特性事件B”。
如果中央处理单元62对δ时间码所表示的经过时间和经过时间T作简单的对比,那么自动播放器钢琴3C所再现的音乐片段的和声比光盘驱动器/音频单元1C/4C所再现的音乐片段的和声有时间滞后。为了使自动播放器钢琴3C的重放与光盘驱动器/音频单元1C/4C的重放保持同步,将δ时间码所表示的经过时间改变成适于较好合奏的不同的经过时间。
当中央处理单元62从数字信号处理器63接收到每一特性事件码B时,中央处理单元62检查内部时钟,以获得到达时间,并将代表该到达时间的时间数据代码保存到随机存取存储器64中。如图所示,时间数据码表示0.10秒、0.75秒、1.36秒...。
当中央处理单元62接收δ时间码时,中央处理单元等待时间T,其中时间T等于上述的δ时间码所表示的时间。如果伴随δ时间码生成了音符事件码,中央处理单元62将该音符事件码提供给自动播放器钢琴3C。然而,如果伴随δ时间码生成了特性事件A,中央处理单元62检查随机存取存储器64,以便观察在伴随的δ时间码所表示的时间之前和之后的预定时间周期内,数字信号处理器62是否已经或将要生成特性事件B。在此例中,假设预定时间周期为0.2秒。因此,中央处理单元62检查随机存取存储器64,以便观察是否是在0.2秒内生成特性事件B,并监视分配给数字信号处理器63的数据端口,以便观察数字信号处理器63是否将在0.2秒内生成特性事件码B。当中央处理单元62在预定时间周期内,即±0.2秒,发现了特性事件码B时,中央处理单元62假定特性事件码B对应于特性事件码A。换言之,发生特性事件A的音乐片段的部分对应于发生特性事件B的音乐片段的部分。然后,中央处理单元62用到达时间除以与特性事件A相关联的δ时间码所表示的时间,即(特性事件B的到达时间/特性事件A的δ时间码所表示的时间)。随后,中央处理单元62将这个商与未被执行的δ时间码所表示的经过时间相乘,以重新安排提供音符事件码的定时。乘积表示将调整后的音符事件提供给自动播放器钢琴3C的经过时间。当当前时间T赶上该乘积所表示的时间时,中央处理单元62将相关的已调整的音符事件码提供给自动播放器钢琴3C。上述的定时校准一直重复到最后一个音符事件码被提供给自动播放器钢琴3C。
这样,在0.49秒、1.23秒...的音符事件就被改变成在0.41秒、1.14秒...的调整后的音符事件,并且在记录在光盘CD-B内音乐片段的重放的好合奏下,通过自动播放器钢琴3C能够再现保存在软盘FD上的演奏。
图26表示一个定时校准的顺序。首先,中央处理单元62发现内部时钟在0.13秒时赶上第一δ时间码。中央处理单元62检查随机存取存储器64,以便观察在0.2秒内是否从数字信号处理器63上接收到任何的特性事件B。中央处理单元62发现将在0.11秒时接收到特性事件B,并且假定0.11秒的特性事件B对应于0.13秒的特性事件。然后,中央处理单元62将0.11除以0.13,然后用δ时间码所表示的经过时间乘以这个商(0.11/0.13)。这是第一定时校准,经过时间从0.13秒、0.49秒、0.81秒...变化到0.11秒、0.41秒、0.69秒...。因此,内部时钟在0.41秒时赶上了下一个δ时间码,中央处理单元62将相关的音符事件提供给自动播放器钢琴3C。
内部时钟在0.69秒时赶上了下一个δ时间码,中央处理单元62检查随机存取存储器64,以便观察在0.2秒内是否接收到任何的特性事件B。然而,回答是否定的。然后,中央处理单元62等待0.2秒,并在0.75秒时从数字信号处理器63接收下一个特性事件B。与第二特性事件A相关的δ时间码所表示的时间之后的0.06秒是到达时间。然后,中央处理单元62假定发生在0.75秒的特性事件B对应于特性事件A。然后中央处理单元用0.75除以0.69,并且将δ时间码所表示的经过时间乘以这个商(0.75/0.69)。因此,通过第二定时校准,经过时间从0.69秒、1.04秒、1.23秒、1.84秒...改变为0.75秒、1.14秒、1.34秒、2.02秒...。当内部时钟到达1.14秒时,中央处理单元62将第二音符事件提供给自动播放器钢琴3C。
这样,无论何时内部时钟赶上与特性事件A相关联的δ时间码,中央处理单元62重复定时校准过程,重新安排将音符事件码提供给自动播放器钢琴3C的定时。虽然中央处理单元检查随机存取存储器64以发现对应于第四特性事件A的特性事件B,并等待0.2秒,但中央处理单元62在±0.2秒内不能发现任何特性事件B,因此,跳过对第四特性事件A的定时校准。另一方面,虽然发生了第八特性事件B,但在±0.2秒内没有发现任何特性事件A,并且中央处理单元62忽略第八特性事件B。
当通过扬声器44再现记录在光盘CD-B中的音乐片段时,数字信号处理器62重复定时校准过程,并且重新安排将音符事件用于自动播放器钢琴3C的定时。因此,在图25中,将表示为“已调整音符事件”的音符事件提供给自动播放器钢琴3C,并且在重放光盘CD-B中记录的音乐片段的好的合奏下,通过自动播放器钢琴3C能够再现该音乐片段。
当光盘CD-B内记录的音乐片段的节奏较低时,数据处理单元62通过定时校准,重新安排了将音符事件用于自动播放器钢琴的定时。该定时校准过程与上述的过程类似。因此,为了避免不必要的重复,说明部分被省略。
从上述描述中可知道,在预先记录状态下,实施第二实施例的同步播放器系统在低频范围内的音量发生突变时可确定特性事件,并将该特性事件A以系统专用事件码的形式与音符事件码一起保存到标准MIDI文件中。在同步重放状态下,当来自另一张光盘CD-B的音乐片段被再现时,同步播放器系统在音频音乐数据代码对(r(n),l(n))的基础上确定特性事件B,并且通过在特性事件A和对应的特性事件B之间做定时校准,来重新安排将音符事件提供给自动播放器钢琴3C的定时。因此,即使以不同于光盘CD-A上记录的音乐片段的节奏来再现该音乐片段,在光盘CD-B上记录的音乐片段重放的好合奏下,通过自动播放器钢琴也能够再现该演奏。
第一种修改方案
图27表示所述第二实施例的第一种修改方案。第一种修改方案的同步播放器系统主要包括了光盘驱动器1D、软盘驱动器2D、自动播放器钢琴3D、音频单元4D、操作面板/显示器5D和控制器6D。该软盘驱动器2D、自动播放器钢琴3D、音频单元4D和操作面板/显示器5D在系统配置和工作性能上都与实施第二实施例的同步播放器系统相类似,这部分内容的标注参考附图17对应部分的标注。虽然控制器6D在数据处理上不同于控制器6C,但系统配置与控制器6C类似,因此,组成部分的标注参考控制器6C对应部分的标注,这里没有详细说明。
第一种修改方案也可以选择的进入预先记录模式和同步重放模式,并且在这些操作模式下的工作性能与同步重放系统的性能是类似的。因此,出于简化的原因,将主要说明它们之间的差别。
控制器6C包括内部定时器,当内部时钟赶上与特性事件A相关的δ时间码所表示的时间时,该定时器执行定时校准。在第一种修改方案中改进了这些特点。在第一种修改方案中,控制器6D将音频时间数据代码所表示的当前时间与δ时间码所表示的时间进行比较,用于定时校准并将数据提供到自动播放器钢琴3D。因此,光盘驱动器1D将音频音乐数据代码和音频时间数据代码一起从光盘传送到接口65a。另一个与第二实施例的差别在于,在分析了用于生成特性事件码B的音频音乐数据代码对之后才执行定时校准。
预先记录中的一个不同点是,音频时间数据代码所表示的经过时间被保存在δ时间码中。该δ时间码与相关的音符事件码和特性事件码A一起保存在标准MIDI文件中,该标准MIDI文件与附图24中的类似。
另一方面,在同步重放中的差别如下所述。所有的音频音乐数据代码对(r(n),l(n))都从光盘CD-B传送到接口65a,并且中央处理单元62通过附图20中所示的数据处理过程来确定特性事件B。当获得特性事件码B时,中央处理单元62在特性事件A和特性事件B之间确定一条回归线,并且根据该回归线来改变将音符事件提供给自动播放器钢琴3D的定时。完成重新定时后,控制器6D再次请求光盘驱动器1D将音频数据代码从光盘CD-B传送到接口65a,并且中央处理单元62会按照相关的δ时间码所表示的经过时间将音符事件提供给自动播放器钢琴3D。
为了确定将音符事件码提供给自动播放器钢琴3D时的定时,光盘驱动器1D向控制器6D提供一个时钟。
现在假设用户指示控制器6D预先记录他或她的通过键盘31a,在光盘CD-A中记录的音乐片段重放的合奏下的演奏,中央处理单元62要求光盘驱动器1D从光盘CD-A向接口65a传送音频数据代码,即音频音乐数据代码和音频时间数据代码。
当音频数据代码接连的到达接口65a时,中央处理单元62将音频音乐数据代码对(R(n),L(n))和音频时间数据代码一起保存到随机存取存储器64上,并且将该音频音乐数据代码(R(n),L(n))提供给音频单元4D。通过音频单元4D,将音频时间数据代码对转换成电子音调。
当随机存取存储器64内存储了预定数目的音频音乐数据代码对(R(n),L(n))时,中央处理单元62要求数字信号处理器63开始如图20所示的数据处理过程。数字信号处理器重复由步骤S1到S12组成的循环,并在步骤S10为否定回答时,向中央处理单元62通知特性事件A。当中央处理单元62接收到来自数字信号处理器63的通知时,中央处理单元62将特性事件A保存到系统专用事件码中,并将紧靠该通知前所接收到的音频时间数据代码表示的时间保存到δ时间码中。这样,中央处理单元62将系统专用事件码和相关的δ时间码保存到随机存取存储器64中。
当正通过扬声器44再现电子音调时,用户可选择的按下和释放黑/白键,和踏下踏板31e。按键传感器32和踏板传感器33向控制器34报告键盘和踏板的动作,控制器34将音符事件码提供给接口65a,该音符事件码表示按键动作和将加到音调上的影响。
中央处理单元62取来音符事件码。中央处理单元62将紧靠每个音符事件到达前所接收到的音符时间数据码所表示的时间保存到随机存取存储器64中,并将音符事件码和相关的δ时间码保存到随机存取存储器64中。
当用户完成演奏时,用户指示控制器6D结束预先记录过程。中央处理单元62要求光盘驱动器1D停止重放。此外,中央处理单元62创建标准MIDI文件,其中保存了音符事件码、相关的δ时间码、特征码和与其相关的δ时间码,并且中央处理单元62还要求软盘驱动器2D将标准MIDI文件保存到软盘FD。因此,标准MIDI文件被保存到软盘FD中。该标准MIDI文件与附图24所示的一致。
假设用户指示控制器6D在光盘CD-B中记录的音乐片段重放的合奏下,再现该演奏,中央处理单元62要求软盘驱动器2D将标准MIDI文件从软盘FD传送到接口65a,并且将标准MIDI文件保存到随机存取存储器64中。
随后,中央处理单元62要求光盘驱动器1D从光盘CD-B中读出音频数据码,并将该码传送到接口65a。音频音乐数据代码对(r(n),l(n))和音频时间数据代码被连续地传送到光盘CD-B,并且中央处理单元62将该音频音乐数据代码(r(n),l(n))和音频时间数据代码保存到随机存取存储器64中。然而,音频音乐数据代码没有被提供到音频单元4D。因此,扬声器44没有广播任何的电子音调。
当随机存取存储器64内累积了预定数目的音频音乐数据代码对,即参考原始资料时,中央处理单元62要求数字信号处理器63通过如图20所示的数据处理来找到特性事件B。当数字信号处理器63发现中程索引和远程索引来指示突变或特性事件B时,数字信号处理器63向中央处理单元62通知特性事件B。然后,中央处理单元62检查测随机存取存储器64,找到紧靠通知之前所接收到的音频时间数据代码,并且生成表示通知到达时间的δ时间码。特性事件B和相关的δ时间码被保存到随机存取存储器64中。
当完成一次数据处理时,数字信号处理器从参考原始资料中清除最早的一对音频音乐数据代码,并将下一对音频音乐数据代码添加到参考原始资料中。数字信号处理器63再次执行另一特性事件B的数据处理,并将该特性事件通知给中央处理单元62。然后中央处理单元62生成表示通知到达时间的δ时间码,并将特性事件码B和相关的δ时间码保存到随机存取存储器64中。
这样,中央处理单元62与数字信号处理器63合作,并对周期性更新的参考原始资料进行重复的数据处理。当完成了对包含最后一对音频音乐数据代码的参考原始资料的数据处理时,一组特性事件B和相关的δ时间码被累加到随机存取存储器64中,并且中央处理单元62要求光盘驱动器1D停止从光盘CD-B向接口65a传送数据。
完成所有音频音乐数据代码对的数据处理后,中央处理单元62执行定时校准。附图28表示定时校准过程。伴随第一到第十特性事件码B分别是表示0.11秒、0.75秒、1.36秒、3.25秒、3.94秒、4.85秒、5.40秒、6.16秒、6.61秒和7.24秒的δ时间码。另一方面,伴随第一到第十特性事件码A分别是表示0.13秒、0.81秒、1.45秒、2.83秒、3.42秒、4.16秒、5.12秒、5.70秒、6.96秒和7.79秒的δ时间码。在下面的说明中,“特性事件码A(n)”和“特性事件B(n)”分别表示第n个特性事件码A和第n个特性事件码B。特性事件码A与特性事件码B分别成对,将δ时间码的经过时间表示成(A(81),B(1)=(0.13,0.11),(A(2),B(2)=(0.81,0.75),(A(3),B(n)=(1.45,1.36),......。虽然图28表示定时校准后经过的时间,但是在该阶段没有执行定时校准。
中央处理单元62通过最小平方的方法来确定(A(n),B(n))的回归线。当对于九对特性事件码(A(n),B(n))确定了回归线后,就绘制如图29所示的回归线。该曲线可表示为B=0.9414A-0.006。从曲线上可以看出,光盘CD-A中记录的音乐片段重放的开始比光盘CD-B中记录的音乐片段重放的开始延迟了0.006秒,并且光盘CD-A中记录的音乐片段的节奏也比光盘CD-B中记录的音乐片段的节奏低了5.86%。
中央处理单元62用相关于每个音符事件的δ时间码所表示的时间来代替所述等式中的A。附图30表示定时校准前经过的时间和定时校准后经过的时间。该定时被提前了0.06秒和5.86%。
完成定时校准后,中央处理单元62要求光盘驱动器1D将音频音乐数据代码和音频时间数据代码从光盘CD-B传送到接口65a。当光盘驱动器1D正在向接口65a传送音频数据代码时,中央处理单元62将音频音乐数据代码传送到音频单元4D,并且对音频时间数据代码所表示的经过时间和δ时间码所表示的经过时间进行比较。如附图31所示,当经过时间变得相等时,中央处理单元62将音符事件提供给自动播放器钢琴3D。这使得由自动播放器钢琴3D再现的演奏和光盘CD-B上记录的音乐片段的重放之间有较好的合奏。
其他的修改方案
如上面第二实施例和一种修改方案所述,在自动播放器钢琴3C/3D中包括系统部件1C/1D、2C/2D、4C/4D、5C/5D和6C/6D。然而,第二种修改方案由物理上彼此分离的多个部件构成。实现第三种修改方案的同步重放系统本身可以分成多个部分例如
8、光盘驱动器1C/1D,
9、软盘驱动器2C/2D,
10、自动播放器钢琴3C/3D,
11、混音器/数--模转换器41/42,
12、放大器43,
13、扬声器44,和
14、操作面板/显示器5C/5D和6C/6D。
此外,控制器6C/6D可以被物理地分为一个记录部分和一个重放部分。
这些系统部件可以通过音频电缆、MIDI电缆、音频信号光纤、USB(通用串行总线)电缆和/或为同步重放系统而新设计的电缆等来连接。在市场上买到的标准的软盘驱动器、标准的放大器和标准的扬声器,都可用于本发明的同步重放系统。
分离型的同步重放系统是用户需要的,因为用户可以利用已有的一些系统部件来构件它们自己的系统。
同步重放系统的第三种修改方案没有包括光盘驱动器1C/1D和软盘驱动器2C/2D,但是控制器6C/6D有硬盘和能连接到LAN(局域网)、WAN或因特网的接口。在此例中,可以通过接口从适当的数据源提供音频数据代码,并且将其保存到硬盘里。类似地,也可以通过接口从外部的数据源传送标准MIDI文件,也可以将其保存到硬盘里。当用户在键盘31a上弹奏时,硬盘中的音频音乐数据代码被读出,并且被传送到音频单元4C/4D,使其转换成电子音调。事件码和δ时间码被保存在音轨块中,并且标准MIDI文件被保留在硬盘中。
从上述说明可以了解,根据本发明的同步播放器系统能在音频系统,即光盘驱动器/音频单元1C/4D或忽略光盘CD-A和CD-B之间的差异的1C/4D的重放的较好的合奏下,来再现通过乐器,即声学钢琴31A的演奏。换言之,即使光盘CD-A和CD-B上记录的音乐片段有不同的节奏,同步播放器系统也能根据从表示音乐片段的音频音乐数据代码中提取出的预定频率范围内的音量而发现特性事件,并且对每个将被传送到自动播放器钢琴的音符事件进行重新定时。因此,在光盘驱动器/音频单元重放音乐片段的较好的合奏下,通过自动播放器钢琴能再现键盘上的演奏。
第三实施例
系统配置
参考附图32,实施本发明的同步播放器系统主要包括光盘驱动器1E、软盘驱动器2E、自动播放器钢琴3E、音频单元4E、操作面板/显示器5E和控制器6E。该光盘驱动器1E、软盘驱动器2E、自动播放器钢琴3E、音频单元4E和操作面板/显示器5E通过信号线彼此互相连接,并且自动播放器钢琴3E和音频单元4E通过信号线直接连在一起。
该同步重放系统至少有一个预先记录模式和一个同步重放模式。同步重放系统预先在软盘FD中准备一个MIDI标准文件,其中存储了音符事件数据片段、δ时间数据片段、音乐片段开始部分的参考相关性数据片段、表示参考特性事件的管理数据片段、和在预先记录模式中表示参考开始时间和参考结束时间的参考结束音频数据和时间数据片段。所述δ时间数据片段表示从合奏开始经过的时间,并且开始部分的参考相关性数据片段和参考特性事件与第一和第二实施例的类似。管理数据片段可以不保存在标准MIDI文件中。
参考结束音频数据片段表示音乐片段结束部分的模拟音频信号的波形。参考开始时间表示音乐片段开始的定时,参考结束时间表示音乐片段结束的时刻。
另一方面,同步重放系统从软盘FD上接收音符事件数据片段、δ时间数据片段、开始部分的参考相关性数据片段、管理数据片段、表示参考开始时间和参考结束时间的参考结束音频数据和时间数据片段,还从光盘驱动器1E上接收音频音乐数据。同步重放系统根据光盘驱动器1E提供的音频音乐数据片段生成目标相关性数据,并对开始部分的参考相关性数据片段和目标相关性数据进行相关性分析,来确定目标开始时间,还对参考结束音频数据片段和目标相关性数据片段进行相关性分析,来确定目标结束时间。目标开始时间和目标结束时间对应于参考开始时间和参考结束时间,分别表示开始重放音乐片段的时刻和结束重放音乐片段的时刻。
当控制器6E通过相关性分析获得目标开始时间和目标结束时间时,控制器6E根据记录时间,即从参考开始时间到参考结束时间,与从目标开始时间到目标结束时间的时间周期的比值,对将被再现的音符事件进行重新定时。如果必要,可通过重新定时来调整用于音符事件码δ时间码。光盘驱动器1E根据保存在光盘CD-B中的音频音乐数据代码来再现电子音调,并且控制器6E在适当的定时处将音符事件码提供给自动播放器钢琴3E,以使自动播放器钢琴的演奏能在光盘驱动器/音频单元1E/4E重放音乐的较好的合奏下进行。
操作面板/显示器5E连接到控制器6E。用户可以通过操作面板来指示控制器6E,并且控制器6E通过显示器上产生的可视图像向用户通知同步重放系统的当前状态。控制器6E还和光盘驱动器1E、软盘驱动器2E、自动播放器钢琴3E和音频单元4E连接,并且自动播放器钢琴3E直接连在音频单元4E上。在预先记录模式和同步重放模式下,MIDI数据片段、音频音乐数据片段、δ时间数据片段、参考相关性数据片段和其他各种数据可以在这些系统部件1E、2E、3E、4E、5E和6E之间被有选择的传送。这些系统部件1E、2E、3E、4E、5E和6E的工作性能将在下文详细说明。
光盘驱动器
读入、多帧和读出被连续的保存在光盘CD中形成音乐通路,音频时间数据片段和音频音乐数据片段与预定的各种控制数据一起形成帧。例如每首音乐开始的索引也保存在光盘中。以二进制码的形式创建音频音乐数据片段和音频时间数据片段,并将其分别保存在音频音乐数据代码和音频时间数据代码中。从模拟音频信号中生成音频音乐数据代码。分为右声道和左声道的模拟音频信号,以44,100Hz的频率采样,并且采样的离散值被量化成16位的用于右和左声道的音频音乐数据代码。从右声道模拟音频信号中部分生成的音频音乐数据代码被称作“右声道音频音乐数据代码”。其余的音频音乐数据代码从左声道模拟音频信号中生成,并且被称作“左声道音频音乐数据代码”。
光盘CD可以装入光盘驱动器1E或者从中取出,并且光盘驱动器1E响应用户通过操作面板/显示器5E发出的指令,来开始或停止音乐通路的再现。当一个音乐通路被再现时,只需将来自光盘驱动器1E的音频音乐数据代码提供给控制器6E。光盘驱动器1E是一个标准的类型,并包括盘托盘、用于该盘托盘的马达、用于该马达的伺服机构、光学拾取单元、用于该光学拾取单元的聚焦伺服机构、用于该伺服装置的同步电路和纠错系统。本领域普通技术人员已经熟知这些部件,下文中不再说明。
软盘驱动器
软盘驱动器2E包括一个微处理器,可运行计算机程序,使软盘驱动器2E有数据处理能力。软盘驱动器2E从控制器6E接收事件码、δ时间码、表示开始部分参考相关性数据片段的参考相关性数据代码、表示参考特性事件的管理数据片段和表示结束部分参考相关性数据片段的参考相关码,并在软盘FD中创建一个标准MIDI文件。
软盘驱动器2E从该标准MIDI文件中读出MIDI音乐数据代码、相关的δ时间数据、开始部分的参考相关性数据片段、管理数据片段和相关的δ时间数据、和结束部分的参考相关性数据片段,并将MIDI音乐数据代码、δ时间码、开始部分的参考相关性数据片段、管理数据片段、相关的δ时间码和结束部分的参考相关性数据片段提供到控制器6E。
附图33表示一个标准的MIDI文件MFE。该标准的MIDI文件MFE分为头部块HC和音轨块TC。头部块HC被分配有控制数据片段和时间单元,该控制数据片段表示将在音轨块TC中存储的音乐数据的格式。音轨块TC被分配给MIDI音乐数据代码,即音符事件码、系统专用事件码和δ时间码。δ时间码表示两相邻事件码之间的时间间隔或从开始重放所经过的时间。在此例中,δ时间码用秒来表示从重放开始所经过的时间。然而,在另一系统中,δ时间码可以表示一事件和下一事件之间的时间间隔。
附图34A、34B和34C表示用于MIDI音乐数据代码的格式。附图34A表示有音符事件码EV1E的数据段DF1/DF2/DF3,附图34B表示无音符事件码EV2E的数据段DF4/DF5/DF6,且附图34C表示系统专用事件码EV3E的数据段DF7/DF8/DF9/DF10。为了区分系统专用事件码以外的其他事件码,在下文将其他的事件码称为“音符事件码”。数据段DF1到DF10的内容与第一实施例中说明的事件码的数据段内容相同,因此,为了避免不必要的重复,以下不再另行说明。
事件码EV1E、EV2E和EV3E没有任何时间数据片段,并用于音调的生成、音调的衰减和其他的控制。换言之,能立刻执行事件码EV1和EV2用于音调控制,并能立刻处理用户的数据。这些种类的事件码EV1E、EV2E和EV3E形成了标准MIDI文件MF的音轨块。
自动播放器钢琴
自动播放器钢琴3E主要包括声学钢琴31A、编码系统31B和自动播放系统31C。用户在声学钢琴31A上演奏一个音乐通路,并通过声学钢琴31A生成声学钢琴音调。编码系统31B和自动播放系统31C与声学钢琴31A相关联。当用户弹奏曲调时,键盘和踏板的动作通过编码系统31B被存入事件码中,并且编码系统31B中的该事件码被传送到控制器6E,其中该控制器6E依次将事件码传送到软盘驱动器2E,用于在软盘FD中创建标准MIDI文件SMF。另一方面,当用户要求自动播放系统31C基于事件码来再现该音乐通路时,通过控制器6E将MIDI音乐数据代码提供给自动播放系统31C,并沿该音乐通路通过声学钢琴31A而再现该声学钢琴的音调。自动播放器钢琴31C还可以在MIDI音乐数据代码的基础上生成数字音频信号,并且该数字音频信号被提供给音频单元4E,用于根据该数字音频信号来再现电子音调。
声学钢琴31A是一个标准的大钢琴,包括键盘31a、动作单元31b、音锤31c、音弦31d、减震器(未示出)和踏板31e。黑键和白键构成了键盘31a,用户可以选择的按下和释放。按下按键就激活了动作单元31b,并且减震器就从相关的音弦上分开。已激活的动作单元31b使相关的音锤31c转动,在转动的最后音锤31c敲击音弦31d。减震器已从音弦上分开,以致音锤31c引起振动用于生成声学钢琴音调。踏板31e与键盘31a和减震器相连。当用户在他的或她的演奏中踏上踏板时,音锤使声学钢琴的音调延长,和/或键盘31a使声学钢琴音调的响度减弱。
编码系统31B包括键传感器32、踏板传感器33和一个控制器34。键传感器32分别监控黑/白键,并且踏板传感器33分别监控踏板31e。键传感器32生成表示相关的黑/白键32当前位置的按键位置信号,并将该按键位置信号提供给控制器34。类似地,踏板传感器33生成表示相关的踏板31e当前位置的踏板位置信号,并将该踏板位置信号提供给控制器34。控制器34包括一个微处理器,该微处理器周期性的取来由按键位置信号和踏板位置信号表示的位置数据片段。微处理器分析所述位置数据片段来观察用户是否按下任何一个按键/踏板。假定用户按下了一个黑键和踏了一个踏板。微处理器识别被按下的黑键和踏板,并计算速度。微处理器将这些音乐数据片段存入事件码中,并将这些事件码提供给控制器6E。
自动播放系统31C包括控制器34、音调生成器35、驱动单元36a和一组电磁操纵按键/踏板致动器36b。控制器34从控制器6E接收事件码。如果用户指示同步播放器系统再现该电子音调,则控制器34将事件码传送到音调生成器35,音调生成器35在事件码的基础上生成一对用于右声道和左声道的数字音频信号。另一方面,如果用户指示同步重放系统来产生声学钢琴音调,则控制器34确定黑/白键的移动轨迹,并指示驱动单元36a激励电磁操纵按键致动器36b,使相关的黑/白键按照所述轨迹移动。驱动单元36a有选择的将驱动信号提供给电磁操纵按键/踏板致动器36b,以使电磁操纵按键/踏板致动器36b能引起按键的动作和/或踏板的动作来移动黑/白键和踏板31e。黑/白键激活动作单元31b,音锤31c在转动的最后敲击音弦31d。这样,自动播放系统31C在事件码的基础上产生声学钢琴音调或电子音调。
如果用户在键盘31a上演奏时,指示控制器34将事件码提供给音调生成器35,则控制器34就将事件码发送到音调生成器35,并从音调生成器35将一对数字音频信号提供到音频单元4E。
音频单元
音频单元4E包括混音器41、数模转换器42、放大器43和扬声器44。控制器6E和音调生成器35与混音器41相连,由音调生成器35和控制器6E提供一对数字音频信号和另一对数字音频信号到混音器41。来自控制器6E的这对数字音频信号是由音频音乐数据代码生成的。通过算术平均值,混音器41将用于右声道的数字音频信号和用于左声道的数字音频信号混合成一对数字音频信号,并将该对数字音频信号提供到数模转换器42。数字音频信号被转换成一个用于右声道的模拟音频信号和另一个用于左声道的模拟音频信号,并将所述模拟音频信号提供到放大器43。通过放大器43,该模拟音频信号被补偿和放大,之后将其提供到扬声器44。扬声器44将模拟音频信号转换成立体声的电子音调。
操作面板/显示器
操作面板/显示器5E包括一组按键、开关、指示器和显示窗口。用户通过按键和开关将他或她的指令发送到控制器6E,并且控制器6E通过指示器和显示窗口向用户报告当前的状态。当控制器6E提供表示位图数据片段的数字控制信号时,操作面板/显示器在显示窗口上生成字符和/或其他种类可视图像。
控制器
控制器6E包括只读存储器61缩写为“ROM”、中央处理单元62缩写为“CPU”、数字信号处理器63缩写为“DSP”、随机存取存储器64缩写为“RAM”、用于和其他的系统部件1、2、3和4通信的接口65和总线系统65b。只读存储器61、中央处理单元62、数字信号处理器63、随机存取存储器64和接口65a都连在总线系统65b上,并通过总线系统65b可以相互通信。虽然附图中没有示出,但控制器6E中还包括一个时钟生成器,使其他系统部件能够相互同步。
只读存储器61是一种非易失性存储器,并且形成计算机程序的指令代码被保存在该只读存储器61中。由通用目的微处理器实现中央处理单元62。中央处理单元62顺序获取指令代码,并执行这些指令代码来完成指定的工作。正如下文将详细说明的那样,在预先记录模式和同步重放模式中,中央处理单元62运行特定的计算机程序。
数字信号处理器63是一个高速的特殊用途的微处理器,在中央处理单元62的控制下能够高速处理音频音乐数据代码。数字信号处理器63在预先记录模式下处理参考原始资料来生成开始部分的参考相关性数据片段,并且在预先记录模式下执行一个相当于滤波电路的数据处理。数字信号处理器63向中央处理单元62报告通过那些种类的数据处理得到的结果,具体将在下文详细说明。
随机存取存储器64是一种易失性存储器,为中央处理单元62提供临时的数据存储。换言之,随机存取存储器64用作一个工作存储器。接口65a在系统部件1、2、3、4和5之间传送数字代码。当系统部件之间的数据格式不同时,接口65a将所述数字代码从一种数据格式转换成另一种数据格式。
预先记录
在光盘CD-A中记录的一首音乐的重放的合奏下,用户演奏这首音乐。虽然光盘CD-A中记录了多首音乐,但用户可选择其中的一首,被选中的一首音乐在下文中称作“音乐片段N”,表示音乐片段N的这组音频音乐数据代码被称作NA。
用户首先将光盘CD-A装进光盘驱动器1E中,将软盘FD装进软盘驱动器2E中,软盘有足够的记录空间来保存通过预先记录将要创建的标准MIDI文件。用户按下操作面板/显示器5E上的指令键,以使中央处理单元62识别用户的指令以开始预先记录。然后,中央处理单元62通过接口65a将表示要求重放的控制信号提供到光盘驱动器1E。
光盘驱动器1E驱动光盘CD-A旋转,并将音频音乐数据代码发送到接口65a。每隔1/44100秒就有一对用于右声道和左声道的音频音乐数据代码传送到接口65a。用(R(n),L(n))表示这对音频音乐数据代码,用“采样值(n)”表示音频音乐数据代码R(n)/L(n)的值。“n”表示从这组音频音乐数据代码NA的开始部分计数的音频音乐数据代码对(R(n),L(n))的位置。第一对音频音乐数据代码用(R(0),L(0))来表示,“n”是递增的,如“1”,“2”,“3”,...。该采样值是一个整数,所有的采样值都在-32768到+32767范围内。“n”表示该音频音乐数据代码在音轨上的位置。
当第一对音频音乐数据代码(R(0),L(0))到达接口65a时,中央处理单元62就从接口65a获取这对音频音乐数据代码(R(0),L(0)),并开始对时钟信号的时钟计数。换言之,中央处理单元启动内部时钟,用于测量从第一对音频音乐数据代码(R(0),L(0))到达时间所经过的时间。第一对音频音乐数据代码(R(0),L(n))的到达时间是0.00秒。
当音频音乐数据代码对(R(0),L(0)),(R(1),L(1)),(R(2),L(2)),....到达接口65a时,中央处理单元62连续将音频音乐数据代码对(R(n),L(n))传送到自动播放器钢琴3E,并沿音乐片段N将音频音乐数据代码对(R(n),L(n))转换成电子信号。光盘播放器1E继续传送所有的音频音乐数据代码对直到音乐片段N结束。
中央处理单元62还可将这些音频音乐数据代码对的采样值对(n)和这些音频音乐数据代码对(R(n),L(n))的到达时间保存在随机存取存储器64中。用“到达时间(n)”表示这对音频音乐数据代码(R(n),L(n))的到达时间。这对采样值(n)和相关的到达时间(n)连续地加入一个队列。在此例中,该队列中最大可容纳1323000对采样值和他们的到达时间(n)。当这对采样值(1323001)和到达时间(1323001)到达该队列时,就把第一对采样值(0)和到达时间(0)从该队列中挤出,并且所述一对新的采样值(1323001)和到达时间(1323001)排在队尾。1323000对采样值相当于持续30分钟的电子音调。中央处理单元62继续将成对的采样值(n)和它的到达时间(n)加入该队列,直到加入最后一对采样值和它的到达时间为止,并保持该队列长度不变。
中央处理单元62还可在静音时间之后,即从生成第一电子音调开始,在随机存取存储器64中保存216对采样值。该216对采样值,即65536对音频音乐数据代码,相当于持续1.49秒的电子音调。该216对采样值在下文中被称作“开始部分的参考原始资料”。
具体地说,当第一对音频音乐数据代码(R(0),L(0))到达中央处理单元62时,中央处理单元62开始检查音频音乐数据代码对(R(0),L(0))到(R(65535),以便观察这对采样值是否超过阈值。该阈值表示静音和音调之间的边界。在此例中,假定该阈值是1000。假设至少有一个音频音乐数据代码对(R(50760),L(50760))的采样值超过该阈值。当“n”从0增加到50759时,得到否定回答,中央处理单元62忽略这些音频音乐数据代码对(R(0),L(0))到(R(50759),L(50759))。换言之,中央处理单元62不在随机存取存储器64中积累音频音乐数据代码对(R(0),L(0))到(R(50759),L(50759))。该静音时间周期大约是1.15秒。
当“n”达到50760时,中央处理单元62将回答改为肯定。在肯定回答时,中央处理单元62确定一个参考开始时间,此时间为采样值超过边界的时间,并且将这对采样值(50760)和参考开始时间保存在随机存取存储器64中。中央处理单元62连续地向随机存取存储器64传送65536对采样值,以使得在不用和该阈值比较的情况下,将音频音乐数据代码对(R(50760),L(50760))到(R(116295),L(116295))的采样值积累在随机存取存储器64中。这样,表示静音或几乎是静音的音频音乐数据代码对的采样值就没有积累在随机存取存储器64中。音频音乐数据代码对(R(50760),L(50760))到(R(116295),L(116295))的采样值用作开始部分的参考原始资料,并且该参考开始时间是1.15秒。
当中央处理单元62完成开始部分的参考原始资料的积累时,中央处理单元62要求数字信号处理器63根据开始部分的参考原始资料生成开始部分的参考相关性数据片段。开始部分的相关性数据片段相当于在172.27Hz频率下采样的音频数据片段。数字信号处理器63根据开始部分的原始资料片段生成开始部分的参考相关性数据片段。开始部分的参考相关性数据片段被用在不同的音频音乐数据代码对之间的相关性分析中。
附图35表示根据开始部分的参考原始资料或采样值对(n)来生成开始部分的参考相关性数据片段的方法。该方法以计算机程序的形式保存在程序存储器中。在步骤S1中,当数字信号处理器63确认此请求后,数字信号处理器63首先从随机存取存储器64中读出参考原始资料片段,即音频音乐数据代码对(R(n),L(n))的采样值,并在步骤S2中,计算每对音频音乐数据代码(R(n),L(n))的采样值的算术平均值,用于将立体声的音频音乐数据转换为单声道的音频音乐数据。立体声的音频音乐数据转换成单声道的音频音乐数据减轻了数字信号处理器63的负荷。
随后,在步骤S3中,数字信号处理器63通过执行相当于高通滤波的数据处理,从算术平均值中去除了表示模拟音频信号的直流分量的值。计算得到的值在正的和负的范围内被绘制成曲线。在相关性的分析中,从精确的观点来看,最好将计算的值分散在正的和负的范围内。这样,相当于高通滤波器的数据处理提高了相关性分析的可靠性。
接下来,在步骤S4中,计算后的值被取绝对值。通过取绝对值,对于所计算值得到了采样值幂的代替值。该绝对值小于表示幂的平方数,在接下来的数据处理中很容易处理。然而,如果数字信号处理器63有非常强大的数据处理能力,数字信号处理器63也可以计算该平方数,而不是绝对值。
随后,在步骤S5中,数字信号处理器63通过执行一个相当于梳状滤波的数据处理,在绝对值中提取出表示原始音频信号波形变化趋势的低频分量。虽然通常是通过执行相当于低通滤波的数据处理来提取低频分量,但相当于梳状滤波的数据处理的负荷要轻于相当于低通滤波的数据处理的负荷。因此,使用相当于梳线滤波器的数据处理,即梳状滤波。
附图36表示梳线滤波器的电路配置。方框图代表延迟电路,三角形表示乘法运算。“Z-k”被输入到左边的方框,“k”表示延迟时间等于(采样周期×k)。采样频率是44100Hz,采样周期就是1/44100秒。乘数被分别的送到三角形。在图36中,“k”的表达式如下
k=(44100-π×f)(44100+π×f)         ......表达式6通过乘以乘数“k”的数据处理使梳线滤波器在频率f执行高通滤波,并且直流分量被很好的从绝对值中滤除了。为了提高相关性分析的准确度,最好是试验性的确定“k”和“f”的最优值。
回到附图35,在步骤S6中,数字信号处理器63执行一个相当于低通滤波的数据处理,用于通过下一步骤中的降采样来防止采样数据的重叠噪声。如下一步骤S7所述,数字信号处理器63将44100Hz的采样值转换到172.27Hz的降采样值,并出现了重叠噪声。为了避免降采样值的重叠噪声,消除高于86.13Hz,即172.27Hz的一半的频率分量是必要的。虽然梳线滤波器从采样值对中适当的消除了高频分量,但采样值中还存在高频分量。因此,数字信号处理器63在降采样之前应更好的从采样值中消除高频分量。当数字信号处理器63有很强的数据处理能力时,数字信号处理器63可以执行相当于高精度低通滤波的数据处理,而不是步骤S5和步骤S6中的两种数据处理。
随后,在步骤S7中,数字信号处理器63从每256次采样中取出一次采样。也就是,数字信号处理器63执行原来1/256的降采样。完成降采样后,数据量从65536减少到256。执行降采样后的采样作为开始部分的参考相关性数据片段。通过降采样,减轻了数字信号处理器63的负荷。如果数字信号处理器63有很强的数据处理能力,则数字信号处理器63可以直接从步骤S6进行到步骤S8。最后,在步骤S8中数字信号处理器63将开始部分的参考相关性数据片段保存到随机存取存储器64中。这样数字信号处理器63从开始部分的原始资料片段生成了开始部分的参考相关性数据片段,并将开始部分的参考性关性数据片段保存到随机存取存储器64中。
当第一个开始部分的参考原始资料片段到达接口65a时,中央处理单元62要求数字信号处理器63在参考原始资料片段中找到特性事件。数字信号处理器63在预定的频率下,通过执行相当于低通滤波的数据处理从队列中的采样值对中提取出低频分量,并在低于所述预定频率的另一个预定的频率下,通过执行相当于低通滤波的数据处理,从队列中的采样值对中提取出极低频分量。完成在不同频率下的相当于低通滤波的数据处理后,数字信号处理器63将低频分量与极低频分量进行对比,以便观察是否发生特性事件。在定时校准中,特性事件是一种标志或定时数据。
附图37表示一种用于生成表示特性事件的管理信息片段的方法。该方法被表示成由数字信号处理器63运行的计算机程序。
当数字信号处理器63接到生成管理信息的要求时,数字信号处理器63在步骤S0开始运行该计算机程序。在步骤S11中,数字信号处理器63从随机存取存储器64中的队列中读出预定对数的采样值。从队尾开始执行数据传送。在此例中,预定数目是44100。在下面的说明中,从该队列中读出的采样值对被称作“原始资料片段”,队尾包括f对采样值(n)的这组原始资料片段被称作“原始资料片段(n)”。在接到生成管理信息的要求时,如果这对采样材料(50760)排在队尾,就从随机存取存储器64中读出采样值对(6601)到(50760),形成原始资料。
随后,在步骤S12中,从每对采样值中计算算术平均值。此算术操作相当于将立体声的声音转化为单声道的声音。算术平均值减轻了数字信号处理器63的负荷。
接下来,在步骤S13中,数字信号处理器63确定算术平均值的绝对值。通过绝对值运算得到幂的替代值。该绝对值小于表示幂的平方数,在以后的数据处理中很容易处理。然而,如果数字信号处理器63有强大的数据处理能力,数字信号处理器63可以计算所计算值的平方数,而不是绝对值。
随后,在步骤S14中,数字信号处理器63对绝对值执行相当于低通滤波的数据处理。此例中假设截止频率为100Hz。完成相当于低通滤波的数据处理后,就得到了采样值的中程索引。用“中程索引(n)”来表示采样值(n)的中程索引。中程索引(n)表示在采样值对(n)的对应时刻音频波形在中程范围内的变化趋势。通常,音频波形在近程范围内频繁的改变。通过相当于低通滤波的数据处理,会从一系列采样值对中去除近程范围内的变化,因为近程范围内的变化会受到先前采样值对的制约。因此在数字信号处理器63中保留了表示在中程和远程范围内变化的数据信息。换言之,在数字信号处理器63中保留了中程索引...(n-2),(n-1),(n)。在步骤S15中,数字信号处理器63将中程索引传送到随机存取存储器64,用于把该索引保存到随机存取存储器64中。
接下来,在步骤S16中,数字信号处理器63通过一个梳线滤波器执行一个相当于低通滤波的数据处理。步骤S16中的截止频率低于步骤S14中的截止频率。这相当于在中程索引所表示的波形中提取出极低频分量。梳线滤波器对于数字信号处理器63是非常有用的,因为相当于梳状滤波的数据处理负担要轻于相当于低通滤波的数据处理负担。
附图38表示相当于梳线滤波器的数字处理。方框和圆圈形成的两个回路串联在一起,并且一个三角形连接在第二个回路和数据输出端口之间。方框在信号传播中引入时间延迟,“Z-k”表示延迟时间等于采样周期和常数k的乘积。如上所述,该采样频率是44100Hz。即采样周期是1/44100秒。三角形表示一个乘法运算,“1/k”是乘数。在以下的说明中假设k的值是22050。通过相当于梳线滤波器的数据处理,中程索引中高于1Hz的频率分量几乎都被滤除了。这样,在步骤S16中,完成数据处理后,数字信号处理器63中就保留了表示远程变化的分量。
随后,数字信号处理器63将一系列表示远程变化的分量乘以一个正的常数“h”。通过步骤S17中的乘法运算,把下一步骤S19中肯定回答得到的频率调整到适当的值。如果“h”的值比较小,两次相邻肯定回答之间的时间间隔就很窄。当肯定回答的时间间隔大宽时,在步骤S11中就以较长的时间间隔来生成特性事件,这样就降低了定时校准的精度。另一方面,如果肯定回答的时间间隔太窄,则在步骤S20中,将趋向于取消肯定回答,并在较长的时间间隔内得到特性事件。这就降低了定时校准的精度。在此情况下,应试验性的确定乘数“h”的值。完成步骤S17中的乘法运算后,数字信号处理器63就保留了远程索引。在下文中,将对应采样值(n)的远程索引称作“远程索引(n)”。这样,数字信号处理器63在完成步骤S17中的数据处理后就保留了远程索引...(n-2),(n-1),(n)。在步骤S18中,数字信号处理器63将远程索引传送到随机存取存储器64,并且该远程索引被保存到随机存取存储器64中预定的存储区域内。
接下来,在步骤S19中,数字信号处理器从随机存取存储器64中读出中程索引(n)和远程索引(n),并且相互比较,确定中程索引(n)是否等于或大于远程索引(n)。步骤S19中的肯定回答是表示在音频波形的中程范围内发生的突变,该音频波形由对应采样点(n)的点上的参考原始资料表示。更详细的讲,当在1Hz到100Hz频率范围中的音量(volume)在音频波形上突然被放大时,中程索引就会变得大于远程索引,在步骤S19中会得到肯定回答“是”。然后,数字信号处理器63检查内部时钟,获得该比较得到肯定回答时的当前时间,并在随机存取存储器64中保存该当前时间。
随后,数字信号处理器63从随机存取存储器64中读出获得前一肯定回答的时间,然后用当前时间减去前一肯定回答的时间,在步骤S20中判断该差值是否等于或者小于预定值τ。如果该差值大于预定值τ,则从生成前一特性事件已经过了较长时间。这样,步骤S20中的数据处理就会阻止中央处理单元62在短的时间间隔内生成多个特性事件。如果特性事件太多,要将从光盘CD-B中读取的音频音乐数据代码的一系列采样值中的特性事件与光盘CD-A中存储的音频音乐数据代码(R(n),L(n))的采样值中产生的特性事件准确的对应起来是很困难的。应试验性的来确定预定值τ。当然,当数字信号处理器63得到第一次肯定回答时,随机存取存储器64内没有保存任何时间。在此情况下,步骤S20中会自动给出否定回答。
步骤S20中得到否定回答时,在步骤S21中数字信号处理器63生成特性事件,并将该特性事件通知给中央处理单元62。
如果在步骤S19中得到否定回答,数字信号处理器进入步骤S22。当步骤S20得到肯定回答时,数字信号处理器63也会进入步骤S22。当完成步骤S21的工作时,数字信号处理器63也进入步骤S22。数字信号处理器63等待下一对音频音乐数据代码(R(n+1),L(n+1))。当下一对音频音乐数据代码到达接口65a时,中央处理单元62将这对采样值(n+1)传送到音频单元4C,并且该采样值(n+1)和到达时间加入在随机存取存储器64中的队列。中央处理单元62会再次要求数字信号处理器63重复数据处理过程。然后,数字信号处理器63从随机存取存储器64中取来队尾包含了采样值对(n+1)的参考原始资料,然后返回步骤S11。
这样,数字信号处理器反复的执行由步骤S11到步骤S22组成的循环,直到处理完包含最后一对采样值的原始资料。这样在音乐片段和声期间,数字信号处理器63就从原始资料或这组音频音乐数据代码对中提取了多个特性事件。
本发明者进一步说明附图37中计算机程序所表示的数据处理过程。在步骤S14中将一个IIR(无限脉冲响应)滤波器用作低通滤波器。步骤S17中的常数“h”是4,时间周期τ是0.55秒。数据处理生成的曲线PL16E和PL17E和特性事件都在附图39中给出。曲线PL16E表示中程索引,曲线PL17E代表远程索引。当中程索引PL16E等于或者超过远程索引PL17E时,数字信号处理器63生成特性事件。如大圆圈所示,虽然中程索引在A,B和C的瞬间超过远程索引,但数字信号处理器63也只在A处生成特性事件,因为在B和C点没有达到0.55秒的预定时间(见附图37中步骤S21)。从音乐片段NA中提取的特性事件被称作“参考特性事件”。
当光盘驱动器1E通过控制器6E向音频单元4E传送音频音乐数据代码时,用户准备演奏该音乐片段。当通过音频单元4E生成电子音调时,用户可以选择的按下和释放黑/白键,和踩下踏板31e。通过音弦31d的振动,就生成了声学钢琴音调,键传感器32和踏板传感器33将键的动作和踏板的动作传到控制器34。控制器34生成表示有音符事件、无音符事件的事件码,并对声学钢琴音调施加影响,并且将该音符事件码提供给接口65a。这样,中央处理单元62不仅接收来自数字信号处理器63的特性事件码,还接收来自自动播放器钢琴3E的音符事件码。
附图40显示了在预先记录模式下,合奏期间生成的特性事件和音符事件。中程索引和远程索引的变化分别由曲线PL16E和曲线PL17E来表示,时间沿着横坐标轴向右增加。第一特性事件发生在第一对音频音乐数据代码到达后的1.51秒,即参考开始时间,其他特性事件发生在2.38秒、4.04秒...。另一方面,中央处理单元62在2.21秒接收第一事件码,其他事件码分别在2.62秒、3.06秒...到达接口65a。这样,在合奏期间,以实时的方式生成了特性事件码和音符事件码。虽然中程索引PL16E在1.78秒超过远程索引17E,但中央处理单元62不接收任何特性事件,因为没有达到0.55秒的预定周期。
当将参考特性事件码通知给中央处理单元62时,中央处理单元62生成用于存储参考特性事件的系统专用事件码,并检查内部时钟来观察参考特性事件的到达时间。中央处理单元62生成表示到达时间的δ时间码,并将δ时间码和参考特性事件码保存到随机存取存储器64中。
类似地,当中央处理单元62获取音符事件码时,中央处理单元62检查内部时钟来观察音符事件码的到达时间。中央处理单元62生成表示到达时间的δ时间码,并将δ时间码和音符事件码保存到随机存取存储器64中。
现在假设光盘驱动器1E提供最后一对音频音乐数据代码,最后一对音频音乐数据代码的采样值和到达时间一起排在队尾,并且数字信号处理器63对队尾位置包含最后一对采样值的原始资料执行数据处理,用于发现参考特性事件。完成最后的数据处理后,中央处理单元62转到一个计算机程序,用于在这组音频音乐数据代码对中找到音乐片段N的结尾。
详细的讲,当中央处理单元62完成对特性事件的数据处理时,最后一对采样值和其他1322999对采样值连同到达时间一起留在该队列中。如果最后一对采样值用采样值对(7673399)来表示,那么从采样值对(6350400)到最后一对采样值(7673399)连同它们的到达时间一起都已经加入该队列。
中央处理单元62读出排在队尾的那对采样值,并检查这对采样值来确定是否至少有一个采样值超过了阈值,在该例中阈值是1000。如果得到否定回答,中央处理单元62读出队尾之前的一对采样值,并检查这对采样值来确定是否至少有一个采样值超过了阈值。当得到否定回答时,中央处理单元62读出指向队首方向的一对采样值,并重复的将这对采样值与阈值进行对比。
假定采样值对(7634297)中的一个采样值超过了该阈值。采样值对(7673399)到采样值对(7634298)没有超过阈值。这意味着在这组音频音乐数据代码对的结束部分有持续0.89秒的静音。在下文将包含大于该阈值的至少一个采样值的这对采样值称作“采样值对(Z)”。音乐片段N在采样值对(Z)处结束。当中央处理单元62在这组音频音乐数据代码对中发现采样值对(Z)时,中央处理单元62结束对音乐片段结尾的搜索。
在完成该队列中搜索音乐片段结尾的数据处理后,中央处理单元62转到一个计算机程序,用于生成结束部分的参考相关性数据片段或结束音频数据。中央处理单元62通过计算机程序所表示的数据处理,根据结束部分的原始资料,即该队列中的采样值对,来生成结束部分的参考相关性数据片段。附图41中举例说明了计算机程序和数字信号处理器63将要执行的几项工作。
在以下的说明中,采样值对(W)排在队首,并且假定“W”和“Z”分别是6350400和7634297。这意味着从采样值对(6350400)到采样值对(7673399)连同它们的到达时间一起都已经加入了该队列。采样值对(7634297)占据音乐片段N的结束部分。65536对采样值被称作“结束部分的原始资料片段(n)”,采样值对(n)排在结束部分的原始资料的最后。
首先,在步骤S31中,中央处理单元62设置计数器i和j为“Z”,即分别是7634297和0,并请求数字信号处理器根据结束位置(i-j)的参考原始资料来生成结束位置的参考相关性数据片段。生成结束位置的参考相关性数据片段的数据处理与上述的生成开始部分的参考相关性数据片段的数据处理是类似的。完成数据处理后,在步骤S32中,数字信号处理器63将256个结束部分的参考相关性数据片段保存到随机存取存储器64中。这样,就从结束部分的参考原始资料(n)中得到256个结束部分的参考相关性数据片段(n)。因为(i-j)是7634297,所以结束部分的参考相关性数据(7634297)被保存到随机存取存储器64中。
随后,在步骤S33中,中央处理单元62检查计数器j来确定计数器j是否达到881999。计数器j中存储的值小于881999时步骤S33就得到否定回答,在步骤S34中,中央处理单元62使计数器j加1。计数器j加1后,中央处理单元62就返回步骤S31。这样,中央处理单元每次将原始资料的结尾移动1,对采样值对重复执行881999次步骤S32到S34组成的数据处理,时间相当于20秒。换言之,结束部分的原始资料被更新882000次。当数字信号处理器63完成对第882000组65536对采样值的数据处理后,中央处理单元62发现计数器j是881999,步骤S33的回答变为肯定。步骤S33得到肯定回答时,参考相关性数据(7634297)、参考相关性数据(7634296)...和参考相关性数据(6752298)被保存到随机存取存储器64中。
接下来,在步骤S35中,中央处理单元62要求数字信号处理器63在参考相关性数据(i)和参考相关性数据(i-j)之间执行相关性分析。数字信号处理器63确定两组音频数据之间的相似性,对相关性分析的数据处理过程将在下文中参考附图42详细说明。
当中央处理单元62请求数字信号处理器63执行相关性分析时,中央处理单元62指定“源音频数据”和“将要分析的音频数据”。在此例中,源音频数据是结束部分的参考相关性数据(i),将要分析的音频数据是参考相关性数据(i-j)。源音频数据片段用X(0)到X(255)表示,将要分析的音频数据片段用Ym(0)到Ym(255)表示。“m”是(i-j),并且等于这组采样值对的尾部的采样值对(n)中的“n”。
当数字信号处理器63确认相关性分析的要求后,数字信号处理器63读出参考相关性数据片段(i)和参考相关性数据片段(i-j)。
随后,数字信号处理器63计算出绝对相关索引,并将该绝对相关索引IDXEa与常数p进行比较,来确定绝对相关索引IDXEa是否等于或大于常数p。
Σ i = 0 255 ( x ( i ) × Y m ( i ) ) / Σ i = 0 255 ( x ( i ) 2 ) ≥ p ......表达式7
表达式7左边部分表示绝对相关索引IDXEa,常数p的取值范围是0到1。在第一个计算中,“i”是7634297,m等于(i-j),即6752298。当源音频数据X(0)到X(255)分别趋近于将要分析的音频数据Ym(0)到Ym(255)时,绝对相关索引IDXEa有一个趋近于1的较大值。如果表达式7被满足,其结果表示一个音乐通路与另一个音乐通路是高度相关的,并且这些音乐通路是彼此对应的。换言之,即使第一个音乐通路在版本上不同于另一个音乐通路,只要第一音乐通路和第二音乐通路相互对应,则表示音乐通路一部分的源音频数据X(0)到X(255)和表示另一音乐通路的将要分析的音频数据片段Ym(0)到Ym(255)就满足表达式7。然而,当一个音乐通路和另一个音乐通路形成一个音乐片段的不同部分时,源音频数据X(0)到X(255)和将要分析的音频数据Ym(0)到Ym(255)就不满足表达式7。简而言之,在上述方式下,为了表达式7能产生验证结果,常数p应试验性的优化。
数字信号处理器还计算一个相对相关索引IDXEr,并将该相对相关索引IDXEr与常数q比较,来确定相对相关索引IDXEr是否等于或大于常数q。
{ Σ i = 0 255 ( x ( i ) × Y m ( i ) ) } 2 / { Σ i = 0 255 ( x ( i ) 2 ) × Σ i = 0 255 ( Y m ( i ) 2 ) } ≥ q ......表达式8
表达式8左边部分表示相对相关索引IDXEr,取值范围是0到1。源音频数据X(0)到X(255)所表示的音频波形与将要分析的音频数据Ym(0)到Ym(255)所表示的音频波形越相似,相对相关索引IDXEr越趋近于1。即使源音频数据X(0)到X(255)所表示的音频波形与将要分析的音频数据Ym(0)到Ym(255)所表示的音频波形非常相似,这些音频波形之间的动态范围也是不同的。在这种情况下,绝对相关索引IDXEa的值改变。另一方面,动态范围的差别对相对相关索引IDXEr没有任何影响。当音频波形与另一波形相似时,相对相关索引IDXEr忽略动态范围的差异,并趋近于1。
假定表达式(7)和表达式(8)的答案被改为肯定的。数字信号处理器63进入步骤S52,并计算如表达式(9)和(10)所示的变化率。
d ( Σ i = 0 255 ( x ( i ) × Y m ( i ) ) / dm = 0 ......表达式9
d 2 ( Σ i = 0 255 ( x ( i ) × Y m ( i ) ) / d 2 m = 0 ......表达式10
在下文中将X(0)到X(255)和Ym(0)到Ym(255)之间的乘积和称为“相关值RE”。表达式9左边部分是相关值RE在值(m)处的变化率。当源音频数据片段X(0)到X(255)分别与将要分析的音频数据片段Ym(0)到Ym(255)配对时,在每对的值相互趋近的情况下,相关值RE变大。而且,当根据m绘制相关值RE的曲线时,在相关值RE函数的极限值处变化率变成0。这样,数字信号处理器63通过表达式9来检查相关值RE的极限值。
随后,数字信号处理器63再对函数f(RE)求微分,并检查该函数来确定极限值是否是局部极大值MX。这样,在步骤S52中,数字信号处理器63检测音频数据X(0)到X(255)和Ym(0)到Ym(255),以便观察相关值RE在函数中是否是局部极大值。
详细的讲,在此例中,音频数据片段X(0)到X(255)和将要分析的音频数据片段Ym(0)到Ym(255)是离散值。表达式9左边部分严格等于0是很少见的。因此,在步骤S52中的计算过程如下。首先,数字信号处理器63计算X(0)到X(255)和Ym(0)到Ym(255)的乘积和与X(0)到X(255)和Ym-1(0)到Ym-1(255)的乘积和两个和之间的差值Dm。随后,数字信号处理器63检查差值Dm和Dm-1,以便观察差值Dm-1是否大于0,差值Dm是否等于或小于0。如果两个回答是肯定的,即Dm-1大于0并且Dm等于或小于0,变化率就从正数经过0变到负数。然后,数字信号处理器63确定极限值是局部最大值或者在局部最大值的附近。这使得步骤S52中得到肯定回答。另一方面,如果至少有一个回答是否定的,则步骤S52中的回答就是否定的。
如果步骤S52中得到肯定回答时,在步骤S53中,数字信号处理器63将成功的结果通知中央处理单元62,这意味着将要分析的音频数据Ym(0)到Ym(255)和源音频数据X(0)到X(255)高度相关。如果步骤S51或S52中得到否定回答,在步骤S54中,数字信号处理器63将失败的结果通知中央处理单元62,这意味着与将要分析的音频数据Ym(0)到Ym(255)对应的波形和与源音频数据X(0)到X(255)对应的波形不相似。
附图43表示步骤S51和S52中表达式的计算值。曲线PL21表示常数p和表达式7左边分母之间的乘积,曲线PL22表示表达式7左边的分子。曲线PL23表示常数q和表达式8左边分母之间的乘积,曲线PL24表示表达式8左边的分子。曲线PL25表示表达式9的左边部分。试验的条件如下。梳线滤波器中(见步骤5),在25Hz处将一个单级的IIR滤波器用作高通滤波器(见附图35中步骤S3),k和f分别是4410和1。在25Hz处将一个单级的IIR滤波器用作低通滤波器(见步骤6),常数p和q分别是0.5和0.8。只要m在范围A内表达式7就被满足,m在范围B内表达式8就被满足,范围B在范围A内部。当m在范围B中的C点时,表达式9被满足,在C点表达式10也被满足。这样,在C点时步骤S52得到肯定回答。
返回到附图41,如果数字信号处理器63将失败的结果通知给中央处理单元62,在步骤S37中,中央处理单元62将“i-j”递减1,并再次要求数字信号处理器63作相关性分析。另一方面,当表达式7、8、9和10被满足后,数字信号处理器63将成功的结果通知中央处理单元62,并且步骤S36中得到肯定回答。当中央处理单元62要求数字信号处理器63执行第一次相关性分析时,源音频数据与参考相关性数据片段(7634297)相对应,将要分析的音频数据与参考相关性数据片段(6752298)相对应。相关性分析通常是失败的,中央处理单元62通过步骤S37返回步骤S35。这样,中央处理单元62与数字信号处理器63合作,重复步骤S35到S37所组成的循环。
在音频数据NA的结束部分,如果相当于音调和/静音持续20秒钟的时间内没有任何音频波形与源音频数据所表示的音频波形相似,就重复执行881999次步骤S35、S36和S36所组成的循环,步骤S35中的相关性分析被重复882000次。虽然源音频数据,即“i”是不变的,但将要分析的音频数据,即“j”是变化的。当源音频数据与参考相关性数据片段(7634297)相对应时,从参考相关性数据片段(6752298)开始,经过参考相关性数据片段(6752299),参考相关性数据片段(6752300),...将要分析的音频数据被改变了。完成第882000次相关性分析后,“j”等于“i”,并且将要分析的音频数据与源音频数据相同。这使得步骤S36得到肯定回答。
步骤S36中得到肯定回答时,在步骤S38中,中央处理单元62检测“j”,来确定被分析的音频数据是否与源音频数据相同。如果没有任何音频波形与相当于20秒钟的源音频数据的结束部分所表示的音频波形相同,步骤S36中持续得到否定回答,直到被分析的音频数据与源音频数据相同时,步骤S38中得到肯定回答。然后,在步骤S39中,中央处理单元62将相关数据片段(i)和它的到达时间保存到随机存取存储器64中。在下面的说明中,术语“参考结束音频数据”和“参考结束时间”分别指保存在随机存取存储器46中的参考相关性数据(i)和它的到达时间。如果数字信号处理器63将第一次相关性分析的成功结果通知给中央处理单元62时,“i”是7634297,采样值对(7634297)的到达时间,即173.11秒就被作为参考结束时间保存到随机存取存储器64中。
另一方面,如果数字信号处理器62在相当于20秒钟的将要分析的音频数据中发现一个音频波形与源音频数据所表示的音频波形相似,则在步骤S35到S37组成的循环被重复881999次之前,相关性分析中的表达式7、8、9和10就被满足了,数字信号处理器63将成功的结果通知给中央处理单元62。然后,步骤S36中的回答变为肯定。然而,在步骤S38中得到否定回答。步骤S38中得到否定回答时,在步骤S40中,中央处理单元62检查“i”是否等于7297935,“i”可以是W+65536+881999的和或W+947535的和。如果该源音频数据是从队首开始计数的第882000个参考相关性数据,则步骤S40中得到肯定回答。当中央处理单元62第一次检查源音频数据时,“i”等于Z,等于7634297,步骤S40得到否定回答。然后,在步骤S41中,中央处理单元将“i”递减1,并将“j”变为881999。中央处理单元62返回到步骤S32。参考原始资料片段(i-j)已经向队首移动一位,因为“i”被递减1且“j”变为88199。
假设中央处理单元62第一次完成步骤S41中的工作。在步骤S32中,中央处理单元62对参考相关性数据(6752297)执行相关性分析,因为“i”是7634296。这意味着相关性数据片段(6752297)与相关性数据片段(7634297)-(6752298)一起被新保存到随机存取存储器64中。因为j是881999,所以步骤S33得到肯定回答。中央处理单元62进入步骤S35,并且重复步骤S35到S37所组成的循环。当数字信号处理器63将成功的结果通知中央处理单元62时,步骤S36得到肯定回答,中央处理单元62进入步骤S38。如上所述,当没有任何其他波形与源音频数据所表示的音频波形类似时,j是0,所述源音频数据在相当于20秒的音频数据NA的结束部分的尾部具有采样值(i),之后中央处理单元62进入步骤S39,将参考结束音频数据和参考结束时间保存到随机存取存储器64中。
另一方面,如果步骤S38得到否定回答,中央处理单元62进入步骤S40。这样,中央处理单元62和数字信号处理器63重复步骤S32到S38,S40和S41所组成的循环过程,直到步骤S38得到肯定回答。当中央处理单元62和数字信号处理器63重复该循环过程时,在步骤S41中,中央处理单元62将“i”递减1。如果该队列中的采样值表示一个恒定的音频波形,步骤S38将不会得到肯定回答。结果,“i”等于W与947535的和,即7297935。然后,步骤S40得到肯定回答。步骤S40得到肯定回答时,在步骤S42中,中央处理单元62要求操作面板/显示器5生成一条错误信息。这条错误信息意味着对参考结束音频数据和参考结束时间的数据处理已经失败。
假定中央处理单元62成功的完成产生参考结束音频数据和参考结束时间的数据处理。中央处理单元62从随机存取存储器64中读出(1)开始部分的参考相关性数据,(2)参考开始时间,(3)音符事件,(4)参考结束音频数据和(5)参考结束时间,并根据这些数据码构建音轨块。中央处理单元62将头部块添加到音轨块中。当完成标准MIDI文件时,中央处理单元62将该标准MIDI文件提供到软盘驱动器2C,并要求软盘驱动器2C将标准MIDI文件保存到软盘FD中。
附图44表示标准MIDI文件的数据结构。标准MIDI文件被分为头部块和音轨块。系统专用事件码和音符事件码分别与δ时间码相关,并被保存在音轨块中。第一系统专用事件码被指定开始部分的参考相关性数据片段和表示1.15秒钟的参考开始时间。第二专用事件码被指定参考结束音频数据和表示173.11秒钟的参考结束时间。尽管对于第一和第二系统专用事件码的δ时间码表示0.00秒,但这些系统专用事件码可以被移动到其他位置或放置在音轨块中,δ时间码表示其他的经过时间。第三至最后的系统专用事件码与音符事件码混在一起,这些系统专用事件码和音符事件码分别伴有δ时间码。在此例中,第三系统专用事件码和第四系统专用事件码表示参考特性事件,这些参考特性事件分别发生在1.51秒到2.38秒。第一音符事件发生在2.11秒,并且在C5处将生成声学钢琴音调。
附图45表示音频数据NA表示的音频波形与标准MIDI文件中存储的系统专用/音符事件之间的关系。曲线NA标明光盘CD-A中记录的音频数据所表示的音频波形,时间是向右增加的。在1.15秒以前该音频波形表示静音,该静音之后生成电子音调。在此例中,参考开始时间是1.15秒。
将1.15秒到2.64秒的音频音乐数据代码对作为参考原始资料,并且根据开始部分的参考原始资料生成开始部分的参考相关性数据。从开始部分的参考原始资料中提取出特性事件。曲线PL16E和曲线PL17E分别表示中程索引和远程索引。
将171.63秒到173.11秒的音频音乐数据代码对作为结束部分的参考原始资料,并且根据结束部分的参考原始资料生成该参考结束音频数据。在此例中,采样值对之一在173.11秒变得小于该阈值,以将173.11秒的经过时间作为参考结束时间保存到标准MIDI文件中。
同步重放
以下将说明同步重放模式。将光盘CD-B用在同步重放中。虽然音乐片段也被记录在光盘CD-B中,但光盘CD-B中的音乐片段与光盘CD-A中的音乐片段的版本是不同的。这意味光盘CD-A中记录的音乐片段和光盘CD-B中记录的相同音乐片段有不同的静音时间、动态范围和音调之间的时间间隔。因此,下文中将光盘CD-B中存储的音频数据称作“音频数据NB”。
用户将光盘CD-B放入光盘驱动器1E,将软盘FD放入软盘驱动器2E,软盘FD中保存着标准MIDI文件。随后,用户指示控制器6E在光盘CD-B中记录的音乐片段的重放的好的合奏下在键盘31a上再现该演奏。
当中央处理单元62识别用户的指令时,中央处理单元62要求软盘驱动器2E将系统专用事件码、其δ时间码、音符事件码及其δ时间码从软盘FD传送到接口65a。当软盘驱动器65a正在向接口65a传送数据码时,中央处理单元62将系统专用事件码、其δ时间码、音符事件码及其δ时间码传送到随机存取存储器64,以存储它们。
首先,中央处理单元62与数字信号处理器63配合以重新安排音符事件。音频数据NA和音频数据NB之间的演奏之前和演奏之后的静音时间的长度是不同的。此外,记录在光盘CD-A上的演奏与记录在光盘CD-B上的演奏在节奏上是不同的。尽管如此,控制器6E还是消除了标准MIDI文件中δ时间码所表示的经过时间与从光盘1E传来的音频时间码所表示的经过时间之间的差异,并重新安排在同步重放中再现的音符事件。
附图46表示对音符事件重新定时的方法。首先,在步骤S61中,中央处理单元62定义一个计数器“i”,并将计数器“i”调整到65535。随后,中央处理单元62要求光盘驱动器1E从光盘CD-B向接口65a传送音频数据NB。光盘驱动器1E每隔1/44100秒向接口65a传送一对音频音乐数据代码,中央处理单元62将采样值对和每对音频音乐数据代码的到达时间保存到随机存取存储器64中。当第一对音频音乐数据代码到达接口65a时,中央处理单元62开始对时钟信号的时钟脉冲进行计数。时钟脉冲的数量表示从第一对音频音乐数据代码到达时刻起经过的时间,即开始时间Q。第一对音频音乐数据代码表示第一对采样值(0),下一对音频音乐数据代码表示该对采样值(1)。这样,采样值对(0),(1),(2)...间歇的到达接口65a,并与它们的到达时间一起加入队列。在随机存取存储器64中形成该队列。到达时间等于从开始时间Q时刻起经过的时间。一对采样值(n)的到达时间表示为“到达时间(n)”。在此例中,最大可有1323000对采样值和他们的到达时间参加该队列。
假定一对采样值(i)和到达时间(i)一起加入该队列。然后,中央处理单元62要求数字处理器63根据65536对采样值来生成目标相关性数据片段,以下称其为“目标原始资料”。一对采样值(i)占据目标原始资料的尾部。在步骤S62中,数字信号处理器63执行数据处理,根据原始资料来生成相关性数据片段。生成目标相关性数据的数据处理过程与图35中所示的过程类似,为避免重复,省略了其说明。完成数据处理后,将目标相关性数据片段(i)保存到随机存取存储器64中。
随后,中央处理单元62要求数字信号处理器63在开始部分的参考相关性数据和目标相关性数据(i)之间执行相关性分析。在步骤S62中,数字信号处理器63读出已经保存到标准MIDI文件内的开始部分的参考相关性数据,该标准MIDI文件被传送到随机存取存储器64中,还读出保存在随机存取存储器中的目标相关性数据,并且在步骤S63,查看目标相关性数据(i)是否与开始部分的参考相关性数据高度相关。相关性分析的数据处理过程与图42中所示的过程类似,出于简化的原因,以下没有说明。
当相关性分析的数据处理完成时,数字信号处理器63将该数据处理过程的结果通知中央处理单元62,即成功或失败。然后,步骤S64中,中央处理单元62检测该通知,以便观察数据处理是否成功完成。如果目标相关性数据(i)与开始部分的参考相关性数据高度相关,就得到肯定回答。然而,没有静音而开始演奏是很少见的。当完成第一次数据处理时,步骤S64中通常得到否定回答。
在步骤S64中得到否定回答时,在步骤S65中,中央处理单元62检查计数器(i)来确定“i”是否是947535,即65535+882000。如果数字信号处理器63没有发现从开始以来相当于20秒的所有目标相关性数据都与开始部分的参考相关性数据不相关的话,步骤S65中得到肯定回答,中央处理单元62结束相关性分析。这样,步骤S65中的数据处理就防止了数字信号处理器63进行无限的相关性分析。
当数字信号处理器63完成第一次相关性分析时,计数器(i)表示65535,并且因此步骤S65中得到否定回答。然后,在步骤S66中,中央处理单元62将计数器(i)累加1,并返回步骤S62。这样,中央处理单元62与数字信号处理器63配合,重复步骤S62到S66组成的循环,直到数字信号处理器63发现目标相关性数据(i)与开始部分的参考相关性数据高度相关为止。
假定数字信号处理器63通知中央处理单元62目标相关性数据与参考相关性数据高度相关,其中该目标相关性数据是根据含有占据开始部分的采样值对(28740)的目标原始资料生成的。虽然中央处理单元62和数字信号处理器63共有28740次没有发现目标相关性数据与参考相关性数据高度相关,但数字信号处理器63将第28741次数据处理的成功结果通知给中央处理单元62。参考相关性数据和目标相关性数据分别根据开始部分的参考原始资料和表示一部分音乐片段的目标原始资料经过同样的数据处理而生成。这意味着一组目标原始资料片段(97275)所表示的音乐通路与开始部分的参考相关性数据片段所表示的音乐通路是相对应的。
在步骤S64得到肯定回答时,中央处理单元62用差值(i-65535)除以44100,并判定对应于参考开始时间的目标开始时间。超过阈值的这对采样值占据了目标开始时间的位置。假设步骤S64中的结果在“i”=94275时改变。(94275-65535)/4410=0.65。这意味着这对采样值在重放开始后的0.65秒处超过该阈值。随后,中央处理单元62从随机存取存储器64中读出参考开始时间,并计算目标开始时间和参考开始时间之间的差值。在下文将该时间差值称作“顶部偏移量”。如果音乐片段NB的开始早于音乐片段NA的开始,该顶部偏移量就是负值。另一方面,当音乐片段NB的开始迟于音乐片段NA的开始时,该顶部偏移量就是正值。假定目标开始时间和参考开始时间分别是0.65秒和1.15秒。通过目标开始时间减去参考开始时间来计算顶部偏移量,即(0.65-1.15),得到-0.50秒。在步骤S67中,中央处理单元62将顶部偏移量保存到随机存取存储器64中。
随后,中央处理单元62从随机存取存储器64中读出参考开始时间和参考结束时间,并且用参考开始时间减去参考结束时间。中央处理单元62将参考开始时间和参考结束时间的差值乘以441000,来判定参考开始时间和参考结束时间之间的音频音乐数据代码对的数目。参考开始时间和参考结束时间之间的音频音乐数据代码对的数目等于开始部分的第一参考相关性数据片段和最后一个参考结束音频数据片段之间的音频音乐数据代码对的数目。随后,中央处理单元62用音频音乐数据代码对的数目减去65536。差值“V”等于最后一个参考相关性数据片段和最后一个结束音频数据片段之间的音频音乐数据代码对的数目。
例如,假定参考开始时间和参考结束时间分别是1.15秒和173.11秒。参考开始时间和参考结束时间之间的时间周期是(173.11-1.15),即171.96秒。然后得出音频音乐数据代码对的数目是171.96×44100,结果是7583436。差值“V”等于7583436-65536=7517900。
随后,在步骤S68中,中央处理单元62定义计数器“j”,并将计数器“j”调整为(i+V-441000)。光盘CD-B中记录的开始部分的目标原始资料片段(i)对应于一个通路的1.49秒的音乐片段N。假设表示1.49秒的音乐片段N最后部分的音频数据在目标原始资料(i+V)附近。目标原始资料片段(j),即(i+V-441000)大约是在目标原始资料(i+V)之前的10秒钟处。
随后,中央处理单元62要求光盘驱动器1E将音频音乐数据代码对(j-65535)、(j-65534)...从光盘CD-B传送到接口65a。当光盘驱动器1E正在向接口65a传送音频音乐数据代码对(j-65535)、(j-65534)...时,中央处理单元62判定每对音频音乐数据代码的到达时间,并将采样值对连同到达时间一起保存到随机存取存储器64中。这些采样值对和到达时间在随机存取存储器64中加入队列。
当采样值对(j)加入该队列时,中央处理单元62要求数字信号处理器63根据目标原始资料(j)生成目标相关性数据。然后,在步骤S69中,数字信号处理器63开始根据目标原始资料(j)来生成目标相关性数据。生成目标相关性数据的数据处理过程与图35所示的过程类似。完成这些数据处理后,目标相关性数据(j)就被保存到随机存取存储器64中。
接下来,在步骤S69,中央处理单元62要求数字信号处理器63对保存在标准MIDI文件中的参考结束音频数据和保存在随机存取存储器中的目标相关性数据(j)执行相关性分析。在步骤S70中,数字信号处理器63从随机存取存储器64中读出参考结束音频数据和目标相关性数据(j),并且执行相关性分析,查看目标相关性数据(j)是否与参考结束音频数据高度相关。相关性分析的数据处理过程与图42中所示的过程类似。当数字信号处理器63完成相关性分析的数据处理时,数字信号处理器63将该相关性分析的结果通知中央处理单元62。
步骤S71中,数字信号处理器63检查该通知,确定相关性分析是否成功。在10秒钟内,用于音乐片段NB的再现时间与用于音乐片段NA的再现时间几乎没有差别。因此,当数字信号处理器63完成第一次数据处理时,步骤S71中通常得到否定回答“否”。然后,在步骤S72中,中央处理单元62将计数器(j)加1,并要求数字信号处理器63根据新的目标原始资料生成下一个目标相关性数据。如果计数器(j)大于音频数据NB的采样值对的总数,即目标原始资料已经到达音频数据NB的结尾部分,则数字信号处理器63不能从该队列中读出目标原始资料(j),并将失败结果通知中央处理单元62。因此,在步骤S73中,中央处理单元62检测寄存器来确定数字信号处理器63是否已经发送出错信息。当中央处理单元62第一次累加计数器(j)时,目标原始资料(j)没有到达音频数据NB的尾部,步骤S73中得到否定回答。
步骤S73中得到否定回答时,中央处理单元62返回步骤S69,并要求数字信号处理器63根据目标原始资料生成下一个目标相关性数据(j)。这样,中央处理单元62和数字信号处理器63重复步骤S69到S73组成的循环,并在音频数据NB中搜索与参考结束音频数据高度相关的目标相关性数据(j)。
当数字信号处理器63发现与参考结束音频数据高度相关的目标相关性数据时,数字信号处理器63将成功的结果通知中央处理单元62,步骤S69中的回答变为肯定“是”。然后,中央处理单元62要求光盘驱动器1E停止从光盘CD-B向接口65a传送数据。
接下来,中央处理单元62用j除以44100,来计算目标结束时间,即音乐片段NB重放的结束时间。如果计数器(j)是7651790,则目标结束时间就是7651790/44100,即173.51秒。随后,中央处理单元62从随机存取存储器64中读出参考结束时间,并计算底部偏移量,即目标结束时间和参考结束时间之间的差值。在此例中,底部偏移量是0.40秒,即173.51-173.11。在步骤S74中,中央处理单元62将底部偏移量保存到随机存取存储器64中。此外,在步骤S75中,中央处理单元62将顶部偏移量和底部偏移量保存到已传送到随机存取存储器64的标准MIDI文件中。
附图47表示添加了顶部偏移量和底部偏移量后的标准MIDI文件。顶部偏移量和底部偏移量被保存到系统专用事件码中。第一、第二、第三和第四系统专用事件码分别分配有顶部偏移量、底部偏移量、开始部分的参考相关性数据和参考结束音频数据,并且被指定给参考特性事件的系统专用事件码与音符事件码混合在一起。所有的系统专用/音符事件码都与δ时间码相关。在此例中,第一至第四系统专用事件码与表示0的δ时间码相关。然而,也可以将其他的δ时间码添加到这些系统专用事件码中。
当把表示顶部偏移量和底部偏移量的系统专用事件码添加到标准MIDI文件后,在步骤S76中,中央处理单元62从随机存取存储器64中存储的标准MIDI文件内读出所有的音符事件码,并对音符事件重新定时。通过下面的表达式来进行重新定时。
d=(NT+OT)+(D-NT)×{(NE+OE)-(NT+OT)}/(NE-NT)
                                            ......表达式11
其中d是重新定时后的δ时间,D是重新定时前的δ时间,NT是参考开始时间,NE是参考结束时间,OT是顶部偏移量,OE是底部偏移量。
在表达式11中,(NT+OT)表示相对于再现第一对采样值的定时的开始音频数据NB重放的定时,(D-NT)表示相对于重放表示音乐片段N的音频数据NA的开始点的再现音符事件的定时。{(NE+OE)-(NT+OT)}表示再现音频数据NB所表示的音乐片段N时所消耗的时间,(NE-NT)表示再现音频数据NA所表示的音乐片段N时所消耗的时间。第二项(D-NT)×{(NE+OE)-(NT+OT)}/(NE-NT)表示相对于音频数据NB重放的开始点的再现相关音符事件的定时。因此,d表示相对于再现音频数据NB的第一对采样值的定时的再现相关音符事件的定时。
第一音符事件表示C5处的有音符(见附图47)。通过表达式11的计算对C5处的有音符进行重新定时。D是2.11,NT是1.15,NE是173.11,OT是-0.50和OE是0.40。通过表达式11的计算对1.62秒处的有音符进行重新定时。所有的事件码都被重新定时,并调整了δ时间码,然后将它们保存到随机存取存储器64中,该δ时间码表示在同步重放中再现音符事件的定时。
完成重新定时后,在步骤S77中,中央处理单元62开始同步重放,即同步再现音符事件所表示的演奏和音频数据NB所表示的音乐片段。详细的讲,中央处理单元62要求光盘驱动器1E从光盘CD-B向接口65a传送音频音乐数据代码对。光盘驱动器1E每隔1/44100秒从光盘CD-B向接口65a传送一对音频音乐数据代码。当第一对音频音乐数据代码(0)到达接口65a时,中央处理单元62根据时钟信号计算到达时间,第一对音频音乐数据代码的到达时间作为参考时间R,中央处理单元62开始测量从参考时间R所经过的时间。
中央处理单元62间歇的接到音频音乐数据代码对(0)、(1)、(2).....,并将它们传送到音频单元4E。通过扬声器44将这些音频音乐数据代码对转换成电子音调。这样,用户能通过音频单元4E听到音乐片段NB。
中央处理单元62顺序从随机存取存储器64中读出调整后的δ时间码,并将所经过的时间与每个调整后的δ时间码所表示的时间进行比较,来确定是否将相关的音符事件码提供到自动播放器钢琴3E。当该经过时间变得与每个调整后的δ时间码所表示的时间相等时,中央处理单元62将音符事件码提供给控制器34。
当控制器34接收音符事件码时,控制器34检查表示用户选项,即声学钢琴31A或音频单元4E的内部标志。如果用户的选项是音频单元4E,控制器34将音符事件码提供给音调生成器35。音调生成器根据音符事件码生成数字音频信号,并将该数字音频信号提供给混音器41。这样,通过音频单元4E完成了同步重放。另一方面,如果用户的选项是声学钢琴3E,控制器34根据黑/白键的移动来计算一条轨迹。控制器34将这条轨迹通知驱动器36a,驱动器36a根据该通知来生成驱动信号。驱动器36a将驱动信号提供到电磁操纵按键致动器36b,以使电磁操纵按键致动器36b引起黑/白键的转动。黑/白键启动动作单元31b来轮流驱动音锤31c转动。音锤在转动的最后敲击音弦31d,音弦31d的振动发出了声学钢琴音调。由于音符事件已经调整到同步重放的合适定时,所以用户感觉声学钢琴音调和电子音调彼此合奏的很好。
当中央处理单元62将最后一对音频音乐数据代码和最后一个音符事件分别提供给音频单元4E和自动播放器钢琴3E时,中央处理单元62要求操作面板/显示器生成提示消息,例如,“是否保存顶部偏移量和底部偏移量?”在步骤S78中,在显示器上产生该提示消息,并且中央处理单元62等待用户的指令。
如果用户给出否定回答“否”,中央处理单元62终止步骤SS中同步重放的数据处理。当用户指示控制器6E将顶部偏移量和底部偏移量保存到软盘FD时,中央处理单元62将标准MIDI文件从随机存取存储器64提供到软盘驱动器2E,并要求软盘驱动器2E重写该标准MIDI文件。在步骤S79中,软盘驱动器2E重写新的标准MIDI文件,并将该新的标准MIDI文件保存到软盘FD中。完成保存后,中央处理单元62终止步骤SS中同步重放的数据处理。在下文将软盘驱动器2E重写的标准MIDI文件称作“标准MIDI文件B”。
只要音频数据NB与音频数据NA没有太大的差别,中央处理单元62就成功的完成同步重放的数据处理。然而,如果音频数据NB与音频数据NA的差别大大,在步骤S63和/或S70中,中央处理单元62不能找到目标相关性数据。在这种情况下,中央处理单元62按下述方法对音符事件重新定时。
首先,假定中央处理单元62没有找到任何与开始部分的参考相关性数据高度相关的目标相关性数据(i)。在这种情况下,在步骤S64中,中央处理单元62重复否定回答,计数器(i)最终达到947535。然后,步骤S65中得到肯定回答“是”,并且在步骤S80中,用户开始手动调整δ时间码。
手动调整过程如图48所示。首先,中央处理单元62定义计数器OT和OE,并将计数器OT和OE调整至0。计数器OT被分配有顶部偏移量,计数器OE被分配有底部偏移量。随后,中央处理单元62要求光盘驱动器1E停止数据传送并重新开始音频数据NB的开始部分的数据传送。当第一对音频音乐数据代码到达接口65a时,中央处理单元62开始测量经过的时间。当光盘驱动器1E每隔1/44100秒的规则间隔向接口65a传送音频音乐数据代码对时,中央处理单元62将采样值对提供到音频单元4E。通过扬声器44将多对采样值转换成电子音调。当中央处理单元62开始测量经过时间时,中央处理单元62从已存在随机存取存储器64中的标准MIDI文件内读出第一δ时间码,并将第一δ时间码所表示的时间与内部时钟进行对比,来确定内部时钟是否赶上该δ时间码。当得到肯定回答时,中央处理单元62将相关的音符事件提供到自动播放器钢琴3E。通过声学钢琴31A或音频单元4E再现了声学钢琴音调或电子音调。这样,在步骤S91中,同步重放系统在合奏下再现音乐片段N。
当中央处理单元62正在分别向音频单元4E和自动播放器钢琴3E传送采样值对和音符事件码时,中央处理单元62要求操作面板/显示器5E生成提示消息来提示用户调整顶部偏移量。当用户感觉声学钢琴音调早于电子音调时,用户可以按下“-”按键来延迟。另一方面,如果用户感觉声学钢琴音调滞后于电子音调时,用户可以按下“+”按键来超前。在操作面板/显示器5E上的操作被报告给控制器6E。当操作面板/显示器5E报告键座“-”操作时,中央处理单元将计数器OT增加1/75秒。另一方面,当用户按下“+”按键时,中央处理单元62将计数器OT减去1/75秒。增量和减量,即1/75秒等于单帧音频数据的时间周期。这样,用户通过听音乐片段来手动调整顶部偏移量。
当在音乐片段NB重放的好合奏下,用户通过自动播放器钢琴3E演奏时,中央处理单元62利用表达式11重新安排再现音符事件的定时。当完成δ时间码的调整后,中央处理单元62将调整后的δ时间码保存到随机存取存储器64中。当完成δ时间码的调整后,中央处理单元62对内部时钟和调整后的δ时间码进行对比,来确定音符事件是否将被提供到自动播放器钢琴3E。结果,在步骤S93,通过自动播放器钢琴3E再现的音乐片段的进度不是超前就是滞后,用户检查该同步重放系统,以再次观察通过自动播放器钢琴3E的演奏是否与音乐片段NB的重放合奏良好。
若该演奏仍然超前或滞后,则中央处理单元62返回步骤S92,并提示用户再次改变顶部偏移量。从而,用户重复地调整顶部偏移量直到步骤S93的回答被改变为肯定。当用户感到该重放将被良好合奏时,用户按下按键“进入”,则中央处理单元62进行到步骤S94。
随着步骤S93的肯定回答,在步骤S94,中央处理单元62通过显示器上产生的消息而提示用户调整底部偏移量。若用户感到通过自动播放器钢琴3E的演奏比通过音频单元4E的重放变得越来越早,则用户按下按键“-”。另一方面,当用户感到通过自动播放器钢琴3E的演奏比通过音频单元4E的重放变得越来越迟时,则用户按下按键“+”。当用户按下按键“-”时,中央处理单元62将计数器OE增加1/75秒。另一方面,若用户按下按键“+”,则中央处理单元62将计数器OE减少1/75秒。从而,用户可通过步骤S94手动调整底部偏移量。
当计数器OE被校准后,中央处理单元62利用表达式11重新安排定时以再现音符事件,并将校准后的δ时间码存储在随机存取存储器64中。在重新安排后,中央处理单元62比较内部时钟和校准后的δ时间码,以观察相关的音符事件码是否被提供到自动播放器钢琴3E。从而产生音符事件的定时被重新安排,并且用校准后的δ时间码控制该音乐片段的进度。当用户感到通过自动播放器钢琴3E的演奏与通过音频单元4E的重放合奏良好时,用户按下按键“进入”,则中央处理单元62在步骤S95得到肯定的答复。另一方面,若用户感到自动播放器钢琴3E与音频单元4E不同步,则中央处理单元62返回步骤S94,并重复步骤S94的数据处理,直到用户按下按键“进入”。随着步骤S95中的肯定答复,中央处理单元62结束步骤S80的手动校准,并进行到步骤S76。
中央处理单元62通过步骤S80手动调整顶部偏移量和底部偏移量而在步骤S76重新安排定时以再现音符事件,并在步骤S77开始同步重放。从而,即使音频数据NA和音频数据NB之间的差异很严重,第三实施例中的同步重放系统也可实现自动播放器钢琴3E和音频单元4E之间的良好合奏。
假设步骤S70的相关性分析失败。这意味着中央处理单元在结尾部分的一系列目标相关性数据中不能找到与参考结束音频数据高度相关的目标相关性数据,该结尾部分的目标相关性数据等效于从最后一对音频音乐数据代码开始而测量的10秒钟。因此步骤S73的回答为肯定。
随着步骤S73的肯定答复,在步骤S81,中央处理单元62利用参考特性事件码开始重排定时以再现音符事件。
首先,中央处理单元62请求光盘驱动器1E将音频数据NB从光盘CD-B传送到接口65a。光盘驱动器1E从光盘CD-B读出多个成对的音频音乐数据代码(0)、(1)......,并将它们以1/44100秒的规律间隔传送到接口65a。当第一对音频音乐数据代码(0)到达接口65a时,中央处理单元62启动内部时钟,并测量经过时间。当光盘驱动器1E将音频音乐数据代码对传送到接口65a时,中央处理单元62确定每一对音频音乐数据代码的到达时间,并使采样值对和它们的到达时间参加随机存取存储器64中的队列。而且,中央处理单元62还检查音频音乐数据代码对,以观察采样值对中是否有至少一个采样值超过了阈值。在这种情况下,该阈值被调整为1000。
当中央处理单元62发现采样值对中有至少一个采样值大于该阈值时,则中央处理单元62请求数字信号处理器63找到采样值对中的特性事件。对特性事件的数据处理类似于图37所示的过程,为避免重复就不再赘述。当数字信号处理器63发现每个特性事件时,数字信号处理器63就将该特性事件通知中央处理单元62。然后,中央处理单元62确定每个通知的到达时间,并将该特性事件码及其到达时间码存储在随机存取存储器64中。已经存储在标准MIDI文件中的特性事件和通过数据处理找到的特性事件被分别表示为“特性事件A”和“特性事件B”。
结束对从光盘CD-B读出的最后一对采样值的数据处理后,中央处理单元62比较与特性事件码A相关的δ时间码和与特性事件码B相关的到达时间码,并使特性事件A与特性事件B配对,如图49所示。
在左栏的开头是参考开始时间,特性事件A在左栏中的参考开始时间之后。第一特性事件A、第二特性事件A......在以下被标记为“A1”、“A2”......。另一方面,目标开始时间的总时间和顶部偏移量位于右栏的开头,特性事件B在右栏中的总时间之后。左栏的第一行对应于右栏的第一行,由左栏和右栏的第一行所指示的多个时间数据信息片段以下被称为“时间数据信息A”和“时间数据信息B”。
中央处理单元62首先计算(特性事件A1-时间数据信息A)/(特性事件B1-时间数据信息B),且计算结果为(1.51-1.15)/(1.01-0.65)=1.00。
随后,中央处理单元62检测这个商,以观察这个商是否落在预定的范围之内。在此情况下,假定预定范围是从0.97到1.03,即±3%。若这个商落在预定的范围内,则中央处理单元62假定特性事件A对应于特性事件B。预定范围±3%是可改变的。
这个商表示特性事件A1和B1之间的时间差为0。然后,中央处理单元62判断特性事件A1对应于特性事件B1。若这个商小于0.97,则特性事件A1早于特性事件B1,且中央处理单元62判断任何特性事件B都不对应于特性事件A1。然后,中央处理单元62检测特性事件A2和特性事件B1,以观察此误差是否落在预定的范围内。另一方面,若这个商大于1.03,则特性事件A1晚于特性事件B1,且中央处理单元62判断任何特性事件A都不对应于特性事件B1。然后,中央处理单元62检测特性事件A1和特性事件B2,以观察此时间差是否落在预定的范围内。
中央处理单元62随后检测特性事件A和B,以观察此时间差是否落在预定范围内。最后的特性事件A和B,是彼此对应的,以下被称为“特性事件An和Bn”。
随后,中央处理单元62根据相关的δ时间码所表示的经过时间,利用表达式{(时间数据信息B+(特性事件An+1-时间数据信息A)×(特性事件B-时间数据信息B)/(特性事件An-时间数据信息A)}来假设特性事件B的到达时间,即特性事件码B被预测到达接口65a的时间。
图50示出了特性事件B的假定到达时间。该假定到达时间与校准时间相等。在特性事件A1和B1被分别作为特性事件An和Bn的情况下,假定到达时间是这样计算的{0.65+(2.38-1.15)×(1.01-0.65)/(1.51-1.15)}=1.88。
中央处理单元62检测此计算结果,以观察特性事件B的到达时间和假定到达时间之间的差异是否落在-0.20秒和+0.20秒之间的范围内。当中央处理单元62确认该差异落在该范围内时,中央处理单元62判断特性事件Bn+1对应于特性事件An+1。范围±0.20是可变的。
若该差异小于-0.20秒,则中央处理单元62假定任何特性事件B都不对应于特性事件An+1,并改变特性事件An+1到下一个特性事件An+2用于上述数据处理。另一方面,若该差异大于+0.20秒,则中央处理单元62假定任何特性事件A都不对应于特性事件Bn+1,并改变特性事件Bn+1到下一个特性事件Bn+2用于重复上述的数据处理。
在特性事件A5和B5被分别作为特性事件An和Bn的情况下,中央处理单元62根据与特性事件A6相关的δ时间码所表示的经过时间而假定特性事件B在8.25秒到达。特性事件B6的实际到达时间为9.76秒,时间差为-1.51秒,不在±0.20秒的范围内。因此,中央处理单元62判断任何特性事件B都不对应于特性事件A6。
在特性事件A9和B8被分别作为特性事件An和Bn的情况下,中央处理单元62根据与特性事件A10相关的δ时间码所表示的经过时间而假定特性事件B在17.79秒到达。特性事件B9的实际到达时间为15.57秒,时间差为2.22秒,不在±0.20秒的范围内。因此,中央处理单元62判断任何特性事件A都不对应于特性事件B9。
在上述使特性事件A对应特性事件B的数据处理结束之后,中央处理单元假设由δ时间码表示的经过时间和特性事件B的到达时间之间的关系。中央处理单元62可使用最小均方法来进行假设。图51示出了通过最小均方法来假设经过时间(A)和到达时间(B)之间的回归线。该回归线被表示为B=1.0053A-0.5075。
随后,中央处理单元62从已经被传送到随机存取存储器64的标准MIDI文件中读出参考结束时间,并用参考结束时间,即173.11秒替换A。然后,目标结束时间被假设为173.52秒。
随后,中央处理单元62从目标结束时间减去参考结束时间,用于假设底部偏移量。中央处理单元62将底部偏移量存储在随机存取存储器64中。中央处理单元62产生系统专用事件码,用于存储顶部偏移量和底部偏移量,并将该系统专用事件码添加到随机存取存储器64中的标准MIDI文件。
当中央处理单元62将表示顶部偏移量和底部偏移量的系统专用事件存储在标准MIDI文件中时,中央处理单元62进行到步骤S76(参见图46),并通过步骤S76到S79的数据处理来重排音符事件。这将实现通过自动播放器钢琴3E的演奏和通过光盘驱动器/音频单元1E/4E的重放之间的理想同步。
本发明人证实,通过上述的数据处理音符事件被重排。音频模拟信号PL26是根据记录在光盘CD-B中的音频音乐数据代码对产生的。目标相关性数据是根据音频音乐数据代码对产生的,中程索引PL27和远程索引28是根据音频音乐数据代码对中存储的采样值对产生的。特性事件“B”是从中程/远程索引PL27/PL28中提取的。音符事件被安排在2.11秒、2.62秒、3.60秒......。然而,在音乐片段NB之前的静音时间周期短于音乐片段NA之前的静音时间周期。并且,音乐片段NB重放所消耗的时间周期长于音乐片段NA重放所消耗的时间周期。这意味着音乐片段NB的重放比音乐片段NA的重放开始的早,且通过自动播放器钢琴3E的演奏比音乐片段NB的重放要快。
本发明者通过图46所示的数据处理而重排音符事件。然后,利用表达式11音符事件被重排为1.62秒、2.13秒、3.11秒......。本发明者证实,自动播放器钢琴3E与光盘驱动器/音频单元1E/4E是完全同步的。这意味着该首音乐是通过自动播放器钢琴3E重放的,并且与光盘CD-B中记录的该首音乐合奏良好。
标准MIDI文件B的重放
当用户请求控制器6E在该首音乐NB的重放的合奏下,再现演奏时,用户可在软盘驱动器2E中装载存储有标准MIDI文件B的软盘。这样,控制器6E就不会进行图46所示的数据处理。中央处理单元62按以下操作。
首先,中央处理单元62请求软盘驱动器2E将标准MIDI文件B从软盘FD传送到接口65a,并将标准MIDI文件存储在随机存取存储器64中。
随后,中央处理单元62从标准MIDI文件B中读出顶部偏移量和底部偏移量,并通过表达式11来重排音符事件。校准的δ时间码被存储在随机存取存储器64中。
随后,中央处理单元62请求光盘驱动器1E将音频音乐数据代码对从光盘CD-B传送到接口65a。当第一对音频音乐数据代码(0)到达接口65a时,中央处理单元62启动内部时钟,从而测量经过时间。中央处理单元62将采样值对提供至音频单元4E从而电子音调可从扬声器44中放出来。
中央处理单元62从标准MIDI文件B得到与第一音符事件相关的δ时间,并比较内部时钟和δ时间码以观察所经过的时间是否等于δ时间码所指示的时间。当内部时钟赶上δ时间码时,中央处理单元62将第一音符事件提供至自动播放器钢琴3E,并从标准MIDI文件B得到与下一个音符事件码相关的δ时间码。中央处理单元62随后从标准MIDI文件B得到δ时间码,并在内部时钟赶上δ时间码时,将相关的音符事件码提供到自动播放器钢琴3E。声学钢琴音调是通过自动播放器钢琴3E而再现的,且用户可感到通过自动播放器钢琴3E的演奏与通过光盘驱动器/音频单元1E/4E的重放合奏良好。
然而,用户也可能感到自动播放器钢琴与光盘播放器/音频单元1E/4E不同步。然后,用户可手动校准定时以再现音符事件。更详细的,用户首先按下一个用于手动校准的按键。然后,中央处理单元62进行到步骤S80,并执行图48所示的数据处理。通过步骤S91到步骤S95而改变顶部偏移量和底部偏移量。当用户感到演奏与重放合奏良好时,用户就按下按键“进入”。然后,中央处理单元62将顶部偏移量和底部偏移量存储在随机存取存储器64的标准MIDI文件B中。
若用户希望将标准MIDI文件B存储在软盘FD中,则用户按下用于保存的按键。然后,中央处理单元62将表示标准MIDI文件B的数据和保存请求一起提供到软盘驱动器2E。软盘驱动器2E重写从中央处理单元62接收到的标准MIDI文件B。
由上述说明可知,同步播放器系统可在预先记录模式中至少存储开头部分的参考相关性数据、参考开始时间、参考结束音频数据和参考结束时间、以及音符事件,并在同步重放模式中重排音符事件。在同步重放模式中,中央处理单元对开头部分/参考结束音频数据的目标相关性数据和参考相关性数据进行相关性分析,以判断记录在光盘CD-B上的音乐片段B的目标开始时间和目标结束时间。当目标开始时间和目标结束时间已知时,则中央处理单元62利用表达式11确定顶部偏移量和底部偏移量、参考开始时间和目标开始时间之间的时间差以及参考结束时间和目标结束时间之间的时间差、并确定再现音符事件的定时。当结束重排后,控制器6E再现彼此良好合奏的通过自动播放器钢琴3E的演奏和通过光盘驱动器/音频单元1E/4E的重放。
若在预先记录中进一步提取参考特性事件,则参考特性事件与音符事件码一起被存储在存储器中。在此情况下,控制器6E首先从由光盘CD-B中存储的采样值对而产生的中程/远程索引中提取目标特性事件,并寻找与最后参考特性事件配对的最后目标事件。当最后目标特性事件被找到时,中央处理单元62确定顶部偏移量和底部偏移量,并重排音符事件。从而,即使控制器6E没有找到与参考结束音频数据高度相关的目标相关性数据,中央处理单元62也可通过对参考和目标事件的数据处理而确定底部偏移量,并使自动播放器钢琴3E再现与光盘驱动器/音频单元1E/4E同步的演奏。
第一修改方案
图53示出了同步播放器系统的第一修改方案。实现本发明的同步播放器系统的第一修改方案大体还包括光盘驱动器1F、软盘驱动器2F、自动播放器钢琴3F、音频单元4F、操作面板/显示器5F和控制器6F。软盘驱动器2F、自动播放器钢琴3F、音频单元4F和操作面板/显示器5F与前述同步播放器系统的结构和功能是类似的,其组成部分被标记为与图32中所示的组成部分相对应的标记。虽然控制器6F与控制器6E的数据处理稍微有所不同,其系统构成与控制器6E是相似的,为此构成部件标有指示控制器6E的相应构成部件的参考标记而不需要详细说明。。
第一修改方案还可选择性的进入预先记录模式和同步重放模式,在这些模式中的操作通常与同步重放系统的操作相同。因此,将重点说明与同步重放系统执行的数字处理的差异。
光盘驱动器1F顺序的从光盘CD-A和CD-B读出音频音乐数据代码和音频时间数据代码,并将音频音乐数据代码和音频时间数据代码都传送到控制器6F。这是和光盘驱动器1E的操作不同的地方。对每个帧都提供音频时间数据代码,其中每个帧写入有588对音频音乐数据代码,而从重放起始所经过的时间由音频时间数据代码来表示。
控制器6F一直将时钟信号提供到光盘驱动器1F,而光盘驱动器1F与时钟信号同步地将音频音乐数据代码传送到控制器6F。当中央处理单元62将采样值对存储到随机存取存储器64中时,中央处理单元62将最后的音频时间数据复制到δ时间码中,并将δ时间码和采样值对一起存储。若数据处理要求精确的时间数据,则中央处理单元62确定一个计数器,并在接收到每对音频音乐数据代码时累加计数器,从而通过对音频音乐数据代码之间的时间间隔按比例分配而准确确定了时间。
当中央处理单元62提取特性事件和接收音符事件时,音频事件数据代码陆续到达接口65a从而中央处理单元62由最后音频时间代码而产生δ时间码。
在该第一修改方案中,数据处理并不要求任何内部时钟,例如由计数器或软件定时器实现的时钟,因此系统结构或计算机程序被简化了。
其它修改方案
在上述第三实施例及其修改方案中,自动播放器钢琴3E/3F还被提供有系统组件1E/1F、2E/2F、4E/4F、5E/5F和6E/6F。然而,第二修改方案是由物理上相互分离的多个组件构成的。实施第二修改方案的同步播放器系统可以在物理上分离为多个组件,例如
15.光盘驱动器1E/1F,
16.软盘驱动器2E/2F,
17.自动播放器钢琴3E/3F,
18.混音器/数字-模拟转换器41/42
19.放大器43,
20.扬声器44,和
21.操作面板/显示器和控制器5E/5F和6E/6F。
并且,控制器6E/6F可以在物理上分离为记录部分和重放部分。
这些系统组件可以通过音频电缆、MIDI电缆、用于音频信号的光纤、USB(通用串行总线)电缆和/或新设计的用于同步重放系统的电缆而被连接。市场上可售的标准软盘驱动器、标准放大器和标准扬声器都可应用在根据本发明的同步重放系统。
分离类型的同步重放系统是用户所希望的,因为用户可利用某些已有的系统组件来构建他们自己的系统。
同步重放系统的第三修改方案不包括光盘驱动器1E/1F和软盘驱动器2E/2F,但控制器6E/6F具有硬盘驱动器和与LAN(局域网)、WAN或互联网相连的接口。在此情况下,音频数据代码从适当的数据源通过该接口而被提供,并被存储在硬盘中。类似的,标准MIDI文件通过该接口从外部数据源被传送,并被存储在硬盘上。当用户敲击键盘31a时,音频音乐数据代码从硬盘被读出,并从被传送到音频单元4E/4F以将它们转换为电子音调。事件码和δ时间码被存储在音轨块中,标准MIDI文件被留在硬盘中。
在实施第三实施例的同步重放系统中,数字信号处理器63通过对绝对相关索引的分析、对相对相关索引的分析和对相关值的分析而执行相关性分析。虽然这三种分析可使相关性分析更为准确,但进行三种分析过于繁琐。因此,第四修改方案通过这三种分析中的一种或两种而执行相关性分析。
第五修改方案只通过表达式(10)来进行步骤S52的判断。更详细的,数字信号处理器计算Dm-1和Dm之间的乘积,并进行检测以观察这个乘积是否等于或小于零。当此乘积等于或小于零时,相关值函数中的变化率为零或它的变化经过零。这意味着相关值最大或者在最大值的附近。因此,步骤S52中的回答为肯定。在不可能具有彼此很接近的最小值和最大值的情况下,通过简单的数据处理可获得相同的回答。
在第三实施例中,当采样值超过了阈值时,中央处理单元62确定参考开始时间和参考结束时间。相应的,在开头部分的参考相关性数据和参考结束音频数据可由音乐NA开头部分的参考原始资料和音乐NA结尾部分的参考原始资料而产生。另一方面,中央处理单元根据第六修改方案中音乐NA的任意部分的某个原始资料而确定参考开始时间和参考结束时间。例如,中央处理单元可指定从重放开始的某个经过时间和重放结束之前的另外某个时间分别作为第六修改方案的参考开始时间和参考结束时间。这个特征对于现场音乐会中记录音乐是十分需要的。即使声音和/或鼓掌与记录的音乐混合在了一起,参考原始资料可从该音乐的适当部分被提取出来而不会受到声音和/或鼓掌的影响。在演奏开始之后可立即重复一个通路。即使这样,原始资料也可从表示一个特性通路的音乐片段的中间部分被提取出来。
第七修改方案的特殊特征是一个标签或存储在标准MIDI文件中的一个判别信息。该标签可以表示专用于光盘CD-B的判别数据或是音乐片段NB被记录的音轨号的结合。该判别数据被存储在光盘CD-B中作为索引,从而中央处理单元62可请求光盘驱动器从光盘的索引来传送该判别数据。中央处理单元62产生一个系统专用事件码,其中存储有表示音轨号和判别号的复合数据,并将系统专用事件码添加到标准MIDI文件中。当标准MIDI文件完成时,中央处理单元62将其传送到软盘驱动器,并请求软盘驱动器将其存储在软盘内。
在将光盘和软盘分别装载在光盘驱动器和软盘驱动器中之后,假定用户指示第七修改方案执行同步重放。当用户指定了光盘中存储的一首音乐时,中央处理单元请求光盘驱动器将分配给该光盘的判别数据和该首音乐被记录的音轨号传送到接口。
随后,中央处理单元将判别数据和音轨号提供到软盘驱动器,并请求软盘驱动器在软盘中搜索标准MIDI文件,该文件中存储有表示相同判别数据和相同音轨号的系统专用事件。若软盘驱动器成功的完成了搜索,则软盘驱动器将标准MIDI文件传送到控制器,控制器启动同步重放。另一方面,若软盘驱动器无法在软盘中找到标准MIDI文件,则软盘驱动器向控制器报告搜索失败,并且该控制器请求操作面板/显示器产生一个错误消息。
第七修改方案简化了对软盘的管理。并且,第七修改方案可自动搜索软盘中的音乐片段从而用户可以很容易的欣赏到同步重放。
第四实施例
图54示出了根据本发明的另一个同步播放器系统。实施第四实施例的同步播放器系统也大体包括光盘驱动器1G、软盘驱动器2G、自动播放器钢琴3G、音频单元4G、操作面板/显示器5G和控制器6G。光盘驱动器1G、软盘驱动器2G、自动播放器钢琴3G、音频单元4G和操作面板/显示器5G与前述同步播放器系统的1E/2E/3E/4E/5E的结构和功能是类似的,其组成部分被标记为与图32中所示的组成部分相对应的标记。虽然控制器6G与控制器6E的数据处理稍微有所不同,其系统构成与控制器6E是相似的,因此,关于与控制器6E的相应组件标有对应的标记的组件不再赘述。
图55示出了一个标准MIDI文件MFE,它对于实施第四实施例的同步播放器系统是可用的。标准MIDI文件MFE被拆分为头部块HC和音轨块TC。头部块HC被分配给表示音轨块TC中存储的音乐数据格式的控制数据片段和时间单元。音轨块TC被分配给MIDI音乐数据代码,即音符事件码、系统专用事件码和δ时间码。δ时间码表示一个事件码和下一事件码之间的时间间隔或从重放开始所经过的时间。在此情况下,δ时间码用秒表示从重放开始所经过的时间。然而,δ时间码也可表示另一系统中的一个事件和下一事件之间的时间间隔。
图56A、56B和56C示出了MIDI音乐数据代码的格式。图56A示出了有音符事件码EV1E的数据段DF1/DF2/DF3,图56B示出了无音符事件码EV2E的数据段DF4/DF5/DF6,图56C示出了系统专用事件码EV3E的数据段DF7/DF8/DF9/DF10。为了使除了系统专用事件码之外的其他事件码更明显,其他事件码以下被称为“音符事件码”。数据段FD1到DF10的内容与前述结合第一实施例描述的事件码的内容是相同的,因此,为避免重复以下不再赘述。
事件码EV1E、EV2E和EV3E不具有任何时间数据片段,并用于音调产生、音调衰减和其他控制。也就是说,事件码EV1和EV2被立即执行用于控制音调,而用户的数据也被立即处理。这些种类事件码EV1E、EV2E和EV3E形成了标准MIDI文件MF的音轨块。
预先记录
在光盘CD-A中记录的音乐片段的重放的合奏下,用户演奏音乐片段。虽然光盘CD-A中记录有多首音乐,但用户选择其中一首音乐,从多首音乐中被选择的这一首以下被称为“音乐片段N”,而表示音乐片段N的音频音乐数据代码集合被称为NA。
用户首先将光盘CD-A装载在光盘驱动器1G中,将软盘FD装在软盘驱动器2G中,该软盘的记录容量足够存储通过预先记录而被创建的一个标准MIDI文件。用户按下操作面板/显示器5G上的指示键,从而中央处理单元62得知用户的指令,并启动预先记录。然后,中央处理单元62通过接口65a将表示重放请求的控制信号提供到光盘驱动器1G。
光盘驱动器1G驱动光盘CD-A旋转,并将音频音乐数据代码传送到接口65a。一对音频音乐数据代码以1/44100秒的间隔被传送到接口65a用于右声道和左声道。这对音频音乐数据代码被表示为(R(n),L(n)),而音频音乐数据代码的R(n)/L(n)的值以下被称为“采样值(n)”。“n”表示从音频音乐数据代码集合NA的开头计算出的这对音频音乐数据代码(R(n),L(n))的位置。第一对音频音乐数据代码被表示为(R(0),L(0)),“n”按照“1”、“2”、“3”......的次序而增加。该采样值是个整数,所有的采样值都落在-32768和+32767的范围内。“n”表示音轨中音频音乐数据代码的位置。
当第一对音频音乐数据代码(R(0),L(0))到达接口65a时,中央处理单元62从接口65a获得音频音乐数据代码对(R(0),L(0)),并开始计数时钟信号的时钟。也就是说,中央处理单元62启动内部时钟以测量从第一对音频音乐数据代码(R(0),L(0))的到达时间起经过的时间。第一对音频音乐数据代码(R(0),L(n))的到达时间为0.00秒。
当音频音乐数据代码对(R(0),L(0))、(R(1),L(1))、(R(2),L(2))......到达接口65a时,中央处理单元62成功的将音频音乐数据代码对(R(n),L(n))传送到自动播放器钢琴3G,并将其转换为伴随该音乐片段N的电子信号。光盘播放器1G继续传送所有的音频音乐数据代码对直到音乐片段N结束。
中央处理单元62还可以在随机存取存储器64中存储音频音乐数据代码对的采样值对(n)和音频音乐数据代码对(R(n),L(n))的到达时间。该音频音乐数据代码对(R(n),L(n))的到达时间被表示为“到达时间(n)”。
采样值对(n)和相关的到达时间(n)按顺序加入一队列。在此情况下,该队列最多能容纳1323000对采样值及其到达时间(n)。当采样值对(1323001)和到达时间(1323001)到达该队列时,第一对采样值(0)和到达时间(0)被推出该队列,而新的采样值对(1323001)和到达时间(1323001)排在该队列的末尾。该1323000对采样值等同于持续30分钟的电子音调。中央处理单元62使采样值对(n)及其到达时间(n)顺序加入该队列,直到最后一对采样值及其到达时间为止,并保持该队列的长度不变。
中央处理单元62在静音时间,即开始产生第一电子音调之后,还可在随机存取存储器64中存储216对采样值。216个采样值,即65536对音频音乐数据代码等同于持续1.49秒的电子音调。该216对采样值以下被称为“开头部分的参考原始资料”。
更详细的,当第一对音频音乐数据代码(R(0),L(0))到达中央处理单元62时,中央处理单元62启动对音频音乐数据代码对(R(0),L(0))到(R(65535))的检测,以观察该对的采样值是否超过了阈值。该阈值表示静音和第一音调之间的边界。在此情况下,该阈值被假定为1000。音频音乐数据代码对(R(50760),L(50760))的至少一个采样值被假定超过了阈值。当“n”从0到50759累加时,回答是否定的,则中央处理单元62忽略从(R(0),L(0))到(R(50759),L(50759))的这些音频音乐数据代码对。也就是说,中央处理单元62并不在随机存取存储器64中累积(R(0),L(0))到(R(50759),L(50759))的这些音频音乐数据代码对。静音时间周期约为1.15秒。
当“n”到达50760时,中央处理单元62将回答改变为肯定。随着肯定的回答,中央处理单元62确定了采样值超过了边界的参考开始时间,并将采样值对(50760)与参考开始时间一起存储在随机存取存储器64中。中央处理单元62顺序的将65536对采样值传送到随机存取存储器64,从而(R(50760),L(50760))到(R(116295),L(116295))的这些音频音乐数据代码对的采样值积累在随机存取存储器64中而不需与阈值相比较。因此,表示静音或几乎静音的音频音乐数据代码对的采样值不在随机存取存储器64中积累。(R(50760),L(50760))到(R(116295),L(116295))的这些音频音乐数据代码对的采样值被作为开头部分的参考原始资料,且参考开始时间为1.15秒。
当中央处理单元62结束开头部分的参考原始资料的积累时,中央处理单元62请求数字信号处理器63根据开头部分的参考原始资料产生开头部分的参考相关性数据片段。开头部分的相关性数据片段等同于在172.27Hz处采样的音频数据片段。数字信号处理器63从开头部分的原始资料片段而产生开头部分的参考相关性数据片段。开头部分的参考相关性数据片段被用于音频音乐数据代码对和其他音频音乐数据代码对之间的相关性分析。
图57示出了用于从开头部分的参考原始资料或采样值对(n)而产生开头部分的参考相关性数据片段的方法。该方法以计算机程序的形式被存储在程序存储器中。当数字信号处理器63得知该请求时,在步骤S1,数字信号处理器63首先从随机存取存储器64中读出参考原始资料片段,即音频音乐数据代码对(R(n),L(n))的采样值,并在步骤S2,计算每一音频音乐数据代码对(R(n),L(n))的采样值的算术平均值,用于将立体声音频音乐数据转换为单声道音频音乐数据。从立体声音频音乐数据到单声道音频音乐数据的转换使数字信号处理器63的负载减轻了。
随后,在步骤S3,数字信号处理器63从通过等同于高通滤波的数据处理所得到的算术平均值中去除表示模拟音频信号的直流分量的值。所计算的值在正值范围和负值范围绘出。为了使相关性分析更为准确,最好使计算的值分散在正值和负值范围内。从而,等效于高通滤波器的数据处理使相关性分析十分可靠。
随后,在步骤S4,计算的值被变为绝对值。通过该绝对化可确定用于计算值的采样值的幂次的替换值。该绝对值小于表示该幂次的平方数,并且易于进行随后的数据处理。不过,若数字信号处理器63具有非常强的数据处理能力,则数字信号处理器63可计算该平方数,而不是绝对值。
随后,在步骤S5,数字信号处理器63通过等效于梳线滤波器的数据处理而从绝对值中提取表示原始音频信号波形的变化趋势的低频分量。虽然该低频分量通常是通过等效于低通滤波器的数据处理来提取的,然而等效于梳线滤波器的数据处理比等效于低通滤波器的数据处理的负载更轻一些。因此,采用等效于梳线滤波器的数据处理,即梳状线滤波。
图58示出了一个梳线滤波器的电路结构。方框代表延时电路,三角形框代表相乘。“Z-k”被放置在左边方框中,“k”表示延迟时间等于(采样周期×k)。采样频率为44100Hz,从而采样周期等于1/44100秒。乘法器被分别放在三角形框中。在图58中,“k”的计算如下:
k=(44100-π×f)/(44100+π×f)           ......表达式12
通过与乘数“k”相乘的数据处理使梳线滤波器可实现在频率f处的高通滤波,而直流分量就从绝对值中被完全消除了。需要用试验方法优化“k”和“f”从而提高相关性分析的准确性。
返回图57,在步骤S6,数字信号处理器63执行等效于低通滤波器的数据处理,用于避免通过下一步骤的降采样得到的采样数据出现重叠噪声。正如结合下一步骤S7所描述的,数字信号处理器63将44100Hz处的采样值转换为在172.27Hz处的降采样值,出现了重叠噪声。为了避免降采样值的重叠噪声,必须消除高于86.13Hz,即172.27Hz的一半的频率分量。虽然梳线滤波器基本消除了采样值对的高频分量,但仍有高频分量留在采样值中。因此,数字信号处理器63在降采样之前就完全消除了采样值中的高频分量。在数字信号处理器63具有很强的数据处理能力的情况下,数字信号处理器63可执行等效于高精度低通滤波的数据处理,而不进行步骤S5和S6的两种数据处理。
随后,在步骤S7,数字信号处理器63从每256个采样值中选择一个采样。即,数字信号处理器63以1/256执行降采样。结束降采样后,数据量从65536减少到256。在降采样之后的采样可作为开头部分的参考相关性数据片段。数字信号处理器63的负载通过降采样被减轻了。若数字信号处理器63具有很强的数据处理能力,则数字信号处理器63直接从步骤S6进行到步骤S8。最后,在步骤S8,数字信号处理器63将开头部分的参考相关性数据片段存储在随机存取存储器64中。因此,数字信号处理器63从开头部分的原始资料片段可产生开头部分的参考相关性数据片段,并将开头部分的参考相关性数据片段存储在随机存取存储器64中。
当开头部分的参考原始资料的第一片段到达接口65a时,中央处理单元62还请求数字信号处理器63在所有的参考原始资料片段中寻找特性事件。数字信号处理器63通过等效于预定频率低通滤波的数据处理而从队列中的采样值对中提取低频分量,并进一步通过等效于低于所述预定频率的另一个预定频率低通滤波的数据处理而从队列中的采样值对中提取极低频分量。结束了等效于不同频率的低通滤波的数据处理之后,数字信号处理器63比较该低频分量和极低频分量,以观察是否发生特性事件。该特性事件是一种标志或定时校准中使用的定时数据。
图59示出了用于产生表示特性事件的管理信息片段的方法。该方法被表达为由数字信号处理器63执行的一个计算机程序。
当数字信号处理器63接收到产生管理信息的请求时,数字信号处理器63在步骤S0启动计算机程序。在步骤S11,数字信号处理器63从随机存取存储器64中的队列读出预定数目的采样值对。从该队列的尾端执行数据传送。在此情况下,预定的数目为44100。当然,其他自然数也可作为预定数目。在随后的说明中,从队列读出的采样值对被称为“原始资料片段”,而包含尾端采样值对(n)的原始资料片段集合,被称为“原始资料片段(n)”。若随着产生管理信息的请求被接收,采样值对(50760)占据队列的尾端,则采样值对(6601)到(50760)被从随机存取存储器64读出,并形成了原始资料。
随后,在步骤S12,从每一对采样值计算算术平均值。该运算操作等效于从立体声声音到单声道声音的转换。该算术平均值使得数字信号处理器63的负载减轻了。
随后,在步骤S13,数字信号处理器63确定该算术平均值的绝对值。通过该绝对化可获得该幂次的替换值。该绝对值小于表示该幂次的平方数,并且易于进行随后的数据处理。不过,若数字信号处理器63具有很大的数据处理能力,则数字信号处理器63可计算该计算值的平方数,而不是绝对值。
随后,在步骤S14,数字信号处理器63对该绝对值执行等效于低通滤波的数据处理。在此情况下假定截止频率为100Hz。当然,其他频率也可作为截止频率。结束了等效于低通滤波的数据处理之后,可获得用于采样值的中程索引。该用于采样值(n)的中程索引被表示为“中程索引(n)”。中程索引(n)表示在对应于中程的音频波形中的采样值对(n)的时刻的变化趋势。通常,音频波形在短程内频繁变化。通过等效于低通滤波的数据处理可从一系列采样值对中消除在短程内的变化,因为短程变化受到先前的采样值对的限制。结果,表示中程变化和远程变化的数据信息被留在数字信号处理器63中。也就是说,中程索引...(n-2)、(n-1)、(n)被留在数字信号处理器63中。在步骤S15,数字信号处理器63将中程索引传送到随机存取存储器64中,用于将该索引存储在随机存取存储器64中。
随后,在步骤S16,数字信号处理器63通过梳线滤波器而执行等效于低通滤波的数据处理。在步骤S16的截止频率低于步骤S14的截止频率。这等效于从中程索引所表示的波形中提取极低频分量。对于数字信号处理器63梳线滤波器是需要的,因为等效于梳线滤波器的数据处理比等效于低通滤波器的数据处理负载要轻。
图60示出了等效于梳线滤波器的数字处理。方框和圆圈形成了串联的两个环路,而三角框连接在第二个环路和数据输出端之间。方框将延迟引入了信号传播,“Z-k”表示延迟时间等于采样周期和常数k的乘积。如前所述,采样频率为44100Hz。这表示采样周期为1/44100秒。三角框表示乘法,“1/k”为乘数。在以下说明中,“k”被假定为等于22050。高于1Hz的频率分量通过等效于梳线滤波器的数据处理几乎都从中程索引中被消除。因此,结束了步骤S16的数据处理后,表示远程变化的分量被保留在数字信号处理器63中。
随后,数字信号处理器63将表示远程变化的一系列分量都乘以一个正的常数“h”。随着下一步骤S19的肯定回答,通过步骤S17的乘法,该频率被调整为一个适当的值。若“h”很小,则肯定回答和下一个肯定回答之间的时间间隔很窄。在肯定回答之间的时间间隔过宽的情况下,特性事件以很长的时间间隔而产生,而定时校准的准确性就下降。另一方面,若肯定回答之间的时间间隔很窄,则在步骤S20,肯定回答可能被取消,且特性事件经很长的时间间隔才能得到。这将导致定时校准的准确性下降。在此情况下,乘数“h”是经试验确定的。结束了步骤S17的乘法后,远程索引被留在数字信号处理器63中。对应于采样值(n)的远程索引以下被称为“远程索引(n)”。因此,结束了步骤S17的数据处理之后,远程索引...(n-2)、(n-1)和(n)被留在数字信号处理器63中。在步骤S18,数字信号处理器63将远程索引传送到随机存取存储器64中,而远程索引被存储在随机存取存储器64的预定存储区域中。
随后,数字信号处理器从随机存取存储器64中读出中程索引(n)和远程索引(n),并将它们相互比较,以观察中程索引(n)是否等于或大于远程索引(n),以上是步骤S19。在步骤S19的肯定回答表示在对应于采样点(n)的一个点上由参考原始资料表示的音频波形的中程范围的突变。更详细的,当音频波形上1Hz和100Hz之间的频率范围内的音量突然增加时,中程索引变得大于远程索引,步骤S19的回答为肯定“是”。然后,数字信号处理器63在所述比较为肯定回答的当前时间检测内部时钟,并将该当前时间存储在随机存取存储器64中。
随后,数字信号处理器63读出从随机存取存储器64获得先前肯定回答的时刻,并从当前时间减去先前肯定回答的时刻,以观察该差异是否等于或小于预定值τ,这是步骤S20。若该差异大于预定值τ,则说明从前一个特性事件的产生已经有很长时间了。因此,步骤S20的数据处理避免了中央处理单元62处理以短间隔产生的许多特性事件。若特性事件太多,则很难使从光盘CD-B读出的音频音乐数据代码的一系列采样值中的特性事件准确的对应于从存储在光盘CD-A中的音频音乐数据代码(R(n),L(n))的采样值所产生的特性事件。预定值τ是由试验确定的。当然,当数字信号处理器63获得第一个肯定回答时,在随机存取存储器64中不再有任何时间。此时,在步骤S20的回答自动成为否定。
随着步骤S20的否定回答,数字信号处理器63在步骤S21产生特性事件,并通知中央处理单元62该特性事件。
若步骤S19的回答是否定的,则数字信号处理器进行到步骤S22。在步骤S20的回答为肯定的情况下,数字信号处理器63也进行到步骤S22。当结束步骤S21的工作之后,数字信号处理器63也进行到步骤S22。数字信号处理器63等待下一对音频音乐数据代码(R(n+1),L(N+1))。当下一对音频音乐数据代码到达接口65a时,中央处理单元62将采样值对(n+1)传送到音频单元4C,且采样值对(n+1)及其到达时间加入随机存取存储器64中的队列。中央处理单元62要求数字信号处理器63重复该数据处理。然后,数字信号处理器63从随机存取存储器64中获得包含末尾的采样值对(n+1)的参考原始资料,并返回步骤S11。
因此,数字信号处理器重复步骤S11到S22构成的环路,直到包含最后一对采样值的原始资料为止。从而,数字信号处理器63在该首音乐期间从原始资料或音频音乐数据代码对的集合中提取了多个特性事件。
本发明者验证了图59所示的计算机程序所表示的数据处理。在步骤S14,使用IIR(无限脉冲响应)滤波器作为低通滤波器。常数“h”在步骤S17为4,时间周期τ为0.55秒。该数据处理可得到曲线PL16E和PL17E及图61所示的特性事件。曲线PL16E表示中程索引,曲线PL17E表示远程索引。当中程索引PL16E变为等于或超过远程索引PL17E时,数字信号处理器63产生特性事件。虽然中程索引在A、B、C处的瞬间超过了远程索引,如大圆圈所示,数字信号处理器63仅在A点产生特性事件,因为0.55秒的预定时间还未终止,直到点B和C(参见图59的步骤S21)。从音乐片段NA提取的特性事件以下被称为“参考特性事件”。
当光盘驱动器1G通过控制器6G开始向音频单元4G传送音频音乐数据代码时,用户已准备好演奏该音乐片段。当电子音调通过音频单元4G正在产生时,用户可选择性的按下和释放黑/白键,并踏上踏板31e。声学钢琴音调可通过音弦31d的振动而产生,按键传感器32和踏板传感器33向控制器34报告按键运动和踏板运动。控制器34产生表示有音符事件、无音符事件和将被加到声学钢琴音调上的效果的事件码,并将该音符事件码提供到接口65a。因此,中央处理单元62不仅从数字信号处理器63接收参考特性事件码还从自动播放器钢琴3G接收音符事件码。
图62示出了在预先记录模式中的合奏期间产生的特性事件和音符事件。中程索引和远程索引分别按照曲线PL16E和曲线PL17E所指示的而改变,而时间沿横坐标向右侧延伸。从第一对音频音乐数据代码的到达的1.51秒,即参考开始时间后,发生第一特性事件,而其他特性事件发生在2.38秒、4.04秒......。另一方面,中央处理单元62在2.11秒接收第一事件码,而其他事件码到达接口65a的时间为2.62秒、3.06秒......。从而,特性事件码和音符事件码在合奏期间以实时方式产生。虽然中程索引PL16E在1.78秒处超过了远程索引17E,但中央处理单元62并不接收任何特性事件,因为0.55秒的预定周期还未结束。
当将参考特性事件码通知了中央处理单元62时,中央处理单元62产生系统专用事件码用于在其中存储参考特性事件,并检测内部时钟,以观察在什么时间参考特性事件到达那里。中央处理单元62产生指示到达时间的δ时间码,并将δ时间码和参考特性事件码存储在随机存取存储器64中。
类似地,当中央处理单元62获得音符事件码时,中央处理单元62检测内部时钟,以观察在什么时间音符事件码到达那里。中央处理单元62产生指示到达时间的δ时间码,并将δ时间码和音符事件码存储在随机存取存储器64中。
假定光盘驱动器1G使最后一对音频音乐数据代码、最后一对音频音乐数据代码的采样值和到达时间一起加入队列末尾,则数字信号处理器63对包含末尾处最后一对采样值的原始资料执行数据处理以寻找参考特性事件。当结束最后的数据处理后,中央处理单元62进行到计算机程序以寻找音频音乐数据代码对集合中的音乐片段N的结尾。
更详细的,当中央处理单元62完成了对参考特性事件的数据处理时,最后一对采样值和其他1322999对采样值及其到达时间一起都被留在队列中。若最后一对采样值被表示为采样值对(7673399),则采样值对(6350400)到最后一对采样值(7673399)与它们的到达时间已一起加入队列。
中央处理单元62读出队列末尾的采样值对,并检测这对采样值,以观察这对采样值中是否有至少一个采样值超过阈值,在此例中阈值为1000。若回答是否定的,则中央处理单元62读出末尾的倒数第二对采样值,并检测这对采样值,以观察这对采样值中是否有至少一个采样值超过阈值。当回答是否定时,中央处理单元62从队列中从后向前读出采样值对,并重复比较采样值和阈值。
其中一个采样值(7634297)被假设为超过了阈值。采样值对(7673399)到采样值对(7634298)都没有超过阈值。这意味着在音频音乐数据代码对的集合末尾,静音时间持续了0.89秒。包含至少一个大于该阈值的采样值的这一对采样值,以下被称为“采样值对(Z)”。音乐片段N在采样值对(Z)处结束。当中央处理单元62找到音频音乐数据代码对集合中的采样值对(Z)时,中央处理单元62就不再继续搜索音乐片段的结尾。
当结束了在队列中搜索音乐片段结尾的数据处理时,中央处理单元62进行到计算机程序,用于产生在结尾部分的参考相关性数据片段或结束音频数据。中央处理单元62通过计算机程序所表示的数据处理,从结尾部分的原始资料,即队列中的采样值对而产生结尾部分的参考相关性数据片段。该计算机程序与数字信号处理器63执行的几项工作一起在图63中被示出。
在以下说明中,采样值对(W)位于队列的开头,“W”和“Z”被分别假设为6350400和7634297。“W”和“Z”在其他例子中可以为其他值。这表示采样值对(6350400)到采样值对(7673399)与它们的到达时间一起加入该队列。采样值对(7634297)位于音乐片段N的末尾。65536对采样值被称为“在结尾部分的原始资料片段(n)”,而采样值对(n)占据末尾部分的原始资料的末尾。
首先,中央处理单元62将计数器i和j设为“Z”,即分别为7634297和0,这是步骤S31,并请求数字信号处理器从结尾位置(i-j)的参考原始资料而产生在结尾位置的参考相关性数据片段或结束音频数据。用于产生结尾位置的参考相关性数据片段的数据处理类似于前述的用于产生开头部分的参考相关性数据片段的处理。当结束了数据处理后,数字信号处理器63在随机存取存储器中存储了结尾部分的256段参考相关性数据,以上是步骤S32。从而,结尾部分的256段参考相关性数据(n)可从结尾部分的参考原始资料(n)而获得。由于(i-j)为7634297,所以结尾部分的参考相关性数据(7634297)被存储在随机存取存储器64中。
随后,中央处理单元62检测计数器j以观察该计数器j是否达到881999,这是步骤S33。存储在计数器j中的值小于881999,则步骤S33的回答为否定,并且中央处理单元62将计数器j累加1,这是步骤S34。在计数器j累加之后,中央处理单元62返回步骤S31。从而,中央处理单元逐步的从原始资料的末尾移位1,并对等效于20秒的采样值对重复从步骤S32到步骤S34的数据处理881999次。也就是说,在结尾部分的原始资料被更新882000次。当数字信号处理器63结束了对65536对采样值的第882000组的数据处理后,中央处理单元62发现计数器j为881999,而步骤S33的回答变为肯定。当步骤S33的回答变为肯定时,参考相关性数据(7634297)、参考相关性数据(7634296)、......和参考相关性数据(6752298)被存储在随机存取存储器64中。
随后,中央处理单元62请求数字信号处理器63在参考相关性数据(i)和参考相关性数据(i-j)之间执行相关性分析,这是步骤S35。数字信号处理器63确定在两个音频数据集合之间的相似性,并且以下将要参照图42描述相关性分析的数据处理。
当中央处理单元62请求数字信号处理器63执行相关性分析时,中央处理单元62规定“源音频数据”和“将被分析的音频数据”。在此情况下,源音频数据就是结尾部分的参考相关性数据(i),而将被分析的音频数据就是参考相关性数据(i-j)。源音频数据片段被表示为X(0)到X(255),而将被分析的音频数据片段被表示为Ym(0)到Ym(255)。“m”为(i-j),并等于采样值对集合末尾处的采样值对(n)的“n”。
当数字信号处理器63得知相关性分析的请求时,数字信号处理器63读出参考相关性数据片段(i)和参考相关性数据片段(i-j)。
随后数字信号处理器63确定一个绝对相关索引,并比较绝对相关索引IDXEa和常数p以观察绝对相关索引IDXEa是否等于或大于常数p。
Σ I = 0 255 ( x ( i ) × Y m ( i ) ) / Σ i = 0 255 ( x ( i ) 2 ) ≥ p .....表达式13
表达式13的左侧表示绝对相关索引IDXEa,常数p的取值范围从0到1。在第一次计算中,“i”为7634297,m等于(i-j),即6752298。当源音频数据X(0)到X(255)分别接近于将被分析的音频数据Ym(0)到Ym(255)时,绝对相关索引IDXEa具有一个接近于1的较大值。若表达式13成立,则该结果表示与另一音乐通路高度相关的一个音乐通路,且上述音乐通路彼此对应。也就是说,即使第一个音乐通路在版本上不同于另一个音乐通路,当第一和第二音乐通路彼此对应时,表示音乐通路一部分的源音频数据X(0)到X(255),和表示其他音乐通路的将被分析的音频数据片段Ym(0)到Ym(255)满足表达式13。然而,当音乐通路和另一音乐通路形成了一首音乐的不同部分时,源音频数据X(0)到X(255)和将被分析的音频数据Ym(0)到Ym(255)不能满足表达式13。简言之,常数p被实验优化,从而通过表达式13以上述方式实现该检测。
数字信号处理器还确定相对相关索引IDXEr,并比较相对相关索引IDXEr和常数q,以观察该相对相关索引IDXEr是否等于或大于常数q。
{ Σ i = 0 255 ( x ( i ) × Y m ( i ) ) } 2 / { Σ i = 0 255 ( x ( i ) 2 ) × Σ i = 0 255 ( Y m ( i ) 2 ) } ≥ q ......表达式14
表达式14的左侧表示相对相关索引IDXEr,并具有取值范围从0到1的一个值。当源音频数据X(0)到X(255)所表示的音频波形与将被分析的音频数据Ym(0)到Ym(255)所表示的音频波形越相似,相对相关索引IDXEr就越接近于1。即使源音频数据X(0)到X(255)所表示的音频波形与将被分析的音频数据Ym(0)到Ym(255)所表示的音频波形相似,在这些音频波形之间的动态范围可以是不同的。在此情况下,绝对相关索引值IDXEa被改变。另一方面,动态范围中的差异不会对相对相关索引IDXEr产生任何影响。不论动态范围差异如何,在音频波形彼此相似的情况下,相对相关索引IDXEr都接近于1。
假定表达式(13)和(14)的答案都改变为肯定。数字信号处理器63进行到步骤S52,并如表达式(15)和(16)所示计算其变化率。
d ( Σ i = 0 255 ( x ( i ) × Y m ( i ) ) / dm = 0 ......表达式15
d 2 ( Σ i = 0 255 ( x ( i ) × Y m ( i ) ) / d 2 m = 0 ......表达式16
X(0)到X(255)和Ym(0)到Ym(255)之间的乘积和以下被称为“相关值RE”。表达式15的左侧是相关值RE在“m”的变化率。当源音频数据片段X(0)到X(255)分别与将被分析的音频数据片段Ym(0)到Ym(255)相配对时,在每一对的值彼此很接近的条件下,相关值RE变得很大。并且,当相关值RE根据m被绘出时,在相关值RE的函数的极值处,变化率变为零。从而,数字信号处理器63通过表达式15来检测相关值RE的极值。
随后,数字信号处理器63再对函数f(RE)求微分,并检测该函数,以观察该极值是否为局部最大值MX。从而,在步骤S52,数字信号处理器63检测音频数据X(0)到X(255)和Ym(0)到Ym(255)以观察相关值RE是否为该函数的局部最大值。
更详细的,在此例中,音频数据片段X(0)到X(255)和将被分析的音频数据片段Ym(0)到Ym(255)是离散值。表达式15左侧严格等于零的情况是很少见的。从而,在步骤S52的判断可以执行如下。首先,数字信号处理器63计算X(0)到X(255)和Ym(0)到Ym(255)的乘积和与X(0)到X(255)和Ym-1(0)到Ym-1(255)的乘积和之间的差值Dm。随后,数字信号处理器63检测差值Dm和Dm-1以观察差值Dm-1是否大于零,差值Dm是否等于或小于零。若两个回答都是肯定的,即Dm-1大于零,Dm等于或小于零,则变化率从正值变化到零或者经过零。然后,数字信号处理器63判断该极值是一个局部最大值或在局部最大值的附近。这将得到步骤S52的肯定回答。另一方面,若至少一个回答是否定的,则步骤S52的回答也是否定的。
随着步骤S52的肯定回答,数字信号处理器63就将该成功通知中央处理单元62,这意味着源音频数据X(0)到X(255)和将被分析的音频数据Ym(0)到Ym(255)高度相关,这是步骤S53。若在步骤S51或S52的回答是否定的,则数字信号处理器63就通知中央处理单元62该失败,这意味着对应于源音频数据X(0)到X(255)的波形和对应于将被分析的音频数据Ym(0)到Ym(255)的波形不相似,这是步骤S54。
图65示出了通过步骤S51和步骤S52中使用的表达式所计算的值。曲线PL21表示常数p和表达式13左侧的分母之间的乘积,曲线PL22表示表达式13左侧的分子,曲线PL23表示常数q和表达式14左侧的分母之间的乘积,曲线PL24表示表达式14左侧的分子。曲线PL25表示表达式15的左侧。在下述条件下进行试验。一个单阶IIR滤波器被用作25Hz的高通滤波器(参见图57的步骤S3),在梳线滤波器中,k和f分别为4410和1(参见图57的步骤5)。一个单阶IIR滤波器被用作25Hz的低通滤波器(参见下一步骤S6),常数p和q分别为0.5和0.8。当m落在范围A内时,表达式13成立,在m落在范围B内的条件下,表达式14成立,范围B在范围A内。当m为范围B以内的C时,表达式15成立,在C处表达式16也成立。因此,在C处步骤S52的回答是肯定的。
返回图63,若数字信号处理器63通知中央处理单元62失败,则中央处理单元62将“i-j”减去1,这是步骤S37,并向数字信号处理器63再次请求相关性分析。另一方面,当表达式13、14、15和16都成立时,数字信号处理器63通知中央处理单元62成功,且步骤S36的回答是肯定的。当中央处理单元62请求数字信号处理器63首次执行相关性分析时,源音频数据对应于参考相关性数据片段(7634297),且将被分析的音频数据对应于参考相关性数据片段(6752298)。相关性分析通常会失败,且中央处理单元62返回步骤S35到步骤S37。从而中央处理单元62与数字信号处理器63相协作,并重复步骤S35到步骤S37构成的环路。
若没有任何音频波形类似于由音频数据NA的结尾部分中的源音频数据所表示的音频波形,该音频数据NA等效于20秒钟的音调和/或静音,由步骤S35、S36和S36构成的环路被重复881999次,而步骤S35的相关性分析被重复882000次。虽然源音频数据,即“i”没有改变,但将被分析的音频数据,即“j”改变了。当源音频数据对应于参考相关性数据片段(7634297)时,将被分析的音频数据从参考相关性数据片段(6752298),通过参考相关性数据片段(6752299)、参考相关性数据片段(6752300)......而改变。当结束第882000次相关性分析后,“j”等于“i”,将被分析的音频数据变为与源音频数据相同。这将得到步骤S36的肯定回答。
随着步骤S36的肯定回答,中央处理单元62检测“j”以观察将被分析的音频数据是否与源音频数据相同,这是步骤S38。若没有任何音频波形与等效于20秒的结尾部分中的源音频数据所表示的波形相同,则步骤S36的回答仍然为否定的,直到将被分析的音频数据变得与源音频数据相同为止,且步骤S38的回答为肯定。然后,中央处理单元62将相关性数据片段(i)及其到达时间存储在随机存取存储器64中,这是步骤S39。在以后的说明中,术语“参考结束音频数据”和“参考结束时间”分别表示随机存取存储器64中存储的参考相关性数据及其到达时间。若数字信号处理器63通知中央处理单元62第一次相关性分析的成功,则“i”为7634297,而采样值对(7634297)的到达时间,即173.11秒,作为参考结束时间被存储在随机存取存储器64中。
另一方面,若数字信号处理器62在等效于20秒的将被分析音频数据中发现一个音频波形类似于源音频数据所表示的音频波形,则在步骤S35到S37构成的环路被重复881999次之前,在相关性分析中表达式13、14、15和16都成立,且数字信号处理器63通知中央处理单元62此次成功。然后,步骤S36的回答变为肯定的。然而,在步骤S38的回答是否定的。随着步骤S38的否定回答,中央处理单元62检查“i”,即W+65536+881999的和或W+947535的和是否等于7297935,这是步骤S40。若源音频数据是从队列开头计算的第882000个参考相关性数据,则步骤S40的回答为肯定的。当中央处理单元62首次检查源音频数据时,“i”等于Z,其中Z等于7634297,步骤S40的回答为否定的。然后中央处理单元将“i”减少1,并将“j”改变为881999,这是步骤S41。中央处理单元62返回步骤S32。参考原始资料片段(i-j)已向着队列的开头移位一次,因为“i”被减去1且“j”改变为88199。
假定中央处理单元62在步骤S41首次完成工作。中央处理单元62在步骤S32对参考相关性数据(6752297)执行相关性分析,因为“i”是7634296。这意味着相关性数据片段(6752297)与相关性数据片段(7634297)-(6752298)一起被新近存储进随机存取存储器64中。由于j为881999,步骤S33的回答是肯定的。中央处理单元62进行到步骤S35,并重复步骤S35到S37所构成的环路。当数字信号处理器63通知中央处理单元62此次成功时,步骤S36的回答是肯定的,且中央处理单元62进行到步骤S38。如上所述,在没有任何其他波形类似于具有采样值(i)的源音频数据所表示的音频波形时,其中源音频数据位于等效于20秒的音频数据NA结尾部分中的末尾处,“j”为0,则中央处理单元62进行到步骤S39,用与将参考结束音频数据和参考结束时间存储在随机存取存储器64中。
另一方面,若步骤S38的回答为否定的,则中央处理单元62进行到步骤S40。从而,中央处理单元62和数字信号处理器63重复步骤S32到S38,S40和S41构成的环路,直到步骤S38的回答变为肯定的。当中央处理单元62和数字信号处理器63重复该环路时,中央处理单元62在步骤S41将“i”减少1。若队列中的采样值表示一个不变的音频波形,则步骤S38的回答永远不会变为肯定。结果,“i”变为等于W加947535的和,即7297935。然后,步骤S40的回答改变为肯定的。随着步骤S40的肯定回答,中央处理单元62请求操作面板/显示器5产生一个错误消息,这是步骤S42。该错误消息表示对于参考结束音频数据和参考结束时间的数据处理结果失败。
假定中央处理单元62成功的结束了产生参考结束音频数据和参考结束时间的数据处理。中央处理单元62从随机存取存储器64读出(1)在开头部分的参考相关性数据,(2)参考开始时间,(3)音符事件,(4)参考结束音频数据和(5)参考结束时间,并制作形成这些数据码的音轨块。中央处理单元62将头部块增加到音轨块。当标准MIDI文件结束时,中央处理单元62将标准MDI文件提供到软盘驱动器2C,并请求软盘驱动器2C将标准MIDI文件存储到软盘FD中。
图66示出了标准MIDI文件的数据结构。标准MIDI文件被分为一个头部块和一个音轨块。系统专用事件码和音符事件码分别关联于δ时间码,并被存储在音轨块中。第一系统专用事件码被分配给开头部分的参考相关性数据片段和表示1.15秒的参考开始时间。第二系统专用事件码被分配给参考结束音频数据和表示173.11秒的参考结束时间。虽然δ时间码对第一和第二系统专用事件码表示0.00秒,但这些系统专用事件码可被移动至音轨块中的其他位置,且该δ时间码表示其他的经过时间。从第三到最后的系统专用事件码与音符事件码相混合,而这些系统专用事件码和音符事件码分别都伴有δ时间码。在此情况下,第三系统专用事件码和第四系统专用事件码都表示参考特性事件,而这些参考特性事件分别发生在1.51秒和2.38秒。第一音符事件发生在2.11秒,而声学钢琴音调在C5被产生。
图67示出了由音频数据NA表示的音频波形和标准MIDI文件中存储的系统专用/音符事件之间的关系。曲线NA指示由光盘CD-A中记录的音频数据所表示的音频波形,而时间轴沿右侧延伸。该音频波形表示直到1.15秒的静音,而电子音调在静音之后被产生。此时,参考开始时间为1.15秒。
从1.15秒到2.64秒的音频音乐数据代码对被作为参考原始资料,而开头部分的参考相关性数据从开头部分的参考原始资料而产生。特性事件从开头部分的参考原始资料中提取。曲线PL16E和PL17E分别表示中程索引和远程索引。
从171.63秒到173.11秒的音频音乐数据代码对被作为结尾部分的参考原始资料,而参考结束音频数据从结尾部分的参考原始资料而产生。在此情况下,采样值对中的一对在173.11秒变为低于阈值,从而经过时间173.11秒作为参考结束时间被存储在标准MIDI文件中。
同步重放
以下将对同步重放模式进行说明。光盘CD-B被用于该同步重放。虽然该首音乐也被记录在光盘CD-B中,但光盘CD-B中的该首音乐与光盘CD-A中记录的该首音乐进行了不同的编辑。这意味着静音时间、动态范围和音调之间的时间间隔在光盘CD-A中记录的该首音乐与光盘CD-B中记录的该首相同音乐之间是不同的。因此,光盘CD-B中存储的音频数据以下被称为“音频数据NB”。
用户将光盘CD-B装载在光盘驱动器1G中,将存有标准MIDI文件的软盘FD装载在软盘驱动器2G中。随后,用户指示控制器6G在光盘CD-B中记录的该首音乐的重放的好合奏下,再现键盘31e的演奏。
当中央处理单元62得知用户指令时,中央处理单元62请求软盘驱动器2G从软盘FD传送系统专用事件码及其δ时间码,音符事件码及其δ时间码,到接口65a。当软盘驱动器将数据码传送到接口65a时,中央处理单元62传送系统专用事件码及其δ时间码,音符事件码及其δ时间码,到随机存取存储器64进行存储。
首先,中央处理单元62与数字信号处理器63协作进行音符事件的重排。在演奏之前的静音和演奏之后的静音的长度在音频数据NA和音频数据NB之间是不同的。并且,在光盘CD-A上记录的演奏的节拍与光盘CD-B上记录的演奏的节拍是不同的。不过,控制器6G可消除在标准MIDI文件中的δ时间码所表示的经过时间和从光盘驱动器1G所传送的音频时间码所表示的经过时间之间的差异,并重排同步重放中将要再现的音符事件。
图68示出了用于重排音符事件的方法。首先,中央处理单元62定义一个计数器“i”,并调整计数器“i”为65535,以上是步骤S61。随后,中央处理单元62请求光盘驱动器1G将音频数据NB从光盘CD-B传送到接口65a。光盘驱动器1G以1/44100秒的时间间隔将音频音乐数据代码对传送到接口65a,中央处理单元62将采样值对及每一对音频音乐数据代码的到达时间存储在随机存取存储器64中。当第一对音频音乐数据代码到达接口65a时,中央处理单元62开始计数时钟信号的时钟脉冲。时钟脉冲的数目表示从第一对音频音乐数据代码的到达,即开始时间Q所经过的时间。第一对音频音乐数据代码代表第一对采样值(0),而下一对音频音乐数据代码代表采样值对(1)。从而,采样值对(0)、(1)、(2)...陆续的到达接口65a,并与它们的到达时间一起加入队列。该队列在随机存取存储器64中形成。到达时间等于从开始时间Q所经过的时间。采样值对(n)的到达时间表示为“到达时间(n)”。在此情况下,最多1323000对采样值及其到达时间加入该队列。
假定一对采样值(i)与其到达时间(i)一起加入该队列。然后,中央处理单元62请求数字信号处理器63从65536对采样值,以下被称为“目标原始资料”,而产生目标相关性数据片段。采样值对(i)位于目标原始资料的末尾。数字信号处理器63执行数据处理,用于从原始资料产生相关性数据片段,这是步骤S62。用于产生目标相关性数据的数据处理类似于图57所示的处理,这里不再赘述。在结束了该数据处理之后,目标相关性数据片段(i)被存储在随机存取存储器64中。
随后,中央处理单元62请求数字信号处理器63执行开头部分的参考相关性数据和目标相关性数据(i)之间的相关性分析。在步骤S62,数字信号处理器63读出已存储在被传送到随机存取存储器64中的标准MIDI文件中的开头部分的参考相关性数据以及被存储在随机存取存储器中的目标相关性数据,并在步骤S63检测该目标相关性数据(i)是否与开头部分的参考相关性数据高度相关。用于相关性分析的数据处理类似于图64所示的数据处理,这里不再赘述。
当完成用于相关性分析的数据处理时,数字信号处理器63通知中央处理单元62该数据处理的结果,即成功或失败。然后,在步骤S64中该中央处理单元62检测该通知,以观察数据处理是否成功完成。如果目标相关性数据(i)与开头部分的参考相关性数据高度相关,则答案是肯定的。然而,很少出现没有静音就开始演奏的情况。在首次数据处理结束后,步骤S64中的答案通常是否定的。
由于步骤S64中的否定回答,在步骤S65中,中央处理单元62检查计数器(i)以观察“i”是否为947535,即65535+882000。如果数字信号处理器63在相当于从初始开始的20秒内没有找到所有的与开头部分的参考相关性数据较少相关的目标相关性数据,则步骤S65中的回答是肯定的,且中央处理单元62终止相关性分析。因此,步骤S65的数据处理防止了数字信号处理器63无休止的进行相关性分析。
当数字信号处理器63第一次完成相关性分析时,计数器(i)表示为65535,相应的,步骤S65中的答案为否定。然后,在步骤S66中央处理单元62使计数器(i)加1,并返回步骤S62。因此,中央处理单元62与数字信号处理器63合作,反复进行包括步骤S62到S66的循环,直到数字信号处理器63找到与开头部分的参考相关性数据高度相关的目标相关性数据(i)。
假定数字信号处理器63通知中央处理单元62,从具有位于开头部分的采样值对(28740)的目标原始资料而产生的目标相关性数据,与参考相关性数据高度相关。虽然中央处理单元62和数字信号处理器63在寻找与参考相关性数据高度相关的目标相关性数据时失败了28740次,但数字信号处理器63通知中央处理单元62在完成第28741次数据处理时成功了。参考相关性数据和目标相关性数据是通过相同的数据处理从开头部分的参考原始资料和表示音乐片段的一部分的目标原始资料而产生的。这意味着目标原始资料片段(97275)的集合所表示的音乐通路对应于开头部分的参考相关性数据片段所表示的音乐通路。
随着步骤S64的肯定回答,中央处理单元62将差值(i-65535)除以44100,并确定对应于参考开始时间的一个目标开始时间。超过阈值的采样值对占据目标开始时间的位置。假定步骤S64的回答在“i”=94275改变了。(94275-65535)/44100的计算结果为0.65。这表示采样值对在从重放开始的0.65秒处超过了阈值。随后,中央处理单元62从随机存取存储器64中读出参考开始时间,并计算目标开始时间和参考开始时间之间的差值。该时间差值以下被称为“顶部偏移量”。若音乐片段NB的开始早于音乐片段NA的开始,则顶部偏移量为负值。另一方面,当音乐片段NB的开始晚于音乐片段NA的开始时,则顶部偏移量为正值。假定目标开始时间和参考开始时间分别为0.65秒和1.15秒。顶部偏移量可通过从目标开始时间减去参考开始时间来计算,即(0.65-1.15),等于-0.50秒。在步骤S67,中央处理单元62将顶部偏移量存储在随机存取存储器64中。
随后,中央处理单元62从随机存取存储器64读出参考开始时间和参考结束时间,并从参考开始时间减去参考结束时间。中央处理单元62将参考开始时间和参考结束时间之间的差值乘以441000从而确定了参考开始时间和参考结束时间之间的音频音乐数据代码对的数目。在参考开始时间和参考结束时间之间的音频音乐数据代码对的数目等于开头部分的第一段参考相关性数据和最后一段参考结束音频数据之间的音频音乐数据代码对的数目。随后,中央处理单元62从音频音乐数据代码对的数目中减去65536。差值“V”等于最后一段参考相关性数据和最后一段结束音频数据之间的音频音乐数据代码对的数目。
例如,假定参考开始时间和参考结束时间为1.15秒和173.11秒。在参考开始时间和参考结束时间之间的时间周期为(173.11-1.15),即171.96秒。然后,音频音乐数据代码对的数目为171.96×44100,结果为7583436。差值“V”等于7583436-65536=7517900。
随后,在步骤S68,中央处理单元62定义计数器“j”,并调整计数器“j”为(i+V-441000)。光盘CD-B中记录的开头部分的目标原始资料片段(i)对应于1.49秒的音乐片段N的一个通路。表示音乐片段N最后一部分的1.49秒的音频数据被假定为在目标原始资料(i+V)的附近。目标原始资料片段(j),即(i+V-441000)将在目标原始资料(i+V)之前的10秒钟被找到。
随后,中央处理单元62请求光盘驱动器1G将音频音乐数据代码对(j-65535)、(j-65534)......从光盘CD-B传送到接口65a。当光盘驱动器1G正在将音频音乐数据代码对(j-65535)、(j-65534)......传送到接口65a时,中央处理单元62确定了每一对音频音乐数据代码的到达时间,并将采样值对及其到达时间一起存储在随机存取存储器64中。采样值对及其到达时间一起加入随机存取存储器64中的队列。
当采样值对(j)加入该队列时,中央处理单元62请求数字信号处理器63从目标原始资料(j)产生目标相关性数据。然后,在步骤S69,数字信号处理器63开始从目标原始资料(j)产生目标相关性数据。用于产生目标相关性数据的数据处理类似于图57所示的处理。结束了数据处理之后,目标相关性数据(j)被存储在随机存取存储器64中。
随后,中央处理单元62请求数字信号处理器63执行在标准MIDI文件中存储的参考结束音频数据和在步骤S69随机存取存储器中存储的目标相关性数据(j)之间的相关性分析。在步骤S70,数字信号处理器63从随机存取存储器64读出参考结束音频数据和目标相关性数据(j),并对与参考结束音频数据高度相关的目标相关性数据(j)执行相关性分析。对相关性分析的数据处理类似于图64所示的处理。当数字信号处理器63结束相关性分析的数据处理时,数字信号处理器63通知中央处理单元62该相关性分析的结果。
在步骤S71,数字信号处理器63检查该通知以观察该相关性分析是否成功。用于再现音乐片段NB的时间和用于再现音乐片段NA的时间相差10秒是很少见的。因此当数字信号处理器63结束首次数据处理时,在步骤S71的回答为“否”。然后,在步骤S72,中央处理单元62将计数器(j)增加1,并请求数字信号处理器63从新的目标原始资料而产生下一个目标相关性数据。若计数器(j)大于音频数据NB的采样值对的总数目,即目标原始资料已到达音频数据NB的结尾,则数字信号处理器63无法从该队列中读出目标原始资料(j),并通知中央处理单元62此次失败。因此,在步骤S73,中央处理单元62检查寄存器以观察数字信号处理器63是否已发送该错误消息。当中央处理单元62首次累加计数器(j)时,目标原始资料(j)没有达到音频数据NB的结尾,步骤S73的回答为否定。
随着步骤S73的否定回答,中央处理单元62返回步骤S69,并请求数字信号处理器63从目标原始资料而产生下一目标相关性数据(j)。从而,中央处理单元62和数字信号处理器63重复步骤S69到S73构成的环路,并在音频数据NB中搜索与参考结束音频数据高度相关的目标相关性数据(j)。
当数字信号处理器63找到与参考结束音频数据高度相关的目标相关性数据时,数字信号处理器63通知中央处理单元62此次成功,而步骤S69的回答改变为肯定“是”。然后,中央处理单元62请求光盘驱动器1G停止从光盘CD-B到接口65a的数据传送。
随后,中央处理单元62将数目“j”除以44100,并确定目标结束时间,在此时间音乐片段NB的重放将结束。若计数器(j)指示为7651790,则目标结束时间为7651790/44100,即173.51秒。随后,中央处理单元62从随机存取存储器64读出参考结束时间,并确定底部偏移量,即目标结束时间和参考结束时间之间的差异。在此情况下,底部偏移量为0.40秒,即173.51-173.11。在步骤S74,中央处理单元62将底部偏移量存储在随机存取存储器64。而且,在步骤S75,中央处理单元62将顶部偏移量和底部偏移量添加到已传送到随机存取存储器64的标准MIDI文件。
图69示出了添加到标准MIDI文件中的顶部偏移量和底部偏移量。顶部偏移量和底部偏移量被存储在系统专用事件码中。第一、第二、第三和第四系统专用事件码被分别分配给顶部偏移量、底部偏移量、开头部分的参考相关性数据和参考结束音频数据,而分配给参考特性事件的系统专用事件码与音符事件码相混合。所有的系统专用/音符事件码都与δ时间码相关联。在此情况下,第一到第四系统专用事件码与表示零的δ时间码相关联。然而,其他的δ时间码也可以被添加到这些系统专用事件码。
将表示顶部偏移量和底部偏移量的系统专用事件码增加到标准MIDI文件的操作结束后,中央处理单元62从随机存取存储器64中存储的标准MIDI文件读出所有的音符事件码,并重排音符事件,这是步骤S76。通过以下表达式来执行重排。
d=(NT+OT)+(D-NT)×{(NE+OE)-(NT+OT)}/(NE-NT)      ......表达式17
其中d是重排之后的δ时间,D是重排之前的δ时间,NT是参考开始时间,NE是参考结束时间,OT是顶部偏移量且OE是底部偏移量。
在表达式17,(NT+OT)表示相对于再现第一对采样值的定时的音频数据NB开始重放的定时,(D-NT)表示相对于音乐片段N所代表的音频数据NA的重放开始的音符事件的再现定时。{(NE+OE)-(NT+OT)}表示音频数据NB代表的音乐片段N的再现所需的时间,(NE-NT)表示音频数据NA所代表的音乐片段N的再现所需的时间。第二项(D-NT)×{(NE+OE)-(NT+OT)}/(NE-NT)表示相对于音频数据NB的重放开始的对应音符事件的再现定时。所以,d表示相对于音频数据NB的第一对采样值的再现定时的对应音符事件的再现定时。
第一音符事件表示在C5处的有音符(参见图69)。在C5处的有音符通过计算表达式17而被重排。D为2.11,NT为1.15,NE为173.11,OT为-0.50,且OE为0.40。该有音符通过计算表达式17而在1.62秒被重排。所有的事件码都被重排,并校准δ时间码,该时间码表示在同步重放中产生音符事件的定时,并被存储在随机存取存储器64中。
在步骤S77,重排结束后,中央处理单元62启动同步重放,即同步再现音符事件所表示的演奏,和音频数据NB所表示的音乐片段。更详细的,中央处理单元62请求光盘驱动器1G将音频音乐数据代码对从光盘CD-B传送到接口65a。光盘驱动器1G以1/44100秒的规律间隔将音频音乐数据代码对从光盘CD-B传送到接口65a。当第一对音频音乐数据代码(0)到达接口65a时,中央处理单元62根据时钟信号来确定到达时间,并确定第一对音频音乐数据代码的到达时间作为参考时间R。中央处理单元62开始测量从参考时间R所经过的时间。
中央处理单元62陆续接收音频音乐数据代码对(0)、(1)、(2)......,并将它们传送到音频单元4E。音频音乐数据代码对通过扬声器44被转换为电子音调。从而,用户可通过音频单元4G听到音乐片段NB。
中央处理单元62随后从随机存取存储器64读出校准后的δ时间码,并比较经过时间和每个校准的δ时间码所表示的时间,以观察相关的音符事件码是否将被提供到自动播放器钢琴3G。当经过时间等于该校准的δ时间码所表示的时间时,中央处理单元62将音符事件码提供到控制器34。
当控制器34接收到音符事件码时,控制器34检查内部标志以得知用户的选项,即声学钢琴31A或音频单元4G。若用户的选项为音频单元4G,则控制器34将音符事件码提供到音调发生器35。音调发生器根据音符事件码而产生数字音频信号,并将数字音频信号提供到混音器41。从而,只通过音频单元4G就可实现同步重放。另一方面,若用户的选项为声学钢琴3G,则控制器34确定黑/白键的移动轨迹。控制器34通知驱动器36a该轨迹,则驱动器36a根据该通知而产生驱动信号。驱动器36a将驱动信号提供到电磁操纵键致动器36b,从而电磁操纵键致动器36b可触发黑/白键的旋转。黑/白键可调节动作单元31b,动作单元31b可依次驱动音锤31c进行旋转。音锤可在旋转结束时敲击音弦31d,而声学钢琴的音调从振动的音弦31d而发出。由于音符事件已被校准到适当的定时用于同步重放,所以用户可感觉到声学钢琴音调和电子音调彼此合奏良好。
当中央处理单元62将最后一对音频音乐数据代码和最后的音符事件分别提供到音频单元4G和自动播放器钢琴3G时,中央处理单元62请求操作面板/显示器产生一个提示消息,例如,“您想存储顶部偏移量和底部偏移量吗?”。在步骤S78,该提示消息产生在屏幕上,中央处理单元62等待用户的指示。
若用户的回答为“否”,则中央处理单元62终止步骤SS对同步重放的数据处理。当用户指示控制器6G在软盘FD中存储顶部偏移量和底部偏移量时,中央处理单元62将标准MIDI文件从随机存取存储器64提供至软盘驱动器2G,并请求软盘驱动器2G重写该标准MIDI文件。在步骤S79,软盘驱动器2G重写新的标准MIDI文件,而新的标准MIDI文件被存储在软盘FD中。当保存结束后,中央处理单元62终止步骤SS对同步重放的数据处理。被软盘驱动器2G重写的标准MIDI文件以下称为“标准MIDI文件B”。
在音频数据NB与音频数据NA差异不大大时,中央处理单元62成功结束对同步重放的数据处理。然而,若音频数据NB与音频数据NA差异显著时,中央处理单元62在步骤S63和/或S70无法找到目标相关性数据。此时,中央处理单元62按以下操作重排音符事件。
首先,假定中央处理单元62没有找到与开头部分的参考相关性数据高度相关的任何目标相关性数据(i)。此时,中央处理单元62在步骤S64重复否定回答,而计数器(i)最终到达947535。然后,在步骤S65的回答为“是”,则在步骤S80用户开始手动校准δ时间码。
手动校准的操作如图70所示。首先,中央处理单元62定义计数器OT和OE,并调整计数器OT和OE为0。计数器OT被分配给顶部偏移量,计数器OE被分配给底部偏移量。随后,中央处理单元62请求光盘驱动器1G停止数据传送并在音频数据NB的开头重新开始该数据传送。当第一对音频音乐数据代码到达接口65a时,中央处理单元62开始测量经过的时间。当光盘驱动器1G以1/44100秒的规律间隔将音频音乐数据代码对传送到接口65a时,中央处理单元62将采样值对提供到音频单元4G。采样值对通过扬声器44被转换为电子音调。当中央处理单元62开始测量经过时间时,中央处理单元62从已存储在随机存取存储器64中的标准MIDI文件读出第一δ时间码,并将第一δ时间码所表示的时间与内部时钟相比较,以观察内部时钟是否赶上了δ时间码。当回答为肯定时,中央处理单元62将相关的音符事件提供到自动播放器钢琴3G。声学钢琴音调或电子音调是通过声学钢琴31A或音频单元4G而再现的。从而,在步骤S91,同步播放器系统再现该音乐片段N。
当中央处理单元62将采样值对和音符事件码分别传送到音频单元4G和自动播放器钢琴3G时,中央处理单元62请求操作面板/显示器5G产生提示消息,以提示用户调整顶部偏移量。当用户感到声学钢琴音调早于电子音调时,用户按下按键“-”用于延时。另一方面,若用户感到声学钢琴音调迟于电子音调时,用户按下按键“+”用于提前。对操作面板/显示器5G的操作被报告给控制器6G。当操作面板/显示器5G报告对按键“-”的操作时,中央处理单元62将计数器OT增加1/75秒。另一方面,当用户按下按键“+”时,中央处理单元62将计数器OT减少1/75秒。所述1/75秒的增加和减少,等效于音频数据的单个帧的时间周期。从而,用户可通过收听这首音乐而手动调整顶部偏移量。
当用户以手动方式使通过自动播放器钢琴3G的演奏和该首音乐NB的重放相合奏时,中央处理单元62重排定时以利用表达式17而再现音符事件。结束δ时间码的校准后,中央处理单元62将校准的δ时间码存在随机存取存储器64中。结束δ时间码的校准后,中央处理单元62比较内部时钟和校准的δ时间码,以观察该音符事件码是否将被提供到自动播放器钢琴3G。结果,通过自动播放器钢琴3G而再现的该首音乐的进度不是提前就是滞后,而用户检测该同步重放以观察通过自动播放器钢琴3G的演奏是否再次与该首音乐NB的重放相合奏,以上是步骤S93。
若该演奏仍然超前或滞后,则中央处理单元62返回步骤S92,并提示用户再次改变顶部偏移量。从而,用户重复地调整顶部偏移量直到步骤S93的回答被改变为肯定。当用户感到该重放合奏良好时,用户按下按键“进入”,则中央处理单元62进行到步骤S94。
随着步骤S93的肯定回答,中央处理单元62通过显示器上产生的消息而提示用户调整底部偏移量,以上是步骤S94。若用户感到通过自动播放器钢琴3G的演奏比通过音频单元4G的重放变得越来越早,则用户按下按键“-”。另一方面,当用户感到通过自动播放器钢琴3G的演奏比通过音频单元4G的重放变得越来越迟,则用户按下按键“+”。当用户按下按键“-”时,中央处理单元62将计数器OE增加1/75秒。另一方面,若用户按下按键“+”,则中央处理单元62将计数器OE减少1/75秒。从而,用户可通过步骤S94手动调整底部偏移量。
当计数器OE被校准时,中央处理单元62利用表达式17而重新安排定时以再现音符事件,并将校准后的δ时间码存储在随机存取存储器64中。在重新安排后,中央处理单元62比较内部时钟和校准后的δ时间码,以观察相关的音符事件码是否被提供到自动播放器钢琴3G。从而产生音符事件的定时被重新安排,并且该首音乐的进度与校准后的δ时间码一起被控制。当用户感到通过自动播放器钢琴3G的演奏与通过音频单元4G的重放合奏良好时,用户按下按键“进入”,则中央处理单元62在步骤S95得到肯定的答复。另一方面,若用户感到自动播放器钢琴3G与音频单元4G不同步,则中央处理单元62返回步骤S94,并重复步骤S94的数据处理,直到用户按下按键“进入”。随着步骤S95中的的肯定答复,中央处理单元62结束步骤S80的手动校准,并进行到步骤S76。
中央处理单元62通过利用步骤S80手动调整的顶部偏移量和底部偏移量而重新安排定时以在步骤S76再现音符事件,并在步骤S77开始同步重放。从而,即使音频数据NA和音频数据NB之间的差异很严重,第三实施例中的同步重放系统也可实现自动播放器钢琴3G和音频单元4G之间的良好合奏。
假设步骤S70的相关性分析失败。这意味着中央处理单元在结尾部分的一系列目标相关性数据中不能找到与参考结束音频数据高度相关的目标相关性数据,该结尾部分的目标相关性数据等效于从最后一对音频音乐数据代码开始而测量的10秒钟。因此步骤S73的回答为肯定。
随着步骤S73的肯定答复,中央处理单元62利用参考特性事件码开始重排定时以生成音符事件,以上为步骤S81。
首先,中央处理单元62请求光盘驱动器1G将音频数据NB从光盘CD-B传送到接口65a。光盘驱动器1G从光盘CD-B读出多个成对的音频音乐数据代码(0)、(1)......,并将它们以1/44100秒的规律间隔传送到接口65a。当第一对音频音乐数据代码(0)到达接口65a时,中央处理单元62启动内部时钟,并测量所经过的时间。当光盘驱动器1G将音频音乐数据代码对传送到接口65a时,中央处理单元62确定每一对音频音乐数据代码的到达时间,并使采样值对和它们的到达时间加入随机存取存储器64中的队列。而且,中央处理单元62还检查音频音乐数据代码对,以观察采样值对中是否有至少一个采样值超过了阈值。在这种情况下,该阈值被调整为1000。
当中央处理单元62发现采样值对中有至少一个采样值大于该阈值时,中央处理单元62请求数字信号处理器63找到采样值对中的特性事件。对特性事件的数据处理类似于图59所示的过程,为避免重复就不再赘述。当数字信号处理器63发现每个特性事件时,数据信号处理器63就通知中央处理单元62该特性事件。然后,中央处理单元62确定每个通知的到达时间,并将该特性事件码及其到达时间码存储在随机存取存储器64中。已经存储在标准MIDI文件中的特性事件和通过数据处理找到的特性事件被分别表示为“特性事件A”和“特性事件B”。
结束从光盘CD-B读出的最后一对采样值的数据处理后,中央处理单元62比较与特性事件码A相关的δ时间码和与特性事件码B相关的到达时间码,并使特性事件A与特性事件B配对,如图71所示。
在左栏的开头是参考开始时间,特性事件A在左栏中的参考开始时间之后。第一特性事件A、第二特性事件A......在以下被标记为“A1”、“A2”......。另一方面,目标开始时间的总时间和顶部偏移量位于右栏的开头,特性事件B在右栏中的总时间之后。左栏的第一行对应于右栏的第一行,由左栏和右栏的第一行所指示的多个时间数据信息片段以下被称为“时间数据信息A”和“时间数据信息B”。
中央处理单元62首先计算(特性事件A1-时间数据信息A)/(特性事件B1-时间数据信息B),且计算结果为(1.51-1.15)/(1.01-0.65)=1.00。
随后,中央处理单元62检测这个商,以观察这个商是否落在预定的范围之内。在此情况下,假定预定范围是从0.97到1.03,即±3%。若这个商落在预定的范围内,则中央处理单元62假设特性事件A对应于特性事件B。预定范围±3%是可调的。
这个商表示特性事件A1和B1之间的时间差为0。然后,中央处理单元62判断特性事件A1对应于特性事件B1。若这个商小于0.97,则特性事件A1早于特性事件B1,且中央处理单元62判断任何特性事件B都不对应于特性事件A1。然后,中央处理单元62检测特性事件A2和特性事件B1,以观察此误差是否落在预定的范围内。另一方面,若这个商大于1.03,则特性事件A1晚于特性事件B1,且中央处理单元62判断任何特性事件A都不对应于特性事件B1。然后,中央处理单元62检查特性事件A1和特性事件B2,以观察此时间差是否落在预定的范围内。
中央处理单元62随后检查特性事件A和B,以观察此时间差是否落在预定范围内。最后的特性事件A和B,是彼此对应的,以下被称为“特性事件An和Bn”。
随后,中央处理单元62根据相关的δ时间码所表示的经过时间,利用表达式{(时间数据信息B+(特性事件An+1-时间数据信息A)×(特性事件B-时间数据信息B)/(特性事件An-时间数据信息A)}来假设特性事件B的到达时间,即特性事件码B被预测到达接口65a的时间。
图72示出了特性事件B的假定到达时间。该假定到达时间与校准时间相等。在特性事件A1和B1被分别作为特性事件An和Bn的情况下,假定到达时间被计算为{0.65+(2.38-1.15)×(1.01-0.65)/(1.51-1.15)}=1.88。
中央处理单元62检查此计算结果,以观察特性事件B的到达时间和假定到达时间之间的差异是否落在-0.20秒和+0.20秒之间的范围内。当中央处理单元62确认该差异落在该范围内时,中央处理单元62判断特性事件Bn+1对应于特性事件An+1。范围±0.20是可调的。
若该差异小于-0.20秒,则中央处理单元62假定任何特性事件B都不对应于特性事件An+1,并改变特性事件An+1到下一个特性事件An+2并进行上述数据处理。另一方面,若该差异大于+0.20秒,则中央处理单元62假定任何特性事件A都不对应于特性事件Bn+1,并改变特性事件Bn+1到下一个特性事件Bn+2,并重复上述的数据处理。
在特性事件A5和B5被分别作为特性事件An和Bn的情况下,中央处理单元62根据与特性事件A6相关的δ时间码所表示的经过时间而假定特性事件B在8.25秒到达。特性事件B6的实际到达时间为9.76秒,时间差为-1.51秒,不在±0.20秒的范围内。因此,中央处理单元62判断任何特性事件B都不对应于特性事件A6。
在特性事件A9和B8被分别作为特性事件An和Bn的情况下,中央处理单元62根据与特性事件A10相关的δ时间码所表示的经过时间而假定特性事件B在17.79秒到达。特性事件B9的实际到达时间为15.57秒,时间差为2.22秒,不在±0.20秒的范围内。因此,中央处理单元62判断任何特性事件A都不对应于特性事件B9。
在上述使特性事件A对应特性事件B的数据处理结束之后,中央处理单元假设由δ时间码表示的经过时间和特性事件B的到达时间之间的关系。中央处理单元62可使用最小均方法来进行假设。图51示出了通过最小均方法来假设经过时间(A)和到达时间(B)之间的回归线。该回归线被表示为B=1.0053A-0.5075。
随后,中央处理单元62从已经被传送到随机存取存储器64的标准MIDI文件中读出参考结束时间,并将参考结束时间,即173.11秒替换A。然后,目标结束时间被假设为173.52秒。
随后,中央处理单元62从目标结束时间减去参考结束时间,用于假设底部偏移量。中央处理单元62将底部偏移量存储在随机存取存储器64中。中央处理单元62产生系统专用事件码,用于存储顶部偏移量和底部偏移量,并将该系统专用事件码添加到随机存取存储器64中的标准MIDI文件。
当中央处理单元62将表示顶部偏移量和底部偏移量的系统专用事件存储在标准MIDI文件中时,中央处理单元62进行到步骤S76(参见图68),并通过步骤S76到S79的数据处理来重排音符事件。这将实现通过自动播放器钢琴3G的演奏和通过光盘驱动器/音频单元1G/4G的重放之间的理想同步。
本发明人证实,通过上述的数据处理音符事件被重排。音频模拟信号PL26是从记录在光盘CD-B中的音频音乐数据代码对而产生的。目标相关性数据是从音频音乐数据代码对而产生的,中程索引PL27和远程索引28是从音频音乐数据代码对中存储的采样值对而产生的。特性事件“B”是从中程/远程索引PL27/PL28中提取的。音符事件已被安排在2.11秒、2.62秒、3.60秒......。然而,在音乐片段NB之前的静音时间周期短于音乐片段NA之前的静音时间周期。并且音乐片段NB的重放所用的时间周期长于音乐片段NA的重放所用的时间周期。这意味着音乐片段NB的重放比音乐片段NA的重放开始的早,且通过自动播放器钢琴3E的演奏比音乐片段NB的重放要快。
本发明者通过图68所示的数据处理而重排音符事件。然后,利用表达式17音符事件被重排为1.62秒、2.13秒、3.11秒......。本发明者证实,自动播放器钢琴3G与光盘驱动器/音频单元1G/4G是完全同步的。这意味着该首音乐是通过自动播放器钢琴3G演奏的,并且与光盘CD-B中记录的该首音乐合奏良好。
标准MIDI文件B的重放
当用户请求控制器6G再现与该首音乐NB的重放合奏良好的演奏时,用户可在软盘驱动器2G中装载存储有标准MIDI文件B的软盘。这样,控制器6G就不会进行图68所示的数据处理。中央处理单元62按以下操作。
首先,中央处理单元62请求软盘驱动器2G将标准MIDI文件B从软盘FD传送到接口65a,并将标准MIDI文件存储在随机存取存储器64中。
随后,中央处理单元62从标准MIDI文件B中读出顶部偏移量和底部偏移量,并通过表达式17来重排音符事件。校准的δ时间码被存储在随机存取存储器64中。
随后,中央处理单元62请求光盘驱动器1G将音频音乐数据代码对从光盘CD-B传送到接口65a。当第一对音频音乐数据代码(0)到达接口65a时,中央处理单元62启动内部时钟,从而测量所经过的时间。中央处理单元62将采样值对提供至音频单元4G从而电子音调可从扬声器44中放出来。
中央处理单元62从标准MIDI文件B得到与第一音符事件相关的δ时间,并比较内部时钟和δ时间码以观察该经过的时间是否等于δ时间码所指示的时间。当内部时钟赶上δ时间码时,中央处理单元62将第一音符事件提供至自动播放器钢琴3G,并从标准MIDI文件B得到与下一个音符事件码相关的δ时间码。中央处理单元62随后从标准MIDI文件B得到δ时间码,并在内部时钟赶上δ时间码时,将相关的音符事件码提供到自动播放器钢琴3G。声学钢琴音调是通过自动播放器钢琴3G而再现的,且用户可感到通过自动播放器钢琴3G的演奏与通过光盘驱动器/音频单元1G/4G的重放合奏良好。
然而,用户也可能感到自动播放器钢琴与光盘播放器/音频单元1G/4G不同步。然后,用户可手动校准定时以再现音符事件。更详细的,用户首先按下一个用于手动校准的按键。然后,中央处理单元62进行到步骤S80,并执行图70所示的数据处理。通过步骤S91到步骤S95而改变顶部偏移量和底部偏移量。当用户感到演奏与重放合奏良好时,用户就按下按键“进入”。然后,中央处理单元62将顶部偏移量和底部偏移量存储在随机存取存储器64的标准MIDI文件B中。
若用户希望将标准MIDI文件B存储在软盘FD中,则用户按下用于保存的按键。然后,中央处理单元62将表示标准MIDI文件B的数据和保存请求一起提供到软盘驱动器2G。软盘驱动器2G重写从中央处理单元62接收到的标准MIDI文件B。
由上述说明可知,同步播放器系统可在预先记录模式中至少存储开头部分的参考相关性数据、参考开始时间、参考结束音频数据和参考结束时间,以及音符事件,并在同步重放模式中重排所述音符事件。在同步重放模式中,中央处理单元对开头部分的目标相关性数据和参考相关性数据/参考结束音频数据进行相关性分析,以判断记录在光盘CD-B上的音乐片段NB的目标开始时间和目标结束时间。当目标开始时间和目标结束时间已知时,中央处理单元62确定顶部偏移量和底部偏移量、参考开始时间和目标开始时间之间的时间差以及参考结束时间和目标结束时间之间的时间差,并利用表达式11而确定再现音符事件的定时。当结束重排后,控制器6E再现彼此合奏良好的通过自动播放器钢琴3E的演奏和通过光盘驱动器/音频单元1E/4E的重放。
若在预先记录中进一步提取参考特性事件,则参考特性事件与音符事件码一起被存储在存储器中。在此情况下,控制器6G首先从由光盘CD-B中存储的采样值对而产生的中程/远程索引中提取目标特性事件,并寻找与最后参考特性事件配对的最后目标事件。当最后目标特性事件被找到时,中央处理单元62确定顶部偏移量和底部偏移量,并重排音符事件。从而,即使控制器6E没有找到与参考结束音频数据高度相关的目标相关性数据,中央处理单元62也可通过对参考和目标事件的数据处理而确定底部偏移量,并使自动播放器钢琴3G再现与光盘驱动器/音频单元1G/4G同步的演奏。
第一修改方案
图75示出了同步播放器系统的第一修改方案。实现本发明的同步重放系统的第一修改方案大体还包括光盘驱动器1H、软盘驱动器2H、自动播放器钢琴3H、音频单元4H、操作面板/显示器5H和控制器6H。软盘驱动器2H、自动播放器钢琴3H、音频单元4H和操作面板/显示器5H与前述同步播放器系统的结构和功能是类似的,其组成部分被标记为与图54中所示的组成部分相对应的标记。虽然控制器6H与控制器6G的数据处理稍微有所不同,其系统构成与控制器6G是相似的,因此,关于与控制器6G的相应组件的标记相对应的标记组件不再赘述。
第一修改方案也可选择性的进入预先记录模式和同步重放模式,在这些模式中的操作通常与同步重放系统的操作相同。因此,将重点说明与同步重放系统执行的数字处理的差异。
光盘驱动器1H顺序地从光盘CD-A和CD-B读出音频音乐数据代码和音频时间数据代码,并将音频音乐数据代码和音频时间数据代码都传送到控制器6H。这是和光盘驱动器1G的操作不同的地方。对每个帧都提供音频时间数据代码,其中每个帧写入有588对音频音乐数据代码,而从重放起始的时间进度由音频时间数据代码来表示。
控制器6H一直将时钟信号提供到光盘驱动器1G,而光盘驱动器1H与时钟信号同步地将音频音乐数据代码传送到控制器6H。当中央处理单元62将采样值对存储到随机存取存储器64中时,中央处理单元62将最近的音频时间数据复制到δ时间码中,并将δ时间码和采样值对一起存储。若数据处理要求精确的时间数据,则中央处理单元62定义一个计数器,并在接收到每对音频音乐数据代码时累加该计数器,从而通过对音频音乐数据代码之间的时间间隔按比例分配而准确的确定了时间。
当中央处理单元62提取特性事件和接收音符事件时,音频时间数据代码陆续到达接口65a从而中央处理单元62由最近的音频时间码而产生δ时间码。
在第一修改方案中,数据处理并不要求任何内部时钟,例如由计数器或软件定时器实现的时钟,因此系统结构或计算机程序被简化了。
其它修改方案
在上述第三实施例及其修改方案中,自动播放器钢琴3G/3H还被提供有系统组件1G/1H、2G/2H、4G/4H、5G/5H和6G/6H。然而,第二修改方案是由物理上相互分离的多个组件构成的。实施第二修改方案的同步播放器系统可以在物理上分离为多个组件,例如:
22.光盘驱动器1G/1H,
23.软盘驱动器2G/2H,
24.自动播放器钢琴3G/3H,
25.混音器/数字-模拟转换器41/42
26.放大器43,
27.扬声器44,和
28.操作面板/显示器和控制器5G/5H和6G/6H。
并且,控制器6G/6H可以在物理上分离为记录部分和重放部分。
这些系统组件可以通过音频电缆、MIDI电缆、用于音频信号的光纤、USB(通用串行总线)电缆和/或新设计的用于同步重放系统的电缆而被连接。市场上可售的标准软盘驱动器、标准放大器和标准扬声器都可应用在根据本发明的同步重放系统。
分离类型的同步重放系统是用户所希望的,因为可以利用某些已有的系统组件而构建他们自己的系统。
同步重放系统的第三修改方案不包括光盘驱动器1G/1H和软盘驱动器2G/2H,但控制器6G/6H具有硬盘驱动器和与LAN(局域网)、WAN或互联网相连的接口。在此情况下,音频数据码从适当的数据源通过该接口而被提供,并被存储在硬盘中。类似的,标准MIDI文件通过该接口从外部数据源被传送,并被存储在硬盘上。当用户敲击键盘31a时,音频音乐数据代码从硬盘被读出,并从被传送到音频单元4G/4H以将它们转换为电子音调。事件码和δ时间码被存储在音轨块中,标准MIDI文件被留在硬盘中。
在实施第四实施例的同步重放系统中,数字信号处理器63通过对绝对相关索引的分析、对相对相关索引的分析和对相关值的分析而执行相关性分析。虽然这三种分析可使相关性分析更为准确,但进行三种分析过于繁琐。因此,第四修改方案通过这三种分析中的一种或两种而执行相关性分析。
第五修改方案只通过表达式(15)来进行步骤S52的判断。更详细的,数字信号处理器计算Dm-1和Dm之间的乘积,并进行检查以观察这个乘积是否等于或小于零。当此乘积等于或小于零时,相关值函数中的变化率为零或它的变化经过零。这意味着相关值为最大值或者在最大值的附近。因此,步骤S52中的回答为肯定。在不可能使最小值和最大值彼此接近的情况下,通过简单的数据处理可获得相同的回答。
在第四实施例中,当采样值超过了阈值时,中央处理单元62确定参考开始时间和参考结束时间。相应的,在开头部分的参考相关性数据和参考结束音频数据可由音乐NA开头部分的参考原始资料和音乐NA结尾部分的参考原始资料而产生。另一方面,中央处理单元根据第六修改方案中音乐NA的任意部分的某个原始资料而确定参考开始时间和参考结束时间。例如,中央处理单元可指定从重放开始经过的某个时间和重放结束之前的另外某个时间分别作为第六修改方案的参考开始时间和参考结束时间。这个特征对于现场音乐会中记录音乐是十分需要的。即使声音和/或鼓掌与记录的音乐混合在了一起,参考原始资料可从该音乐的适当部分被提取出来而不会受到声音和/或鼓掌的影响。在演奏开始之后可立即重复一个通路。即使这样,原始资料也可从表示一个特性通路的一首音乐的中间部分被提取出来。
第七修改方案的特殊特征是一个标签或存储在标准MIDI文件中的一段判别信息。该标签可以表示专用于光盘CD-B的判别数据或是音乐片段NB被记录的音轨号的结合。该判别数据被存储在光盘CD-B中作为索引,从而中央处理单元62可请求光盘驱动器从光盘的索引来传送该判别数据。中央处理单元62产生一个系统专用事件码,其中存储有表示音轨号和判别号的复合数据,并将系统专用事件码添加到标准MIDI文件中。当标准MIDI文件完成时,中央处理单元62将其传送到软盘驱动器,并请求软盘驱动器将其存储在软盘内。
用户被假定为指示第七修改方案将光盘和软盘装载在光盘驱动器和软盘驱动器中之后分别执行同步重放。当用户指定了光盘中存储的一首音乐时,中央处理单元请求光盘驱动器将分配给该光盘的判别数据和该首音乐被记录的音轨号传送到接口。
随后,中央处理单元将判别数据和音轨号提供到软盘驱动器,并请求软盘驱动器在软盘中搜索标准MIDI文件,该文件中存储有表示相同判别数据和相同音轨号的系统专用事件。若软盘驱动器成功的完成了搜索,则软盘驱动器将标准MIDI文件传送到控制器,控制器启动同步重放。另一方面,若软盘驱动器无法在软盘中找到标准MIDI文件,则软盘驱动器向控制器报告搜索失败,且控制器请求操作面板/显示器产生一个错误消息。
第七修改方案简化了对软盘的管理。并且,第七修改方案可自动搜索软盘中的音乐片段从而用户可以很容易的欣赏到同步重放。
虽然上面已经说明了本发明的特定实施例,但本领域的技术人员应当理解,在不脱离本发明的精神和范围的前提下可以进行各种各样的变化和修改。
例如,每个δ时间码可表示一个事件/多个事件和下一事件之间的时间间隔。即使这样,实施上述实施例的同步播放器系统也可执行预先记录和同步重放,因为所经过的时间等于时间间隔的总和。同步播放器系统可包括一个累加器,用于将时间间隔转换为所经过的时间。在δ时间码请求时间间隔的情况下,控制器在寄存器中存储一个事件的时间进度,并从寄存器中存储的时间进度减去下一事件的时间进度。然后,可对于该δ时间码确定时间间隔。因此,根据本发明的同步播放器系统在表示时间间隔的δ时间码的基础上,可操作于预先记录和同步重放两种模式中。
所述时间周期的值仅仅是举例,而不能对本发明的技术范围进行任何限制。实验上确定的值仅适合于某些音乐片段。然而,对于其他的音乐片段可能其他的值是最佳的。
音频数据代码和MIDI数据码不能对本发明的技术范围进行任何限制。一首音乐或音乐通路根据其它的标准书可被转换为一系列的数字码,而对键盘的演奏可以被转换为其它类型的音乐数据码和时间数据码。表示一次演奏或声音的模拟信号可被记录在信息存储介质中,并从该介质上再现。在此情况下,可对模拟信号进行相关性分析或特性事件的分析。
中央处理单元62和数字信号处理器63之间的结合不能对本发明的技术范围进行任何限制。若控制器6、6A、6B、6C、6D或6E中使用了高处理能力的微处理器,则该微处理器可实现中央处理单元62和数字信号处理器63之间的所有任务。
标准MDI文件不能对本发明的技术范围进行任何限制。任何一种数据文件都可应用于根据本发明的同步重放系统。
自动播放器钢琴不能对本发明的技术范围进行任何限制。在乐器可产生音符事件、且可从该音符事件再现音调的条件下,任何一种乐器都可应用于本同步播放器系统。该乐器可属于弦乐器族、管乐器族或打击乐器族,例如电子琴(electronic vibraphone)。可运行作曲程序的个人计算机,可作为数据源和/或声音源。
软盘驱动器2-2G、软盘FD、光盘驱动器1-1G和光盘CD-A/CD-B也不能对本发明的技术范围进行任何限制。任何一种数据存储介质,例如硬盘、磁光盘和存储棒都可应用于根据本发明的同步播放器系统。
只读存储器61和随机存取存储器64也不能对本发明的技术范围进行任何限制。任何一种存储器,例如磁泡存储器、电可编程及擦写存储器和寄存器阵列都可用作程序和工作存储器。
实施例和权利要求之间的对应关系
上述实施例的系统组件与权利要求的表述语言的关系如下。接口65a对应于一个接口,只读存储器61、中央处理单元62、数字信号处理器63、随机存取存储器64和总线系统65b总体上构成了数据处理单元。音符事件码、音频音乐数据代码分别对应于第一种音乐数据片段和第二种音乐数据片段/其它片段。参考相关性数据片段和参考特性事件数据片段可被称为参考特性数据片段,从而极值/局部最大值和参考特性事件都表示音频波形的特定特征。类似的,目标相关性数据片段和目标特性事件数据片段可被称为目标特性数据片段。
自动播放器钢琴3/3A/3B/3C/3D/3E/3F/3G/3H、光盘驱动器1/1A/1B/1C/1D/1E/1F/1G/1H和光盘CD-A的结合,以及软盘驱动器2/2A/2B/2C/2D/2E/2F/2G/2H和软盘FD的结合可分别被作为定义一个记录器的一项独立权利要求中的数据源、另一数据源和目的单元。
软盘驱动器2-2G和软盘FD的结合、光盘驱动器1-1G和光盘CD-B的结合、自动播放器钢琴3-3G,自动播放器钢琴3-3G和音频单元4-4G分别被作为定义一个播放器的一项独立权利要求中的音乐数据文件源、数据源、声音源和另一声音源。
自动播放器钢琴3-3G、光盘驱动器1-1G和光盘CD-A/CD-B的结合、软盘驱动器2-2G和软盘FD的结合、自动播放器钢琴3-3G和音频单元4-4G分别被作为定义一个同步播放器系统的一项独立权利要求中的数据源、另一数据源、音乐数据文件源、声音源和另一声音源。
参考相关性数据片段和参考特性事件码被作为特性数据片段,用于产生参考相关性数据的数据处理(参见图4、6、8、9A-9C;35、43、45)和用于产生参考特性数据的数据处理(参见图20、22、23;37、39、40、45)对应于记录器的数据处理单元所执行的数据处理,用于提取特性数据片段。标准MIDI文件被称为音乐数据文件。特性数据片段以系统专用事件的形式被存储在音乐数据文件中。
图10、13、16、41和52所示的数据处理和图25、28、31、49和50所示的数据处理对应于播放器的数据处理器所执行的用于比较目标特性数据片段和参考目标特性数据片段的数据处理。

Claims (33)

1.一种记录器,用于在格式不同于第一种类音乐数据的第二种类音乐数据的片段表示的音乐通路的重放的合奏下,记录由所述第一种类音乐数据片段表示的演奏,包括:
接口(65a),被连接到
所述第一种类音乐数据的所述片段的数据源(3,3A,3B,3C,3D,3E,3F,3G,3H),
所述第二种类音乐数据的所述片段的另一个数据源(1,1A,1B,1C,1D,1E,1F,1G,1H/CD-A)和
提供了音乐数据文件(SMF,SMF2,SMF3,MEF)的目的单元(1,1A,1B,1C,1D,1E,1F,1G,1H/FD);和
被连接到所述接口的数据处理单元(61/62/63/64/65b),
其特征在于:
所述数据处理单元从所述第二种类音乐数据的所述片段中提取由表示所述音乐通路的音频波形(PL7,PL11)的特定特征所代表的参考特性数据片段(C,PL14,A),并且在所述音乐数据文件内形成所述第一种类音乐数据的所述片段、所述参考特性数据片段、和表示再现所述演奏中产生的音调的定时的时间数据片段,以便用于通过所述接口把所述音乐数据文件提供给所述目的单元。
2.根据权利要求1的记录器,其中所述数据处理器从所述第二种类音乐数据的所述片段中提取表示某一频率分量变化的参考相关性数据片段(C,PL14)作为所述参考特性数据片段,并且所述参考相关性数据片段被用于所述音乐通路和另一音乐通路之间的相关性分析。
3.根据权利要求2的记录器,其中所述音乐通路占据一首音乐的开头部分,并且在所述开头部分的演奏期间,所述数据处理单元进一步在所述音乐数据文件中存储一个时间,其中在该时间某一参考相关性数据片段由一首所述第二种类音乐产生。
4.根据权利要求1的记录器,其中在乐器数字接口中定义了用于所述第一种类音乐数据的所述片段的格式,并且在用于光盘的红皮书中定义了用于所述第二种类音乐数据的所述片段的格式。
5.根据权利要求4的记录器,其中所述数据处理器从所述第二种类音乐数据的所述片段中提取表示某一频率分量变化的参考相关性数据片段(C,PL14)作为所述参考特性数据的所述片段,并且所述参考相关性数据片段被用于所述音乐通路和另一音乐通路之间的相关性分析。
6.根据权利要求5的记录器,其中所述音乐通路占据一首音乐的开头部分,并且在所述开头部分的所述演奏期间,所述数据处理单元在所述音乐数据文件(SMF3)中以系统专用事件码形式存储所述参考相关性数据片段和一个时间,其中在该时间产生某一参考相关性数据片段。
7.根据权利要求6的记录器,其中所述某一参考相关性数据片段(C,PL14)在表示静音的所述第二种类音乐数据片段之后立即占据表示所述音乐通路的一系列所述第二种类音乐数据片段的开头,从而在所述时间启动所述音乐通路。
8.根据权利要求4的记录器,其中所述数据处理器从表示所述音乐通路开头部分的所述第二种类音乐数据片段提取表示某一频率分量变化的开头部分的参考相关性数据片段,并从表示所述音乐通路的结尾部分的所述第二音乐数据片段中提取表示某一频率分量变化的结尾部分的其它参考相关性数据片段,作为所述参考特性数据的所述片段,并且开头部分的所述参考相关性数据片段和结尾部分的所述其它参考相关性数据片段被用于在所述音乐通路和另一音乐通路之间的相关性分析。
9.根据权利要求8的记录器,其中所述数据处理单元以系统专用事件码形式在所述音乐数据文件中存储,在所述开头部分的所述演奏期间,在所述开头部分的所述参考相关性数据片段和一个时间,其中在此时间从所述第二种类音乐数据片段中产生在所述开头部分中的所述参考相关性数据的某一片段,以及在所述结尾部分的所述演奏期间,存储在所述结尾部分中的所述参考相关性数据的其他片段和一个时间,其中在此时间从另一所述第二种类音乐数据片段中产生在结尾部分中的所述参考相关性数据的某一其他片段。
10.根据权利要求9的记录器,其中在所述开头部分中的所述参考相关性数据的所述某一片段和在所述结尾部分中的所述参考相关性数据的所述某一其他片段占据一系列所述第二种类音乐数据片段的开头和所述一系列所述第二种类音乐数据片段的结尾,从而根据所述时间确定所述音乐通路的长度。
11.根据权利要求1的记录器,其中所述数据处理单元从所述第二种类音乐数据的所述片段中提取声音属性的突变(A)作为所述参考特性数据的所述片段,并且所述突变与表示发生所述突变的定时的所述时间数据的其他片段一起被存储在所述音乐数据文件中。
12.根据权利要求11的记录器,其中从整个音乐通路中提取所述突变,从而通过使所述突变对应于从表示所述另一音乐通路的所述第二种类音乐数据片段中提取的突变,而使得另一音乐通路与所述音乐通路相一致。
13.根据权利要求4的记录器,其中所述数据处理单元从所述第二种类音乐数据的所述片段中提取声音属性的突变作为所述参考特性数据的所述片段,并且所述突变与表示发生所述突变的定时的所述时间数据的其他片段一起以系统专用事件码的形式和时间数据码的形式被存储在所述音乐数据文件中。
14.根据权利要求13的记录器,其中从整个音乐通路中提取所述突变,从而通过使所述突变对应于从表示所述另一音乐通路的所述第二种类音乐数据片段中提取的突变,而使得另一音乐通路与所述音乐通路相一致。
15.根据权利要求1的记录器,其中自动播放器钢琴(3,3A,3B,3C,3D,3E,3F,3G,3H)被作为所述数据源,从而当用户在所述自动播放器钢琴上弹奏时,所述第一种类的音乐数据的所述片段被提供到所述接口(65a),并且被装载到光盘驱动器(1,1A,1B,1C,1D,1E,1F,1G,1H)的光盘(CD-A)被作为所述另一数据源,从而当所述用户在所述自动播放器钢琴上演奏时,所述第二种类数据的所述片段从所述光盘(CD-B)被传送到所述接口(65a)。
16.一种播放器,用于在格式不同于所述第一种类音乐数据的第二种类音乐数据片段所表示的音乐通路的重放的合奏下,再现由第一种类音乐数据片段表示的演奏中的音调,包括:
接口(65a),被连接到
存储有至少一个音乐数据文件(SMF,SMF2,SMF3,MEF)的音乐数据文件源(2,2A,2B,2C,2D,2E,2F,2G,2H/FD),所述音乐数据文件包含所述第一种类音乐数据的所述片段、表示所述音乐通路的所述第二种类音乐数据的其他片段所代表的音频波形特定特征所表示的参考特性数据片段和表示再现所述演奏中的所述音调的定时的时间数据片段,
所述第二种类音乐数据的所述片段的数据源(1,1A,1B,1C,1D,1E,1F,1G,1H/CD-B),
根据所述第一音乐数据的所述片段而产生所述音调的声源(3,3A,3B,3C,3D,3E,3F,3G,3H,4-4H)和
根据所述第二种类音乐数据的所述片段而产生其它音调的另一声源(4,4A,4B,4C,4D,4E,4F,4G,4H);和
被连接到所述接口的数据处理单元(61/62/63/64/65b),
其特征在于:
所述数据处理单元从所述第二种类音乐数据的所述片段中提取表示所述音乐通路的另一个音频波形(PL8,PL12)的特定特征所代表的目标特性数据片段(PL13),对所述目标特性数据片段与所述参考目标特性数据片段进行比较从而得到所述音频波形的所述特定特征与所述另一个音频波形的所述特定特征之间的时间差,并且通过改变所述时间数据片段来重新安排定时以便把所述第一种类音乐数据的所述片段提供给所述声源,并且在已经改变的时间数据片段代表的定时处,把所述第二种类音乐数据的所述片段提供给所述另一个声源并把所述第一种类音乐数据的所述片段提供给所述声源。
17.根据权利要求16的播放器,其中所述参考特性数据的所述片段和所述目标特性数据的所述片段表示从所述第二种类音乐数据的所述其它片段中提取的某一频率分量的变化和从所述第二种类音乐数据的所述片段中提取所述某一频率分量的变化,并且所述数据处理单元通过它们之间的相关性分析对所述参考特性数据的所述片段与所述目标特性数据的所述片段进行比较。
18.根据权利要求17的播放器,其中所述参考特性数据的所述片段从表示所述音乐通路的某一部分的所述第二种类音乐数据的所述其它片段中被提取,并且所述数据处理单元在所述参考特性数据的所述片段和所述目标特性数据的所述片段之间执行所述相关性分析,用于发现与所述第二种类音乐数据的所述片段表示的所述音乐通路的所述某一部分对应的所述音乐通路的一部分。
19.根据权利要求18的播放器,其中所述某一部分是所述音乐通路的开头部分,从而在所述相关性分析之后,所述数据处理单元使得所述音乐通路的所述重放在与由所述其它音乐片段表示的所述音乐通路的重放相同的定时开始。
20.根据权利要求18的播放器,其中所述某一部分是所述音乐通路的开头部分和结尾部分,从而所述数据处理单元在所述相关性分析之后确定由所述第二种类音乐数据的所述片段表示的所述音乐通路的所述重放长度和由所述第二种类音乐数据的所述其它片段表示的所述音乐通路的所述重放长度之间的差值,并且所述数据处理单元重新安排提供所述第一种类音乐的所述片段的所述定时以最小化该差值。
21.根据权利要求16的播放器,其中所述参考特性数据的所述片段和所述目标特性数据的所述片段分别表示在所述音频波形中发现的声音属性的某些突变和在所述另一音频波形中发现的所述声音属性的其它突变,并且数据处理单元使得所述其它突变对应于所述某些突变以确定所述时间差值。
22.根据权利要求21的播放器,其中所述属性是在某一频带中的声音响度。
23.根据权利要求16的播放器,其中在乐器数字接口标准书和用于光盘的红皮书中分别定义了用于所述第一种类音乐数据的所述片段的格式和用于所述第二种类音乐数据的所述片段的格式。
24.根据权利要求23的播放器,其中以系统专用事件码形式被存储在所述至少一个音乐数据文件中的所述参考特性数据的所述片段和所述目标特性数据的所述片段分别表示从所述第二种类音乐数据的所述其它片段中被提取的某些频率分量的变化和从所述第二种类音乐数据的所述片段中被提取的所述某些频率分量的变化,并且所述数据处理单元通过它们之间的相关性分析对所述参考特性数据的所述片段与所述目标特性数据的所述片段进行比较。
25.根据权利要求24的播放器,其中所述参考特性数据的所述片段从表示所述音乐通路某一部分的所述第二种类音乐数据的所述片段中被提取,并且所述数据处理单元在所述参考特性数据的所述片段和所述目标特性数据的所述片段之间执行所述相关性分析,用于发现与所述第二种类音乐数据的所述片段表示的所述音乐通路的所述某一部分对应的所述音乐通路的一部分。
26.根据权利要求25的播放器,其中所述某一部分是所述音乐通路的开头部分,从而在所述相关性分析之后,所述数据处理单元使得所述音乐通路的所述重放在与由所述其它音乐片段表示的所述音乐通路的重放相同的定时开始。
27.根据权利要求25的播放器,其中所述某一部分是所述音乐通路的开头部分和结尾部分,从而所述数据处理单元在所述相关性分析之后确定由所述第二种类音乐数据的所述片段表示的所述音乐通路的所述重放长度和由所述第二种类音乐数据的所述其它片段表示的所述音乐通路的所述重放长度之间的差值,并且所述数据处理单元重新安排提供所述第一种类音乐的所述片段的所述定时以最小化该差值。
28.根据权利要求23的播放器,其中所述参考特性数据的所述片段和所述目标特性数据的所述片段分别表示在所述音频波形中发现的声音属性的某些突变和在所述另一音频波形中发现的所述声音属性的其它突变,并且数据处理单元使得所述其它突变对应于所述某些突变以确定所述时间差值。
29.根据权利要求28的播放器,其中所述属性是在某一频带中的声音响度。
30.根据权利要求23的播放器,其中被装载到光盘驱动器中的光盘、自动播放器钢琴和音频单元分别被作为所述数据源、所述声源和所述另一声源。
31.一种同步播放器系统,执行至少一种预先记录和同步重放,包括:接口(65a),被连接到
在演奏中产生的音调所代表的第一种类音乐数据片段的数据源(3,3A,3B,3C,3D,3E,3F,3G,3H),
在格式上不同于所述第一种类音乐并表示一个音乐通路的第二种类音乐数据片段和表示所述音乐通路的所述第二种类音乐数据的其它片段的另一数据源(1,1A,1B,1C,1D,1E,1F,1G,1H/CD-A/CD-B),
存储至少一个音乐数据文件的音乐数据文件源(2,2A,2B,2C,2D,2E,2F,2G,2H/FD),所述音乐数据文件包含所述第一音乐数据的所述片段、由第二种类音乐数据的所述片段代表的音频波形的特定特征所表示的参考特性数据片段和表示再现所述演奏中的所述音调的定时的时间数据片段,
根据所述第一种类音乐数据片段而产生所述音调的声源(3,3A,3B,3C,3D,3E,3F,3G,3H,4-4H),和
从所述第二音乐数据的其它片段中产生其它音调的另一声源(4,4A,4B,4C,4D,4E,4F 4G,4H);和
数据处理单元(61/62/63/64/65b),被连接到所述接口并且与用于所述预先记录的所述数据源、所述另一数据源和所述音乐数据文件源进行通信,并且与用于所述同步重放的所述音乐数据文件源、所述声源和所述另一声源进行通信,
其特征在于:
所述数据处理单元从所述第二种类音乐数据的所述片段中提取所述参考特性数据片段,并且在所述音乐数据文件内形成所述第一种类音乐数据的所述片段、所述参考特性数据片段和所述时间数据片段,用于通过所述接口把所述音乐数据文件提供给所述音乐数据文件源,
并且其中
所述数据处理单元从所述第二种类音乐数据的其他片段中提取表示所述音乐通路的另一个音频波形的特定特征所代表的目标特性数据片段,对所述目标特性数据片段与所述参考目标特性数据片段进行比较从而发现所述音频波形的所述特定特征与所述另一个音频波形的所述特定特征之间的时间差值,通过改变所述时间数据片段来重新安排把所述第一种类音乐数据的所述片段提供给所述第一声源的定时,并且在由已经改变的时间数据片段代表的定时处,把所述第二种类音乐数据的所述其它片段提供给所述另一声源以及把所述第一种类音乐数据的所述片段提供给所述声源。
32.根据权利要求31的同步播放器系统,其中在乐器数字接口标准书和用于光盘的红皮书中分别定义了用于所述第一种类音乐数据的所述片段的格式和用于所述第二种类音乐数据的所述片段的格式。
33.根据权利要求32的同步播放器系统,其中自动播放器钢琴被作为所述数据源和所述声源,并且被装载到光盘驱动器中的光盘和音频单元分别被作为所述另一数据源和所述另一声源。
CNB031272657A 2002-08-22 2003-08-22 同步重放系统及其记录器和播放器 Expired - Fee Related CN100339907C (zh)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
JP2002242481A JP3925349B2 (ja) 2002-08-22 2002-08-22 音声データと演奏データの同期再生を行うための装置および方法
JP242482/02 2002-08-22
JP242481/02 2002-08-22
JP242481/2002 2002-08-22
JP242482/2002 2002-08-22
JP2002242482A JP3969249B2 (ja) 2002-08-22 2002-08-22 音声データと演奏データの同期再生を行うための装置および方法
JP316806/02 2002-10-30
JP316807/02 2002-10-30
JP2002316806A JP4063048B2 (ja) 2002-10-30 2002-10-30 音声データと演奏データの同期再生を行うための装置および方法
JP316806/2002 2002-10-30
JP2002316807A JP4048917B2 (ja) 2002-10-30 2002-10-30 音声データと演奏データの同期再生を行うための装置および方法
JP316807/2002 2002-10-30

Publications (2)

Publication Number Publication Date
CN1495788A CN1495788A (zh) 2004-05-12
CN100339907C true CN100339907C (zh) 2007-09-26

Family

ID=31950737

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031272657A Expired - Fee Related CN100339907C (zh) 2002-08-22 2003-08-22 同步重放系统及其记录器和播放器

Country Status (4)

Country Link
US (1) US7863513B2 (zh)
EP (1) EP1400948B1 (zh)
KR (1) KR100569774B1 (zh)
CN (1) CN100339907C (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100636906B1 (ko) * 2004-03-22 2006-10-19 엘지전자 주식회사 미디 재생 장치 그 방법
JP4524798B2 (ja) * 2004-07-27 2010-08-18 ヤマハ株式会社 鍵盤楽器のペダルのハーフポイント特定方法及び装置、並びにプログラム
US7592533B1 (en) 2005-01-20 2009-09-22 Gary Lee Audio loop timing based on audio event information
JP4752425B2 (ja) * 2005-09-28 2011-08-17 ヤマハ株式会社 合奏システム
JP4765765B2 (ja) * 2006-05-23 2011-09-07 ヤマハ株式会社 電子楽器システム及びそのためのプログラム
US7420759B2 (en) * 2006-10-31 2008-09-02 Samsung Electronics Co., Ltd. Apparatus and method for internal calibration of normalized playback transfer curve in a hard disk drive
JP5168968B2 (ja) * 2007-03-23 2013-03-27 ヤマハ株式会社 鍵駆動装置付き電子鍵盤楽器
JP4998033B2 (ja) * 2007-03-23 2012-08-15 ヤマハ株式会社 鍵駆動装置付き電子鍵盤楽器
JP5119932B2 (ja) * 2008-01-11 2013-01-16 ヤマハ株式会社 鍵盤楽器、ピアノおよび自動演奏ピアノ
WO2009090705A1 (ja) * 2008-01-16 2009-07-23 Panasonic Corporation 記録再生装置
JP5338312B2 (ja) * 2008-12-26 2013-11-13 ヤマハ株式会社 自動演奏同期装置、自動演奏鍵盤楽器およびプログラム
KR101037220B1 (ko) * 2009-05-18 2011-05-26 (주)신진정밀 자동차의 창문 브라켓용 체결장치
JP2011145541A (ja) * 2010-01-15 2011-07-28 Yamaha Corp 再生装置、楽音信号出力装置、再生システム及びプログラム
JP2011242560A (ja) * 2010-05-18 2011-12-01 Yamaha Corp セッション端末及びネットワークセッションシステム
EP2686843A4 (en) * 2011-03-17 2014-11-26 Charles Moncavage SYSTEM AND METHOD FOR RECORDING AND SHARING MUSIC
US9111579B2 (en) * 2011-11-14 2015-08-18 Apple Inc. Media editing with multi-camera media clips
JP6641965B2 (ja) * 2015-12-14 2020-02-05 カシオ計算機株式会社 音響処理装置、音響処理方法、プログラム、及び電子楽器
US9756281B2 (en) 2016-02-05 2017-09-05 Gopro, Inc. Apparatus and method for audio based video synchronization
JP6805422B2 (ja) * 2016-03-08 2020-12-23 株式会社電通 装置、プログラム及び情報処理方法
CN109478398B (zh) * 2016-07-22 2023-12-26 雅马哈株式会社 控制方法以及控制装置
US9697849B1 (en) 2016-07-25 2017-07-04 Gopro, Inc. Systems and methods for audio based synchronization using energy vectors
US9640159B1 (en) 2016-08-25 2017-05-02 Gopro, Inc. Systems and methods for audio based synchronization using sound harmonics
US9653095B1 (en) * 2016-08-30 2017-05-16 Gopro, Inc. Systems and methods for determining a repeatogram in a music composition using audio features
JP6414164B2 (ja) * 2016-09-05 2018-10-31 カシオ計算機株式会社 自動演奏装置、自動演奏方法、プログラムおよび電子楽器
US9916822B1 (en) 2016-10-07 2018-03-13 Gopro, Inc. Systems and methods for audio remixing using repeated segments
JP7343268B2 (ja) * 2018-04-24 2023-09-12 培雄 唐沢 任意信号挿入方法及び任意信号挿入システム
US10311844B1 (en) * 2018-05-04 2019-06-04 Peter T. Godart Musical instrument recording system
KR102597852B1 (ko) * 2021-10-21 2023-11-03 주식회사 픽스트리 온라인 협연 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010007220A1 (en) * 2000-01-12 2001-07-12 Yamaha Corporation Hybrid musical instrument equipped with status register for quickly changing sound source and parameters for electronic tones
JP2001195061A (ja) * 2000-01-12 2001-07-19 Yamaha Corp 同期制御方法および同期制御装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59207076A (ja) * 1983-05-10 1984-11-24 Naoyuki Murakami 音楽再生装置
JP2830422B2 (ja) 1989-09-04 1998-12-02 カシオ計算機株式会社 自動演奏装置
JP2753641B2 (ja) 1989-12-18 1998-05-20 カシオ計算機株式会社 自動演奏装置
JPH05297867A (ja) 1992-04-16 1993-11-12 Pioneer Electron Corp 同期演奏装置
US6166314A (en) * 1997-06-19 2000-12-26 Time Warp Technologies, Ltd. Method and apparatus for real-time correlation of a performance to a musical score
JP4236024B2 (ja) 1999-03-08 2009-03-11 株式会社フェイス データ再生装置および情報端末機
JP2001195063A (ja) * 2000-01-12 2001-07-19 Yamaha Corp 演奏支援装置
JP3582444B2 (ja) 2000-01-28 2004-10-27 ヤマハ株式会社 音楽情報データ通信方法、音楽情報データ送信装置、音楽情報データ受信装置および記憶媒体
JP4403658B2 (ja) 2001-01-18 2010-01-27 ヤマハ株式会社 楽曲データ出力装置及び楽曲データ出力方法
JP4250342B2 (ja) 2001-01-23 2009-04-08 ローランド株式会社 楽音生成装置
JP2002358080A (ja) * 2001-05-31 2002-12-13 Kawai Musical Instr Mfg Co Ltd 演奏制御方法、演奏制御装置及び楽音発生装置
JP3597800B2 (ja) 2001-06-27 2004-12-08 日本信号株式会社 デジタル伝送式自動列車制御装置
WO2003026273A2 (en) * 2001-09-15 2003-03-27 Michael Neuman Dynamic variation of output media signal in response to input media signal
JP3867580B2 (ja) 2001-11-30 2007-01-10 ヤマハ株式会社 楽曲再生装置
JP3804536B2 (ja) 2002-01-16 2006-08-02 ヤマハ株式会社 楽音再生記録装置、記録装置及び記録方法
US6737571B2 (en) * 2001-11-30 2004-05-18 Yamaha Corporation Music recorder and music player for ensemble on the basis of different sorts of music data
US7897865B2 (en) * 2002-01-15 2011-03-01 Yamaha Corporation Multimedia platform for recording and/or reproducing music synchronously with visual images
JP3885587B2 (ja) * 2002-01-16 2007-02-21 ヤマハ株式会社 演奏制御装置及び演奏制御用プログラム、並びに記録媒体
JP3823855B2 (ja) * 2002-03-18 2006-09-20 ヤマハ株式会社 記録装置、再生装置、記録方法、再生方法及び同期再生システム
JP3835324B2 (ja) * 2002-03-25 2006-10-18 ヤマハ株式会社 楽曲再生装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010007220A1 (en) * 2000-01-12 2001-07-12 Yamaha Corporation Hybrid musical instrument equipped with status register for quickly changing sound source and parameters for electronic tones
JP2001195061A (ja) * 2000-01-12 2001-07-19 Yamaha Corp 同期制御方法および同期制御装置

Also Published As

Publication number Publication date
EP1400948A3 (en) 2010-03-24
EP1400948B1 (en) 2013-06-26
US7863513B2 (en) 2011-01-04
US20040055444A1 (en) 2004-03-25
KR100569774B1 (ko) 2006-04-11
KR20040018185A (ko) 2004-03-02
EP1400948A2 (en) 2004-03-24
CN1495788A (zh) 2004-05-12

Similar Documents

Publication Publication Date Title
CN100339907C (zh) 同步重放系统及其记录器和播放器
CN1183508C (zh) 自动音乐生成方法和系统
CN100339908C (zh) 用于与可视图像同步记录和/或再现音乐的多媒体平台
CN1192351C (zh) 采用时间扩展/压缩控制技术的音发生装置及方法
CN1118051C (zh) 再现装置、记录装置及记录媒体
CN1310245C (zh) 记录介质的记录方法
CN101080763A (zh) 乐曲数据重构装置及方法、音乐内容重放装置及方法
CN1249663C (zh) 基于不同种类音乐数据的合奏的音乐播放器
CN1991728A (zh) 信息处理设备、方法和程序
CN1734452A (zh) 内容提供装置,内容提供系统,网址变换装置,网址变换系统,内容提供方法,和网址变换方法
CN1345440A (zh) 信息处理设备和处理方法以及信息贮存介质
CN1967695A (zh) 信息处理装置、再现装置、通信方法、再现方法及计算机程序
CN1892880A (zh) 内容提供系统、装置及方法、内容分发服务器及接收终端
CN1606781A (zh) 编辑装置和编辑方法
CN1808416A (zh) 信息处理设备和方法以及程序
CN1940910A (zh) 内容提供系统、装置和方法、内容分发服务器和接收终端
CN1892872A (zh) 再现设备、再现方法和再现程序
CN1909103A (zh) 信息处理装置、再现装置、通信方法和计算机程序
CN101053035A (zh) 记录/再现设备和相关的内容显示控制方法
CN1755663A (zh) 信息处理设备、信息处理方法和程序
CN1160704C (zh) 音程变换装置
CN1726494A (zh) 使用模糊表达式进行查询
CN1813285A (zh) 语音合成设备、语音合成方法和程序
CN1264144C (zh) 信息信号的记录和再现设备以及相关的方法
CN1604219A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070926

Termination date: 20160822