JP4172366B2 - 自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体 - Google Patents

自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体 Download PDF

Info

Publication number
JP4172366B2
JP4172366B2 JP2003347353A JP2003347353A JP4172366B2 JP 4172366 B2 JP4172366 B2 JP 4172366B2 JP 2003347353 A JP2003347353 A JP 2003347353A JP 2003347353 A JP2003347353 A JP 2003347353A JP 4172366 B2 JP4172366 B2 JP 4172366B2
Authority
JP
Japan
Prior art keywords
time
event data
data
reproduction
performance
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
JP2003347353A
Other languages
English (en)
Other versions
JP2005114927A (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 JP2003347353A priority Critical patent/JP4172366B2/ja
Publication of JP2005114927A publication Critical patent/JP2005114927A/ja
Application granted granted Critical
Publication of JP4172366B2 publication Critical patent/JP4172366B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

この発明は、自動演奏データに基づく自動演奏を操作者が設定した任意の演奏テンポに従って実行する機能を有する自動演奏装置、並びに、その制御を行うコンピュータプログラム、並びに、自動演奏データ、並びに、該データを記録した記録媒体に関する。
従来から知られる自動演奏(自動伴奏、オートプレイ)を行う機能を有する電子楽器やシーケンサ等のような自動演奏装置において、自動演奏を行わせるための自動演奏データは、実行すべき演奏内容を表す演奏情報(演奏イベント)と当該情報の発生タイミングを表す時間情報とを含む。自動演奏データの時間情報は、一般的には、演奏テンポに追従する相対時間方式によって、具体的には「クロック」と呼ばれる所定音符長を所定の数で分割した時間単位によって表現される。「クロック」は、例えば1クロックを四分音符の480分の1や、96分の1等の長さに設定されることで、例えば四分音符の1拍の長さを所定のクロック数に対応づけるものであって、「クロック」が演奏テンポに従って発信されることで、当該曲(自動演奏データ)がクロックのタイミングに合わせて再生される。電子楽器やシーケンサ等の自動演奏機能における演奏テンポとクロックの関係については、例えば下記特許文献1に記載がある。
特開平05−080765
上記相対時間方式の時間管理では、各自動演奏データは、設定された演奏テンポに応じて、データ読み出しタイミングの実時間軸上の時間位置が伸縮されるので、その実質的な演奏時間(データの再生時間)も、演奏テンポに追従して可変(伸縮)される。例えば、或るテンポtでの再生を意図して作成された自動演奏データを、テンポtの2倍の速さのテンポ2tで再生すると、当該データは2倍の速さで読み出されることとなり、その再生持続時間はテンポtで再生する場合に比較して2分の1に短縮される。
ところが、次に例示するような演奏は、前述のように実質的な再生時間が伸縮すると、再生される演奏音が不自然になってしまう恐れがある。すなわち、それらは、例えば、(1)打楽器や減衰音楽器のロール奏法。(2)トレモロ奏法における音量変化や、音の長さ、間隔等。(3)トリル奏法のピッチ変化もしくはノートオンの周期。(4)ギター等のストローク奏法の各弦の時間ずれ。(5)スタカート音やノイズ音など、ある長さ以上の絶対時間が確保されないとしっかり聞こえなくなってしまう音の長さ、等々である。これらの演奏は、再生時間が伸縮されてしまうと、例えば不自然に高速な或は逆に不自然に遅速なトリル奏法であったり、短すぎて聞き取り難いスタッカート音等が再生されうるので、微妙な時間管理が必要とされる。すなわち、これら微妙な時間管理が必要とされる自動演奏データを相対時間方式で管理すると、上記のような不都合が生じる恐れがあった。
この発明は、上述の点に鑑みてなされたもので、例えばトリル奏法や打楽器のロール演奏など、微妙な時間管理が必要な演奏に関する自動演奏データが、演奏テンポの設定速度如何に関らず、適切に再生されるようにすることを目的とする。
この発明に係る自動演奏装置は、演奏イベントを指示するイベントデータと該イベントデータを実行すべき時刻を管理するための時間管理情報とを含むデータのシーケンスからなる演奏データであって、前記イベントデータのうちの一部に対応する前記時間管理情報は演奏テンポに追従しない絶対時間単位で記述された第1種の時間管理情報と、該第1種の時間管理情報の基準位置となる時間位置を演奏テンポに追従する相対時間単位で記述した基準タイミング情報と、対応するイベントデータの再生制限時刻を前記相対時間単位で記述する制限タイミング情報とからなり、それ以外の前記イベントデータに対応する前記時間管理情報は演奏テンポに追従する相対時間単位で記述された第2種の時間管理情報からなるものを供給する演奏データ供給手段と、前記時間管理情報に基づき対応するイベントデータを実行すべき再生時刻を決定するものであって、前記第2種の時間管理情報に対応する前記イベントデータの再生時刻を、前記第2種の時間管理情報と演奏テンポとに基づき決定し、一方、前記第1種の時間管理情報に対応する前記イベントデータの再生時刻当該イベントデータに対応する基準タイミング情報と演奏テンポに基づき決定した基準タイミングを基準にして、前記第1種の時間管理情報が示す絶対時間に従って決定する再生時刻決定手段と、前記再生時刻決定手段において再生時刻を決定した第1種の時間管理情報に対応するイベントテータについて、前記再生時刻決定手段により決定した再生時刻と、対応する制限タイミング情報と演奏テンポに基づく再生制限時刻とを比較して、前記再生時刻が前記再生制限時刻を越えている場合には、該再生時刻に替えて該再生制限時刻を当該イベントデータの再生時刻として設定する再生時刻変更手段とを備えるものである。
これによれば、再生時刻決定手段により決定される前記第1種の時間管理情報に対応するイベントデータの再生時刻は、基準タイミング情報と演奏テンポに基づき決定した基準タイミングを基準として該第1種の時間管理情報が示す絶対時間を計時した時刻となるため第1種の時間管理情報に対応するイベントデータは、基準タイミングの時間位置を基準とする絶対時間に従い演奏テンポに追従しないタイミングで、読み出される(再生される)ので、例えばトリル奏法や打楽器のロール演奏など、微妙な時間管理が必要な演奏に関する演奏イベントを絶対時間(第1種の時間管理情報)の時間単位で管理して、どのような演奏テンポであっても、これらの演奏イベントを適切に再生できるようになる。
また、再生時刻変更手段により、再生時刻決定手段で決定した再生時刻と、相対時間単位で記述された制限タイミング情報および演奏テンポに基づく再生制限時刻とを比較して、再生時刻が再生制限時刻を越えている場合に(再生時刻>再生制限時刻)、再生制限時刻を当該イベントデータの再生時刻として設定することにより、例えば演奏テンポが早い場合にも、絶対時間(第1種の時間管理情報)で管理されるイベントデータと、その後に続く相対時間(第2種の時間管理情報)で管理されるイベントデータとの再生順序が逆転してしまうことを防ぐことができる。
以下添付図面を参照して、この発明の一実施例に係る自動演奏装置について説明する。この自動演奏装置は、自動演奏機能を有する電子楽器やシーケンサ、あるいは、パーソナルコンピュータ等のような適宜の形態の電子音楽装置として実装されうる。
図1は、この実施例に係る自動演奏装置のハードウェア構成例を示すブロック図である。図1において、CPU1に対して、ROM2、RAM3、外部記憶装置4、MIDIインターフェース(MIDI I/F)5、通信インターフェース(通信 I/F)6、演奏操作子検出回路7、設定操作子検出回路8、表示制御回路9、音源回路10並びに効果回路11が、データ及びアドレスバス1Bを介して、接続されている。CPU1は、ROM2或はRAM3等メモリ内の各種プログラムを実行し、この自動演奏装置の全体的な動作制御を行い、また、再生すべき自動演奏データに基づく自動演奏処理を行う。CPU1には、タイマ割り込み処理における割り込み時間や各種時間を計時するタイマ12が接続されている。この実施例において、タイマ12は、後述する絶対時間(実時間単位)の計測や、演奏テンポを設定するためのテンポクロックパルスの発生に利用される。このテンポクロックは、当該実施例においては、前述した相対時間(拍単位の時間)の計測単位となる「クロック」として利用される。
当該自動演奏装置において、ROM2、RAM3或は外部記憶装置4等のメモリ内には、1乃至複数の楽曲データ(自動演奏データ)が記憶される。以下の説明において自動演奏データは、或る楽曲に関する通常のソングデータとするが、これに限らず、例えば、伴奏スタイルデータ(自動伴奏データ)や、アルペジオパターンデータ等、どのような種類の演奏データであっても差し支えない。この発明に従えば、自動演奏データ中に含まれる、例えばトレモロ演奏や打楽器ロール演奏等の微妙な時間管理が要求される演奏イベントを、どのような演奏テンポにおいても自然に再生できるようになることが後述から明らかになるだろう。
外部記憶装置4としては、ハードディスク、フレキシブルディスク又はフロッピー(登録商標)ディスク、コンパクトディスク(CD‐ROM、CD‐RAM)、光磁気ディスク(MO)、ZIPディスク、DVD(Digital Versatile Disk)、半導体メモリ等、適宜の形態の着脱可能な外部記憶媒体を利用してよい。
CPU1によって、自動演奏データに基づく自動演奏処理が行われると、再生すべき楽音を指示する演奏データがバス1Bを介して音源回路10に与えられる。音源回路10は与えられた演奏データに基づいて楽音信号を発生可能であり、発生された楽音信号は効果回路11にて適宜効果付与され、アナログ/ディジタル変換後、アンプやスピーカなどを含むサウンドシステム13から発音される。なお、音源回路10は、専用のハードウェアを用いて構成されてもよいし、CPU1によるソフトウェア処理で構成してもよいし、あるいはDSPによるマイクロプログラム処理で構成してもよい。更には、これらの組み合わせで構成してもよい。また、その音源方式は、波形メモリ読み出し方式やFM方式等、従来から知られるいかなる方式を用いてもよい。
演奏操作子検出回路7は、例えば鍵盤等の操作者が演奏入力を行うための演奏用操作子14が接続され、各演奏用操作子14の押鍵・離鍵操作に応じたスイッチオン・オフを検出する。検出された演奏用操作子14の操作状態はバス1Bを介してCPU1に供給される。操作子検出回路8には、各種設定用の操作子15が接続され、操作者は設定用操作子15を適宜操作して、例えば、自動演奏の演奏テンポ設定等の各種パラメータ設定や、自動演奏の再生指示等を行うことができる。また、表示制御回路9にはディスプレイ16が接続され、ディスプレイ16には、例えば演奏テンポや音色の設定状態や、演奏曲名等を表示できる。
MIDIインターフェース(MIDI I/F)5は、外部に対するMIDI規格データの入出力を行うもので、これを介して外部のMIDI機器17と接続する。自動演奏装置は、再生すべき自動演奏データを、MIDIインターフェース5を介して外部のMIDI機器17から取り込むことも可能である。なお、MIDI I/F5は専用のMIDIインターフェースに限らず、RS−232C、USB(ユニバーサル・シリアル・バス)或はIEEE1394(アイトリプルイー1394)等の汎用のインターフェースを用いてMIDIインターフェースを構成してもよい。その場合、当該インターフェースを介してMIDIメッセージ以外のデータも同時に送受信しうる。
通信インターフェース(通信I/F)6を介してインターネット、LAN或いは電話回線等の通信ネットワーク18に接続され、該通信ネットワーク18上の適宜のサーバコンピュータ19との間で、各種プログラムや各種コンテンツの送受信が行える。当該自動演奏装置において再生する自動演奏データや、或は、CPU1が実行する各種コンピュータグラムは、通信I/F6を介してサーバコンピュータ19からダウンロードすることも可能である。なお、通信I/F6及び通信ネットワーク18は、有線のものに限らず無線でもよく、また双方を備えていてもよい。
当該自動演奏装置では、1乃至複数の自動演奏データが記憶されたROM2,RAM3或は外部記憶装置4等のメモリ内から、操作者の選択に従って任意の自動演奏データをRAM3に読み込み、読み出した自動演奏データに基づく自動演奏処理が行われる。自動演奏機能では、操作者によって任意に設定されたテンポに従って曲(自動演奏データ)再生が行われる。なお、こうしたテンポ設定/制御の詳細例については例えば上記の特許文献1に詳しい。
図2はこの実施例に係る自動演奏データのデータフォーマットの一例を概念的に示す図である。この自動演奏データは、或る1曲の楽曲全体を再生(自動演奏)するためのデータである。図2(a)において、自動演奏データは、ノートオン、ノートオフやピッチベンド等の各種演奏イベントを表す複数のイベントデータ20のシーケンスによって構成され、エンドデータ21で終了する。なお、自動演奏データは、ROM2,RAM3或は外部記憶装置4等のメモリ上において、時系列のイベントデータが連続した領域に記憶されてもよいし、或は、飛び飛びの記憶領域に散在しているイベントデータを、時系列的に連続するイベントデータとして管理してもよい。つまり、各イベントデータは時系列的に連続するもとして管理されてさえいればよく、メモリ上で連続して記憶されているか否かは問題でない。
図2(b)においてイベントデータ20の構成例を示す。イベントデータ20は、大別して、当該イベントの内容を表すイベント情報30と時間情報(時間管理情報)40とから構成される。イベント情報30は、当該イベントの内容(例えば、ノートオン/オフやピッチベンド等)をあらわす「イベント種類」情報31や、例えば当該イベントで発音されるべき音高等の各種パラメータを表す「イベント値」情報32を含む。この発明に係る自動演奏データにおいて、各イベントデータ20は、その「イベント種類」に応じて、その時間管理の方式が異なる。具体的には、イベントデータ20のうち、微妙な時間管理が必要な演奏イベント(例えば、トリル奏法や打楽器のロール演奏、ピッチベンドなど)等の一部のデータについては絶対時間で管理され、その他のデータについては相対時間で管理される。当該イベントデータが相対時間単位/絶対時間のいずれの時間管理方式で管理されるかは、次に述べる時間情報40によって規定される。
時間情報40は、演奏テンポに追従する相対時間単位での時間管理(特許請求の範囲に記載の「第2種の時間管理情報」)に関る「楽譜タイミング」情報41と、演奏テンポに追従しない絶対時間単位での時間管理(特許請求の範囲に記載の「第1種の時間管理情報」)に関る「基準タイミング」情報42、「絶対時間」情報43、「制限タイミング」情報44及び「反復」情報45とからなる。
楽譜タイミング情報41は、相対時間で管理されるイベントデータ20について、当該演奏曲の楽譜(自動演奏データ全体)中における当該イベントを発生すべきタイミングの時間的位置を、クロック(テンポクロック)を計測単位とする相対時間情報で表現したデータである。このクロックは、例えば四分音符の480分の1が1クロックに対応されるもので、そのクロック数によって、例えば4分音符の拍数や、或は、小節数等のような、当該イベントの曲中における時間位置を表現できる。相対時間情報によって管理されるイベントデータ20は、設定されている演奏テンポに追従して、当該データを読み出す実時間軸上の時間位置が可変(伸縮)する。なお、この実施例において、絶対時間で管理すべきイベントデータ20については、この楽譜タイミング情報41は「無効」とされる。
基準タイミング情報42は、絶対時間で管理されるイベントデータ20について、次に述べる絶対時間情報43の計時基準位置となる時間位置を、前記楽譜タイミング情報41と同様な相対時間時間情報で(つまり拍単位で)表現したデータである。なお、この実施例において相対時間で管理すべきイベントデータ20については、この基準タイミング情報42は「無効」とされる。
絶対時間情報43は、絶対時間で管理されるイベントデータ20において、当該イベントデータの発生タイミングを、上述の基準タイミング情報42が表す位置を基準にして計時した実時間によって表しており、例えばミリ秒(ms)単位で記述される。従って絶対時間情報43によって示されるイベント発生タイミングは、前記基準位置からみた時間軸上の位置が演奏テンポによって伸縮変化しない。従って、絶対時間情報で管理されるイベントデータ20では、演奏テンポに関らず前記基準位置から計時した絶対時間に従ってデータが読み出されることで、当該イベントの再生にかかる実質的な時間が演奏テンポに関らず伸縮されない。よって、トリルなど微妙な時間管理が必要な情報を、演奏テンポに関らず、望ましい状態で再生できる。なお、この実施例において相対時間で管理すべきイベントデータ20については、この絶対時間情報43は「無効」とされる。
制限タイミング情報44は、絶対時間で管理されるイベントデータ20において設定される情報であって、当該イベントを最低限再生しなければならないタイミングを、時間的に後ろに位置する相対時間管理されるイベントデータとの関係によって、規定するデータであって、相対時間情報で記述される。演奏テンポの設定速度が速められた場合には、本来ならば当該絶対時間で管理されるイベントデータよりも時間的に後で再生されるべき相対時間で管理されるイベントデータが、先に(当該絶対時間で管理されるイベントデータを再生し終える前に)来て、再生順序が逆転してしまう恐れがある。制限タイミング情報44は、そのような不都合を回避するために設定されるものである。
反復情報45は、絶対時間で管理されるイベントデータ20において設定される情報であって、当該反復情報45が設定されたイベントデータ20を、上記制限タイミング情報44によって規定された制限位置に到るまで反復再生させるデータである。反復情報45は、対応するイベントデータ20に対して、反復先頭部、反復途中部、反復末尾部、乃至、反復先頭/末尾部といった反復演奏中の順序を定めるステータスを設定することで、1乃至複数の反復すべきイベントデータを所定の順序で反復再生させることを可能とする。この反復情報45は、例えばトレモロ演奏やトリル演奏等のように或る演奏パターンを繰り返す演奏の記述に適用される。反復情報45によって反復再生時間をフレキシブルにすることで、演奏テンポに応じた反復再生時間枠の伸縮にも自在に対応でき、且つ、反復すべき演奏パターンの1順分に必要なイベントデータのみ用意すればよいので、データ量の削減にもなるという利点がある。
図2に示すデータフォーマットからなるイベントデータの具体的な再生例を図3及び図4を参照して説明する。図3は、トリル効果が付与された楽音の再生イメージを表す概念図である。(a)に示す帯状の枠50は当該楽音の再生を表し、図において、枠50の左端がノートオン(発音開始)、右端がノートオフ(発音終了)を示す。枠50内の折れ線51は、ピッチベンドイベントによる音高の連続的な上下変化(トリル効果)を表す。枠50の左右方向の長さは、楽音再生の時間(絶対時間)を表し、(a)では或るテンポXで再生した場合の再生時間に相当するものとする。これを演奏テンポを2倍に速めて再生した場合、従来の相対時間管理方式では、(b)に示すように再生時間が2分の1に短縮されると、折れ線51で示すトリルによって音高が上下する周期も2分の1に縮んで不自然に高速なトリル音が発音されてしまっていが、この発明に従えば(c)に示すように再生時間が2分の1に短縮されても、折れ線51で示すトリルの音高上下の周期はテンポXと同じであり、自然なトリル音が発音される。これを実現するための自動演奏データの具体的な設定例を図4に示す。
図4(b)は、図3に示すようなトリル演奏を再生させるためのイベントデータのシーケンスと各データの設定例を示し、(a)に、これらイベントデータの時間軸t上における読み出しイメージを示す。図4に示すように、イベント種類情報31として「ノートオン」が設定されたイベントデータ60には、その他パラメータ(イベント値情報32)として、音高データ(ここでは音名「C4」)や、ベロシティデータ等が設定されている。このイベントは相対時間で管理されるデータなので、楽譜タイミング情報41として、ノートオンイベントの発生タイミングが相対時間情報(図において「M小節、N拍、Oクロック(clk)」で示す)が設定され、絶対時間単位の時間管理情報(符号42〜45)はすべて無効である。イベントデータ61〜64(図において、時間的に先行するイベントから順次「1〜4」の番号を付与する)は、イベント種類として「ピッチベンド」を指示するデータで、これらによってトリル奏法を実現する。トリル奏法は、上述した通り微妙な時間管理を要する(再生時間が伸縮すると既述の不都合が生じる)ため、これらピッチベンドイベントデータ61〜64は絶対時間で管理される。従って、各データ61〜64では、楽譜タイミング情報41は無効とされ、且つ、当該イベントの基準タイミング情報42として、先の「ノートオン」イベント60の相対時間位置(「M小節、N拍、Oclk」)が設定されるとともに、各々のイベントの発生タイミングを示す絶対時間情報43が、該基準タイミング情報42(「M小節、N拍、Oclk」)から計時した実時間(図においては便宜上、「a」〜「d」msで夫々示す)で表現されている。
また、各ピッチベンドイベント61〜64において、相対時間で記述された制限タイミング情報44が設定される。ピッチベンドイベント61〜64は、図4(a)において符号Rで示す区間において反復再生される。ピッチベンドイベント61〜64には、反復情報45によって、各々、反復先頭部、反復途中部、反復末尾部という反復演奏中の再生順序が定められ、また、イベント値情報32として、各イベント毎の音高変化の度合いが、セント(cent)単位で記述されている。なお、ピッチベンドの反復再生区間の末尾(制限タイミングに達した位置)にはピッチベンド=0centを示すデータが自動挿入される。「ノートオフ」を指示するイベントデータ65は、相対時間で管理されるデータであり、楽譜タイミング情報41として、ノートオフイベントの発生タイミングが相対時間情報(図では「M小節、N拍、Pclk」として示す)が設定され、絶対時間に関する情報(符号42〜45)はすべて無効である。
次に図5のフローチャートを参照して、図2及び図4に示すイベントデータの読み出し処理の一例について説明する。当該フローは、自動演奏データのスタート(曲頭)から始まり、エンド(曲終わり)に到るまで、図に示す「A」部間をループする処理を表すもので、図6に示す時間管理処理による自動演奏データの再生(自動演奏処理)に並行して実行される。ステップS1において、自動演奏データ(図2参照)のイベントデータを時系列系な順序に従って順次読み出す。すなわち、1順目の処理では、曲頭のイベントが読み出され、次回処理以降は、順次後続のイベントを読み出す。ステップS2では、読み出されたイベントが絶対時間で管理されるイベントか否かを、例えば楽譜タイミング情報41が有効か無効かによって、判別する。相対時間で管理されるイベントであれば(ステップS2のno)、ステップS3において、当該イベントの楽譜タイミング情報43と、自動演奏装置において現在設定されている演奏テンポに基づき、当該イベントを発生すべきタイミング(再生時刻)を、曲頭から何msかという実時間(絶対時間)の時間情報によって決定することで、相対時間で管理されるイベントの再生タイミングを実時間での表現に変換する。これにより、相対時間で管理されるイベントと絶対時間で管理されたイベントとが混在する自動演奏データの再生を、絶対時間ベースで行えるようにする。そして、ステップS4において、ステップS2で決定した再生時刻と当該イベントデータとを、適宜のメモリ(例えばRAM3)内の所定のバッファ領域「キュー」に格納して、ステップS6において前記キューの空き領域を確認して、空きがあれば(ステップS6のyes)、処理はステップS1に戻る。なお、読み出されたイベントがエンドデータ(図2参照)であれば、これは相対時間で管理されるイベントであるから、上記ステップS3,S4の処理の後、当該イベント読み出し処理が終了される(ステップS5のyes)。
ステップS2において読み出されたイベントデータが絶対時間で管理されるイベントであれば(ステップS2のyes)、ステップS7において、当該イベントの基準タイミング情報42と現在設定されている演奏テンポに基づき、当該イベントの基準タイミング情報が表す時間位置を実時間に変換し、前記実時間で表された基準タイミングの位置から、当該イベントの絶対時間情報43に設定された絶対時間分を計時した時刻を、当該イベントデータが再生されるべきタイミング(再生時刻)として決定する。この再生時刻もまた、実時間で表された時間情報である。ステップS8では、当該イベントの制限タイミング情報44と現在設定されている演奏テンポに基づき、当該イベントの制限タイミング情報が表す制限位置を実時間に変換することで、当該イベントの再生をすべきタイミング(制限時刻)を決定する。
ステップS9において前記ステップS7とステップS8にて決定した再生時刻と制限時刻とを比較して、制限時刻のほうが再生時刻よりも時間的に早い場合(再生時刻>制限時刻)、ステップS10において制限時刻を、当該イベントの再生時刻として設定する。ステップS7で決定された再生時刻の時間位置(基準タイミングからみた位置)は演奏テンポによって変化しないが、ステップS8で決定された制限時刻の時間位置(基準タイミングからみた位置)は演奏テンポに応じて可変である。制限時刻は、絶対時間で管理されるイベントが再生し終える前に後続の相対時間で管理されるイベントの再生タミングが先に来てしまわないよう、イベントの再生時刻を規定する情報であるから、制限時刻が再生時刻に先行しているならば、イベント再生順序逆転を防ぐべく、制限時刻を当該イベントの再生時刻として設定しなければならない。制限時刻が再生時刻よりも後にあれば、そのまま、ステップS7で決定した再生時刻を当該イベントの再生時刻として設定してよい。
そしてステップS11において、決定された再生時刻と当該イベントデータを前記バッファ領域「キュー」に格納する。更に、当該イベントデータに反復情報45のステータス「反復先頭」が設定されていれば(ステップS1)、図7を参照して後述するような反復処理を行う(ステップS13)。この反復処理は、反復すべきイベントについて反復末尾のイベントまでをまとめて、再生時刻の決定を行うために実行する。
再生時刻とイベントデータをバッファ領域「キュー」に格納した後、ステップS6にてキューの空き領域を確認する。キューに空きがあるうちは、上記処理を繰り返して、キュー内に、イベントデータとその再生時刻を格納してゆく。バッファ領域「キュー」に格納されたイベントデータは、図6の時間管理処理の実行によって再生機会が訪れるのを待機する。
バッファ領域「キュー」に空き領域がなくなった場合は、ステップS6をnoに分岐して、当該イベント読み出し処理の継続を一時的に留めて、キューに空き領域ができるのを待つ(つまり、キュー内のイベントが再生されるのを待つ)。
図6に示す時間管理処理は、所定の一定時間(例えば1ms)毎に起動されるものであって、当該処理が起動する毎に、キューに格納されたイベントの再生機会を計るためのデータ再生用のタイマ(再生時刻)を更新して、自動演奏開始時からの時間経過を実時間(絶対時間)で計時する。そして、前記所定バッファ領域「キュー」内に格納されているイベントデータのうち前記タイマが計時する再生時刻に達したものから順にそのイベントの再生処理を行ってゆく。これにより、前記キューに格納されたイベントデータ群を、時系列的な順序に従って、絶対時間ベースで(つまりミリ秒単位で)再生処理することができる。
図5のステップS13の反復処理の一例を図7のフローを参照して説明する。ステップS20において、反復すべきイベントデータのすべて、つまり「反復末尾」までの必要なイベントデータを全て読み出して、図5のステップS6と同様な処理により、当該反復すべきイベントデータの各々の再生時刻を決定し、各イベントデータと、それらの再生時刻をキューに格納する。そして、ステップS21において、「反復末尾」のイベントデータの再生時刻が、制限タイミングに基づく制限時刻よりも先行している(再生時刻<制限時刻)ならば、処理をステップS22に進める。なお、図4(b)に例示したように、反復すべき各イベントデータには、同じ制限タイミング情報44が設定されているので、これら各イベントデータについての制限時刻は同時刻である。ステップS22において、「反復末尾」のイベントデータの再生時刻を、次の反復再生のための基準タイミングとして設定し、この基準タイミングに基づいて、再び、各反復すべきイベントデータの再生時刻を決定して、キューに格納する。以降、ステップS21とステップS22の処理を繰り返して、反復可能な限りイベントデータの反復再生が行えるよう、イベントデータと再生時刻をキューに格納する。なお、反復すべき各イベントデータとそれらの再生時刻をキューに格納する都度、キューに空き領域が残っているかどうか確認し、空き領域がなければ、処理をステップS21に戻さずに、キューに空きができるまで待機するものとする。こうして、反復再生の最後部の反復末尾のイベントデータの再生時刻が、制限時刻を超えた時点で、当該反復処理を抜ける。これにより、演奏テンポに応じて伸縮する反復再生可能な時間枠に自在に対応できる。
なお、上述の例では、反復再生されるイベントの反復終了タイミングは、制限タイミングによって規定されるものとしたが、これに限らず、制限タイミングとは別に、反復終了タイミングを設定するデータを更に備えることで、それに基づき反復終了のタイミングを規定できるようにしてもよい。また、反復情報45は、反復先頭、反復途中、反復末尾のように複数種類のステータスを有することで、反復再生の順序を識別できるものを例示したが、これに限らず、格別の識別情報を含まずに、時系列的に連続して管理される反復イベントのうちの、どの時間位置にあるイベントであるかに応じて、反復先頭、途中、末尾を識別できるようにしても良い。
なお、図5に例示した自動演奏データの読み出し処理例では、自動演奏データの再生中(所定時間毎に時間管理処理が起動されつつ)に、イベントデータを順次読み出し、読み出したイベントデータについて再生タイミング(再生時刻)を決定してゆく(ステップS3、ステップS7)例を示したが、これに限らず、自動演奏データの再生処理を実行する前に、1曲全体のイベントデータの再生タイミングを全て予め決定してストアしておき、データ再生時に、それを読み出すだけとしても差し支えない。
また、上述の実施例では、自動演奏データの再生に関して、相対時間管理のイベントも絶対時間に変換することで、全体として絶対時間で(ミリ秒単位で)再生タイミングを管理する例を示したが、これとは逆に、絶対時間管理のイベントを相対時間に変換して、全体として相対時間で再生タイミングを管理するようにしても差し支えない。
なお、上述の図2又は図4に例示した自動演奏データのデータフォーマットでは、全てのイベントデータが相対時間での時間管理に関する情報と、絶対時間での時間管理に関する情報との双方を有し、それらが有効か無効かによって、時間管理方式が区別されるものを示したが、データフォーマットは上記に限定されない。例えば、イベントデータ毎に、絶対時間管理か相対時間管理かを識別するための情報を与えて、絶対時間管理のイベントについては絶対時間の時間管理に関する情報のみを持たせ、相対時間管理のイベントについては相対時間の時間管理に関する情報のみを持たせるようにしても良い。
なお、上述したような相対時間管理と絶対時間管理が混在した自動演奏データを、全て相対時間管理の自動演奏データ(例えばSMF等)に変換して、単純に相対時間方式で管理される自動演奏データとして利用できるようにしてもよい。この場合は、データを変換する際に任意のテンポを設定し、当該設定されたテンポを、変換後の相対時間管理の自動演奏データ中に推奨テンポとして埋め込んでおくのが、適切なデータ再生のために望ましい。
なお、上述の実施例では、この発明を装置の発明として実施して、自動演奏装置に適用する例を示したが、この発明は、これに限らず、自動演奏装置、その他自動演奏機能を有する電子音楽装置(電子楽器やパーソナルコンピュータを含む)を制御するためのコンピュータプログラムとして構成し、実施することも可能である。
この発明の一実施例に係る自動演奏装置のハードウェア構成ブロック図。 同実施例に係る自動演奏データのデータフォーマットの構成例を示す図。 同実施例に係る自動演奏データの再生イメージ例を示す図であって、(a)は或るテンポXでの再生、(b)はそのテンポを2倍に速めた再生イメージであって、従来の相対時間管理方式による場合、(c)はテンポを2倍に速めた、本発明に従う時間管理方式による再生イメージ。 図3のデータ再生を実現する演奏データの具体的な設定例。 同実施例に係る自動演奏装置のイベント読み出し処理の一例を示すフロー。 同実施例に係る時間管理処理の一例を示すフロー。 同実施例に係るイベント反復処理の一例を示すフロー。
符号の説明
1 CPU、2 ROM、3 RAM、4 外部記憶装置、5 MIDIインターフェース(MIDI I/F)、6 通信インターフェース(通信I/F)、7 演奏操作子用検出回路、8 設定操作子用検出回路、9 表示回路、10 音源回路、11 効果回路、12 タイマ、13 サウンドシステム、20 イベントデータ、エンドデータ、30 イベント情報、40 時間情報(時間管理情報)、41 楽譜タイミング情報(相対時間情報)、42 基準タイミング情報、43 絶対時間情報、44 制限タイミング情報、45 反復情報



1

Claims (3)

  1. 演奏イベントを指示するイベントデータと該イベントデータを実行すべき時刻を管理するための時間管理情報とを含むデータのシーケンスからなる演奏データであって、前記イベントデータのうちの一部に対応する前記時間管理情報は演奏テンポに追従しない絶対時間単位で記述された第1種の時間管理情報と、該第1種の時間管理情報の基準位置となる時間位置を演奏テンポに追従する相対時間単位で記述した基準タイミング情報と、対応するイベントデータの再生制限時刻を前記相対時間単位で記述する制限タイミング情報とからなり、それ以外の前記イベントデータに対応する前記時間管理情報は演奏テンポに追従する相対時間単位で記述された第2種の時間管理情報からなるものを供給する演奏データ供給手段と、
    前記時間管理情報に基づき対応するイベントデータを実行すべき再生時刻を決定するものであって、前記第2種の時間管理情報に対応する前記イベントデータの再生時刻前記第2種の時間管理情報と演奏テンポとに基づき決定し、一方、前記第1種の時間管理情報に対応する前記イベントデータの再生時刻当該イベントデータに対応する基準タイミング情報と演奏テンポに基づき決定した基準タイミングを基準にして、前記第1種の時間管理情報が示す絶対時間に従って決定する再生時刻決定手段と
    前記再生時刻決定手段において再生時刻を決定した第1種の時間管理情報に対応するイベントテータについて、前記再生時刻決定手段により決定した再生時刻と、対応する制限タイミング情報と演奏テンポに基づく再生制限時刻とを比較して、前記再生時刻が前記再生制限時刻を越えている場合には、該再生時刻に替えて該再生制限時刻を当該イベントデータの再生時刻として設定する再生時刻変更手段と
    を備える自動演奏装置。
  2. 前記第1種の時間管理情報に対応するイベントデータには反復再生を指示する反復情報が付属されており、
    前記演奏データ供給手段から供給されるイベントデータが前記反復情報を含む場合、該イベントデータが反復再生されることを特徴とする請求項1に記載の自動演奏装置。
  3. コンピュータに
    演奏イベントを指示するイベントデータと該イベントデータを実行すべき時刻を管理するための時間管理情報とを含むデータのシーケンスからなる演奏データであって、前記イベントデータのうちの一部に対応する前記時間管理情報は演奏テンポに追従しない絶対時間単位で記述された第1種の時間管理情報と、該第1種の時間管理情報の基準位置となる時間位置を演奏テンポに追従する相対時間単位で記述した基準タイミング情報と、対応するイベントデータの再生制限時刻を前記相対時間単位で記述する制限タイミング情報とからなり、それ以外の前記イベントデータに対応する前記時間管理情報は演奏テンポに追従する相対時間単位で記述された第2種の時間管理情報からなるものを供給する手順と、
    前記時間管理情報に基づき対応するイベントデータを実行すべき再生時刻を決定するものであって、前記第2種の時間管理情報に対応する前記イベントデータの再生時刻前記第2種の時間管理情報と演奏テンポとに基づき決定し、一方、前記第1種の時間管理情報に対応する前記イベントデータの再生時刻当該イベントデータに対応する基準タイミング情報と演奏テンポに基づき決定した基準タイミングを基準にして、前記第1種の時間管理情報が示す絶対時間に従って決定する手順と
    前記再生時刻を決定した第1種の時間管理情報に対応するイベントテータについて、前記決定した再生時刻と、対応する制限タイミング情報と演奏テンポに基づく再生制限時刻とを比較して、前記再生時刻が前記再生制限時刻を越えている場合には、該再生時刻に替えて該再生制限時刻を当該イベントデータの再生時刻として設定する手順と
    を実行させるプログラム。
JP2003347353A 2003-10-06 2003-10-06 自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体 Expired - Fee Related JP4172366B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003347353A JP4172366B2 (ja) 2003-10-06 2003-10-06 自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003347353A JP4172366B2 (ja) 2003-10-06 2003-10-06 自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2005114927A JP2005114927A (ja) 2005-04-28
JP4172366B2 true JP4172366B2 (ja) 2008-10-29

Family

ID=34539958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003347353A Expired - Fee Related JP4172366B2 (ja) 2003-10-06 2003-10-06 自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP4172366B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5076979B2 (ja) * 2008-03-10 2012-11-21 ヤマハ株式会社 演奏データ作成装置および演奏データ作成方法を実現するためのプログラム

Also Published As

Publication number Publication date
JP2005114927A (ja) 2005-04-28

Similar Documents

Publication Publication Date Title
JP3293515B2 (ja) 楽音発生装置
JP4172366B2 (ja) 自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体
JP2970396B2 (ja) 波形処理装置
JP2001022350A (ja) 波形再生装置
JP3705144B2 (ja) 演奏データ変更処理装置
JP2522337B2 (ja) 自動演奏装置
JP4270102B2 (ja) 自動演奏装置及びプログラム
JP3587133B2 (ja) 発音長決定方法と装置及び記録媒体
JP6531432B2 (ja) プログラム、音源装置及び音響信号生成装置
JP4315116B2 (ja) 電子音楽装置
JP4389709B2 (ja) 楽譜表示装置および楽譜表示プログラム
JP3656584B2 (ja) 演奏データ処理装置及びプログラム
JP3654227B2 (ja) 楽曲データ編集装置及びプログラム
JP3407563B2 (ja) 自動演奏装置及び自動演奏方法
JP3757664B2 (ja) 演奏情報再生装置および演奏情報再生プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3656726B2 (ja) 楽音信号発生装置及び楽音信号発生方法
JP3637782B2 (ja) データ生成装置と記録媒体
JP3777976B2 (ja) 演奏情報解析装置及び記録媒体
JP4186802B2 (ja) 自動伴奏生成装置及びプログラム
JP2008058796A (ja) 奏法決定装置及びプログラム
JP3617114B2 (ja) 電子楽器の自動演奏装置
JP3213081B2 (ja) 自動演奏装置
JP5548975B2 (ja) 演奏データ生成装置およびプログラム
JP4345010B2 (ja) ピッチ変更量決定方法、ピッチ変更量決定装置およびプログラム
JP3692954B2 (ja) 楽曲データ編集プログラム、楽曲データ編集方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080623

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: 20080722

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080804

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130822

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees