JP6011064B2 - 自動演奏装置及びプログラム - Google Patents

自動演奏装置及びプログラム Download PDF

Info

Publication number
JP6011064B2
JP6011064B2 JP2012142891A JP2012142891A JP6011064B2 JP 6011064 B2 JP6011064 B2 JP 6011064B2 JP 2012142891 A JP2012142891 A JP 2012142891A JP 2012142891 A JP2012142891 A JP 2012142891A JP 6011064 B2 JP6011064 B2 JP 6011064B2
Authority
JP
Japan
Prior art keywords
waveform
waveform signal
reproduction
correction
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012142891A
Other languages
English (en)
Other versions
JP2014006415A (ja
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
Priority to JP2012142891A priority Critical patent/JP6011064B2/ja
Priority to US13/927,066 priority patent/US9147388B2/en
Priority to EP13173502.9A priority patent/EP2680255B1/en
Priority to CN201310259940.8A priority patent/CN103514868B/zh
Publication of JP2014006415A publication Critical patent/JP2014006415A/ja
Application granted granted Critical
Publication of JP6011064B2 publication Critical patent/JP6011064B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • 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
    • G10H7/04Instruments 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 in which amplitudes are read at varying rates, e.g. according to 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
    • 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
    • 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
    • G10H7/06Instruments 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 in which amplitudes are read at a fixed rate, the read-out address varying stepwise by a given value, e.g. according to pitch
    • 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
    • G10L21/055Time compression or expansion for synchronising with other signals, e.g. video signals

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

この発明は、波形信号に基づいて楽音を再生する自動演奏装置及びプログラムに関する。特に、複数の楽音を同期して再生する技術に関する。
従来から、例えば4小節単位などの所定単位長さからなるアルペジオパターンやベースパターンあるいはリズムパターン等を表す伴奏パターンデータを予め記憶しておき、この伴奏パターンデータに基づいて楽音の自動演奏を行う自動演奏装置が知られている。伴奏パターンデータは、コード伴奏用パートやベースパートさらにはリズムパートなどのパート別に、実際の楽器演奏や人の声あるいは自然音などをサンプリングした楽音波形信号(オーディオデータ又は波形データとも呼ぶ)で割り当てられる場合と、所定の規格に従って定義される楽音制御信号(例えばMIDI規格により定義されたMIDIデータ)で割り当てられる場合とがある。なお、この明細書において、楽音という場合、音楽的な音に限るものではなく音声あるいはその他任意の音を含んでいてもよい意味あいで用いるものとする。
伴奏パターンデータがMIDIデータで割り当てられている場合、自動演奏装置はイベントデータ(より詳しくはノートオンイベントやノートオフイベントなどの音符イベント)の読み出し速度を変えることによって、音高を変えることなく演奏テンポのみを変えて楽音を発生することができる。すなわち、MIDIデータに含まれる各イベントデータの読み出しタイミングを変えることで楽音の演奏テンポを変える。その一方、各イベントデータの読み出しタイミングを変えても各イベントデータのノートナンバ(音高情報)等の情報は同じままであるので、楽音の音高は変わらない。
他方、伴奏パターンデータがオーディオデータで割り当てられている場合に、自動演奏装置はタイムストレッチ制御を行うことにより、音高(ピッチ)を変えることなく演奏テンポのみを変えて楽音を発生することが知られている。なお、本明細書において「タイムストレッチ」とは、オーディオデータを「時間軸上で圧縮」(時間軸圧縮)することと、オーディオデータを「時間軸上で伸長」(時間軸伸長)することとを意味する。
ところで、伴奏パターンデータのうち一部のパートをMIDIデータで作成し、他のパートをオーディオデータで作成することがある。こうした伴奏パターンデータを用いて楽音を再生する際に、MIDIデータの演奏テンポ(イベント読み出しのテンポ)がオーディオデータの本来の(録音時の)テンポと異なるテンポに指定されることがある。そうした場合、MIDIデータに基づき再生される楽音とオーディオデータに基づき発音される楽音とでずれが生じる。そこで、オーディオデータを上述のタイムストレッチ制御により、MIDIデータの演奏テンポに合うように時間軸伸縮することが行なわれるが、このタイムストレッチ制御の際に実行する演算にも誤差があるために、オーディオデータの再生テンポはやはり指定された演奏テンポ(MIDIデータの演奏テンポ)と正確には一致せず、MIDIデータに基づき再生される楽音との間に微妙なタイミングずれが生じる。このずれは時間経過に伴い累積され、その結果として楽音の不調和が聴感上不自然な印象を与える程に無視できなくなるので問題となる。
そこで、上記問題を解決するために、オーディオデータに基づき発生される楽音と、MIDIデータに基づき発生される楽音とを同期して出力する技術が既に提案されている。例えば下記に示す特許文献1に記載の装置では、所定の周期毎に(例えば、1小節毎、1拍毎、1/16拍毎など)MIDIデータの再生位置に一致させるよう、各周期時点におけるオーディオデータの再生位置を当該周期に予め対応付けられた所定位置に変更するようにしている。これにより、オーディオデータに基づき発生される楽音とMIDIデータに基づき発生される楽音のタイミングが時間経過に応じて楽音に不調和の生ずるほど大きく乖離することのないように、所定周期毎にオーディオデータの再生位置の補正を行っている。
特開2001-312277号公報
しかし、従来の装置では、所定の周期その時々のタイミングずれの程度(詳しくは再生位置のずれ量)や補正後の楽音波形信号の波形状態(より具体的には補正前後の波形信号の繋がり)などを何ら考慮することなしに、単に所定周期が到来する度にオーディオデータの再生位置を補正する制御を一律に行うだけであった。そのため、聴感上の違和感が無視できないほどに楽音の音質が劣化しやすいので問題となる。
本発明は上述の点に鑑みてなされたもので、波形信号に基づいて楽音を再生する際に、タイミングずれの抑制と音質劣化の防止の両立を目的として、聴感上不自然な印象を与えることなく複数の楽音を同期再生する自動演奏装置及びプログラムを提供しようとするものである。
本発明に係る自動演奏装置は、波形信号と、所定の基準タイミングに対応する前記波形信号の時間軸上の複数の基準位置を特定する基準位置情報と、前記波形信号を解析することによって得られた該波形信号を補正するのに適した波形位置からなる前記時間軸上の複数の補正位置を特定する補正位置情報とを記憶する記憶手段と、前記波形信号を再生する波形再生手段と、前記波形再生手段による波形信号の再生時に、所与の演奏テンポに応じて、前記基準タイミングに到達したか否か判断するタイミング判断手段と、前記基準タイミングに到達したときに、その時点における前記波形再生手段による波形信号の再生位置と、該基準タイミングに対応する前記基準位置情報により特定される基準位置のずれを求める計測手段と、前記波形再生手段による波形信号の再生位置が前記補正位置情報により特定される補正位置に到達したか否かを判断する補正位置到達判断手段と、前記補正位置に到達したときに、前記波形再生手段による波形信号の再生位置を前記求めたずれに従って補正する補正手段とを備えることを特徴とする。
本発明によると、波形信号と共に、所定の基準タイミングに対応する前記波形信号の時間軸上の複数の基準位置を特定する基準位置情報と、前記波形信号を解析することによって得られた該波形信号を補正するのに適した波形位置からなる前記時間軸上の複数の補正位置を特定する補正位置情報とを記憶しておく。波形再生手段による波形信号の再生時に、所与の演奏テンポに応じて、前記基準タイミングに到達したか否か判断し、基準タイミングに到達したときに、その時点における前記波形再生手段による波形信号の再生位置と該基準タイミングに対応する前記基準位置情報により特定される基準位置のずれを求める。そして、波形再生手段による波形信号の再生位置が前記補正位置情報により特定される補正位置に到達したか否かを判断する補正位置到達判断手段と、前記補正位置に到達したときに、前記波形再生手段による波形信号の再生位置を前記求めたずれに従って補正する。基準タイミングに対応する基準位置を特定する基準位置情報とは別に、補正位置情報を記憶しておくことにより、基準タイミングにて求めた波形信号の再生位置のずれを、波形信号の解析結果により得た補正位置で補正することができる。したがって、波形信号の解析結果、すなわち、波形信号の波形状態を考慮した補正を行うことができる。これにより、タイミングずれを抑制するとともに再生波形信号の音質劣化を防止することが可能となる。すなわち、前記ずれを補正する際に、従来のように聴感上の違和感が無視できないほどに楽音の音質が劣化してしまうことがない。
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
本発明によれば、波形再生手段により波形信号再生する際に、基準タイミングにおいて、波形信号の再生位置のずれを計測した場合に、波形信号の解析結果により得た補正位置にて前記計測されたずれを補正するようにしたことから、タイミングずれの抑制しつつ音質劣化の少ない楽音を生成することが容易にできるようになる、という効果が得られる。
この発明に係る自動演奏装置を適用した電子楽器のハードウエア構成例を示すブロック図である。 スタイルデータのデータ構成を示す概念図である。 オーディオパート制御情報を説明するための概念図である。 自動演奏処理の一実施例を示すフローチャートである。 割り込み処理の一実施例を示すフローチャートである。 オーディオデータの切り替え制御の一実施例を説明するための概念図である。 オーディオデータの切り替え制御の別の実施例を説明するための概念図である。 オーディオデータのタイミングずれ補正を説明するための概念図である。
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、この発明に係る自動演奏装置を適用した電子楽器のハードウエア構成例を示すブロック図である。本実施形態に示す電子楽器は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。CPU1は、この電子楽器全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Dを介してROM2、RAM3、記憶装置4、演奏操作子5、パネル操作子6、表示部7、オーディオ再生部8、MIDI音源部9、楽音制御部10、インタフェース11がそれぞれ接続されている。
更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ1Aが接続されている。例えば、タイマ1Aは、楽音を自動演奏する際の演奏テンポや、オーディオデータのタイムストレッチ制御を行う際の周波数などを設定するためのテンポクロックパルスを発生する。タイマ1AからのテンポクロックパルスはCPU1に対して処理タイミング命令として与えられたり、あるいはCPU1に対してインタラプト命令として与えられたりする。CPU1は、これらの命令に従って各種処理を実行する。
ROM2は、CPU1により実行あるいは参照される各種制御プログラムや各種データ等を格納する。RAM3は、CPU1が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを一時的に記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、テンポラリメモリなどとして利用される。
記憶装置4には、複数のセクションデータで構成されるスタイルデータ(後述する図2参照)などの各種データ等を多数記憶することが可能な内蔵データベースが構成される。また、これらの他に、CPU1が実行する各種制御プログラム等を記憶するようにしてもよい。なお、上述したROM2に制御プログラムが記憶されていない場合、この記憶装置4(例えばハードディスク)に制御プログラムを記憶させておき、それをRAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1に実行させることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
なお、記憶装置4はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD‐ROM・CD‐RAM)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等の様々な形態の記憶媒体を利用する記憶装置であればどのようなものであってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
演奏操作子5は、例えば楽音の音高を選択するための複数の鍵を備えた鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子5は演奏者自身の手弾きによるマニュアル演奏のために使用できるのは勿論のこと、コードを入力する入力手段などとして使用することもできる。勿論、演奏操作子5は鍵盤等の形態に限らず、楽音の音高を選択するための弦を備えたネック等のような形態のものなど、どのようなものであってもよい。すなわち、この自動演奏装置を電子楽器に適用する場合、電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。
パネル操作子(スイッチ等)6は、例えばスタイルデータを選択する選択スイッチ、スタイルデータを構成するいずれかのセクションデータへの切り替えを指示するセクション切り替えスイッチ、演奏テンポを設定するテンポ設定スイッチ、自動演奏の開始/停止を指示する再生/停止ボタン、コードを入力する入力操作子、音色・効果などのパラメータを設定する設定スイッチ等、各種の操作子を含んで構成される。勿論、音高、音色、効果等を選択・設定・制御するための数値データ入力用のテンキーや文字データ入力用のキーボード、あるいは表示部7に表示された各種画面の位置を指定するポインタを操作するマウスなどの各種操作子を含んでいてもよい。
表示部7は、例えば液晶表示パネル(LCD)やCRT等から構成されるディスプレイであって、上記スイッチ操作に応じて各種画面(図示を省略したが、例えばスタイル選択画面や演奏テンポ設定画面やセクション切り替え画面など)を表示するのは勿論のこと、スタイルデータの内容などの各種情報あるいはCPU1の制御状態などを表示することもできる。演奏者は該表示部7に表示されるこれらの各種情報を参照することで、スタイルデータの選択や演奏テンポの設定さらにはセクションの切り替えなどの操作を容易に行うことができる。
オーディオ再生部8は、複数のトラック(パート)毎に再生波形信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられるオーディオデータに基づいて再生波形信号を生成し出力する。このとき、オーディオデータの音高を変えることなく再生時間を短くしたり長くしたりする時間軸の調整を行うことができる。このオーディオデータの時間軸の調整を行うタイムストレッチ制御の方法には種々の方法があるが、それらは公知であることからここでの詳細な説明は省略する。さらに、本実施形態において、オーディオ再生部8は、MIDIデータに基づき発生される楽音に同期した再生波形信号を生成し出力する。
MIDI音源部9は、複数のトラック(パート)毎に再生波形信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられるMIDIデータを入力し、このMIDIデータに含まれる各種のイベント情報に基づいて再生波形信号を生成し出力する。MIDI音源部9はコンピュータを用いて構成されており、そこにおいてMIDIデータに基づく自動演奏制御は、コンピュータが所定のアプリケーションプログラムを実行することにより実施される。
なお、MIDI音源部9はコンピュータプログラムの形態に限らず、DSP(ディジタル・シグナル・プロセッサ)によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。さらに、MIDI音源部9の楽音合成方式は波形メモリ方式に限らず、FM方式、物理モデル方式、高調波合成方式、フォルマント合成方式等を採用してもよく、またこれらの各種楽音合成方式のいずれを単独または複数を組み合わせてもよい。
上記オーディオ再生部8及びMIDI音源部9は共に楽音制御部10に接続されており、楽音制御部10ではそれらから発生された再生波形信号に所定のディジタル信号処理を施して効果を付与するとともにこれらを混合(加算)し、スピーカなどのサウンドシステム10Aに出力する。すなわち、ここに示す楽音制御部10は図示を省略したが、信号混合(加算)回路、D/A変換回路、音量制御回路などを含んで構成されてなる。
インタフェース11は、当該装置と図示しない外部機器との間でスタイルデータやオーディオデータさらにはMIDIデータなどの各種データ、制御プログラムなどの各種情報を送受信するためのインタフェースである。このインタフェース11は、例えばMIDIインタフェース,LAN,インターネット,電話回線等であってよく、また有線あるいは無線のものいずれかでなく双方を具えていてよい。
なお、演奏操作子5や表示部7あるいはMIDI音源部9などを1つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことは言うまでもない。
なお、本発明に係る自動演奏装置は電子楽器に限らず、パーソナルコンピュータ、PDA(携帯情報端末)や携帯電話等の携帯通信端末、あるいはゲーム装置など、少なくともオーディオデータに基づいて楽音の自動演奏を行うことのできるものであればどのような形態の装置・機器に適用してもよい。
図2は、電子楽器に構成されたデータベースに記憶されるスタイルデータのデータ構成を示す概念図である。スタイルデータは、予め電子楽器内に記憶されている(つまり電子楽器のメーカが作成した)ものに限らず、ユーザが新規に作成したものを追加記憶する、メーカやその他の利用者が新規に作成し外部機器(例えばサーバ装置など)に記憶したものを取得して、既存のデータと差し替えあるいは追加記憶することもできるようになっている。
スタイルデータは、複数セクション(メイン、フィルイン、イントロ、エンディング等)の各セクションにつき、複数パート(コードバッキング、べース、リズム等)毎に用意された基本となる伴奏パターンデータを有する。メインセクションは1〜数小節の決まったパターンが繰り返し再生されるセクションであり、それ以外のセクションは決まったパターンが1回のみ再生されるセクションである。自動演奏制御時において、イントロセクションやフィルインセクションを再生終了した場合には自動的にメインセクションに戻って自動演奏は続けられるが、エンディングセクションを再生終了した場合にはその時点で自動演奏は終了される。ユーザは1曲の中で、選択済みの1つのスタイルデータ内のセクションを任意に切り替えながら自動演奏を実行する。典型的には、イントロセクションから自動演奏を開始し、演奏する曲長分だけメインセクションを繰り返した後にエンディングセクションに切り替えることにより自動演奏を終了する。また、メインセクションの再生中には、曲の盛り上がりや曲調の切り替わりに合わせてフィルインセクションを挿入する。なお、伴奏パターンデータはセクションごとに異なる1〜複数小節の長さであってよい。
スタイルデータは、伴奏パターンデータとして複数パート(又はトラック)の全てにMIDIデータを割り当ててあるMIDIスタイルと、少なくとも1つのパート(主にリズムパート)にオーディオデータを、残りのパートにMIDIデータを割り当ててあるオーディオスタイルとに分けられる。図2に示す「スタイル1」はMIDIパートのみで構成されるMIDIスタイル、「スタイルl」はオーディオパート1つを含むオーディオスタイルの例である。MIDIデータは音符イベント及び発音タイミング等のMIDI形式のイベント列からなる楽音制御信号であり、オーディオデータは実際の楽器演奏や人の声あるいは自然音などをサンプリングした楽音波形信号である(図3参照)。
MIDIデータは所定のコードに基づいて作成されており、演奏時に指定されるコードに従ってコード変換される。例えば、所定のコードはCメジャーであり、演奏時にユーザによってコードが指定されると、伴奏パターンデータ中のノートの音高が指定のコードに合うように変換される。MIDIパート制御情報は個々のスタイルに付随される情報であり、こうしたコード変換のルールなど、MIDIデータに基づき自動演奏を制御するための制御パラメータである。
オーディオパート制御情報は個々のオーディオデータ毎に付随される情報であり、例えばオーディオデータ記録時のテンポ情報(基本テンポ)、拍情報(基準位置情報)、シンクポイント情報(補正位置情報)、アタック情報、オンセット情報(切替位置情報)などを含む。これらのオーディオパート制御情報は対応するオーディオデータを解析することによって得られ、個々のオーディオデータに対応付けられて予めスタイルデータに記憶される。自動演奏時には、このオーディオパート制御情報が参照されることによりオーディオデータに基づく自動演奏の制御が行われる。このオーディオパート制御情報の詳細について、図3を参照しながら説明する。
図3(a)は、オーディオスタイルのオーディオパートである1小節分のオーディオデータ(楽音波形信号)を拍情報(sb1〜sb4)及びシンクポイント情報(ss1〜ss4)の位置で分割して、分割後の各波形に対し時系列にw1から順にw8までの記号を付したものを示している。これらの波形w1〜W8に含まれる多数のサンプリング波形には、時系列順に昇順又は降順のサンプリング波形番号が付されている。拍情報(sb1〜sb4)は、オーディオデータの1小節の中で何拍目の位置に相当するかを表す再生タイミング情報(基準タイミング)であり、MIDIデータとオーディオデータの同期の基準となる位置として参照される。具体的には、オーディオデータの1小節内において複数の音楽的な拍に対応する各位置にあるサンプリング波形を示す情報(例えばサンプリング波形番号など)である。シンクポイント情報(ss1〜ss4)は波形を補正するための補正位置を示す情報であり、より具体的には振幅の小さいあるいは自己相関性の高いサンプリング波形、言い換えればタイミングずれを補正して再生波形信号を生成するときに音質劣化の生じ難い波形接続を行い得るサンプリング波形を示す情報である。この実施例では、例えば図3(a)に示すように、各拍で区切られた区間ごとに最も振幅レベルの小さい波形位置をシンクポイント情報としている。また、アタック情報(At1,At4等)は、分割後の各波形(w1〜w8)において音鳴り開始からピーク位置までのうちユーザに最も音として認識されやすい波形位置、例えば振幅レベルの変化量の最も大きい波形位置を示す情報である。この実施例では、最も振幅レベルが大きくなるピーク位置をアタック情報としている。
図3(b)では、上段にメインセクション及びフィルインセクションの各1小節分のオーディオデータ(楽音波形信号)を示し、下段にオンセット情報を示してある。オンセット情報は、メインセクションとフィルインセクションを切り替える際の切り替えタイミングを制御する際に参照される情報である。図3(b)に示す例では、オーディオデータに含まれる複数の各音(各ピーク波形)の立ち上がり位置がオンセット情報として定義されている。メインセクションは6つのピーク波形を有し、フィルインセクションは9つのピーク波形を有している。したがって、メインセクションにおけるピーク波形を含む6つの各波形の立ち上がり位置にある記号Mo1〜Mo6を付した各サンプリング波形が、メインセクションの当該オーディオデータのオンセット情報とされる。一方、フィルインセクションにおけるピーク波形を含む9つの各波形の立ち上がり位置にある記号Fo1〜Fo9を付した各サンプリング波形が、フィルインセクションの当該オーディオデータのオンセット情報とされる。
なお、スタイルデータの構成は、上述の形態に限定されない。例えば、スタイルデータの記憶場所とオーディオデータやMIDIデータの記憶場所とが異なっており、スタイルデータ内に個々のオーディオデータやMIDIデータの記憶場所を指し示す情報が記憶されていてもよい。また、MIDIパート制御情報やオーディオパート制御情報についても、各スタイル内に含まれているのではなく、別の場所で管理されていてもよい。例えば、個々のMIDIデータ、オーディーデータ、MIDIパート制御情報、オーディオパート制御情報を記憶装置4だけでなく、ROM2やRAM3あるいはインタフェース11を通じて接続されたサーバ装置などの別々の場所に記憶しておき、再生時にそれぞれの記憶場所からRAM3に読み込むことで本実施例と同様の機能を実現するようにしてもよい。
次に、CPU1が実行する「自動演奏処理」について説明する。図4は、自動演奏処理の一実施例を示すフローチャートである。当該処理は、多数のスタイルデータの中から任意のオーディオスタイルが選択された状態で且つユーザにより自動演奏開始指示がなされた場合に開始され、ユーザによる自動演奏終了指示がなされた場合あるいはエンディングセクションの再生を終了した場合に終了される。
ステップS1は、初期化処理を実行する。初期化処理としては、例えばユーザ操作に応じた演奏テンポの設定や、選択済みのスタイルデータをMIDIデータ及びオーディオデータと共にROM2や記憶手段4等から読み出してRAM3に記憶する処理などがある。ステップS2は、選択済みのスタイルデータのうち再生用に指定された任意の1つのセクションにおいて伴奏パターンデータとしてMIDIデータが割り当てられているパート(MIDIパートと呼ぶ)について、設定した演奏テンポに応じてRAM3からのMIDIデータの読み出しを開始する。これに応じて、MIDIデータに基づく楽音が再生される。
ステップS3は、設定した演奏テンポに応じて伴奏パターンデータとしてオーディオデータが割り当てられているパート(オーディオパートと呼ぶ)の再生を開始する。このとき、設定した演奏テンポが基本テンポと異なっていれば、オーディオデータのタイムストレッチ制御を行うことによって演奏テンポにあった楽音を生成するように、RAM3に記憶したオーディオデータに基づく自動演奏の制御が行われる。これにより、オーディオデータに基づく楽音が再生される。上記ステップS2及びS3の処理によって、MIDIパートとオーディオパートのそれぞれがユーザによって設定された演奏テンポで再生される、すなわちスタイルデータの全パートが同時に再生される。
ステップS4は、ユーザ指示の受付の有無を判定する。ユーザ指示がないと判定した場合には(ステップS4のNO)、ステップS2の処理に戻ってMIDIパートとオーディオパートの再生を続けながらユーザ指示を待つ。ユーザ指示があると判定した場合には(ステップS4のYES)、ユーザ指示に従う各種処理を行う(ステップS5,S9,S12)。この実施例では、ユーザ指示が「メインセクションからフィルインセクションへのセクション変更指示」(ステップS5)、「演奏テンポの変更指示」(ステップS9)、自動演奏の終了指示(ステップS12)である場合に分けて、各指示に対応した処理を実行する。
ユーザ指示が「メインセクションからフィルインセクションへのセクション変更指示」である場合には(ステップS5のYES)、ステップS6〜S8の処理を行い、その後にステップS2の処理に戻る。なお、メインセクションからフィルインセクションへのセクション変更指示とは、メインセクションが再生されている状態のときにユーザがパネル操作子6などの操作によってフィルインセクションを再生するよう指定したことを指す。ステップS6は、切り替え先のフィルインセクションのオーディオデータやオーディオデータ制御情報をロード、つまり記憶装置4に記憶されているそれらのデータをRAM3に読み込む。ステップS7は、切り替え先のフィルインセクションのオーディオパート制御情報よりオンセット情報を取得する。ステップS8は、取得したオンセット情報のうち再生中のメインセクションのオーディオデータの現在の再生位置以降で最も近い(次の)オンセット情報を「セクション切り替えタイミング」としてセットする。
ユーザ指示が「演奏テンポの変更指示」である場合には(ステップS9のYES)、ステップS10〜S11の処理を行い、その後にステップS2の処理に戻る。ステップS10は、オーディオデータの基本テンポと設定された演奏テンポとの変化率を求める。ステップS11は、前記求めたテンポ変化率に応じてオーディオデータのタイムストレッチ制御(時間軸伸縮制御)を実行する。この際、オーディオパート制御情報のアタック情報を参照することで、音質劣化を少なくすることができる。タイムストレッチ制御については公知であるので説明を省略する。
ユーザ指示が「自動演奏の終了指示」である場合には(ステップS12のYES)、指示に応じた終了制御を行って本自動演奏処理を終了する。例えば「自動演奏の終了指示」がメインセクションからエンディングセクションへのセクション切り替え指示である場合には、当該指示タイミングの次小節からメインセクションのデータ再生に変えてエンディングセクションのデータ再生を開始し、当該データを最後まで再生する制御を行った後に本自動演奏処理を終了する。一方、「自動演奏の終了指示」が再生/停止ボタン操作による自動演奏の停止指示である場合には、当該停止指示がなされた時点で強制的にデータ再生終了制御を行うことにより本自動演奏処理を終了する。
ユーザ指示が上記した何れの指示でもない場合には(ステップS5,S9,S12のいずれもがNO)、ユーザ指示に応じた「その他の処理」を実行する。その他の処理を実行するユーザ指示としては、例えばメインセクションからフィルインセクション又はエンディングセクション以外へのセクション切り替え指示、再生中のパートのうち任意のパートの再生をミュート/ミュート解除する指示、スタイルデータを変更する指示、音色変更や音量変更の指示などがある。
次に、「割り込み処理」について説明する。図5は、割り込み処理の一実施例を示すフローチャートである。当該割り込み処理は自動演奏の開始から終了まで、クロックに応じた所定の時間間隔毎に繰り返し起動される。ここで、演奏テンポに応じてクロックあたりの時間長は変わることから、ユーザによる演奏テンポの変更指示に応じて当該処理を繰り返し起動する時間間隔(つまり割り込み処理タイミング)は当然に変わる。
ステップS21は、再生カウンタの値を「+1」つまりは自動演奏の開始にあわせてカウントが開始されるクロックカウント値を、本処理を起動するたびに「1」加算する。ステップS22は、再生カウンタ値がセクション切り替えタイミングに到達したか否かを判定する。ここで、再生カウンタの値がセクション切り替えタイミングに到達したと判定される場合をいくつか挙げると、再生カウンタの値が「セクション切り替えタイミング」としてセットされたタイミング(図4のステップS8参照)に到達したとき、自動的にメインセクションへの切り替えが行われるときつまりはイントロセクションやフィルインセクションの再生が終わったとき、メインセクションから別のメインセクション又はエンディングセクションへの切り替え指示がなされたあとに、切り替え前のメインセクションの再生位置が小節区切りの位置まで到達したときなどがある。
再生カウンタの値がセクション切り替えタイミングに到達したと判定した場合には(ステップS22のYES)、読み出し対象のオーディオデータを切り替え先のセクションのオーディオデータに切り替える(ステップS23)。つまり、ユーザがメインからフィルインへのセクション切り替え指示を行なった際(図4のステップS5でYES)には、ユーザ操作に応じてすぐに切り替え先セクションであるフィルインセクションのデータが読み出されるのではなく、ステップS8でセットされたセクション切り替えタイミングに到達した際にフィルインセクションのデータ読み出しが開始される。この切り替え制御には、ユーザによるセクション間の切り替えタイミングに関わらず、ノイズの発生を低減する効果がある。
セクション間におけるオーディオデータの切り替え制御について説明する。図6及び図7は、セクション間におけるオーディオデータの切り替え制御の一実施例を説明するための概念図である。なお、ここでは図3(b)に示したメインセクションからフィルインセクションへのセクション切り替え時におけるオーディオデータの切り替え制御を例に説明する。
まず、図6を参照しながら、図中において点線で示す1拍目の真ん中あたりのタイミングで、ユーザがセクション切り替え指示操作を行った場合について説明する。この場合、ユーザ操作に応じて即座にメインセクションのオーディオデータからフィルインセクションのオーディオデータへの切り替え制御が行われてしまうと、図3(b)に示すフィルインセクションの2つ目の波形(立ち上がり位置がFo2である波形、以下Fo2波形)の途中から再生を開始することになるが(図6上段図参照)、1つの波形途中からの再生音はノイズとなって現れるので都合が悪い。
上述したように、オーディオ制御データのオンセット情報には、フィルインセクションのオーディオデータに含まれる各波形の立ち上がり位置(Fo1〜Fo9)が設定されている(図3(b)参照)。そこで、このケースでは、ユーザ操作タイミングにあわせてすぐにセクション間におけるオーディオデータの切り替え制御を行うのではなく、ユーザ操作タイミングの直後にある切り替え先(フィルインセクション)のオンセット情報「Fo3」に従って、再生カウンタ値が「Fo3」になるまでは切り替え前のメインセクションのMo1波形の再生を維持し、再生カウンタ値が「Fo3」になるタイミングでFo3波形の先頭からフィルインセクションのオーディオデータの再生を開始するように切り替え制御を行う(図6下段図参照)。
これにより、切り替え後のフィルインセクションにおいては、Fo2波形の途中からではなくFo3波形の先頭から再生が開始されるので、波形途中からの再生に伴うノイズが生ずることがない。なお、実際の装置では、セクション切り替え指示操作後に切り替え先のフィルインセクションのオーディオデータのロードが開始され、そのオーディオデータのロードには時間がかかることから、再生カウンタ値がオーディオデータのロード完了後以降にある最も近いオンセット情報になるタイミングでオーディオデータの切り替えが行われる。
次に、図7に示すように、図中において点線で示すFo8波形の直前のタイミングで、ユーザがセクション切り替え指示操作を行った場合について説明する。この場合、ユーザ操作に応じて即座にメインセクションのオーディオデータからフィルインセクションのオーディオデータへの切り替え制御が行われてしまうと、メインセクションのMo5波形のアタック(振幅レベルが最も高い箇所)が鳴った直後にフィルインセクションのFo8波形が鳴り始めることから(図7上段図参照)、短時間の間に2つのアタック音が発生する所謂「二度鳴り」現象が生じてしまうので都合が悪い。
このケースにおいて、図6に示したケースと同様に、「ユーザ操作後の最初の波形立ち上がり位置でセクション間におけるオーディオデータの切り替えを行う」場合について考える。すなわち、図7中段図に示すように、ユーザ操作タイミングの直後にある切り替え先(フィルインセクション)のオンセット情報「Fo8」に従って、再生カウンタ値が「Fo8」になるまでは切り替え前のメインセクションのMo5波形の再生を維持し、再生カウンタ値が「Fo8」になるタイミングでFo8波形の先頭からフィルインセクションのオーディオデータの再生を開始するように切り替え制御を行うようにする。しかし、このケースではフィルインセクションの波形立ち上がり位置である「Fo8」のタイミングで、メインセクションからフィルインセクションへのオーディオデータの切り替えを行なったとしても、Mo5波形とFo8波形それぞれのアタックが短時間に再生されることにはかわりないので「二度鳴り」現象が起こってしまう。
したがって、このケースでは、オーディオ制御データのオンセット情報に、フィルインセクションのオーディオデータに含まれる各波形の立ち上がり位置(Fo1〜Fo9)ではなく、図7下段図に示すように、それらの立ち上がり位置よりも少し前の任意の波形位置「Fo1'〜Fo9'」を設定しておく。具体的には、メインセクションのMo5波形の立ち上がり位置とFo8'の位置とがほぼ同じになるよう、オンセット情報をFo8ではなくからFo8'に変更するように設定する。他のオンセット情報(Fo1、Fo2、・・・)についても、各セクションのオーディオデータに含まれる各波形を比較して、最適な位置(Fo1'、Fo2'、・・・)を設定するとよい。すなわち、オーディオ制御データのオンセット情報は波形の立ち上がり位置に設定されることに限らない。この設定によれば、上記したユーザ操作タイミングの直後にある切り替え先(フィルインセクション)のオンセット情報が「Fo8」ではなく「Fo9'」になるので、このオンセット情報「Fo9'」に従って、再生カウンタ値が「Fo9'」になるまでは切り替え前のメインセクションのMo5波形の再生を維持し、再生カウンタ値が「Fo9'」になるタイミングでフィルインセクションのオーディオデータの再生を開始するように切り替え制御を行う。こうすることにより、上記のような二度鳴りの問題を解決することができる。
図5の説明に戻って、ステップS24は、再生カウンタの値が所定の計測タイミング(ここでは一例として1拍毎の拍タイミング)に達したか否かを判定する。再生カウンタの値が計測タイミングに達したと判定した場合には(ステップS24のYES)、現時点のオーディオデータの再生位置とオーディオ制御データの拍情報とに基づいて、MIDIデータの再生位置とオーディオデータの再生位置とのタイミングずれを計測する(ステップS25)。すなわち、オーディオ制御情報は拍情報を含むことから、この拍情報によって「本来の拍タイミングで再生すべき波形位置はどのサンプリング波形であるか」がわかる。そこで、この実施形態では、拍タイミングをずれを計測するための基準タイミングとみなし、この拍タイミング毎に「実際に再生されている波形位置(サンプリング波形番号)」と拍情報に基づく「本来再生すべき波形位置(サンプリング波形番号)」とを比較することによって、MIDIデータの再生位置とオーディオデータの再生位置とのタイミングずれを計測するようにしている。ここで計測されたずれの量は、RAM3に一時記憶される。
ステップS26は、現在のオーディオデータの再生位置を取得する。ステップS27は、取得したオーディオデータ再生位置がオーディオ制御データのシンクポイントのタイミングつまりはオーディオ制御データのシンクポイント情報で特定される波形位置の再生タイミングと一致するか否かを判定する。オーディオデータ再生位置がシンクポイントのタイミングであると判定した場合には(ステップS27のYES)、直前の計測タイミングで計測されたずれ量に応じてオーディオデータの再生位置を変更することにより、MIDIデータの再生位置とオーディオデータの再生位置とのタイミングずれを補正する(ステップS28)。例えば、MIDIデータの再生位置よりもオーディオデータの再生位置が遅れた場合において、遅れを検出した計測タイミング以降の最初のシンクポイント情報で特定される波形位置にて、現在のオーディオデータの再生位置を遅れた分に対応するサンプリング波形の数だけずらし、ずらした以降のサンプリング波形からオーディオデータの再生を開始することによりタイミングずれを補正する(詳しくは後述する図8参照)。ステップS29は、各パートの発音処理を実行する。つまり、現在のタイミングにMIDIイベントがあればそれに基づき楽音の発音や消音さらにはその他の楽音制御処理を行う。
ここで、MIDIデータの再生位置とオーディオデータの再生位置とのタイミングずれ補正について説明する。図8は、再生位置のタイミングずれ補正を説明するための概念図である。なお、ここでは図3(a)に示した1小節分のオーディオデータのタイムストレッチ制御を行って再生波形信号を生成する場合を例に説明する。したがって、図8に示したオーディオパートの各波形w1〜w8は時間軸伸縮した後の再生波形信号を表す。
上述したように、本実施形態では、各拍においてMIDIデータの再生位置とオーディオデータの再生位置のずれを計測し、ずれを計測した場合には次のシンクポイント情報に従う波形再生時において、計測したずれ量の分だけオーディオデータの再生位置を変更することによってMIDIデータの再生位置とオーディオデータの再生位置とのタイミングずれを補正するようにしている。つまり、MIDIデータはユーザの指定した演奏テンポで正確に読み出されて再生されるが、オーディオデータはタイムストレッチ処理による誤差の影響などを受けて必ずしも指定した演奏テンポで再生されるとは限らないために、MIDIデータの再生を基準信号として、オーディオデータの再生位置を基準としたMIDIデータの再生位置に合うよう調整することで、オーディオデータとMIDIデータの同期再生を図っている。図8に示すように、第1小節の1拍目のタイミング(MIDIデータの再生位置を基準に示し、図中では「1-1」と記す)においては、基準としたMIDIデータの再生位置と拍情報(sb1)に基づくオーディオデータの再生位置とに「ずれ」が発生していない。したがって、次のシンクポイント情報ss1において、オーディオデータの再生位置を変更してのタイミングずれ補正は行われない。
第1小節の2拍目(1-2)のタイミングでは、MIDIデータの再生位置とオーディオデータの再生位置とに「ずれ」が発生している。つまり、第1小節の2拍目(1-2)のタイミングでは、拍情報(sb2)に基づくオーディオデータの再生位置が本来波形w3の開始位置となるはずであるが、図示の例ではまだ時間軸伸縮された波形w2を引き続き再生中であって波形w3の開始位置に至っていない。そこで、第1小節の2拍目(1-2)のタイミングにおいては、拍情報(sb2)に基づく本来の波形w3の再生位置と現時点で再生中の波形w2の再生位置とのずれ量(Δt1と記す)を計測する(ステップS24及びS25参照)。このずれ量(Δt1)はサンプリング波形の数で表される(例えば690個など)。
第1小節の2拍目(1-2)のタイミング以降の最初のシンクポイント情報(ss2)で特定される波形w4の先頭波形の再生タイミングになると、当該波形w4に関して前記ずれ量(Δt1)だけ再生位置の変更を行う(ステップS26及びS27参照)。ただし、この時点における波形w4の先頭波形の再生タイミング(ss2)は既に遅れが発生しており、本来の再生タイミング(便宜的にss2´と記す)でない。そこで、波形w4の先頭波形の再生タイミング(ss2)では、波形w3に引き続き波形w4の先頭波形からフェードアウト制御しながら再生を開始する一方で、空きトラックを利用して波形w4の先頭波形から前記ずれ量(Δt1)だけずれた(ジャンプした)位置にあるサンプリング波形からフェードイン制御しながら再生を開始する。すなわち、各トラック毎に再生される波形をクロスフェード制御により接続することで(図中において斜線で記した箇所)、楽音が自然に遷移するようにしている。このようにして、別の空きトラックを利用してタイミングが遅れた分に対応する数のサンプリング波形の再生を飛ばして(図中において黒く塗りつぶした箇所)、再生を飛ばした以降のサンプリング波形から再生を開始させる。こうすることにより、再生タイミング(ss2)においてタイミングずれが解消されて、波形w4の再生位置が演奏テンポに応じた再生位置に戻る。
さらに、この例では第1小節の3拍目(1-3)でも再度「ずれ」が発生している。このずれ量をΔt2とする。この場合、第1小節の3拍目(1-3)のタイミング以降の最初のシンクポイント情報(ss3)にて、上記と同様にして、波形w6の先頭波形の再生タイミング(ss3)では、波形w5に引き続き波形w6の先頭波形からフェードアウト制御しながら再生を開始する一方で、別の発音チャンネルを利用して波形w6の先頭波形から前記ずれ量(Δt2)だけずれた(ジャンプした)位置にあるサンプリング波形からフェードイン制御しながら再生を開始することにより、再生タイミング(ss3)において波形w6の再生位置を本来の再生位置に戻す。以降についても同様であるので、ここでの説明を省略する。なお、この例ではオーディオ再生がMIDI再生よりも遅れる場合の補正方法について説明したが、オーディオ再生がMIDI再生よりも早くなってしまった場合でも同様に補正を行う。すなわち、シンクポイント情報で特定される波形位置に到達した際に、再生中の波形をフェードアウト再生する一方で、直前に計測されたずれの量だけ遅らせた波形を別のチャンネルにてフェードイン再生するようにするとよい。
なお、ここでは説明を簡単にするため、直前に計測したずれをシンクポイント情報(図2参照)に従う再生タイミングの到来にあわせて補正する方法を説明したが、補正の仕方はこれに限定されない。例えば、直前とさらにその1つ前に計測したずれの平均値を補正するようにしてもよい。また、ずれの計測頻度や計測の精度に応じて、シンクポイントにおいて補正する量を適宜変更するのが好ましい。
なお、シンクポイント情報と計測ポイントの対応は1対1でなくてもよい。つまり、拍ごとに1箇所のシンクポイント情報を設定しておく必要はない。所定の基準を満たす位置(例えば振幅レベルが所定値以下)をすべてシンクポイント情報として設定しておいてもよい。
なお、シンクポイント情報は、サンプリング波形の位置で定義するのではなく、何らかの条件で定義しておいてもよい。例えば、振幅レベルが所定値以下になっ た時点をシンクポイント情報とみなすようにしておき、再生時に振幅レベルを随時計測し、振幅レベルが所定値以下になったことを検出すればその時点でずれを補正するようにしてもよい。
以上のように、本発明に係る自動演奏装置によると、基テンポに従って演奏された楽音波形信号と共に、当該楽音波形信号のうち所定の基準タイミング(上記例では1拍)毎に演奏されるべき波形位置を示す拍情報(基準位置情報)を予め記憶しておく。また、当該楽音波形信号を解析することによって得られる波形位置であって、タイミングずれを補正して再生波形信号を生成するときに音質劣化の生じ難い波形接続を行い得るサンプリング波形の波形位置を示すシンクポイント情報(補正位置情報)も記憶しておく。設定された演奏テンポに応じた再生波形信号の生成時において、前記基準タイミングにおいて、当該タイミング時に生成した再生波形信号の波形位置と、前記記憶した楽音波形信号における当該基準タイミングに演奏されるべき波形位置とのずれを、前記記憶しておいた拍情報に従って求める。例えば、拍情報が「1260」であるにも関わらず、生成した再生波形信号の波形位置が「940」であるような場合には、タイミングずれが生じたものと判断し、計測されるずれ量は「320」(1260-940)となる。
そして、前記求めた波形位置のずれを補正する補正位置が前記記憶したシンクポイント情報に従って特定され、該特定した補正位置に該当する再生波形信号を生成するタイミング時に前記求めたずれ量「320」だけ前記波形位置を補正する。このように、基準タイミングその時々のタイミングずれの程度(ずれ量)に従って、基準タイミング時ではなく前記シンクポイント情報に従って特定される補正位置を再生するタイミングにおいて、ずれを補正した再生波形信号を生成することにより、楽音波形信号に基づく楽音との発生タイミングにずれが生じることによる楽音の質の低下を防止することができる。すなわち、基準タイミングにおいてずれを計測した場合のみに、ずれを計測した基準タイミングに後続するタイミングの到来を待ってずれを補正するようにしたために、従来のように聴感上の違和感が無視できないほどの楽音の音質劣化を引き起こす恐れがない。
以上、図面に基づいて実施形態の一例を説明したが、本発明はこれに限定されるものではなく、様々な実施形態が可能であることは言うまでもない。例えば、上述した実施例では、オーディオデータとMIDIデータの同期再生を例に示したが、 オーディオデータとMIDIデータの同期再生に限らず、オーディオデータ同士の同期再生にも応用できる。例えば、複数のオーディオデータを扱うDJ用途や、複数の機器間でオーディオ再生の同期を取る際にも応用できる。
なお、同期再生するデータ同士を同時に再生開始する必要はない。一方のデータ(例えばMIDIデータ)を先に再生開始しておき、後からもう一方(例えばオーディオデータ)を再生させてもよい。その際には、小節単位に同じ拍同士で同期させる(それぞれの1拍目同士を同期させる等)ことに限らず、例えば一方のデータの2拍目と他方のデータの1拍目を同期させるなど、異なる拍位置で同期させるようにしてもよい。
なお、誤差の計測は上述した拍単位に限定されず、八分音符単位や、各拍のウラ単位など、基準の楽音(MIDI)の再生位置とオーディオデータに基づく楽音の再生位置とのずれが計測できさえすればどこであってもよい。その場合、オーディオパート制御情報には、オーディオデータの1小節内において複数の八分音符や各拍のウラに対応する各位置にあるサンプリング波形を示す情報を記憶するのは勿論である。
1…CPU、1A…タイマ、2…ROM、3…RAM、4…記憶装置、5…演奏操作子(鍵盤等)、6…パネル操作子、7…表示部、8…オーディオ再生部、9…MIDI音源部、10…楽音制御部、10A…サウンドシステム、11…インタフェース、1D…データ及びアドレスバス

Claims (11)

  1. 波形信号と、所定の基準タイミングに対応する前記波形信号の時間軸上の複数の基準位置を特定する基準位置情報と、前記波形信号を解析することによって得られた該波形信号を補正するのに適した波形位置からなる前記時間軸上の複数の補正位置を特定する補正位置情報とを記憶する記憶手段と、
    前記波形信号を再生する波形再生手段と、
    前記波形再生手段による波形信号の再生時に、所与の演奏テンポに応じて、前記基準タイミングに到達したか否か判断するタイミング判断手段と、
    前記基準タイミングに到達したときに、その時点における前記波形再生手段による波形信号の再生位置と、該基準タイミングに対応する前記基準位置情報により特定される基準位置のずれを求める計測手段と、
    前記波形再生手段による波形信号の再生位置が前記補正位置情報により特定される補正位置に到達したか否かを判断する補正位置到達判断手段と、
    前記補正位置に到達したときに、前記波形再生手段による波形信号の再生位置を前記求めたずれに従って補正する補正手段と
    を備えることを特徴とする自動演奏装置。
  2. 前記記憶手段に記憶される波形信号は、所定の基本テンポに従って演奏された楽音を記録した楽音波形信号であることを特徴とする請求項1に記載の自動演奏装置。
  3. 前記演奏テンポを設定するテンポ設定手段をさらに備え、
    前記波形再生手段は、前記基本テンポと前記演奏テンポとの比に応じて楽音波形信号の時間軸伸縮制御を行い、前記設定された演奏テンポの楽音波形信号を再生することを特徴とする請求項2に記載の自動演奏装置。
  4. 前記記憶手段に記憶される補正位置情報により特定される補正位置は、前記波形信号において振幅レベルが小さい波形位置であることを特徴とする請求項1乃至3のいずれかに記載の自動演奏装置。
  5. 前記記憶手段に記憶される補正位置情報により特定される補正位置は、前記基準タイミング毎に区切られた波形信号において振幅レベルの最も小さい波形位置であることを特徴とする請求項4に記載の自動演奏装置。
  6. 前記記憶手段に記憶される補正位置情報により特定される補正位置は、前記波形信号において振幅レベルが所定値より小さい波形位置であることを特徴とする請求項4に記載の自動演奏装置。
  7. 前記補正手段が前記波形再生手段による波形信号の再生位置を前記求めたずれに従って補正する場合に、該波形再生手段は、補正前の波形位置に後続する波形信号の再生をフェードアウト制御する一方で、補正後の波形位置に後続する波形信号の再生をフェードイン制御することを特徴とする請求項1乃至6のいずれかに記載の自動演奏装置。
  8. 前記波形再生手段による波形信号の再生と同時に、前記演奏テンポに従ってMIDIデータからなる演奏データを再生するMIDIデータ再生手段更に備えることを特徴とする請求項1乃至7のいずれかに記載の自動演奏装置。
  9. 前記記憶手段に記憶される波形信号は、所定の演奏パターンからなる所定長さのパターンデータであって、
    前記波形再生手段は、前記波形信号を繰り返し再生することを特徴とする請求項1乃至8のいずれかに記載の自動演奏装置。
  10. 前記記憶手段に記憶される基準位置情報により特定される基準位置は、前記基本テンポにおける1拍に対応する時間的位置であることを特徴とする請求項2又は3に記載の自動演奏装置。
  11. コンピュータに、
    波形信号と、所定の基準タイミングに対応する前記波形信号の時間軸上の複数の基準位置を特定する基準位置情報と、前記波形信号を解析することによって得られた該波形信号を補正するのに適した波形位置からなる前記時間軸上の複数の補正位置を特定する補正位置情報とを記憶装置に記憶する手順と、
    前記波形信号を再生する手順と、
    前記波形信号の再生時に、所与の演奏テンポに応じて、前記基準タイミングに到達したか否か判断する手順と、
    前記基準タイミングに到達したときに、その時点における前記波形信号の再生位置と、該基準タイミングに対応する前記基準位置情報により特定される基準位置のずれを求める手順と、
    前記波形信号の再生位置が前記補正位置情報により特定される補正位置に到達したか否かを判断する手順と、
    前記補正位置に到達したときに、前記波形信号の再生位置を前記求めたずれに従って補正する手順と
    を実行させるプログラム。
