CN104412320B - 使用音频波形数据的自动演奏技术 - Google Patents

使用音频波形数据的自动演奏技术 Download PDF

Info

Publication number
CN104412320B
CN104412320B CN201380034189.XA CN201380034189A CN104412320B CN 104412320 B CN104412320 B CN 104412320B CN 201380034189 A CN201380034189 A CN 201380034189A CN 104412320 B CN104412320 B CN 104412320B
Authority
CN
China
Prior art keywords
wave data
data
reproduction
speed
automatic playing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380034189.XA
Other languages
English (en)
Other versions
CN104412320A (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
Application filed by Yamaha Corp filed Critical Yamaha Corp
Publication of CN104412320A publication Critical patent/CN104412320A/zh
Application granted granted Critical
Publication of CN104412320B publication Critical patent/CN104412320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • 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
    • 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/18Selecting circuits
    • G10H1/22Selecting circuits for suppressing tones; Preference networks
    • 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/36Accompaniment arrangements
    • G10H1/40Rhythm
    • 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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • G10H7/006Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof using two or more algorithms of different types to generate tones, e.g. according to tone color or to processor workload
    • 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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/003Changing voice quality, e.g. pitch or formants
    • G10L21/007Changing voice quality, e.g. pitch or formants characterised by the process used
    • G10L21/01Correction of time axis
    • 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
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/375Tempo or beat alterations; Music timing control
    • G10H2210/385Speed change, i.e. variations from preestablished tempo, tempo change, e.g. faster or slower, accelerando or ritardando, without change in pitch
    • 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/025Computing or signal processing architecture features
    • G10H2230/041Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/621Waveform interpolation
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/635Waveform resolution or sound quality selection, e.g. selection of high or low sampling rates, lossless, lossy or lossier compression algorithms
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/645Waveform scaling, i.e. amplitude value normalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

为了通过使用符合期望的参考速度的波形数据以可变的演奏速度来播放波形数据,本发明根据演奏速度和参考速度之间的关系对将被播放的波形数据执行时间轴扩展/压缩控制。本发明还根据演奏速度和参考速度之间的关系确定是否限制波形数据的播放。在将限制播放的情况下,本发明停止波形数据的播放,或者减小播放处理的分辨率并继续播放波形数据。例如当演奏速度和参考速度之间的关系为以引起处理延迟或声音质量劣化的演奏速度来播放波形数据的关系时,本发明停止波形数据的播放。结果,可以预先防止系统冻结并解决诸如生成速度慢于期望的演奏速度的音乐或者生成由于噪声或声音质量的显著降低而引起的声音间歇式中断的音乐之类的问题。

Description

使用音频波形数据的自动演奏技术
技术领域
本发明总的来说涉及用于至少使用音频波形数据来执行音乐(旋律和/或伴奏)的自动演奏的自动化或自动演奏方法或技术,更具体地,涉及用于通过使用时间轴扩展/压缩控制(即,时间伸缩控制)以期望的演奏速度来播放或再现乐音的技术而不涉及再现乐音不期望的音高变化。
背景技术
迄今为止已经知道自动演奏设备,其预先存储表示琶音模式、低音模式、节奏模式等的伴奏模式数据(其中每一种模式均具有预定的单位长度(诸如四小节长度)),并且基于伴奏模式数据来执行乐音的自动演奏。通常,存在这种情况,即通过针对每个演奏部分(诸如和弦伴奏部分、低音部分和节奏部分)对实际的乐器演奏、人声、自然声音等进行采样所获得的乐音波形数据被用作伴奏模式数据,并且其中乐音控制信号(即,如根据MIDI标准来定义的MIDI数据的乐音生成指令数据)被用作伴奏模式数据。
在音频波形数据被用作伴奏模式数据的情况下,已知执行时间伸缩控制(即,时间轴扩展/压缩控制)来以期望的演奏速度(tempo)生成乐音而不涉及不期望的音高变化。作为时间伸缩控制,已知时序地读出音频波形数据并将读出的音频波形数据写入RAM,然后以与将音频波形数据写入RAM的频率不同的频率来时序地从RAM读出如此写入的音频波形数据。通过改变音频波形数据被写入RAM的频率与从RAM读出如此写入的音频波形数据的频率之间的比率,可以生成仅在演奏速度方面不同于所写入的音频波形数据而与音频波形数据被写入RAM时的音高相同(即,与音频波形数据记录时相同的音高)的乐音。以下列出的专利文献1公开了一种执行时间伸缩控制以生成仅改变演奏速度而不改变音高的乐音的设备。
在说明书中,术语“时间伸缩”用于表示在时间轴上压缩音频数据(即,沿时间轴压缩音频数据)和在时间轴上拉伸音频数据(即,沿时间轴拉伸音频数据)。此外,在该说明书中,术语“乐音”用于表示声音或任何其他声响,而不仅限于音乐声。
另一方面,在乐音生成指令数据被用作伴奏模式数据的情况下,即使根据期望改变演奏速度,所生成的乐音的音高也不会变化。即,为了改变演奏速度,仅使自动演奏设备改变事件数据(更具体地,音符打开事件数据和音符关闭事件数据)的读出速率就足够了。例如,自动演奏设备通过改变包括在MIDI数据中的各个事件数据的读出定时来改变乐音的演奏速度。然而,即使改变了各个事件数据的读出定时,如各个事件数据的音符编号的信息(音高信息)也会保持不变,因此乐音的音高也不变。
现有技术文献:
专利文献1:日本专利第2970396号
然而根据指定的演奏速度,已知设备将给出听觉不自然的印象。即,根据指定的演奏速度,基于音频波形数据生成的乐音的声音质量将显著降低,并且将引起基于音频波形数据的乐音和基于MIDI数据的乐音之间的生成定时的差异,以及类似于噪声的声音跳变。导致这种问题的原因如下。在MIDI数据被用作伴奏模式数据的情况下,该设备可以如上所述通过仅改变各个音符的读出定时来与宽的速度范围相对应地生成没有任何问题的乐音。相反,在音频波形数据被用作伴奏模式数据的情况下,与用于将音频波形数据写入RAM的写控制和用于从RAM读出所写入的音频波形数据的读控制相关联的处理负荷将随着演奏速度变快(加快)而增加,使得与基于MIDI数据的自动演奏控制相比容易发生处理延迟。如果处理负荷过度,则会发生CPU系统的冻结,对整个设备产生不利的影响。例如,在基于音频波形数据来自动地演奏特定的演奏部分同时基于MIDI数据自动地演奏另一演奏部分的情况下,会遇到不仅基于音频波形数据的演奏部分的自动演奏而且基于MIDI数据的演奏部分的自动演奏都会由于CPU系统的冻结而停止的不利情况。此外,当该设备与自动演奏同时地执行其他期望的应用时,会出现这些应用也被冻结的另一种不利情况。
此外,如果指定的演奏速度和记录音频波形数据的速度(参考速度)之间存在差异,不论指定的演奏速度太快还是太慢,都会发生显著的声音质量劣化。这种声音质量劣化会发生在时间伸缩控制期间的波形控制中,更具体地,会发生在当执行与演奏速度相对应的再现位置的跳变控制从而将与紧挨在跳变之前和之后的再现位置相对应的波形相互连接时。具体地,当音频波形数据被用作伴奏模式数据时,存在发生这种声音质量劣化的相对较大的可能性,因为指定的演奏速度和参考速度的差异通常较大且因此紧挨跳变之前和之后的再现位置彼此分离较远。
发明内容
考虑到前述现有技术的问题,本发明的目的在于适当地解决在根据期望的演奏速度对音频波形数据执行时间轴扩展/压缩控制而再现音频波形数据时可能发生的处理延迟和声音质量劣化。
根据本发明,提供了一种自动演奏设备,其包括:存储部,其存储基于期望的参考速度的音乐演奏的波形数据;获取部,其被配置为获取指定了可变演奏速度的信息;确定部,其被配置为根据演奏速度和参考速度之间的关系来确定是否应该限制波形数据的再现;以及音频再现部,其被配置为再现存储在存储部中的波形数据,为了根据演奏速度来再现波形数据,音频再现部根据演奏速度和参考速度之间的关系对将被再现的波形数据执行时间轴扩展/压缩控制。当确定部已确定应该限制波形数据的再现时,音频再现部执行用于停止波形数据的再现的操作和用于在降低再现处理的分辨率的情况下继续波形数据的再现的操作中的一个操作。
为了以可变演奏速度再现存储在存储部中的期望演奏速度的音乐演奏的波形数据,根据演奏速度和参考速度之间的关系来执行对将被再现的波形数据的时间轴扩展/压缩控制。根据本发明,根据演奏速度和参考速度之间的关系来确定是否应该限制波形数据的再现。当确定应该限制波形数据的再现时,音频再现部执行用于停止波形数据的再现的操作和用于在降低再现处理的分辨率的情况下继续波形数据的再现的操作中的一个操作。如果由于时间轴扩展/压缩控制的处理延迟的影响而使得在演奏速度和参考速度之间存在偏离,从而会生成比演奏速度延迟的乐音、会生成声音质量低的乐音或者会冻结处理系统,则确定应该限制波形数据的再现。限制波形数据的再现例如包括停止波形数据的再现。如果演奏速度和参考速度之间的关系为使得以会引起处理延迟或声音质量劣化的演奏速度来再现音频波形数据,则停止音频波形数据的再现,使得可以解决诸如生成比期望的演奏速度延迟的乐音、类似噪声的间歇式声音跳变和生成声音质量显著降低的乐音之类的问题。此外,可以防止冻结处理系统,从而阻止与冻结处理系统相关联的各种不利情况。可选地,当已确定应该限制波形数据的再现时,音频再现部执行在降低再现处理的分辨率的情况下继续波形数据的再现的操作。例如,降低再现处理的分辨率包括降低波形数据的时间轴扩展/压缩控制的分辨率。通过如此降低波形数据的再现处理的分辨率,本发明可以防止处理延迟,即防止处理比期望的演奏速度延迟。
根据这些波形数据的这些再现停止控制,其中同时再现两个或多个演奏部分,并且即使在停止任意演奏部分的再现时,也可以预见到,由于存在没有停止再现的其他演奏部分,因此将不会明显妨碍到自动演奏。例如,当同时生成基于MIDI数据的多个乐音时,可以可靠地继续基于MIDI数据的乐音生成。此外,可以以如下的方式来构建自动演奏设备:针对每个演奏部分并根据独立于另一个(其他多个)演奏部分而单为该演奏部分定义的条件,来确定是否应该限制演奏部分的波形数据的再现。在这种情况下,即使当停止任一演奏部分的波形数据的再现时,也可以继续自动演奏而不停止其他演奏部分的波形数据的再现。
在优选实施方式中,当满足与参考速度相比演奏速度太快的预定的第一条件时,确定部确定应该限制所述波形数据的再现,并且响应于确定部基于第一条件确定应该限制波形数据的再现,音频再现部执行用于停止波形数据的再现的操作和用于在降低再现处理的分辨率的情况下继续波形数据的再现的操作中的一个操作。通过这种配置,本发明可以通过停止波形数据的再现或通过降低再现处理的分辨率来适当地处理与参考速度相比演奏速度太快而由此可能引起处理延迟的情况。
在优选实时方式中,当满足与参考速度相比演奏速度太慢的预定的第二条件时,确定部确定应该限制波形数据的再现,并且响应于确定部基于第二条件确定应该限制波形数据的再现,音频再现部执行用于停止波形数据的再现的操作。通过这种配置,本发明可以通过停止波形数据的再现适当地处理与参考速度相比演奏速度太慢而由此可能引起声音质量劣化的情况。
在优选实施方式中,本发明的自动演奏设备还包括:乐音生成部,其被配置为基于乐音生成指示数据(诸如MIDI格式的数据(MIDI数据))生成乐音波形。响应于确定部确定应该限制波形数据的再现,音频再现部执行用于再现波形数据的操作,并且乐音生成部基于乐音生成指示数据来生成与应该停止再现的波形数据相对应的乐音波形。即,本发明被配置为基于乐音生成指令数据(诸如MIDI格式的数据(MIDI数据))来生成乐音波形,而不是停止波形数据的再现,从而适当地代替基于波形数据的演奏。
即,一旦得到与参考速度的差异大于预定值的可能生成比期望的演奏延迟的乐音或可能生成声音质量低的乐音的这种演奏速度,本发明不会硬要读出乐音波形数据并因此不生成乐音。结果,本发明可以实现不对用户给出听觉上不自然的印象的演奏的优势。
本发明不仅可以构建和实施为上述装置发明而且还可以构建和实施为方法发明。此外,本发明可以配置和实施为被诸如计算机或DSP之类的处理器执行的软件程序以及存储有这种软件程序的非暂时性计算机可读存储介质。
附图说明
现在,将通过参照附图并仅以示例的方式来描述本发明的几个优选实施例,其中:
图1是示出应用了本发明的自动演奏设备的实施例的电子乐器的示例性硬件构成的框图;
图2是示出风格数据的数据组织的概念图;
图3是音频再现部的功能的示例性功能框图;
图4是示出演奏速度限制值表格的数据组织的概念图;
图5是自动演奏处理的示例的流程图;
图6是示出音频波形数据读取处理的示例的一部分的流程图;
图7是示出跟随图6所示部分的音频数据读取处理的一部分的流程图;
图8是示出跟随图7所示部分的音频数据读取处理的一部分的流程图;
图9是示出跟随图8所示部分的音频数据读取处理的剩余部分的流程图;
图10是示出乐音生成处理的示例的一部分的流程图;
图11是示出跟随图10所示部分的乐音生成处理的剩余部分的流程图;以及
图12是渐弱处理的示例的流程图。
具体实施方式
图1是示出应用了本发明的自动演奏设备的实施例的电子乐器的示例性硬件构成的框图。在图1的电子乐器中,在包括微处理器单元(CPU)1、只读存储器(ROM)2和随机存取存储器(RAM)3的微计算机的控制下执行各种处理。CPU 1控制整个电子乐器的操作。经由数据和地址总线1D,将ROM 2、RAM 3、存储装置4、演奏操作单元5、面板操作单元6、显示部7、音频再现部8、MIDI乐音生成部9、乐音控制电路10和接口11与CPU 1连接。
此外,与CPU 1连接的还有用于对各种时间(例如用于定时器中断处理的信号中断定时)进行计数的定时器1A。例如,定时器1A生成用于设置自动地演奏乐音的演奏速度以及用于设置将时序地从存储装置4读出的音频数据临时写入RAM 3中的频率和将临时写入RAM3中的音频数据从RAM 3中读出的频率的速度时钟脉冲。由定时器1A生成的这种速度时钟脉冲作为处理定时指令或中断指令而提供给CPU 1。CPU 1根据这种指令来执行各种处理。
ROM 2中存储了由CPU 1执行的各种控制程序和由CPU 1参考的各种数据。RAM 3被用作用于临时存储CPU 1执行预定程序时生成的各种数据的工作存储器、用作临时存储当前执行的程序和与当前执行的程序相关的数据的存储器以及用于各种其他目的。RAM 3的预定地址区域被分配给各种功能并且被用作各种寄存器、标志、表格、临时存储器等。
存储装置4具有能够存储各种数据的内置数据库,诸如包括音频波形数据(参见图2)和MIDI数据(未示出)的风格数据。存储装置4还可以在其中存储被CPU 1执行的各种控制程序。在具体的控制程序没有被预先存储在ROM 2中的情况下,该控制程序可以预先存储在外部存储装置(例如,硬盘装置)4中,使得通过从外部存储装置4读取控制程序到RAM 3中,CPU 1被允许以与特定控制程序被预先存储在ROM 2中的情况完全相同的方式来操作。这种配置极大地有利于控制程序的版本升级、添加新控制程序等。存储装置4可以为任何期望的类型,只要其使用除硬盘(HD)之外的各种记录介质(诸如软盘(FD)、压缩盘(CD-ROM或CD-RAM)、磁光盘(MO)和DVD(数字通用盘))中的任意一种即可。可选地,存储装置4可以为半导体存储器,诸如闪存。
例如,演奏操作单元5是包括可用于选择将被生成的乐音的音高的多个键以及与键具有对应关系而设置的键开关的键盘。当然,演奏操作单元5可用于人类演奏者的手动演奏,而且还可以用作输入和弦的输入装置。不需要说,演奏操作单元5可以为键盘类型以外的任何其他类型,诸如其上设置有音高选择弦的颈状类型。
面板操作单元6包括各种操作器,诸如用于选择风格数据的选择开关、用于设置演奏速度的速度设置开关、用于指示开始/停止自动演奏的再现(播放)/停止按钮、用于输入和弦的输入操作器、用于设置参数(诸如音色和音效)的设置操作器。无需说,面板操作单元6还可以包括各种其他操作器,诸如用于选择、设置和控制音高、音色、音效等的数字键盘和字符(文本)数据输入键盘以及用于操作指向显示部7上显示的各个屏幕上的位置的指示器的鼠标。
包括液晶显示器(LCD)面板、CRT(阴极射线管)等的显示部7在视觉上不仅显示各种屏幕(诸如未示出的风格选择屏幕和未示出的演奏速度设置屏幕)而且显示各种信息(诸如风格数据的内容和CPU1的控制状态等)。人类演奏者可以通过参考显示在显示部7上的各种信息而容易地选择风格数据、设定演奏速度等。
音频再现部8能够同时生成多个音轨(演奏部分)的再现波形信号。即,音频再现部8基于经由数据和地址总线1D给出的期望风格数据中包括的各个演奏部分的音频波形数据而逐个演奏部分地生成再现波形信号。
MIDI乐音生成部9能够同时生成多个音轨(演奏部分)的再现波形信号。即,MIDI乐音生成部9接收经由数据和地址总线1D给出的MIDI数据(乐音生成指令数据),基于包括在MIDI数据中的各种事件信息来生成再现波形信号,以及输出所生成的再现波形信号。通过使用计算机来实现MIDI乐音生成部9,其中,通过执行预定应用程序的计算机来执行基于MIDI数据的自动演奏控制。注意,乐音生成指令数据可以为除MIDI格式之外的任何其他适当的格式。
MIDI乐音生成部9不是必须通过计算机程序来实现,而是也可以通过由DSP(数字信号处理器)处理的微程序来实现。此外,MIDI乐音生成部9可以通过除这种程序之外的其他方式来实现,诸如其中结合有独立电路或者集成或大规模集成电路的专用硬件设备。此外,MIDI乐音生成部9可以采用除波形存储方法之外的任何期望的音合成方法,诸如FM方法、物理模型方法、和声合成方法、共振峰合成方法等。可以单独使用这些乐音合成方法中的任一种,或者可以使用这些乐音合成方法的期望组合。
上述音频再现部8和MIDI乐音生成部9均连接至乐音控制电路10,并且乐音控制电路10对从音频再现部8和MIDI乐音生成部9生成的再现波形信号执行预定的数字信号处理,从而对再现波形信号施加音效。然后,乐音控制电路10混合波形信号(将波形信号加到一起)并将混合的波形信号输出至包括扬声器等的音响系统10A。即,乐音控制电路10包括信号混合(添加)电路、D/A转换电路、音量控制电路等。
接口11是用于在自动演奏设备的实施例和未示出的其他设备(诸如电子乐器和服务器设备)之间传输和接收(即,通信)各种数据(诸如风格数据和MIDI)和各种信息(诸如控制程序)。接口11可以为MIDI接口、LAN、互联网、电话线中的任一种,并且可以为有线和/或无线类型。例如,用户可以访问驻留在通信网络上的服务器设备(经由接口11与该设备连接)来获取风格数据等。
应该理解,本发明的自动演奏设备不限于演奏操作单元5、显示部7和MIDI乐音生成部9等均一起集成在设备主体内的类型,自动演奏设备当然可以为上述演奏操作单元5、显示部7和MIDI乐音生成部9等被分开设置且经由通信设备(诸如MIDI接口和各种通信网络)互连的另一种类型。
还应该理解,本发明的自动演奏设备可以应用于除上述电子乐器之外的任何其他形式的装置和设备等,诸如个人计算机、便携式通信终端(诸如PDA(便携式信息终端)和移动电话)和游戏装置,只要这种装置和设备等可以至少基于音频波形数据来执行乐音的自动演奏即可。
图2是示出在电子乐器内置的数据库中存储的风格数据的数据组织的概念图。风格数据不仅包括预先存储在电子乐器中的数据(即,通过电子乐器的制造商创建的数据),而且还包括用户新创建且附加存储在数据库中的数据以及制造商和其他用户创建、登记在外部设备(例如服务器设备)中、然后代替现有数据或除现有数据之外附加存储在数据库中的数据。
每个风格数据(自动演奏数据)均包括风格属性信息和实质数据(音轨数据和音符转换数据)。风格属性信息(其是登记在数据库中并且允许搜索正在考虑的伴奏风格适用于哪种类型的音乐作品和音乐流派的信息)包括风格名称和其他风格属性信息。风格名称是伴奏风格唯一的名称。其他风格属性信息例如包括与伴奏风格的图像匹配的实际音乐作品名称、可联想起伴奏风格的图像的关键字、音乐时间信息、速度信息(推荐速度,即参考速度)、音色等。
音轨数据是为多个部分(前奏、主奏、加花、尾奏等)中的每一个以及为多个音轨(和弦支持部分、低音部分、节奏部分等)中的每一个准备的基本伴奏模式数据。包括一系列MIDI格式事件(诸如音符事件和乐音生成定时)的MIDI数据或通过对实际乐器演奏、人声、自然声音等进行采样得到的音频波形数据可以被分配给音轨(作为音轨数据)。可选地,在本实施例中,音频波形数据和MIDI数据均可以分配给音轨。注意,MIDI数据是能够生成与基于音频波形数据而生成的乐音类似的乐音的数据模式。这些伴奏模式数据可具有在各个部分中不同的一小节至多小节的长度。应理解,本实施例不限于音频波形数据和/或MIDI数据被存储在风格数据中的结构;即,风格数据的存储位置与音频波形数据和MIDI数据的存储位置可以彼此不同。
MIDI数据是基于预定的参考和弦创建并根据演奏时指定的每个和弦受到和弦转换的数据。预定的参考和弦例如为每一个都具有音高名称“C”作为根音(例如,C大调、C小调和C七度)的各种和弦,并且伴奏模式数据中的音高被转换以与演奏期间期望的指定和弦相匹配。演奏期间指定的和弦可变,或者可以以演奏行进的顺序预先在音符转换数据中指定,或者可以在自动演奏期间由用户适当输入。注意,音符转换数据可包括用于设置和弦转换特性的信息,诸如将用于和弦转换的表格。
以下描述通过音频再现部8生成再现波形信号。图3是音频再现部8的功能的示例性功能框图,其中箭头表示数据流动。
如图3所示,音频再现部8包括数据读出部8a和时间轴控制部8b。数据读出部8a逐部分地(即,逐音轨地)读出从存储在存储装置4、ROM 2等中的各种风格数据中选择的风格数据所包括的音频波形数据,并将读出的音频波形数据写入(传输)到RAM 3等中设置的部分专用临时存储部3a中。此时,一旦从存储装置4中完全读出单个演奏模式的音频波形数据,音频再现部8就返回到单个演奏模式的音频波形数据的开头以重复音频波形数据的读出。然而,注意,一旦指定了使与用于将音频波形数据写入临时存储部3a的写入控制(音频波形数据写入控制)和用于从临时存储部3a读出写入的音频波形数据(音频波形数据读取控制)相关联的负荷增大的演奏速度或使声音质量劣化增大的演奏速度,即一旦指定与建议的速度(参考速度)具有显著差异的演奏速度,数据读出部8a就停止将音频波形数据写入(传输)至临时存储部3a。注意,通常,存储在存储装置4等中的音频波形数据是以期望的速度对期望的演奏部分执行乐器演奏而得到并随后存储的数据。如此存储的音频波形数据的演奏速度在下文被称为“建议速度”或“参考速度”。
临时存储部3a例如被构建为所谓的FIFO(先入/先出)缓存存储器,其中,空闲的存储区域的大小随着所写入的音频波形数据被按时间顺序读出而增加。在这种缓存存储器中,可以以异步方式来控制用于指向数据将被写入的地址的数据写入指针和用于指向将从中读取数据的地址的数据读取指针。因此,可以利用彼此不同的数据写入速度和数据读出速度以并行方式同时地处理数据写入和数据读出。
时间轴控制部8b根据给定的频率读出写入临时存储部3a中的音频波形数据。此时,通过改变数据写入速度(频率)和数据读出速度(频率)之间的比率,可以进行减小或增加再现时间长度的时间轴配置而不改变原始音频波形数据的音高。执行音频波形数据的稀疏化以减小再现时间长度,同时执行音频波形数据的内插以增加再现时间长度。例如,当用户已指示改变再现演奏速度时,根据指示的速度对音频波形数据执行时间伸缩控制。迄今已经提出了用于通过这种波形控制执行时间伸缩控制以收缩(压缩)或伸展(扩展)时间轴而又不改变音高的各种方法。然而,由于这种时间伸缩控制本身是已知的,所以这里省略对时间伸缩控制的详细描述。从时间轴控制部8b逐部分生成的再现波形信号被输出至乐音控制电路10。
在本实施例中,CPU 1控制数据读出部8a以在预定条件下停止音频波形数据读出。如果停止了由数据读出部8a从存储装置4等中读出音频波形数据,则不再有音频波形数据被写入临时存储部3a。在预先提供的演奏速度限制值表格中预先存储停止从存储装置4等中读出音频波形数据的预定条件。因此,以下描述演奏速度限制值表格。图4是示出演奏速度限制值表格中的数据组织的概念图。
如图4所示,演奏速度限制值表格中存储有针对由风格名称表示的每种风格数据的伴奏部分(其伴奏模式数据为音频波形数据)的部分编号、演奏速度的限制值(倍率)、同时再现时的优先级顺序和对应的MIDI数据的存在/不存在。“伴奏部分(其伴奏模式数据为音频波形数据)的部分编号”表示由风格名称表示的风格数据中包括的多个演奏部分中的被分配有音频波形数据作为伴奏模式数据的演奏部分号(音轨号)。
演奏速度限制值通过上限值和下限值表示速度限制值,在该限制值内将不会由于时间伸缩控制的处理延迟而妨碍乐音的自动演奏,并且听觉上不会发生声音质量的问题,在所示实施例中,演奏速度限制值例如可以表示为相对于建议速度(建议演奏速度)的倍率(或差)。例如,如果设置超过上限值的演奏速度,则考虑由于源于经由临时存储部3a执行的音频波形数据写入控制和读取控制相关联的大处理负荷的时间伸缩控制的延迟而妨碍自动演奏。另一方面,如果设置低于下限值的演奏速度,则考虑由于在时间伸缩控制中读出的波形位置的调整(跳变)而使波形连接劣化变得显著。即,这些上限值和下限值是会影响与时间伸缩控制相关联的波形控制从而生成与获取的演奏速度存在延迟的乐音或声音质量低的乐音的阈值。此外,通过上限值和下限值定义的演奏速度限值包括“用于单部分自动演奏的限值”和“用于多部分自动演奏的限值”。当仅自动执行其伴奏模式数据是音频波形数据的单个演奏部分时,使用“用于单部分自动演奏的限值”,而当同时自动执行其伴奏模式数据是音频波形数据的多个演奏部分时,即当与单部分自动演奏相比用于时间伸缩控制的处理负荷本来就很大时,使用“用于多部分自动演奏的限值”。
此外,在将自动执行其伴奏模式数据为音频波形数据的多个演奏部分的情况下,“同时再现时的优先级顺序”表示这样的演奏部分的顺序:当确定设置了比用于多部分自动演奏的限值(即,上限值)大的演奏速度或设置了比用于多部分自动演奏的限值(即,下限值)小的演奏速度时,将根据该优先级顺序来将某演奏部分设置为停止音频波形数据读出的对象,从而不生成任何再现波形信号。例如,如果在基于图4所示的风格名称为“BBBB”的风格数据的自动演奏时设置了超过用于多部分自动演奏的“1.4”限值(即,上限值)的快演奏速度,则不生成在优先级“2”处的编号为“16”的演奏部分的再现波形信号。此外,如果基于风格名称“CCCC”的风格数据的自动演奏时设置了超过用于多部分自动演奏的“1.0”限值(即,上限值)的快演奏速度,则不生成在优先级“3”处的编号为“15”的演奏部分的再现波形信号。此外,如果设置了超过用于多部分自动演奏的“1.1”限值(即,上限值)的快演奏速度,则不生成在优先级顺序“2”处的编号为“14”的演奏部分的再现波形信号,即使限值“1.1”没有超出“1.4”的限值(上限值)。注意,如果指示了慢演奏速度,则可以以前述参照用于多部分自动演奏的限值(下限值)的方式进行确定。
对应MIDI数据的存在/不存在表示除音频波形数据之外是否分配了用于实现与音频波形数据对应的伴奏的MIDI数据作为伴奏模式数据。如果“存在”这种对应的MIDI数据,则意味着包括音频波形数据和MIDI数据的两个伴奏模式数据被分配给演奏部分,在这种情况下,如果指示了超出限值的演奏速度,则可以基于MIDI数据而不是音频波形数据来生成乐音。注意,在分配了与音频波形数据对应的MIDI数据的情况下,人类演奏者可以适当地设置MIDI数据的“存在”或“不存在”。
返回参照图3,处理负荷由于基于音频波形数据再现乐音期间的演奏速度改变而增加的主要原因在于,与时间伸缩控制相关联的处理负荷随着演奏速度加快而增加。更具体地,处理负荷响应于音频波形数据被写入临时存储部3a的写入速率和数量以及从临时存储部3a读出写入的音频波形数据的读取速率和数量的增加而增加。
因此,根据本发明的一个实施例,当基于演奏速度的限值(速度限值)(参见图4)确定演奏速度已经达到速度加速限制值时,停止音频波形数据的再现。即,配置该实施例以减小处理负荷,例如通过防止数据读出部8a从存储装置4等中读出音频波形数据使得新的音频波形数据不被写入临时存储部3a(即,禁止写入新的音频波形数据)。即,可以说前述演奏速度限值中的每个上限值都表示与用于将音频波形数据写入临时存储部3a的写入控制和用于从临时存储部3a读出写入的音频波形数据的读取控制相关联的处理负荷可落入不妨碍再现波形信号的生成的负荷范围内的演奏速度的限值。
在停止从存储装置4等中读出音频波形数据期间,指向将写入数据的地址的数据写入指针被停止,但是指向将读出数据的地址的数据读出指针保持移动而没有停止。然而,注意,尽管数据读出指针保持移动,但不执行数据读出;而是,生成和输出无声的再现波形信号。即,生成和输出无声声音的再现波形信号,因为如果在停止读出音频波形数据期间什么都不输出则会不期望地生成噪声。注意,在演奏速度限值表格(参见图4)中“存在”对应MIDI数据的情况下,基于对应的MIDI数据生成随后的乐音,随后是响应于停止生成再现波形信号而基本无声的乐音。
当演奏速度达到速度限值时,立即使正在进行的乐音处于静音状态,从而发生类似“啪嗒!”的噪声。由于这种噪声是听觉上不优选的,所以乐音控制电路10对正在进行的乐音执行渐弱控制。另一方面,一旦取消了静音状态,乐音控制电路10就对正在进行的乐音执行渐强控制。这种渐弱控制和渐强控制将占用的时间可以被设置为不依赖于指定的演奏速度的时间。如果渐弱控制将占用的时间表示为“t1”且渐强控制将占用的时间表示为“t2”,由于在时间轴控制部8b的输出侧上将时间“t1”设置为固定时间(如“5ms”),则时间“t2”也被设置为固定时间。尽管固定时间可以改进声音质量,但可能输入至时间轴控制部8b的量快速改变并且负荷根据演奏速度而急速增加。为了避免这种不利情况,可以采用以下方式:对于时间轴控制部8b的输入侧上的时间伸缩控制,通过使用存储在临时存储部3a中的音频波形数据来执行渐弱控制,直到停止从存储装置4等中读出音频波形数据的时间点为止。然而,可以根据演奏速度来改变渐弱控制/渐强控制将占用的时间,而不采用前述方法。
接下来,将给出关于CPU 1执行的“自动演奏处理”的描述。图5是示出自动演奏处理的示例的流程图。一旦电子乐器上电就开始自动演奏处理,并且一旦电子乐器断电就终止。为了易于理解以下描述,假设在自动演奏期间不存在部分改变或风格数据改变。此外,还假设将音频波形数据用作伴奏模式数据的演奏部分是不需要响应于和弦的输入来执行音高转换的节奏部分,并且这些节奏部分被分别分配有音轨号“15”和“16”。向除节奏部分之外的演奏部分分配MIDI数据作为伴奏模式数据。在这种情况下,保证两个临时存储部3a(示为Data15和Data16)和静音标志(示为MuteF15和MuteF16)。以下将给出主要与演奏加速已生效的情况相关的描述。
在步骤S1中,执行初始化。初始化的示例包括:选择风格数据;设置和弦信息输入方法;设置初始速度;临时存储部3a的初始化(Data15和Data16);临时存储部3a的各个数据写入指针(可以为普通数据写入指针)和数据读取指针的复位;静音标志(示为MuteF15和MuteF16)的复位(设置为“0”);自动演奏标志(以下称为“RUN标志”)的复位(设置为“0”);以及用于存储当前和弦和先前(或最后的)和弦的寄存器的初始化。
在下一步骤S2中,确定是否进行了与自动演奏相关的任何设置改变,诸如风格数据改变、和弦信息输入方法改变或初始速度改变。如果在步骤S2中确定进行了任何设置改变(步骤S2中确定为是),则在步骤S3中执行自动演奏终止处理。在步骤S3的自动演奏终止处理中,CPU 1执行各种操作,诸如停止定时器、复位RUN标志和消去当前生成的所有乐音。此后,CPU 1返回到步骤S1。如果没有进行设置改变(在步骤S2中确定为否),则进一步确定是否执行了任何终止操作,诸如用于关闭电源的操作(步骤S4)。
如果在步骤S4中确定执行了任何终止操作(步骤S4中确定为是),则CPU 1在执行步骤S5的终止处理之后终止当前的自动演奏处理。在终止处理中,CPU 1执行各种操作,诸如用于停用定时器和消去当前生成的所有乐音的操作。另一方面,如果在步骤S4中确定没有执行终止操作(在步骤S4中确定为否),则进一步确定是否执行了用户的演奏操作或手动演奏操作,诸如人类演奏者的键盘操作(步骤S6)。如果在步骤S6中确定执行了用户的演奏操作(步骤S6中确定为是),则CPU 1在步骤S7中执行处理(诸如生成或消去与演奏操作对应的乐音),然后前进到步骤S8。因此,可以在自动演奏中反映与人类演奏者的演奏操作相对应的手动演奏乐音。如果在步骤S6中确定没有执行用户的演奏操作(步骤S6中确定为否),则CPU 1移动到步骤S8而不执行步骤S7的演奏处理。
此外,在步骤S8中,确定是否接收到自动演奏开始指令。如果在步骤S8中确定接收到自动演奏开始指令(在步骤S8中确定为是),则在执行各种操作(诸如读出(加载)所选风格数据、复位先前和当前和弦和激活定时器的操作)(步骤S9)之后,RUN标志被置位为“1”,然后前进到步骤S10。如果在步骤S8中确定没有接收到自动演奏开始指令(步骤S8中确定为否),则CPU 1前进到步骤S10而不执行步骤S9。
在步骤S10中,确定是否接收到自动演奏停止指令。如果在步骤S10中确定接收到自动演奏停止指令(步骤S10中确定为是),则CPU 1在执行各种操作(诸如将RUN标志复位为“0”、初始化临时存储部3a(Data15和Data16)、复位静音标志(MuteF15和MuteF16)和停用定时器的操作)(步骤S11)之后,前进到步骤S12。另一方面,如果在步骤S10中确定没有接收到这种自动演奏停止指令(步骤S10中确定为否),则CPU 1前进到步骤S12而不执行步骤S11。
在步骤S12中,确定RUN标志当前是否被置位为“1”。如果在步骤S12中确定RUN标志当前没有被置位为“1”(在步骤S12中确定为否),则CPU返回到步骤S2。如果在步骤S12中确定RUN标志当前被置位为“1”(在步骤S12中确定为是),则CPU 1获取当前针对自动演奏设置的自动演奏速度信息(步骤S13)。然后,在步骤S14中,进一步确定现在是否是根据当前演奏速度信息等的改变来重新生成(即,重新产生)再现波形信号的时间(定时)。如果在步骤S14中确定现在是重新生成(即,重新产生)再现波形信号的时间(定时)(步骤S14中确定为是),则CPU 1在步骤S15中执行“音频波形数据读取处理”之后前进到步骤S16。稍后将参照图6描述音频波形读取处理。另一方面,如果在步骤S14中确定现在不是重新生成(即,重新产生)再现波形信号的时间(步骤S14中确定为否),则CPU 1前进到步骤S16而不执行步骤S15。
在步骤S16中,进一步确定是否接收到输入和弦信息(和弦信息)。通过用于输入和弦信息的初始设置方法来确定和弦信息的输入风格(参见步骤S1)。例如,响应于人类演奏者在预定键范围中的和弦输入操作、直接输入和弦名称或者用于指定预先与和弦相关联的预定编号的操作,根据需要输入和弦信息。一旦确定接收到和弦信息的输入(步骤S16中确定为是),则在步骤S17中,CPU 1将当前和弦设置为先前和弦并将输入的和弦信息设置为当前和弦。这里,当首次输入和弦信息时,先前和弦变为“无”(无和弦)。此后,CPU 1前进到步骤S18。另一方面,如果在步骤S16中确定没有接收到和弦信息的输入(步骤S16中确定为否),则CPU 1前进到步骤S18而不执行步骤S17。可以通过根据演奏速度顺序读出预先准备的一系列和弦(和弦进展)或者通过输入基于人类演奏者演奏旋律等自动检测到的和弦来实现和弦信息的输入。
在步骤S18中,确定现在是否是再现基于伴奏模式数据生成的再现波形信号的时间(定时)。如果在步骤S18中确定现在不是对再现波形信号进再现的时间(定时)(步骤S18中确定为否),则CPU 1返回到步骤S2。另一方面,如果在步骤S18中确定现在是对再现波形信号进行再现的时间(定时)(步骤S18中确定为是),则CPU 1在步骤S19中执行“乐音生成处理”之后返回到步骤S2。稍后将参照图10讨论乐音生成处理的细节。
以下参照图6至图9来描述“音频波形数据读取处理”(参见图5的步骤S15)。图6至图9是示出音频波形数据读取处理的示例的流程图。然而,注意,为了易于说明,音频波形数据读取处理被示为分开的四个部分。
如图6所示,在步骤S21中,从读出的风格数据中获得建议速度(参考速度)信息。在下一步骤S22中,在步骤S22中获得速度倍率。通过计算的当前速度与建议速度信息的倍率(比率)来获得速度倍率。在步骤S23中,读取演奏部分被设置为“无”。在下一步骤S24中,确定静音标志(MuteF15和MuteF16)当前是否均处于复位状态(即,值“0”)。如果在步骤S24中确定静音标志(MuteF15和MuteF16)中的至少一个不处于复位状态(在步骤S24中确定为否),则CPU 1跳至图7所示步骤S41。如果步骤S24中确定静音标志(MuteF15和MuteF16)当前均处于复位状态(在步骤S24中确定为是),则在步骤S25中进一步确定速度倍率是否小于用于每个“部分15”和“部分16”的多部分自动演奏的限值(在这种情况下为上限值)。基于图4所示的演奏速度限值表格来进行速度倍率和各个限值之间的比较。如果在步骤S25中确定速度倍率小于用于每个“部分15”和“部分16”的多部分自动演奏的限值(在步骤S25中确定为是),则在步骤S26中将读取演奏部分设置为“部分15”和“部分16”,其后CPU 1前进到图9的步骤S34。
另一方面,如果在步骤S25中确定速度倍率不小于用于每个“部分15”和“部分16”的多部分自动演奏的限值(在步骤S25中确定为否),则在步骤S27中进一步确定速度倍率是否小于用于“部分15”和“部分16”中的一个(比另一个具有更大的优先级)的单部分自动演奏的限值。如果在步骤S27中确定速度倍率小于用于“部分15”和“部分16”中的一个(比另一个具有更大的优先级)的单部分自动演奏的限值(步骤S27中确定为是),则在步骤S28中将较低优先级的部分的静音标志置位为“1”,而且还在步骤S29中将读取部分设置为更高优先级的部分。此后,CPU 1前进到图9的步骤S34。
另一方面,如果在步骤S27中确定速度倍率不小于用于“部分15”和“部分16”中的一个(比另一个具有更大的优先级)的单部分自动演奏的限值(步骤S27中确定为否),则在步骤S30中进一步确定速度倍率是否小于用于“部分15”和“部分16”中的一个(比另一个具有更低的优先级)的单部分自动演奏的限值。如果在步骤S30中确定速度倍率小于用于“部分15”和“部分16”中的一个(比另一个具有更低的优先级)的单部分自动演奏的限值(步骤S30中确定为是),则在步骤S31中将较高优先级的部分的静音标志置位为“1”,而且还在步骤S32中将读取部分设置为较低的优先级部分。此后,CPU 1前进到图9的步骤S34。如果在步骤S30中确定速度倍率不小于用于“部分15”和“部分16”中的一个(比另一个具有更低的优先级)的单部分自动演奏的限值(步骤S30中确定为否),则在步骤S33中将静音标志(MuteF15和MuteF16)均置位为“1”,此后CPU 1终止当前的音频波形数据读取处理。
如图7所示,在步骤S41中,确定静音标志(MuteF15和MuteF16)中的任一个当前是否处于复位状态(为值“0”)。如果在步骤S41中确定任一个静音标志处于复位状态(步骤S41中确定为是),则CPU 1前进到图8的步骤S54。
如果两个静音标志当前均处于置位状态(在步骤S41中确定为否),则在步骤S42进一步确定速度倍率是否小于用于每个“部分15”和“部分16”的多部分自动演奏的限值。如果在步骤S42中确定速度倍率小于用于每个“部分15”和“部分16”的多部分自动演奏的限值(步骤S42中确定为是),则在步骤S43中复位静音标志(MuteF15和MuteF16)(变为复位状态),并且在步骤S44中将读取部分设置为“部分15”和“部分16”,此后CPU 1返回到图9所示的步骤S34。
此外,如果在步骤S42中确定速度倍率不小于用于每个“部分15”和“部分16”的多部分自动演奏的限值(步骤S42中确定为否),则在步骤S45中进一步确定速度倍率是否小于用于“部分15”和“部分16”中的每一个的单部分自动演奏的限值。如果在步骤S45中确定速度倍率小于用于“部分15”和“部分16”中的每一个的单部分自动演奏的限值(步骤S45中确定为是),则在步骤S46中复位“部分15”和“部分16)中的一个(比另一个具有更高的优先级)的静音标志,并且在步骤S47中将读取部分设置为更高优先级部分,此后CPU 1进行到图9所示的步骤S34。
如果在步骤S45中确定速度倍率不小于用于“部分15”和“部分16”中的每一个的单部分自动演奏的限值(步骤S45中确定为否),则在步骤S48中进一步确定速度倍率是否小于用于“部分15”的单部分自动演奏的限值。如果在步骤S48中确定速度倍率小于用于“部分15”的单部分自动演奏的限值(步骤S48中确定为是),则在步骤S49中将当前处于置位状态的静音标志MuteF15复位,并且在步骤S50中将读取部分设置为“部分15”,此后CPU 1前进到图9的步骤S34。
如果在步骤S48中确定速度倍率不小于用于“部分15”的单部分自动演奏的限值(步骤S48中确定为否),则在步骤S51中进一步确定速度倍率是否小于用于“部分16”的单部分自动演奏的限值。如果在步骤S51中确定速度倍率小于用于“部分16”的单部分自动演奏的限值(步骤S51中确定为是),则在步骤S52中将当前处于置位状态的静音标志MuteF16复位,并且在步骤S53中将读取部分设置为“部分16”,此后CPU 1前进到图9所示的步骤S34。如果在步骤S51中确定速度倍率不小于用于“部分16”的单部分自动演奏的限值(步骤S51中确定为否),则CPU 1终止当前处理。
如图8所示,在步骤S54中,确定速度倍率是否小于用于每个“部分15”和“部分16”的多部分自动演奏的限值。如果在步骤S54中确定速度倍率小于用于每个“部分15”和“部分16”的多部分自动演奏的限值(步骤S54中确定为是),则在步骤S55中将当前处于置位状态的静音标志(MuteF15和MuteF16)中的一个进行复位,使得MuteF15和MuteF16均被置于复位状态,并且在步骤S56中将读取部分设置为“部分15”和“部分16”,此后CPU 1返回到图9所示的步骤S34。
如果在步骤S54中确定速度倍率不小于用于每个“部分15”和“部分16”的多部分自动演奏的限值(步骤S54中确定为否),则在步骤S57中进一步确定速度倍率是否小于用于“部分15”和“部分16”中的任一个(其静音标志当前处于复位状态)的单部分自动演奏的限值。如果速度倍率小于用于“部分15”和“部分16”中的任一个(其静音标志当前处于复位状态)的单部分自动演奏的限值(步骤S57中确定为是),则在步骤S58中将读取的部分设置为静音标志当前处于复位状态的部分,此后CPU 1返回到图9所示的步骤S34。
如果速度倍率不小于用于“部分15”和“部分16”中其静音标志当前处于复位状态的那一个部分的单部分自动演奏的限值(步骤S57中确定为否),则在步骤S59中进一步确定速度倍率是否小于用于“部分15”和“部分16”中其静音标志当前处于置位状态的那一个(即“部分15”或“部分16”)的单部分自动演奏的限值。如果速度倍率小于用于“部分15”和“部分16”中其静音标志当前处于置位状态的那一个部分的单部分自动演奏的限值(步骤S59中确定为是),则在步骤S60中将读取部分设置为静音标志当前处于置位状态的部分,在步骤S61中设置当前处于复位状态的静音标志,并且在步骤S62中复位读取部分的静音标志。此后,CPU 1返回到图9所示的步骤S34。另一方面,如果速度倍率不小于用于“部分15”和“部分16”中其静音标志当前处于置位状态的那个部分的单部分自动演奏的限值(步骤S59中确定为否),则在步骤S63中置位当前处于复位状态的静音标志,此后CPU 1终止当前的音频波形数据读取处理。
如图9所示,在步骤S34中,确定“部分15”和“部分16”当前是否被设置为读取部分。如果在步骤S34中确定“部分15”和“部分16”当前被设置为读取部分(步骤S34中确定为是),则从与当前时间对应的位置开始,从存储装置4等中读出“部分15”和“部分16”的对应波形数据。在步骤S35中,从由对应数据写入指针指向的存储位置开始,如此读出的波形数据被覆写入“部分15”和“部分16”的对应存储部3a(Data15和Data16)中,并且更新对应的数据写入指针。此后,CPU 1终止当前的音频波形数据读取处理。
如果在步骤S34中确定“部分15”和“部分16”当前没有被设置为读取部分(步骤S34中确定为否),则在步骤S36中进一步确定“部分15”当前是否被设置为读取部分。如果在步骤S36中确定“部分15”当前被设置为读取部分(步骤S36中确定为是),则从对应于当前时间的位置开始,从存储装置4等中读出“部分15”的波形数据。在步骤S37中,从由数据写入指针指向的存储位置开始,将如此读出的波形数据覆写入“部分15”的临时存储部3a(Data15)中,并且更新数据写入指针。即,响应于音频波形数据写入临时存储部3a(Data15)而更新与“部分16”的临时存储部(Data16)共享的数据写入指针。此时,停止从存储装置4等中读出音频波形数据,使得停止将音频波形数据写入“部分16”的临时存储部(Data16),因此擦除至目前为止存储在临时存储部(Data16)的一部分(该部分与临时存储部(Data15)的音频波形数据被覆写的部分相对应)中的音频波形数据。此后,CPU1终止当前的音频波形数据读取处理。
如果在步骤S36中确定“部分15”当前没有被设置为读取部分(步骤S36中确定为否),则在步骤S38中进一步确定“部分16”当前是否被设置为读取部分。如果在步骤S38中确定“部分16”当前没有被设置为读取部分(步骤S38中确定为否),则CPU 1终止当前的音频波形数据读取处理。
另一方面,如果在步骤S38中确定“部分16”当前被设置为读取部分(步骤S38中确定为是),则从对应于当前时间的位置开始,从存储装置4等中读出“部分16”的音频波形数据,并且从由临时存储部(Data16)的数据写入指针指向的存储位置开始,将读出的音频波形数据覆写入“部分16”的临时存储部(Data16),并且更新临时存储部(Data16)的数据写入指针(步骤S39)。响应于音频波形数据写入临时存储部(Data16)而更新与“部分15”的临时存储部(Data15)共享的数据写入指针。此时,停止从存储装置4等中读出音频波形数据,使得停止写入“部分15”的临时存储部(Data15)的音频波形数据,因此擦除至目前为止存储在临时存储部(Data15)的一部分(该部分与临时存储部(Data16)的音频波形数据被覆写的部分对应)中的音频波形数据。此后,CPU 1终止当前的音频波形数据读取处理。
即,音频波形数据读取处理如下进行操作。对于当前设置为读取部分的部分,音频波形数据被从存储装置4等中读出并被写入临时存储部3a。但是,对于当前没有被设置为读取部分的部分,没有音频波形数据从存储装置4等中被读出,因此不被写入临时存储部3a。由于如上所述根据速度倍率和演奏速度的限值来确定读取部分,所以与用于生成对应于指定演奏速度的再现波形信号所需的时间伸缩控制相关联的处理负荷(即,与用于将音频波形数据写入临时存储部3a的写入控制和从临时存储部3a读出写入的音频波形数据的读取控制相关联的负荷)较大或者被确定为涉及较大的波形连接劣化的部分绝不会被设置为读取部分。
接下来,参照图10和图11,将给出关于“乐音生成处理”的描述(参见图5的步骤S19)。图10和图11是示出乐音生成处理的示例的流程图。注意,为了便于说明,以两个部分(即,图10和图11)示出了乐音生成处理。
如图10所示,在步骤S71中,已经分配有包括在风格数据中的伴奏模式数据的自动演奏部分中的任一部分被设置为目标部分。在下一步骤S72中,确定目标部分的伴奏模式数据是否为MIDI数据。如果在步骤S72中确定目标部分的伴奏模式数据为MIDI数据(步骤S72中确定为是),则从目标部分的MIDI数据中读出与当前时间对应的事件数据(音符事件),并且生成并输出基于先前和弦和当前和弦根据需要改变音高的再现波形信号(步骤S79)。此后,CPU 1前进到图11的步骤S85。
另一方面,如果目标部分的伴奏模式数据是音频波形数据而非MIDI数据(步骤S72中确定为否),则在步骤S73中进一步确定目标部分是否为“部分15”。如果目标部分不是“部分15”(步骤S73中确定为否),则CPU 1分支进入到图11所示的步骤S80。另一方面,如果目标部分是“部分15”(步骤S73中确定为是),则在步骤S74中进一步确定MuteF15是否处于复位状态“0”。如果在步骤S74中确定MuteF15处于复位状态“0”(步骤S74中确定为是),则以与当前演奏速度信息匹配的这种方式来读出写入MuteF15中的音频波形数据,并且对读出的音频波形数据执行时间伸缩控制,从而生成并输出再现波形信号(步骤S78)。此后,CPU 1前进到图11的步骤S85。
如果在步骤S74中确定MuteF15处于置位状态(步骤S74中确定为否),则在步骤S75中执行渐弱处理。稍后将参照图12讨论渐弱处理的细节,但是可以根据情况省略渐弱处理。在步骤S76中,确定是否存在与目标部分的音频波形数据对应的MIDI数据。如果在步骤S76中确定不存在与目标部分的音频波形数据对应的MIDI数据(步骤S76中确定为否),则CPU 1前进到图11的步骤S85。另一方面,如果存在与目标部分的音频波形数据对应的MIDI数据(步骤S76中确定为是),则从目标部分的与音频波形数据对应的MIDI数据中读出与当前时间对应的事件数据(音符事件),并且生成并输出基于先前和弦和当前和弦根据需要改变音高的再现波形信号(步骤S77)。此后,CPU 1前进到图11的步骤S85。
如图11所示,在步骤S80中进一步确定MuteF16是否处于复位状态“0”。如果在步骤S80中确定MuteF16处于复位状态“0”(步骤S80中确定为是),则以与当前演奏速度信息相匹配的这种方式读出写入MuteF16中的音频波形数据,并且对读出的音频波形数据执行时间伸缩控制,从而生成并输出再现波形信号(步骤S84)。此后,CPU 1前进到图11的步骤S85。另一方面,如果在步骤S80中确定MuteF16处于置位状态(步骤S80中确定为否),则在步骤S81中执行渐弱处理。稍后将参照图12讨论渐弱处理的细节,但是可以根据情况省略渐弱处理。
在步骤S82中,进一步确定是否存在与目标部分的音频波形数据对应的MIDI数据。对应于音频波形数据的这种MIDI数据不需要在演奏模式(伴奏模式)方面与音频波形数据完全相同,而是可以为具有能够代替音频波形数据的伴奏模式的演奏模式(伴奏模式)的MIDI数据。如果在步骤S82中确定不存在与目标部分的音频波形数据对应的MIDI数据(步骤S82中确定为否),则CPU 1前进到图11的步骤S85。另一方面,如果存在与目标部分的音频波形数据对应的MIDI数据(步骤S82中确定为是),则从目标部分的音频波形数据所对应的MIDI数据中读出与当前时间对应的事件数据(音符事件),并且生成并输出基于先前和弦和当前和弦根据需要改变音高的再现波形信号(步骤S83)。
在步骤S85中,进一步确定是否存在还没有进行前述操作的任何自动演奏部分。如果在步骤S85中确定存在还没有进行前述操作的任何自动演奏部分(步骤S85中确定为是),则在步骤S86中将还没有经过前述操作的自动演奏部分设置为目标部分,并且CPU 1返回到图10的步骤S72以重复步骤S72至步骤S86的操作。另一方面,如果在步骤S85中确定不存在还没有进行前述操作的自动演奏部分(步骤S85中确定为否),则CPU 1终止当前的乐音生成处理。
接下来,将给出关于上述“渐弱处理”的描述(参见图10的步骤S75和图11的步骤S81)。图12是示出渐弱处理的示例的流程图。
在步骤S91中,基于当前演奏速度信息来计算渐弱时间范围。在下一步骤S92中,确定当前时间是否在渐弱时间范围内。如果在步骤S92中确定当前时间不在渐弱时间范围内(步骤S92中确定为否),则在步骤S96中根据当前的演奏速度信息生成并输出“无声声音”的再现波形信号,此后CPU终止当前的乐音生成处理。
另一方面,如果在步骤S92中确定当前时间在渐弱时间范围内(步骤S92中确定为是),则CPU 1前进到步骤S93,其中基于静音标志(MuteF15和MuteF16)来确定将被静音的部分(即,静音目标部分)是“部分15”(即,MuteF15为“1”)还是“部分16”(即,MuteF16为“1”)。如果在步骤S93中确定静音目标部分为“部分15”(步骤S93中确定为是),则以与当前演奏速度信息相匹配的这种方式读出直到紧接在MuteF15被置位为“1”之前写入Data15的音频波形数据,并且对读出的音频波形数据执行时间伸缩控制,从而生成再现波形信号,而且还以根据渐弱时间范围内的当前时间位置调整的音量输出再现波形信号(步骤S94)。另一方面,如果在步骤S93中确定静音目标部分为“部分16”(步骤S93中确定为否),则以与当前演奏速度信息相匹配的这种方式读出直到紧接在MuteF16被置位为“1”之前写入Data16的音频波形数据,并且对读出的音频波形数据执行时间伸缩控制,从而生成再现波形信号,而且还以根据渐弱时间范围内的当前时间位置调整的音量输出再现波形信号(步骤S95)。
乐音控制电路10在波形再现时一次接收预定采样数量的再现波形信号,自动并直接逐样本地读出再现波形信号,通过信号混合电路(未示出)混合响应于MIDI数据的事件而生成的多个音轨的再现波形信号(加到一起),然后将混合的再现波形信号输出至D/A转换电路(未示出)。此外,音控制电路10包括用于在将再现波形信号进行混合时对各个音轨的音量进行控制的乘法电路(未示出)。此外,乐音控制电路10针对各个音轨包括乘法电路(未示出),用于对逐样本读出的再现波形信号执行音量控制,因此可以通过CPU 1仅给出表示“零音量”的参数来实现渐弱控制。为了实施渐弱控制,仅需要CPU 1在静音取消时提供表示目标音量的信息,诸如用户操作的值或包括在伴奏模式数据中的设置。
虽然上面以与音频波形数据的再现响应于速度加速而被限制的控制相关地描述了本发明的自动演奏设备的实施例,但音频波形数据的再现可以响应于速度减慢而被限制。如果演奏速度被设置得显著慢于建议速度(参考速度),则在CPU 1的负荷方面不存在任何问题,但在声音质量劣化方面存在问题。因此,可以预先设置在演奏速度应该减慢的情况下应用的演奏速度的限值(图4所示的下限值),使得可以根据如此设置的限值来确定是否基于音频波形数据来执行乐音生成。即,可以如图4所示预先设置演奏速度的上限值和下限值,使得当基于设置的演奏速度的速度比率落入上限值和下限值之间的范围内时继续波形数据的读出,而当基于设置的演奏速度的速度比率落在上限值和下限值之间的范围外时停止波形数据的读出。
此外,在上述实施例中,根据演奏速度和参考速度(建议速度)之间的关系(例如,演奏速度与参考速度的比率)来确定是否应该限制音频波形数据的再现,并且一旦确定应该限制音频波形数据的再现,就停止音频波形数据的再现。然而,本发明不限于此,而是可以在降低再现处理的分辨率的情况下来继续音频波形数据的再现。例如,可以降低时间轴控制部8b对音频波形数据执行的时间轴扩展/压缩控制的分辨率,以降低再现处理的分辨率。可以基于降低作为时间轴扩展/压缩控制目标而将从存储装置4读出的音频波形数据的采样频率来实施音频波形数据的时间轴扩展/压缩控制的分辨率的降低。可通过降低将从存储装置4读出的音频波形数据的采样频率来减少CPU 1的处理负荷,从而降低上述时间轴扩展/压缩控制的分辨率。在这种情况下,由于降低时间轴扩展/压缩控制的分辨率而劣化的音频波形数据被生成,然而其在一定程度上与完全停止再现的情况相比是有利的,这是因为还可以再现演奏乐音。例如,在不存在能够替代音频波形数据的相同部分的相同或类似的MIDI数据的情况下,可以有效地使用这种劣化的音频波形数据的生成。具体地,对于这种目的,可以执行控制以响应于上述实施例中的各个部分的静音标志的相应设置状态以降低用于该部分的时间轴扩展/压缩控制的分辨率。
注意,在本文中中提到的“波形数据”对应于上述实施例和修改例中的“音频波形数据”。此外,在上述实施例和修改例中,其中存储有音频波形数据以及风格数据的存储装置4(或其他存储设备,诸如ROM 2)用作本文中提到的“存储部,其存储基于期望的参考速度的音乐演奏的波形数据”。此外,CPU 1和由CPU 1执行的步骤S21(图6)的操作用作本文中提到的“获取部,其被配置为获取指定了可变演奏速度的信息”。此外,CPU 1和由CPU 1执行的步骤S22、S25、S27、S28、S30、S31、S33(图6)等的操作用作本文中提到的“确定部,其被配置为根据演奏速度和参考速度之间的关系来确定是否应该限制波形数据的再现”。此外,音频再现部、CPU 1和由CPU 1执行的步骤S74、S75、S78(图10)、步骤S80、S81、S84(图11)等的操作用作本文中提到的“音频再现部,其被配置为再现存储在存储部中的波形数据,为了根据演奏速度来再现波形数据,音频再现部根据演奏速度和参考速度之间的关系对将被再现的波形数据执行时间轴扩展/压缩控制,其中,当确定部确定应该限制波形数据的再现时,音频再现部执行用于停止波形数据的再现的操作和用于在降低再现处理的分辨率的情况下继续波形数据的再现的操作中的一个操作”。
此外,上述实施例中执行响应于速度加速而限制音频波形数据的再现的控制的CPU 1以及由CPU 1执行的步骤S22、S25、S27、S28、S30、S31、S33(图6)等的操作用作“确定部,其被配置为当满足与参考速度相比演奏速度太快的第一预定条件时,确定应该限制波形数据的再现”。此外,CPU 1和由CPU 1响应于确定部的确定而执行的步骤S74、S75、S78(图10)、步骤S80、S81、S84(图11)等的操作用作本文中提到的“音频再现部,其被配置为响应于确定部基于第一条件所确定的应该限制波形数据的再现来执行用于停止波形数据的再现的操作和用于在降低再现处理的分辨率的情况下继续波形数据的再现的操作中的一个操作”。
此外,上述实施例中执行响应于速度减慢而限制音频波形数据的再现的控制和各个相关操作的CPU 1用作本文中提到的“确定部,其被配置为当满足与参考速度相比演奏速度太慢的第二预定条件时确定应该限制波形数据的再现”和“音频再现部,其被配置为响应于确定部基于第二条件所确定的应该限制波形数据的再现来执行用于停止波形数据的再现的操作”。
此外,MIDI乐音生成部9和由CPU 1执行的相关处理用作“乐音生成部,其被配置为基于乐音生成指令数据(诸如MIDI格式的数据)生成乐音波形”,以及音频再现部8、CPU 1和步骤S77(图10)等的操作用作“音频再现部,其被配置为响应于确定部所确定的应该限制波形数据的再现来停止波形数据的再现,乐音生成部基于乐音生成指令数据来生成与应该停止再现的波形数据相对应的乐音波形”。
根据本发明的上述自动演奏设备,当将执行时间轴扩展/压缩控制来基于根据期望的参考速度执行的音频波形数据而生成期望演奏速度的音频波形数据时,基于获取的演奏速度和参考速度之间的关系来确定是否限制音频波形数据的再现。这里,如果由于时间轴扩展/压缩控制的处理延迟的可生成比演奏速度延迟的乐音、可生成声音质量降低的乐音或者可冻结处理系统的影响而在演奏速度和参考速度之间存在这些差异,则确定应该限制音频波形数据的再现。如果确定应该限制音频波形数据的再现,则执行用于停止波形数据的再现的操作和用于在降低再现处理的分辨率的情况下继续波形数据的再现的操作中的一个操作。如果演奏速度和参考速度之间的关系为使得以会引起处理延迟或声音质量劣化的演奏速度来再现音频波形数据,则停止音频波形数据的再现,使得可以解决诸如生成比期望的演奏速度延迟的乐音、类似噪声的间歇式声音跳变和生成声音质量显著降低的乐音之类的问题。此外,可以防止冻结处理系统,从而阻止与冻结处理系统的冻结相关联的各种不利情况。另一方面,降低再现处理的分辨率包括降低波形数据的时间轴扩展/压缩控制的分辨率。通过如此降低再现处理的分辨率,可以防止处理延迟,即防止处理比期望的演奏速度延迟。
虽然参照附图示意性描述了本发明的实施例,但本发明不必限于所描述的实施例。例如,尽管上文所述的本发明实施例是以如下方式构建的:在风格数据包括音频波形数据和对应于音频波形数据的MIDI数据作为伴奏模式数据的情况下,通过再现MIDI数据以及通过停止音频波形数据的读出从而不生成基于音频波形数据的乐音,来生成乐音(图10的步骤S79),但本发明不限于此。例如,本发明可以响应于自动演奏的开始基于MIDI数据来开始乐音生成控制,然后根据演奏速度来控制是否使基于MIDI数据生成的乐音静音。即,如果演奏速度是不影响基于音频波形数据的乐音生成的速度,则本发明使基于MIDI数据生成的乐音静音,然后生成基于音频波形数据的乐音。另一方面,如果演奏速度是影响基于音频波形数据的乐音生成的速度,则本发明取消基于MIDI数据生成的乐音的静音,并使基于MIDI数据生成的乐音发音。
应该理解,在本发明的自动演奏设备应用于电子乐器的情况下,电子乐器可以为除键盘乐器类型之外的各种类型中的任一种,诸如弦乐器类似、管乐器类型和打击乐器类型。
还应该理解,可以通过除用户操作播放/停止按钮之外的方式来指示自动演奏的开始/停止。例如,可通过自动检测用户演奏操作的开始来指示自动演奏的开始,并且可以通过检测用户演奏操作的结束(例如,通过自动检测到在大约10秒钟内没有进行演奏输入)来指示自动演奏的停止。当指示自动演奏结束时,可立即停止自动演奏。可选地,可以在伴奏模式数据被自动演奏到最后或到适当乐音的末尾之后停止自动演奏。

Claims (15)

1.一种自动演奏设备,包括:
存储部,其存储基于期望的参考速度的音乐演奏的波形数据;
获取部,其被配置为获取指定了可变演奏速度的信息;
确定部,其被配置为根据所述演奏速度和所述参考速度之间的关系来确定是否应该限制所述波形数据的再现;以及
音频再现部,其被配置为再现存储在所述存储部中的所述波形数据,为了根据所述演奏速度来再现所述波形数据,所述音频再现部根据所述演奏速度和所述参考速度之间的关系对将被再现的所述波形数据执行时间轴扩展/压缩控制,其中,当所述确定部已确定应该限制所述波形数据的再现时,所述音频再现部执行用于停止所述波形数据的再现的操作和用于在降低再现处理的分辨率的情况下继续所述波形数据的再现的操作中的一个操作。
2.根据权利要求1所述的自动演奏设备,其中,当满足与所述参考速度相比所述演奏速度太快的预定的第一条件时,所述确定部确定应该限制所述波形数据的再现,并且
响应于所述确定部基于所述第一条件确定应该限制所述波形数据的再现,所述音频再现部执行用于停止所述波形数据的再现的操作和用于在降低所述再现处理的分辨率的情况下继续所述波形数据的再现的操作中的一个操作。
3.根据权利要求1所述的自动演奏设备,其中,当满足与所述参考速度相比所述演奏速度太慢的预定的第二条件时,所述确定部确定应该限制所述波形数据的再现,并且
响应于所述确定部基于所述第二条件确定应该限制所述波形数据的再现,所述音频再现部执行用于停止所述波形数据的再现的操作。
4.根据权利要求1所述的自动演奏设备,还包括:乐音生成部,其被配置为基于乐音生成指示数据来生成乐音波形,并且
其中,响应于所述确定部确定应该限制所述波形数据的再现,所述音频再现部执行用于再现所述波形数据的操作,并且所述乐音生成部基于所述乐音生成指示数据来生成与应该停止再现的波形数据相对应的乐音波形。
5.根据权利要求4所述的自动演奏设备,其中,所述乐音生成指示数据是MIDI格式的数据。
6.根据权利要求1所述的自动演奏设备,其中,在执行所述时间轴扩展/压缩控制期间,所述音频再现部执行用于将所述波形数据写入临时存储部的写入控制和用于从所述临时存储部读出写入的波形数据的读取控制。
7.根据权利要求6所述的自动演奏设备,其中,当与用于向所述临时存储部写入所述波形数据的写入控制和用于从所述临时存储部读出所述波形数据的读取控制相关联的处理负荷大时,考虑到在所获取的演奏速度与所述参考速度之间存在比预定值大的偏离使得会生成声音质量低的乐音,所述确定部确定应该限制所述波形数据的再现。
8.根据权利要求7所述的自动演奏设备,其中,当所述确定部已确定与用于向所述临时存储部写入所述波形数据的写入控制和用于从所述临时存储部读出所述波形数据的读取控制相关联的处理负荷大时,所述音频再现部停止将所述波形数据写入所述临时存储部,但是当所述确定部已确定与用于向所述临时存储部写入所述波形数据的写入控制和用于从所述临时存储部读出所述波形数据的读取控制相关联的处理负荷小时,所述音频再现部恢复将所述波形数据写入所述临时存储部。
9.根据权利要求1所述的自动演奏设备,还包括:乐音控制部,其被配置为当所述音频再现部停止所述波形数据的再现时,对与应该停止再现的波形数据相对应的乐音执行渐弱控制。
10.根据权利要求9所述的自动演奏设备,其中,当所述音频再现部恢复到目前为止被停止再现的波形数据的再现时,所述乐音控制部对与应该被恢复再现的波形数据相对应的乐音执行渐强控制。
11.根据权利要求1所述的自动演奏设备,其中,当所述确定部已确定应该限制再现时,所述音频再现部执行如下操作:利用通过降低对所述波形数据执行的所述时间轴扩展/压缩控制的分辨率而降低的所述再现处理的分辨率,来继续所述波形数据的再现。
12.根据权利要求11所述的自动演奏设备,其中,所述降低对所述波形数据执行的所述时间轴扩展/压缩控制的分辨率包括:降低作为所述时间轴扩展/压缩控制的目标而将从所述存储部读出的波形数据的采样频率。
13.根据权利要求1至12中任一项所述的自动演奏设备,其中,存储在所述存储部中的所述波形数据具有与预定演奏模式对应的预定长度,并且
所述音频再现部能够重复再现所述波形数据。
14.根据权利要求1至12中任一项所述的自动演奏设备,其中,所述音频再现部能够同时再现多个演奏部分的波形数据,并且
所述确定部针对每个演奏部分并根据独立于其他演奏部分而对该演奏部分定义的条件,来确定是否应该限制该演奏部分的波形数据的再现。
15.一种计算机实现方法,用于通过使用存储在存储部中的波形数据来执行自动演奏,所述存储部存储基于期望的参考速度的音乐演奏的波形数据;
获取步骤,其获取指定了可变演奏速度的信息;
确定步骤,其根据所述演奏速度和所述参考速度之间的关系来确定是否应该限制所述波形数据的再现;以及
再现步骤,其再现存储在所述存储部中的所述波形数据,为了根据所述演奏速度来再现所述波形数据,所述再现步骤根据所述演奏速度和所述参考速度之间的关系对将被再现的所述波形数据执行时间轴扩展/压缩控制,其中,当所述确定步骤已确定应该限制所述波形数据的再现时,所述再现步骤执行用于停止所述波形数据的再现的操作和用于在降低再现处理的分辨率的情况下继续所述波形数据的再现的操作中的一个操作。
CN201380034189.XA 2012-06-26 2013-06-26 使用音频波形数据的自动演奏技术 Active CN104412320B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012-142890 2012-06-26
JP2012142890 2012-06-26
PCT/JP2013/067566 WO2014003072A1 (ja) 2012-06-26 2013-06-26 オーディオ波形データを使用する自動演奏技術

Publications (2)

Publication Number Publication Date
CN104412320A CN104412320A (zh) 2015-03-11
CN104412320B true CN104412320B (zh) 2017-11-17

Family

ID=49783213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380034189.XA Active CN104412320B (zh) 2012-06-26 2013-06-26 使用音频波形数据的自动演奏技术

Country Status (5)

Country Link
US (1) US9613635B2 (zh)
EP (1) EP2866223B1 (zh)
JP (1) JP6191459B2 (zh)
CN (1) CN104412320B (zh)
WO (1) WO2014003072A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016060211A1 (ja) 2014-10-17 2016-04-21 ヤマハ株式会社 コンテンツ制御装置及びコンテンツ制御プログラム
US10854180B2 (en) 2015-09-29 2020-12-01 Amper Music, Inc. Method of and system for controlling the qualities of musical energy embodied in and expressed by digital music to be automatically composed and generated by an automated music composition and generation engine
US9721551B2 (en) 2015-09-29 2017-08-01 Amper Music, Inc. Machines, systems, processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptions
JP6428689B2 (ja) * 2016-03-23 2018-11-28 カシオ計算機株式会社 波形読込み装置、方法、プログラム、及び電子楽器
EP3489944A4 (en) * 2016-07-22 2020-04-08 Yamaha Corporation CONTROL METHOD AND CONTROL DEVICE
GB201620838D0 (en) 2016-12-07 2017-01-18 Weav Music Ltd Audio playback
GB201620839D0 (en) * 2016-12-07 2017-01-18 Weav Music Ltd Data format
JP7124371B2 (ja) * 2018-03-22 2022-08-24 カシオ計算機株式会社 電子楽器、方法及びプログラム
CN109671433B (zh) * 2019-01-10 2023-06-16 腾讯科技(深圳)有限公司 一种关键词的检测方法以及相关装置
JP7285175B2 (ja) * 2019-09-04 2023-06-01 ローランド株式会社 楽音処理装置、及び楽音処理方法
US11024275B2 (en) 2019-10-15 2021-06-01 Shutterstock, Inc. Method of digitally performing a music composition using virtual musical instruments having performance logic executing within a virtual musical instrument (VMI) library management system
US11037538B2 (en) 2019-10-15 2021-06-15 Shutterstock, Inc. Method of and system for automated musical arrangement and musical instrument performance style transformation supported within an automated music performance system
US10964299B1 (en) 2019-10-15 2021-03-30 Shutterstock, Inc. Method of and system for automatically generating digital performances of music compositions using notes selected from virtual musical instruments based on the music-theoretic states of the music compositions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1197974A (zh) * 1997-01-31 1998-11-04 雅马哈株式会社 采用时间扩展/压缩控制技术的音发生装置及方法
JP2970396B2 (ja) * 1994-04-22 1999-11-02 ヤマハ株式会社 波形処理装置
US6180863B1 (en) * 1998-05-15 2001-01-30 Yamaha Corporation Music apparatus integrating tone generators through sampling frequency conversion
CN1359231A (zh) * 2000-12-19 2002-07-17 株式会社考斯默坦 快速或慢速重放模式下不造成音调变化的音频信号重现方法及其重现装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4542675A (en) * 1983-02-04 1985-09-24 Hall Jr Robert J Automatic tempo set
JP2512997B2 (ja) * 1988-06-28 1996-07-03 ヤマハ株式会社 自動伴奏装置
US5521323A (en) * 1993-05-21 1996-05-28 Coda Music Technologies, Inc. Real-time performance score matching
US5792971A (en) * 1995-09-29 1998-08-11 Opcode Systems, Inc. Method and system for editing digital audio information with music-like parameters
JP3725247B2 (ja) * 1996-05-20 2005-12-07 ローランド株式会社 楽音生成処理方法
JP3399297B2 (ja) * 1997-05-22 2003-04-21 ヤマハ株式会社 電子楽器
US6207885B1 (en) * 1999-01-19 2001-03-27 Roland Corporation System and method for rendition control
JP4293712B2 (ja) * 1999-10-18 2009-07-08 ローランド株式会社 オーディオ波形再生装置
US7792681B2 (en) * 1999-12-17 2010-09-07 Interval Licensing Llc Time-scale modification of data-compressed audio information
US6673995B2 (en) * 2000-11-06 2004-01-06 Matsushita Electric Industrial Co., Ltd. Musical signal processing apparatus
DE10164686B4 (de) * 2001-01-13 2007-05-31 Native Instruments Software Synthesis Gmbh Automatische Erkennung und Anpassung von Tempo und Phase von Musikstücken und darauf aufbauender interaktiver Musik-Abspieler
US7094965B2 (en) * 2001-01-17 2006-08-22 Yamaha Corporation Waveform data analysis method and apparatus suitable for waveform expansion/compression control
US7610205B2 (en) * 2002-02-12 2009-10-27 Dolby Laboratories Licensing Corporation High quality time-scaling and pitch-scaling of audio signals
US7461002B2 (en) * 2001-04-13 2008-12-02 Dolby Laboratories Licensing Corporation Method for time aligning audio signals using characterizations based on auditory events
US7521623B2 (en) * 2004-11-24 2009-04-21 Apple Inc. Music synchronization arrangement
US7189913B2 (en) * 2003-04-04 2007-03-13 Apple Computer, Inc. Method and apparatus for time compression and expansion of audio data with dynamic tempo change during playback
JP4201679B2 (ja) * 2003-10-16 2008-12-24 ローランド株式会社 波形発生装置
EP1959428A4 (en) * 2005-12-09 2011-08-31 Sony Corp MUSICAL EDITING DEVICE AND METHOD
JP2007188598A (ja) * 2006-01-13 2007-07-26 Sony Corp コンテンツ再生装置およびコンテンツ再生方法並びにプログラム
US20080131075A1 (en) * 2006-12-01 2008-06-05 The Directv Group, Inc. Trick play dvr with audio pitch correction
JP5007563B2 (ja) * 2006-12-28 2012-08-22 ソニー株式会社 音楽編集装置および方法、並びに、プログラム
JP4306754B2 (ja) * 2007-03-27 2009-08-05 ヤマハ株式会社 楽曲データ自動生成装置及び音楽再生制御装置
US8865991B1 (en) * 2008-12-15 2014-10-21 Cambridge Silicon Radio Limited Portable music player
US8655466B2 (en) * 2009-02-27 2014-02-18 Apple Inc. Correlating changes in audio
US8153882B2 (en) * 2009-07-20 2012-04-10 Apple Inc. Time compression/expansion of selected audio segments in an audio file
US8903730B2 (en) * 2009-10-02 2014-12-02 Stmicroelectronics Asia Pacific Pte Ltd Content feature-preserving and complexity-scalable system and method to modify time scaling of digital audio signals
JP2012103603A (ja) * 2010-11-12 2012-05-31 Sony Corp 情報処理装置、楽曲区間抽出方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2970396B2 (ja) * 1994-04-22 1999-11-02 ヤマハ株式会社 波形処理装置
CN1197974A (zh) * 1997-01-31 1998-11-04 雅马哈株式会社 采用时间扩展/压缩控制技术的音发生装置及方法
US6180863B1 (en) * 1998-05-15 2001-01-30 Yamaha Corporation Music apparatus integrating tone generators through sampling frequency conversion
CN1359231A (zh) * 2000-12-19 2002-07-17 株式会社考斯默坦 快速或慢速重放模式下不造成音调变化的音频信号重现方法及其重现装置

Also Published As

Publication number Publication date
WO2014003072A1 (ja) 2014-01-03
US20150154979A1 (en) 2015-06-04
CN104412320A (zh) 2015-03-11
EP2866223B1 (en) 2017-02-01
EP2866223A1 (en) 2015-04-29
EP2866223A4 (en) 2015-12-30
JPWO2014003072A1 (ja) 2016-06-02
US9613635B2 (en) 2017-04-04
JP6191459B2 (ja) 2017-09-06

Similar Documents

Publication Publication Date Title
CN104412320B (zh) 使用音频波形数据的自动演奏技术
CN103514868B (zh) 使用音频波形数据的自动演奏技术
CN105637579B (zh) 通过在多组波形数据之间切换来再现波形的技术
CN103514867B (zh) 使用音频波形数据的自动演奏技术
US7432435B2 (en) Tone synthesis apparatus and method
JP2001331175A (ja) 副旋律生成装置及び方法並びに記憶媒体
JP4561636B2 (ja) 楽音合成装置及びプログラム
JP4170279B2 (ja) 歌詞表示方法および装置
JP3062784B2 (ja) 音楽再生装置
JP4270102B2 (ja) 自動演奏装置及びプログラム
JP3702691B2 (ja) 自動演奏の制御データ入力装置
JP2003114680A (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP2001013964A (ja) 演奏装置及びその記録媒体
JP3797180B2 (ja) 楽譜表示装置及び楽譜表示プログラム
JP3709820B2 (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP4173475B2 (ja) 歌詞表示方法および装置
JP3267226B2 (ja) 自動伴奏装置及び自動伴奏制御プログラムを記録した媒体
JP2641851B2 (ja) 自動演奏装置
JP3794303B2 (ja) 演奏情報編集装置及び演奏情報編集プログラム
JP2000163052A (ja) 楽曲生成装置および楽曲生成プログラムを記録した記録媒体
JP3797181B2 (ja) 楽譜表示装置及び楽譜表示プログラム
JP3637782B2 (ja) データ生成装置と記録媒体
JPH11109972A (ja) 演奏データから和音を検出する和音検出方法および和音検出装置、ならびに、和音検出用プログラムを記録した記録媒体
JP4147407B2 (ja) 音楽的表情付け用コンピュータプログラムおよび音楽的表情付け装置
CN116324965A (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
GR01 Patent grant
GR01 Patent grant