JP2012142891A 2012-06-26 2012-06-26 自動演奏装置及びプログラム Expired - Fee Related JP6011064B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012142891A JP6011064B2 (ja) 2012-06-26 2012-06-26 自動演奏装置及びプログラム
US13/927,066 US9147388B2 (en) 2012-06-26 2013-06-25 Automatic performance technique using audio waveform data
EP13173502.9A EP2680255B1 (en) 2012-06-26 2013-06-25 Automatic performance technique using audio waveform data
CN201310259940.8A CN103514868B (zh) 2012-06-26 2013-06-26 使用音频波形数据的自动演奏技术

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012142891A JP6011064B2 (ja) 2012-06-26 2012-06-26 自動演奏装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2014006415A JP2014006415A (ja) 2014-01-16
JP6011064B2 true JP6011064B2 (ja) 2016-10-19

Family

ID=48698925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012142891A Expired - Fee Related JP6011064B2 (ja) 2012-06-26 2012-06-26 自動演奏装置及びプログラム

Country Status (4)

Country Link
US (1) US9147388B2 (ja)
EP (1) EP2680255B1 (ja)
JP (1) JP6011064B2 (ja)
CN (1) CN103514868B (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6019803B2 (ja) * 2012-06-26 2016-11-02 ヤマハ株式会社 自動演奏装置及びプログラム
JP6435751B2 (ja) * 2014-09-29 2018-12-12 ヤマハ株式会社 演奏記録再生装置、プログラム
US9412351B2 (en) * 2014-09-30 2016-08-09 Apple Inc. Proportional quantization
JP6536115B2 (ja) * 2015-03-25 2019-07-03 ヤマハ株式会社 発音装置および鍵盤楽器
CN106463118B (zh) * 2016-07-07 2019-09-03 深圳狗尾草智能科技有限公司 一种同步语音及虚拟动作的方法、系统及机器人
JP6350693B2 (ja) * 2017-02-08 2018-07-04 ヤマハ株式会社 音響信号発生装置
JP6583320B2 (ja) * 2017-03-17 2019-10-02 ヤマハ株式会社 自動伴奏装置、自動伴奏プログラムおよび伴奏データ生成方法
US10453434B1 (en) * 2017-05-16 2019-10-22 John William Byrd System for synthesizing sounds from prototypes
JP7250123B2 (ja) * 2019-05-31 2023-03-31 ローランド株式会社 楽音処理装置、及び楽音処理方法
EP3982356A4 (en) * 2019-06-06 2023-07-05 Guangzhou Lava Music LLC. SOUND RECORDER, STRING INSTRUMENT AND SOUND RECORDER CONTROL METHOD
US11188605B2 (en) 2019-07-31 2021-11-30 Rovi Guides, Inc. Systems and methods for recommending collaborative content
US12010495B2 (en) * 2020-06-01 2024-06-11 Harman International Industries, Incorporated Techniques for audio track analysis to support audio personalization
JP7176548B2 (ja) * 2020-06-24 2022-11-22 カシオ計算機株式会社 電子楽器、電子楽器の発音方法、及びプログラム
US12118984B2 (en) 2020-11-11 2024-10-15 Rovi Guides, Inc. Systems and methods to resolve conflicts in conversations

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3503142B2 (ja) * 1992-04-30 2004-03-02 ヤマハ株式会社 自動演奏データ作成装置
JP4070315B2 (ja) * 1998-08-06 2008-04-02 ローランド株式会社 波形再生装置
JP2001312277A (ja) 2000-05-02 2001-11-09 Roland Corp オーディオ波形データの同期再生装置
EP1162621A1 (en) * 2000-05-11 2001-12-12 Hewlett-Packard Company, A Delaware Corporation Automatic compilation of songs
JP4581190B2 (ja) * 2000-06-19 2010-11-17 ヤマハ株式会社 音楽信号の時間軸圧伸方法及び装置
JP4612254B2 (ja) * 2001-09-28 2011-01-12 ローランド株式会社 波形再生装置
US7982121B2 (en) * 2004-07-21 2011-07-19 Randle Quint B Drum loops method and apparatus for musical composition and recording
US7525036B2 (en) * 2004-10-13 2009-04-28 Sony Corporation Groove mapping
JP4622908B2 (ja) * 2006-03-28 2011-02-02 ヤマハ株式会社 信号処理装置
JP5391684B2 (ja) * 2008-12-24 2014-01-15 ヤマハ株式会社 電子鍵盤楽器およびその制御方法を実現するためのプログラム
US8198525B2 (en) * 2009-07-20 2012-06-12 Apple Inc. Collectively adjusting tracks using a digital audio workstation
JP5500058B2 (ja) * 2010-12-07 2014-05-21 株式会社Jvcケンウッド 曲順決定装置、曲順決定方法、および曲順決定プログラム

Also Published As

Publication number Publication date
CN103514868B (zh) 2018-07-20
EP2680255B1 (en) 2016-07-06
US20130340594A1 (en) 2013-12-26
CN103514868A (zh) 2014-01-15
EP2680255A1 (en) 2014-01-01
JP2014006415A (ja) 2014-01-16
US9147388B2 (en) 2015-09-29

Similar Documents

Publication Publication Date Title
JP6011064B2 (ja) 自動演奏装置及びプログラム
JP6019803B2 (ja) 自動演奏装置及びプログラム
JP6191459B2 (ja) オーディオ波形データを使用する自動演奏技術
JP6252088B2 (ja) 波形再生を行うためのプログラム、波形再生装置及び方法
JP4274152B2 (ja) 楽音合成装置
JP4802857B2 (ja) 楽音合成装置及びプログラム
JP2007183442A (ja) 楽音合成装置及びプログラム
JP2006126710A (ja) 奏法決定装置及びプログラム
JPH11167382A (ja) 波形形成装置及び方法
JP5969421B2 (ja) 楽器音出力装置及び楽器音出力プログラム
JP4552769B2 (ja) 楽音波形合成装置
JP4172509B2 (ja) 奏法自動判定装置及び方法
JP4816441B2 (ja) 楽音合成装置及びプログラム
JPH10254448A (ja) 自動伴奏装置及び自動伴奏制御プログラムを記録した媒体
JP4835433B2 (ja) 演奏パターン再生装置及びそのコンピュータプログラム
JP2016051005A (ja) 自動伴奏装置及び自動伴奏プログラム
JP2008003222A (ja) 楽音合成装置及びプログラム
JPH11161272A (ja) 波形圧縮伸長装置
JP2002287763A (ja) 波形形成装置及び方法
JP2005234598A (ja) 波形再生方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160905

R151 Written notification of patent or utility model registration

Ref document number: 6011064

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees