JP3873782B2 - 自動演奏装置、自動演奏プログラムおよび自動演奏データのデータ構造 - Google Patents
自動演奏装置、自動演奏プログラムおよび自動演奏データのデータ構造 Download PDFInfo
- Publication number
- JP3873782B2 JP3873782B2 JP2002061567A JP2002061567A JP3873782B2 JP 3873782 B2 JP3873782 B2 JP 3873782B2 JP 2002061567 A JP2002061567 A JP 2002061567A JP 2002061567 A JP2002061567 A JP 2002061567A JP 3873782 B2 JP3873782 B2 JP 3873782B2
- Authority
- JP
- Japan
- Prior art keywords
- song
- marker
- data
- automatic performance
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明が属する技術分野】
本発明は、曲データ中の任意の位置へのジャンプや、任意区間のループ再生を行える自動演奏装置、自動演奏プログラムおよび自動演奏データのデータ構造に関する。
【0002】
【従来の技術】
自動演奏装置の操作パネルに設けられた複数のスイッチの各々に、曲データ中の所望の小節を設定し、各スイッチを操作することで瞬時に対応する小節へとジャンプ可能な自動演奏装置が知られている。例えば、特開平09-114456号公報に記載されている自動演奏装置は、曲番号と小節数という情報を各スイッチに設定することができるようにされており、いずれかのスイッチが操作された際に、そのスイッチに設定されている小節へジャンプして自動演奏されるようになされている。
【0003】
【発明が解決しようとする課題】
しかしながら、スイッチを操作することで対応する小節へとジャンプ可能な従来の自動演奏装置においては、各スイッチに設定される所望の小節は、自動演奏装置本体内に記憶されようになされている。このため、曲データが変更されると自動演奏時のジャンプをコントロールすることができず、自動演奏される曲データが変更される場合には、各スイッチへの設定をし直さなければならないという問題点があった。
また、各スイッチへの設定は小節単位とされており、非小節単位で設定することができないという問題点があった。
【0004】
そこで、本発明は、曲データ中の任意の位置へのジャンプや、任意区間のループ再生を、簡単に行えることのできる自動演奏装置、自動演奏プログラムおよび自動演奏データのデータ構造を提供することを目的としている。
【0005】
【課題を解決するための手段】
上記目的を達成するために、本発明の自動演奏装置は、曲データを読み出して自動演奏する自動演奏手段と、曲データがロードされた際に、テキストメタイベントデータとして前記曲データ中に埋め込まれている特定の演奏位置を示すソングポジションマーカーを前記曲データ中から検出する検出手段と、前記自動演奏手段が前記曲データを自動演奏している際に、前記検出手段において検出されたいずれかの前記ソングポジションマーカーが指定された時は、指定された当該ソングポジションマーカーにおける前記演奏位置にジャンプして、前記自動演奏手段により自動演奏される。
【0006】
また、上記本発明の自動演奏装置において、前記ソングポジションマーカーを複数のスイッチ手段のいずれかに割り当て、該スイッチ手段のいずれかを操作することにより、操作したスイッチ手段に割り当てられているソングポジションマーカーが指定されるようにしてもよい。
さらに、上記本発明の自動演奏装置において、前記ソングポジションマーカーは、前記曲データの特定の演奏位置が非小節単位で指定可能とされており、前記ソングポジションマーカーが指定された場合は、指定された時に自動演奏されている位置の次に到達する、指定された前記ソングポジションマーカーの演奏位置に対応する小節内位置まで自動演奏された際に、指定された前記ソングポジションマーカーの前記演奏位置にジャンプして自動演奏されるようにしてもよい。
【0007】
さらにまた、上記本発明の自動演奏装置において、前記ソングポジションマーカーが指定された後、自動演奏されている位置が、前記次に到達する小節内位置に到達するまでのジャンプ待ちの間に、再度同ソングポジションマーカーが指定された時は、ジャンプを解除するようにしてもよい。
さらにまた、上記本発明の自動演奏装置において、ループ再生時のループエンド位置を示すループエンドマーカーが前記曲データ中に設定可能とされており、ループ再生が指示された場合は、前記ソングポジションマーカーあるいは前記ループエンドマーカーの位置まで自動演奏された時に、その前に位置するソングポジションマーカーにジャンプして、当該ソングポジションマーカーの後に位置する最初のソングポジションマーカーあるいはループエンドマーカーとの間においてループ再生されるようにしてもよい。
【0008】
さらにまた、上記本発明の自動演奏装置において、前記ソングポジションマーカーはループ回数情報を含み、前記ジャンプしたソングポジションマーカーにおけるループ回数だけループ再生されるようにしてもよい。
さらにまた、上記本発明の自動演奏装置において、前記ソングポジションマーカーには、該マーカーの名称が付与されていてもよい。
さらにまた、上記本発明の自動演奏装置において、前記検出手段により検出された前記ソングポジションマーカーの演奏位置に対応する設定情報を記憶するソングポジション情報記憶手段と、前記ソングポジションマーカーの演奏位置を非小節単位で設定する設定手段とをさらに有し、前記ソングポジションマーカーの演奏位置を設定する際には、該ソングポジションマーカーの設定後の演奏位置に対応する設定情報を、前記ソングポジション情報記憶手段に記憶し直すようにしてもよい。
【0009】
さらにまた、上記本発明の自動演奏装置において、前記ソングポジションマーカーおよび/または前記ループエンドマーカの演奏位置を非小節単位で設定する設定手段をさらに有し、前記マーカーの演奏位置を設定する際には、前記マーカー間の時間距離が所定値以下に設定できないようにされていてもよい。
さらにまた、上記本発明の自動演奏装置において、自動演奏あるいはループ再生されている際に、その演奏位置に対応する前記ソングポジションマーカーに割り当てられている表示手段が、その旨を表示するようにしてもよい。
【0010】
次に、上記目的を達成することのできる本発明の自動演奏データのデータ構造は、自動演奏装置により自動演奏可能な自動演奏データのデータ構造であって、楽音の発生や楽音制御を行うイベントデータと、該イベントデータの生起タイミングを示すタイミングデータとが交互に配置されるデータ列から少なくとも構成され、前記イベントデータには、前記自動演奏データにおける特定の演奏位置を示すソングポジションマーカーがテキストメタイベントデータとして少なくとも1つ含まれており、前記自動演奏装置に前記自動演奏データがロードされる際に、前記ソングポジションマーカーが検出され、前記自動演奏装置において前記ソングポジションマーカーのいずれかが指定されたと検出された際に、指定された前記ソングポジションマーカーで示される演奏位置に前記自動演奏手段の演奏位置がジャンプされるようにしている。
また、上記本発明の自動演奏データのデータ構造において、前記ソングポジションマーカーはループ再生時のループ開始位置あるいはループエンド位置となることができ、前記テキストメタイベントデータには、前記自動演奏データにおける特定の演奏位置を示すと共に、ループ再生時のループエンド位置となるループエンドマーカーが含まれていてもよい。
次に、上記目的を達成することのできる本発明の自動演奏プログラムは、上記本発明の自動演奏装置の機能を、コンピュータに機能させるようにした自動演奏プログラムとされている。
【0011】
このような本発明によれば、曲データにおける特定の演奏位置を示すソングポジションマーカーやループエンドマーカーを曲データ中に挿入することができる。このため、曲データが変更された場合にソングポジションマーカーやループエンドマーカーが曲データ中から検出されて自動的に設定されるようになる。このため、曲データが変更されても曲データ中の任意の位置へのジャンプや、任意区間のループ再生を、簡単に行えることができるようになる。
そして、曲データ中にイベントデータとしてソングポジションマーカーやループエンドマーカーを挿入することができるので、曲データごとにソングポジション設定やループエンド設定が簡単に行える。このソングポジションマーカーやループエンドマーカーのタイミングは非小節単位、例えば小節数と拍数やクロックにより設定することができる。この場合に、マーカー間が近すぎる場合は、設定する意味がないので設定できないようにするのが好適である。そして、指定されたソングポジションマーカーにジャンプする際には、ジャンプ指定後に次に到達する、指定されたソングポジションマーカーのポジションに対応する小節内ポジションまで演奏位置が達した際に、指定されたソングポジションマーカーの演奏位置にジャンプさせるようにしている。これにより、ユーザに違和感を覚えさせることなくジャンプさせることができるようになる。
【0012】
さらに、ループ再生においてソングポジションに加えてループエンドマーカーによりループエンドを設定することができるので、ループエンドをソングポジション以外の任意のポジションに設定することができる。さらにまた、ソングポジションマーカーに対応してLED等の表示手段を設けたので、表示手段により現在、どのソングポジションを再生中かを把握することができる。さらにまた、ソングポジションマーカーごとに名前やループ回数を設定することができるので、ソングポジションがわかりやすく、また、ループ再生を自由に制御できるようになる。なお、ソングポジションへのジャンプを指示するスイッチ手段を、操作するごとに状態が反転されるトグルスイッチとすると、ソングポジションへのジャンプ指示を容易にキャンセルすることができるようになる。
【0013】
【発明の実施の形態】
本発明の実施の形態の自動演奏プログラムを備える自動演奏装置のハードウェア構成の一例を図1に示す。
図1に示す本発明にかかる自動演奏装置1において、CPU10は、自動演奏装置1の全体の動作を制御する中央処理装置(Central Processing Unit)であり、タイマ11は、動作時の経過時間を示したり、特定の間隔でタイマ割込を発生するタイマであり、自動演奏等の時間管理等に使用される。ROM12は、CPU1が実行する本発明の自動演奏プログラム等のプログラムや、各種データ等が格納されているROM(Read Only Memory)であり、RAM13は、外部記録装置14等から読み出された本発明にかかるデータ構造とされている曲データ等の各種データの格納エリアや、CPU1のワークエリア等が設定されるRAM(Random Access Memory)である。外部記憶装置14は、自動演奏プログラム等の各種アプリケーションプログラムや本発明にかかるデータ構造の曲データが記憶される外部記憶手段であり、HDD(Hard Disk Drive)、FDD(Floppy(登録商標)Disk Drive)、CD(Compact Disk)−ROM、MO(Magneto Optical Disk)、DVD(Digital Versatile Disk)等により構成することができる。
【0014】
MIDI I/F16は、外部に設けられているMIDI機器15との間でMIDI信号の受け渡しを行うMIDIインターフェースであり、MIDI機器15は、MIDI対応とされたシーケンサや電子楽器等とされる。通信インターフェース19は、イーサネット(登録商標)等のLAN(Local Area Network)やインターネット、電話回線等の通信ネットワーク18を介してサーバコンピュータ17に接続するための通信インターフェースであり、通信ネットワーク18を通じてサーバコンピュータ17から本発明に係る自動演奏プログラム等のアプリケーションソフトや曲データ等の各種データを受け取ることができる。
演奏操作子20は、鍵盤等の演奏操作子であり、演奏操作子20を操作した際の演奏操作子情報は検出回路21により検出されてバス29へ送出される。パネル操作子22は、パネル等に設けられた複数のスイッチであり、パネル操作子22を操作した際のスイッチ情報は検出回路23により検出されてバス29に送出される。ディスプレイ24は、自動演奏の設定、楽音データの編集や入力等の画面が表示される液晶表示器等の表示装置であり、ディスプレイ24は表示回路25により駆動されて所望の画面が表示される。
【0015】
音源回路26は、音源レジスタに格納されている複数の発音チャンネルの楽音制御データに基づいて楽音を生成しており、効果回路27は、エフェクタを制御するためのエフェクト制御データに基づいて音源回路26により生成された楽音データにリバーブ、コーラス、バリエーション等の効果を付与している。サウンドシステム28は、効果回路27から出力されるアナログ信号に変換されたアナログ楽音信号を増幅して発音するサウンドシステムである。また、バス29は各ブロック間においてデータ等を相互に授受するためのバスであり、データバスやアドレスバスから構成されている。
【0016】
上記した自動演奏装置1のハードウェア構成は、パーソナルコンピュータやワークステーションと同様の構成とされており、パーソナルコンピュータやワークステーションに本発明にかかる自動演奏プログラムを実行させることにより、本発明にかかる自動演奏装置1とすることができる。図1に示す自動演奏装置1において、本発明に係る自動演奏プログラムを起動して自動演奏を行う場合は、外部記憶装置14や通信インターフェース19を介して本発明にかかるデータ構造の曲データをRAM13にロードする。そして、ディスプレイ24に表示されているコントロールボタンを操作することにより、所望の設定状態において自動演奏を開始することができる。自動演奏中にパネルに設けられている後述するソングポジションスイッチを操作することにより、指定されたソングポジションにジャンプさせて自動演奏させることができる。また、パネルに設けられている後述するループスイッチを操作することにより、ソングポジションの間、あるいはソングポジションとループエンドポジションとの間においてループ再生することができる。
【0017】
次に、本発明に係る自動演奏装置1の特徴点について、図2ないし図9を参照しながら説明する。
図2には、本発明にかかる自動演奏データのデータ構造が示されており、このようなデータ構造の曲データを図1に示す構成の自動演奏装置1において自動演奏することができる。図2に示すデータ構造の曲データは、曲名やテンポ、作曲者や作成日等の曲の情報が格納されているヘッダを備えている。このヘッダに続いて、イベントの生起タイミングを示すタイミングデータと、楽音の発生や楽音制御を行うイベントデータとが交互に配置されるデータ列とされており、曲データはヘッダとデータ列とから構成されている。イベントデータの種類としては、ノートオンあるいはノートオフのノートデータ、音量や効果などを設定するコントロールチェンジデータ、音色を設定するプログラムチェンジデータ、ピッチを連続的に上下させるピッチベンド、拍子、テンポチェンジ、および、本発明において特徴的なソングポジションマーカーと、ループエンドマーカー等とされている。なお、ソングポジションマーカーとループエンドマーカーにおいて、マーカー間の時間距離が所定値以下とされた場合は、その際のジャンプやループ再生に意味がなくなることから、マーカー間の時間距離は所定値以下に設定できないようにされている。例えば、マーカー間の時間距離の最小値は32分音符長や半拍あるいは1拍としてもよい。
【0018】
イベントデータの一種とされるソングポジションマーカーおよびループエンドマーカーについて図3を参照して説明する。図3において横軸tは自動演奏の経過時間でありソングポジションマーカーおよびループエンドマーカーは、図3に示すようにその特定の演奏位置を示すことができる。例えば、図示するように4つのソングポジションマーカーSPJ−01〜SPJ−04のイベントデータおよびその時間位置を示すタイミングデータを曲データ中に埋め込むことができる。これらのソングポジションマーカーSPJ−01〜SPJ−04において、第1のソングポジションマーカーSPJ−01は曲データの先頭である第1小節の第1拍を示すマーカーとされており、第2のソングポジションマーカーSPJ−02は曲データの第16小節の第2拍を示すマーカーとされており、第3のソングポジションマーカーSPJ−03は曲データの第8小節の第1拍を示すマーカーとされており、第4のソングポジションマーカーSPJ−04は曲データの第24小節の第1拍を示すマーカーとされている。
【0019】
これらのソングポジションマーカーSPJ−01〜SPJ−04の設定情報は、イベントデータにテキストメタイベントにて記述されており、記述内容は、ソングポジション番号、ソングポジションの名前、ループ再生時のループ回数等とされている。そして、ソングポジションマーカーのイベントデータは、汎用MIDIシーケンサにより作成したり編集したりすることが可能とされている。図1に示す自動演奏装置1において自動演奏している際に、このようなソングポジションマーカーSPJ−01〜SPJ−04のいずれかを指定すると、指定されたソングポジションマーカーの演奏位置にジャンプして自動演奏されるようになる。このような動作を実現するために、外部記憶装置14等から曲データがRAM13にロードされた際に、曲データ中のソングポジションマーカーが検出されて、そのイベントデータに記述されている内容およびソングポジションマーカーのタイミングデータから求められる小節数と拍数、クロック数、ソングポジションの位置おいて有効な楽音設定データからなる設定情報がRAM13に確保されているソングポジションマーカー情報記憶領域に記憶される。4つのソングポジションマーカーSPJ−01〜SPJ−04が検出されて、その設定情報がソングポジションマーカー情報記憶領域に記憶されている一例を図4に示す。
【0020】
図4に示すソングポジションマーカー情報記憶領域に記憶されている各ソングポジションマーカーの設定情報は次のようにされている。ソングポジション番号「01」とされている第1のソングポジションマーカーSPJ−01は、小節数「1」、拍数「1」とされて曲データの先頭である第1小節の第1拍、クロック数「000」がソングポジションとされており、ソングポジションの名前は「Intro」、ループ回数は「5」、プログラムチェンジやコントロールチェンジ等の設定データから設定情報が構成されている。ソングポジション番号「02」とされている第2のソングポジションマーカーSPJ−02は、小節数「16」、拍数「2」、クロック数「000」がソングポジションとされており、ソングポジションの名前は「Chorus」、ループ回数は「無限」、プログラムチェンジやコントロールチェンジ等の設定データから設定情報が構成されている。ソングポジション番号「03」とされている第3のソングポジションマーカーSPJ−03は、小節数「8」、拍数「1」、クロック数「000」がソングポジションとされており、ソングポジションの名前は「Verse」、ループ回数は「無限」、プログラムチェンジやコントロールチェンジ等の設定データから設定情報が構成されている。ソングポジション番号「04」とされている第4のソングポジションマーカーSPJ−04は、小節数「24」、拍数「1」、クロック数「000」がソングポジションとされており、ソングポジションの名前は無し、ループ回数は「2」、プログラムチェンジやコントロールチェンジ等の設定データから設定情報が構成されている。
【0021】
そして、ソングポジション情報記憶領域の情報が参照されて、各ポジションマーカーがパネル操作子22の一部を構成するソングポジションスイッチにそれぞれ割り当てられる。この場合、ソングポジション番号とソングポジションスイッチ番号が対応するように割り当てられる。すなわち、ソングポジション情報記憶領域の情報が図4に示す場合には、図3に示す第1ソングポジションスイッチ31に第1のソングポジションマーカーSPJ−01が割り当てられ、第2ソングポジションスイッチ32に第2のソングポジションマーカーSPJ−02が割り当てられ、第3ソングポジションスイッチ33に第3のソングポジションマーカーSPJ−03が割り当てられ、第4ソングポジションスイッチ34に第4のソングポジションマーカーSPJ−04が割り当てられる。ソングポジションスイッチ31〜34のいずれかのソングポジションスイッチを操作した際に、そのソングポジションスイッチに割り当てられたソングポジションマーカーが示す演奏位置にジャンプするようになる。ジャンプする際には、そのソングポジションマーカーが示すポジション(拍、クロック)に対応するポジションであって、ソングポジションスイッチが操作された時点で演奏されている位置の次に到達する、そのソングポジションマーカーが示すポジションに対応する小節内のポジションの位置からジャンプさせることにより、継続されている自動演奏に違和感を極力生じさせないようにしている。
【0022】
なお、図3に示す例ではソングポジションマーカーは最大4つとされている。この場合、ソングポジション番号は図4に示すように「01」〜「04」となるが、その順番を時間位置順とする必要はなく、時間位置は逆転していてもよい。また、これ以外の番号にした場合のマーカーは、ループエンドを示すループエンドマーカーとなる。さらに、図3に示すソングポジションマーカーの表記において、最初の「:」はソングポジション番号とソングポジション名との区切りを示す区切り記号であり、2番目の「:」はソングポジション名とループ回数との区切りを示す区切り記号である。なお、ソングポジションマーカーの表記に、任意の文字列とすることのできるソングポジション名を用いると、当該マーカーの種類をユーザが判別しやすくなる。さらにまた、ループ回数はループ再生時に繰り返す回数とされる。このループ回数の指定がない時は無限ループ(ループ再生がオフされるまで繰り返す)となる。
【0023】
さらにまた、図4に示すように各ソングポジションスイッチに対応して、ソングポジションマーカーの位置に対応したプログラムチェンジやコントロールチェンジ等の設定データが記憶される。これにより、ジャンプやループをした際に、各ソングポジションマーカーの位置で適切なプログラムチェンジやコントロールチェンジ等の設定がなされるようになる。後述するように、マーカーの位置をエディットして移動させた場合には、設定データも移動後の位置に対応したものに修正される。
【0024】
具体的に、図5ないし図9を参照してソングポジションマーカーが示すポジションに対応するポジションの位置からジャンプさせる説明をする。図5では操作されたソングポジションスイッチに割り当てられているソングポジションマーカーの位置Tjが4/4拍子の小節の1拍目(小節先頭)とされ、自動演奏中に4/4拍子の小節における1拍半目で当該ソングポジションスイッチを操作した時の位置がTp1で示され、4/4拍子の小節における2拍半目で当該ソングポジションスイッチを操作した時の位置がTp2で示され、3/4拍子の小節における1拍半目で当該ソングポジションスイッチを操作した時の位置がTp3で示されている。この場合は、位置Tjが1拍目とされていることから当該ソングポジションスイッチを位置Tp1あるいは位置Tp2で操作した時は、その後の最初の小節の1拍目から位置Tjにジャンプして自動演奏されるようになる。また、位置Tp3では拍子が変更されているが、当該ソングポジションスイッチを位置Tp3で操作した時も、その後の最初の小節の1拍目から位置Tjにジャンプして自動演奏されるようになる。
【0025】
次に、図6では拍子は変更されず4/4拍子とされ、操作されたソングポジションスイッチに割り当てられているソングポジションマーカーの位置Tjが2拍目とされ、自動演奏中に1拍半目で当該ソングポジションスイッチを操作した時の位置がTp1で示され、2拍半目で当該ソングポジションスイッチを操作した時の位置がTp2で示されている。この場合は、位置Tjが2拍目とされていることから当該ソングポジションスイッチを位置Tp1で操作した時は、半拍後であるその小節における2拍目から位置Tjにジャンプして自動演奏されるようになる。また、位置Tp2で当該ソングポジションスイッチを操作した時は、次の小節における2拍目から位置Tjにジャンプして自動演奏されるようになる。
【0026】
次に、図7では操作されたソングポジションスイッチに割り当てられているソングポジションマーカーの位置Tjが4/4拍子の小節の2拍目とされ、自動演奏中に3/4拍子の小節の1拍半目で当該ソングポジションスイッチを操作した時の位置がTp1で示され、3/4拍子の小節の2拍半目で当該ソングポジションスイッチを操作した時の位置がTp2で示されている。この場合は、位置Tjが2拍目とされていることから当該ソングポジションスイッチを位置Tp1で操作した時は、拍子の変更にかかわらず半拍後であるその小節における2拍目から位置Tjにジャンプして自動演奏されるようになる。また、位置Tp2で当該ソングポジションスイッチを操作した時は、拍子の変更にかかわらず次の小節における2拍目から位置Tjにジャンプして自動演奏されるようになる。
【0027】
次に、図8では操作されたソングポジションスイッチに割り当てられているソングポジションマーカーの位置Tjが4/4拍子の小節の4拍半目とされ、自動演奏中に3/4拍子の小節の1拍と16分目で当該ソングポジションスイッチを操作した時の位置がTp1で示され、3/4拍子の小節の2拍半目で当該ソングポジションスイッチを操作した時の位置がTp2で示され、次の3/4拍子の小節の1拍と16分目で当該ソングポジションスイッチを操作した時の位置がTp3で示されている。この場合は、位置Tjが4拍半目とされており、拍子が4/4拍子から3/4拍子に変更されていることから、当該ソングポジションスイッチを位置Tp1で操作した時は、3/4拍子のその小節の1拍目から数えて4拍半目である次の小節の1拍半目から位置Tjにジャンプして自動演奏されるようになる。また、位置Tp2で当該ソングポジションスイッチを操作した時も同様になる。さらに、当該ソングポジションスイッチを位置Tp3で操作した時も、3/4拍子のその小節の1拍目から数えて4拍半目である次の小節(Tp1の次の次の小節)の1拍半目から位置Tjにジャンプして自動演奏されるようになる。
【0028】
次に、図9では操作されたソングポジションスイッチに割り当てられているソングポジションマーカーの位置Tjが3/4拍子の小節の2拍目とされ、自動演奏中に4/4拍子の小節の1拍半目で当該ソングポジションスイッチを操作した時の位置がTp1で示され、3/4拍子の小節の2拍半目で当該ソングポジションスイッチを操作した時の位置がTp2で示され、次の3/4拍子の小節の3拍半目で当該ソングポジションスイッチを操作した時の位置がTp3で示されている。この場合は、位置Tjが2拍目とされており、拍子が3/4拍子から4/4拍子に変更されていることから、当該ソングポジションスイッチを位置Tp1で操作した時は、4/4拍子のその小節の2拍目から位置Tjにジャンプして自動演奏されるようになる。また、位置Tp2で当該ソングポジションスイッチを操作した時は、2拍目は過去になっているため次の4/4拍子の小節の2拍目から位置Tjにジャンプして自動演奏されるようになる。さらに、当該ソングポジションスイッチを位置Tp3で操作した時は、その小節の次の3/4拍子の小節の2拍目から位置Tjにジャンプして自動演奏されるようになる。
【0029】
ところで、ループエンドマーカーもソングポジションマーカーと同様に、テキストメタイベントにて記述されたループエンドマーカーのイベントデータおよびその時間位置を示すタイミングデータにより曲データ中に埋め込むことができる。ループエンドマーカーは、任意の位置に挿入可能とされ、1つのソングポジションマーカーの区間について、1つ以上挿入することができる。図3に示す例では3つのループエンドマーカーSPJ−LE3、SPJ−LE21、SPJ−LE22が挿入されている。ループエンドマーカーSPJ−LE3は、第3のソングポジションマーカーSPJ−03と第2のソングポジションマーカーSPJ−02との間に挿入されており、ループエンドマーカーSPJ−LE21、SPJ−LE22は、第2のソングポジションマーカーSPJ−02と第4のソングポジションマーカーSPJ−04との間に挿入されている。これらのループエンドマーカーは、図3に示すループスイッチ35を操作してループ再生をオンとした時に、ループ再生されるループエンド位置となる。
【0030】
具体的に図3に示す例で説明すると、ループスイッチ35が押されると、次に現れる何らかのマーカー位置まで演奏し、直前のソングポジションマーカーまで戻って、次に現れる何らかのマーカーとの間をソングポジションマーカーにおいて指定されている指定回、または無限回演奏する。すなわち、第1のソングポジションマーカーSPJ−01と第3のソングポジションマーカーSPJ−03の間でループスイッチ35が操作されると、第1のソングポジションマーカーSPJ−01と第3のソングポジションマーカーSPJ−03の間を第1のソングポジションマーカーSPJ−01で指定されている5回繰り返して自動演奏する。その後次に進むようになる。また、第3のソングポジションマーカーSPJ−03とループエンドマーカーLE3の間でループスイッチ35が操作されると、第3のソングポジションマーカーSPJ−03とループエンドマーカーLE3の間を第3のソングポジションマーカーSPJ−03で指定されている無限回(ループスイッチ35を再度操作してループ再生をキャンセルするまで)繰り返して自動演奏する。
【0031】
さらに、ループエンドマーカーLE3と第2のソングポジションマーカーSPJ−02の間でループスイッチ35が押されると、まずは第2のソングポジションマーカーSPJ−02まで演奏し、その後第3のソングポジションマーカーSPJ−03に戻り、ループエンドマーカーLE3との間を第3のソングポジションマーカーSPJ−03で指定されている無限回繰り返して自動演奏する。さらにまた、第2のソングポジションマーカーSPJ−02とループエンドマーカーLE21の間でループスイッチ35が押されると、第2のソングポジションマーカーSPJ−02とループエンドマーカーLE21の間を第2のソングポジションマーカーSPJ−02で指定されている無限回繰り返して自動演奏する。さらにまた、ループエンドマーカーLE21とループエンドマーカーLE22の間でループボタンが押されると、まずはループエンドマーカーLE22まで演奏し、その後第2のソングポジションマーカーSPJ−02に戻り、ループエンドマーカーLE21との間を第2のソングポジションマーカーSPJ−02で指定されている無限回繰り返して自動演奏する。
【0032】
さらにまた、ループエンドマーカーLE22と第4のソングポジションマーカーSPJ−04の間でループボタンが押されると、まずは第4のソングポジションマーカーSPJ−04まで演奏し、その後第2のソングポジションマーカーSPJ−02に戻り、ループエンドマーカーLE21の間を第2のソングポジションマーカーSPJ−02で指定されている無限回繰り返して自動演奏する。さらにまた、第4のソングポジションマーカーSPJ−04で指定されている以降でループボタンが押されると、まずは曲エンドまで演奏し、その後第4のソングポジションマーカーSPJ−04で指定されていると曲エンドの間を第4のソングポジションマーカーSPJ−04で指定されている2回繰り返して自動演奏する。そして、その後自動演奏は終了するようになる。
【0033】
ところで、図3に示すようにソングポジションスイッチ31〜34とループスイッチ35の上には発光素子LED1〜LED5がそれぞれ設けられている。発光素子LED1〜LED4は、例えば、緑色および赤色で発光可能とされており、発光素子LED5は例えば、緑色で発光可能とされている。ソングポジションスイッチ31〜34に対応して設けられている発光素子LED1〜LED4が緑色に発光するのは、ロードされた曲データ中に対応するソングポジションマーカーが設定されていた場合であって、当該ソングポジションマーカーのエリアが自動演奏されていない場合であり、当該ソングポジションマーカーのエリアが自動演奏されている場合は赤色に発光する。また、ループスイッチ35における発光素子LED5が緑色に発光するのは、ループ再生がオンされた場合である。
なお、ソングポジションスイッチ31〜34とループスイッチ35は、操作するごとに状態が反転するトグルスイッチとされているため、ソングポジションへのジャンプ指示やループ再生指示を容易にキャンセルすることができるようになる。
【0034】
次に、本発明にかかる自動演奏装置1において実行される曲データロード処理のフローチャートを図10に示す。
外部記憶装置14から所望の曲データをRAM13にロードする指示が行われると、曲データロード処理が起動され、ステップS10にて外部記憶装置14から指定された所望の曲データがRAM13にロードされる。次いで、ステップS11にてロードされた曲データ中のソングポジションマーカーがチェックされる。そして、チェックされたソングポジションマーカーの設定情報が取得されて、ステップS12にてRAM13に確保されたソングポジション情報記憶領域に図4に示すように記憶される。次いで、チェックされたソングポジションマーカーをステップS13にて、前述したようにソングポジションスイッチ31〜34にそれぞれ割り当て、対応する発光素子LED1〜LED4を第1態様である緑色で発光させる。そして、ステップS14にてディスプレイ24にソングポジションマーカー情報を表示する。この際の表示態様の一例を図11に示す。ディスプレイ24には、図11の例ではソングポジション番号、ソングポジションの小節数と拍数、クロック数、ソングポジションの名前、ループ再生時のループ回数が表示される。表示態様は図11に示す表示に限らず、図3に示すような演奏時間軸上にソングポジションマーカーを表示するグラフィカルな表示態様であってもよい。ステップS14の処理が終了すると曲データロード処理は終了する。さらに、ソングポジションマーカー情報を表示する際に、合わせてループエンドマーカーの情報を表示するようにしてもよい。
【0035】
次に、本発明にかかる自動演奏装置において実行されるソングポジションマーカーの位置等を編集する曲データエディット処理のフローチャートを図12に示す。
曲データをエディットするいずれかのボタン等を操作すると、曲データエディット処理が起動され、ステップS21にてソングポジションマーカーの位置修正のエディットか否かが判断される。ここで、ソングポジションマーカーの位置修正のエディットが指示されていると判断されると、ステップS22に進んでパネル操作子22の操作に応じてソングポジションマーカーの位置を修正する。この場合、小節、拍、クロックの少なくとも1つが修正され、修正は数値で指定してもよいし、ディスプレイ24上で表示されているマーカーの位置を移動させてもよい。ただし、2つのソングポジションマーカーの距離が所定値以内になる時は、修正を無効あるいは所定値を超えるように自動的に設定する。例えば、2つのマーカー間が1拍以内の距離になったとき、修正を無効にするか、あるいは1拍にする。そして、ステップS21においてソングポジションマーカーの位置修正のエディットが指示されていないと判断された場合と同様にステップS23に進む。
【0036】
ステップS23では、ソングポジションマーカーの名前やループ回数のエディットか否かが判断される。ここで、ソングポジションマーカーの名前あるいはループ回数のエディットが指示されていると判断されると、ステップS24に進んでパネル操作子22の操作に応じてソングポジションマーカーの名前やループ回数を修正する。そして、ステップS23においてソングポジションマーカーの位置修正のエディットが指示されていないと判断された場合と同様にステップS25に進む。ステップS25では、その他のイベントのエディットか否かが判断される。ここで、ノートデータ、コントロールチェンジデータやプログラムチェンジデータ等のイベントのエディットが指示されていると判断されると、ステップS26に進んでパネル操作子22の操作に応じて指示されているイベントデータを修正する。そして、ステップS25においてその他のイベントのエディットが指示されていないと判断された場合と同様にステップS27に進む。
【0037】
ステップS27では、エディット終了が指示されているか否かが判断され、エディット終了が指示されていると判断された場合は、ステップS28にてエディット後における曲データ中のソングポジションマーカーがチェックされる。次いで、チェックされたソングポジションマーカーに対応する設定情報が取得されて、ステップS29にてRAM13に確保されたソングポジション情報記憶領域に図4に示すように記憶される。設定情報の取得は、曲データの先頭からコントロールチェンジやプログラムチェンジ等の設定データをソングポジションマーカーの位置まで更新しながら読み出すことにより取得するか、ソングポジションマーカーの位置から曲データの先頭に向かって設定データをサーチしていき、見つかった設定データを取得する等により行う。ステップS29の処理が終了すると曲データエディット処理は終了する。なお、ステップS27にてエディットが継続されていると判断された場合は、ステップS21に戻りステップS21ないしステップS26の処理が繰り返し実行されて曲データが編集されるようになる。
【0038】
なお、曲データエディット処理において、編集結果を反映したソングポジションマーカー情報をディスプレイ24に表示させるようにしてもよい。また、後述するようにソングポジションマーカーの曲データへの挿入は、曲データの再生時にソングポジションスイッチ31〜34を操作(ダブルクリック)することにより入力しているが、曲データエディット処理においてソングポジションマーカーを挿入できるようにしてもよい。また、挿入されているソングポジションマーカーを削除できるようにしてもよい。さらに、ループエンドマーカーの挿入、編集、削除などは、外部のMIDIシーケンサ(テキストメタイベントを扱うことのできるMIDIシーケンサならばなんでもよい)により行うことを想定しているが、曲データエディット処理においてループエンドマーカーの挿入や編集をできるようにしてもよい。
【0039】
次に、本発明にかかる自動演奏装置において実行される曲データ再生処理のフローチャートを図13ないし図15に示す。
自動演奏の開始が指示されると、曲データ再生処理が開始されステップS31にて読み出されたイベント再生タイミングに達しているか否かが判断される。イベント再生タイミングに達しているか否かは、別途テンポに応じてカウントされているタイマの値と当該イベントデータのタイミングデータの値とを比較することにより行われる。ここで、タイミングデータで示される時刻に達していると判断された場合は、ステップS32に進みイベントはソングポジションマーカーか否かが判断される。ここで、イベントがソングポジションマーカーと判断されると、ステップS33にてループ再生モードとされているか否かが判断される。ここで、ループスイッチ35が操作されていてループ再生モードと判断されると、イベント再生タイミングに達したソングポジションマーカーは、曲データの先頭のソングポジションマーカー以外か否かがステップS34にて判断される。この処理は、曲データの先頭のソングポジションマーカーの場合、ループ先がないのでループさせないために行われる。
【0040】
ここで、イベント再生タイミングに達したソングポジションマーカーが、曲データの先頭のソングポジションマーカー以外と判断されると、ループ再生が可能となるため、ステップS35にて直前のソングポジションマーカーまでジャンプし、ジャンプしたソングポジションマーカーにおける設定情報を反映させる。次いで、ステップS36にて、ジャンプしたソングポジションマーカーに設定されているループ回数は有限回数とされているか否かが判断される。ここで、第1のソングポジションマーカーや第4のソングポジションマーカーのようにループ回数が有限回数とされている場合は、ステップS37にてソングポジション情報記憶領域に記憶されている当該ソングポジションマーカーにおけるループ回数が「1」だけデクリメントされる。さらに、デクリメントした結果、そのループ回数が「0」になったか否かが判断される。ここで、そのループ回数が「0」になったと判断されるとステップS39にてループモードが解除されて、対応する発光素子LED5が消灯される。ステップS39の処理が終了すると、図14に示すステップS46に進む。
【0041】
ステップS31にてタイミングデータで示される時刻に達していないと判断された場合は、ステップS32ないしステップS39の処理はスキップされ図14に示すステップS46に進む。また、ステップS36にてループ回数が有限回数とされていないと判断された場合は、ステップS37ないしステップS39の処理はスキップされ図14に示すステップS46に進む。さらに、ステップS38にてループ回数が「0」になっていないと判断された場合は、ステップS39の処理はスキップされ図14に示すステップS46に進む。
また、ステップS33にてループ再生モードでないと判断された場合、および、ステップS34にて曲データの先頭のソングポジションマーカーと判断された場合はステップS32にて検出されたソングポジションマーカーの位置へジャンプするため、ステップS40に分岐して第2態様である赤色で点灯しているジャンプ前のソングポジションマーカーに対応する発光素子LEDがあった場合は、その発光素子LEDを第1態様である緑色で発光させる。次いで、ステップS41にてステップS32にて検出されたジャンプ先のソングポジションマーカーに対応する発光素子LEDを第2態様である赤色で発光させる。ステップS41の処理が終了すると、図14に示すステップS46に進む。
【0042】
また、ステップS32にてイベント再生タイミングに達したイベントがソングポジションマーカーではないと判断されると、ステップS42に分岐してそのイベントがループエンドマーカーか否かが判断される。ここで、そのイベントがループエンドマーカーと判断されると、ステップS43にてループ再生モードとされているか否かが判断される。ここで、ループスイッチ35が操作されていてループ再生モードと判断されると、イベント再生タイミングに達したループエンドマーカーの前にソングポジションマーカーがあるか否かがステップS44にて判断される。ここで、そのループエンドマーカーの前にソングポジションマーカーがある場合は、前述したステップS35にジャンプする。そして、前述したステップS35ないしステップS39の処理が実行され、ステップS39の処理が終了すると、図14に示すステップS46に進む。また、ステップS42にてイベント再生タイミングに達したイベントがループエンドマーカーでないと判断されるとステップS45に分岐してその他のイベント処理が行われる。その他のイベント処理の例としては、ノートイベントに対する発音処理や消音処理、プログラムチェンジイベントに対する音色設定処理、コントロールチェンジイベントに対するボリュームやエフェクト等の各種設定処理、ピッチベンドイベントに対するピッチ変更処理、拍子イベントに対する拍子変更処理、テンポチェンジイベントに対するテンポ変更処理の終了がある。また、ステップS43にてループ再生モードとされていないと判断された場合、および、ステップS44にてイベント再生タイミングに達したループエンドマーカーの前にソングポジションマーカーがなく、戻るソングポジションマーカーがないと判断された場合は、図14に示すステップS46に進む。
【0043】
図14に示すステップS46では、ソングポジションスイッチがシングルクリックされたか否かが判断される。ソングポジションスイッチがシングルクリックされた場合は、操作したソングポジションスイッチに対応するソングポジションマーカーの位置へジャンプさせる処理が行われることから、シングルクリックされてステップS46にてYESと判断された場合は、ステップS47に進み非ジャンプ待ちモードとなっているか否かが判断される。ジャンプ待ちモードとは、ソングポジションスイッチが操作されてから実際にジャンプするまでのモードであり、ジャンプ待ちモードは前述した図5〜図9に示す位置Tpからジャンプするタイミングまでとされる。ここで、非ジャンプモードになっていると判断されると、ステップS48にて操作したソングポジションスイッチに対応するソングポジションマーカーの演奏位置のタイミングをチェックし、ジャンプさせるタイミングをセットする。ジャンプさせるタイミングは、図5〜図9を参照して前述した説明の通りとされる。そして、ステップS49にてジャンプ待ちモードにセットされて、ステップS50にて操作したソングポジションスイッチに対応する発光素子LEDを第3態様、例えば緑色の点滅発光で点灯させる。
【0044】
また、ステップS47にてジャンプ待ちモードにセットされていると判断されると、ステップS54に分岐する。ここで、ジャンプ待ちモードとなっている時に、さらにソングポジションスイッチを操作した時は、同じソングポジションスイッチが操作された時はジャンプすることがクリアされ、異なるソングポジションスイッチが操作された時はそのソングポジションスイッチに対応するソングポジションマーカーの位置にジャンプするように再セットされる。このような処理がステップS54以降の処理において実行され、ステップS54ではジャンプ待ちモードがクリアされ、さらにステップS55にてセットされていたジャンプタイミングがクリアされる。次いで、クリアされたジャンプ位置に対応する発光素子LEDを第1態様とされる緑色で発光させる。次に、ステップS57にてジャンプ待ちモードにセットされた際に操作されたソングポジションスイッチと同一のソングポジションスイッチが操作されたのか否かが判断される。ここで、同一のソングポジションスイッチが操作されたと判断されると、対応するジャンプのセットはステップS54ないしステップS56においてクリアされているので、そのままステップS51へ進む。また、異なるソングポジションスイッチが操作されたと判断されると、ステップS48に分岐し、ステップS48からステップS50における前述した処理が実行されることにより新たに操作されたソングポジションスイッチに対応するソングポジションマーカーの位置へのジャンプがセットされる。なお、それまでのジャンプのセットはステップS54ないしステップS56においてクリアされている。
【0045】
ステップS50の処理が終了すると、ステップS51にてソングポジションスイッチがダブルクリックされたか否かが判断される。ソングポジションスイッチがダブルクリックされた場合は、現在の演奏位置における小節の先頭位置がそのソングポジションスイッチにおけるソングポジションマーカーとなる。そこで、ステップS52にてダブルクリックされたソングポジションスイッチに対応するソングポジション情報記憶領域の小節数と拍数およびクロックの欄に、現在の小節の先頭タイミングを記憶させる。次いで、対応するソングポジション情報記憶領域の設定データの欄に、現在の小節の先頭におけるプログラムチェンジやコントロールチェンジ等の設定データが記憶される。これにより、対応するソングポジション情報記憶領域に既にソングポジションマーカーの情報が記憶されている場合は対応するソングポジションマーカーが更新され、記憶されていない場合はソングポジションマーカーが新規に追加されることになる。ステップS53の処理が終了すると、図15に示すステップS58に進む。なお、自動演奏中において現在の小節の先頭位置におけるプログラムチェンジやコントロールチェンジ等の設定データは各小節先頭に達する毎にバッファリングされている。
【0046】
ステップS58ではステップS48においてセットされたジャンプタイミングに達したか否かが判断される。ここで、ジャンプタイミングに達していると判断されると、ジャンプ先のソングポジションマーカーの位置にジャンプすると共に、そのソングポジションマーカーにおけるプログラムチェンジやコントロールチェンジ等の設定データが反映される。次いで、ステップS60にてジャンプ先のソングポジションマーカーに対応するソングポジションスイッチにおける発光素子LEDが第2態様である赤色で点灯されると共に、他の発光素子LEDが第1態様である緑色で点灯されるようになる。そして、ステップS58においてジャンプタイミングに達していないと判断された場合と同様に、ステップS61に進む。
【0047】
ステップS61では、ループスイッチ35が操作されたか否かが判断される。ここで、ループスイッチ35が操作されたと判断されると、ステップS62にて現在ループモードとされているか否かが判断され、現在ループモードとされている判断された場合はステップS63においてループモードが解除される。すなわち、ループ再生時にループスイッチ35を操作することによりループ再生をキャンセルすることができる。また、ステップS62にて現在ループモードとされていないと判断された場合は、ステップS64に分岐してループ再生モードに設定される。そして、ステップS61にてループスイッチ35が操作されていないと判断された場合、および、ステップS63あるいはステップS64の処理が終了した場合はステップS65に進み、全てのイベントデータの読み出しが終了して曲データが終了したか否かが判断される。ここで、曲データが終了したと判断された場合は曲データ再生処理は終了する。また、曲データが終了していない場合はステップS31に戻り前述した曲データ再生処理が繰り返し実行されるようになる。
【0048】
次に、本発明にかかる自動演奏装置1おいて実行される曲データ保存処理のフローチャートを図16に示す。
RAM13にロードされている曲データの保存を指示するボタン等を操作すると、図16に示す曲データ保存処理が起動され、ステップS71にてRAM13にロードされている曲データ中のソングポジションマーカーのタイミングデータとイベントデータとが削除される。ついで、ステップS72にてソングポジション情報記憶領域の内容を参照して、ソングポジションマーカーのタイミングデータとイベントデータとを作成してRAM13にロードされている曲データ中に挿入する。次いで、ステップS73にて新たに作成されたソングポジションマーカーが挿入されているRAM13に格納されている曲データが外部記憶装置14等の記憶媒体に保存される。これにより、RAM13にロードされている曲データのソングポジションマーカーが編集された場合であっても、編集後の曲データが記憶媒体に保存されるようになる。
【0049】
ところで、本発明は自動演奏プログラムという自動演奏のアプリケーションソフトウェアをパソコンにインストールした形態でもよく、カラオケ装置や、ゲーム装置、携帯電話等の携帯型通信端末、自動演奏ピアノに適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。
また、本発明にかかる自動演奏装置の形態は電子楽器とすることができる。この場合、電子楽器は鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態としてもよい。また、本発明にかかる自動演奏装置を電子楽器本体と別体の装置とし、MIDIや各種ネットワーク等の通信手段を用いて各装置を接続するものであってもよい。
さらに、本発明にかかる自動演奏プログラムや曲データを外部記憶媒体から、或いは通信インターフェース19を介して外部装置から電子楽器やパソコンに供給してもよい。この通信インターフェース19及び通信ネットワーク18は、有線のものに限らず無線でもよい。また双方を備えていてもよい。
【0050】
さらにまた、本発明にかかる曲データのデータ構造は、演奏イベントの発生時刻を1つ前のイベントからの時間で表した「イベント+相対時間」、演奏イベントの発生時刻を曲や小節内における絶対時間で表した「イベント+絶対時間」、音符の音高と符長あるいは休符と休符長で演奏データを表した「音高(休符)+符長」、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域に演奏イベントを記憶した「ベタ方式」等、どのような形式でもよい。
さらにまた、曲データを自動演奏する際の処理方法は、設定されたテンポに応じて処理周期を変更する方法、処理周期は一定で、曲データ中のタイミングデータの値を設定されたテンポに応じて変更する方法、処理周期は一定で、1回の処理において曲データ中のタイミングデータの計数の仕方をテンポに応じて変更する方法等、どのようなものであってもよい。
さらにまた、複数チャンネル分の曲データの記憶方法としては、複数のチャンネルのデータが混在記憶された形式でもよいし、各チャンネルのデータがトラック毎に分かれて記憶されている形式でもよい。
さらにまた、メモリ上において、時系列の曲データが連続する領域に記憶されていてもよいし、飛び飛びの領域に散在して記憶されているデータを、連続するデータとして別途管理するようにしてもよい(すなわち、時系列的に連続するデータとして管理することができればよく、メモリ上で連続して記憶されているか否かは問題ではない)。
【0051】
【発明の効果】
本発明は以上のように構成されているので、曲データにおける特定の演奏位置を示すソングポジションマーカーやループエンドマーカーを曲データ中に挿入することができる。このため、曲データが変更された場合にソングポジションマーカーやループエンドマーカーが曲データ中から検出されて自動的に設定されるようになる。このため、曲データが変更されても曲データ中の任意の位置へのジャンプや、任意区間のループ再生を、簡単に行えることができるようになる。
そして、曲データ中にイベントデータとしてソングポジションマーカーやループエンドマーカーを挿入することができるので、曲データごとにソングポジション設定やループエンド設定が簡単に行える。このソングポジションマーカーやループエンドマーカーのタイミングは非小節単位、例えば小節数と拍数やクロックにより設定することができる。この場合に、マーカー間が近すぎる場合は、設定する意味がないので設定できないようにするのが好適である。そして、指定されたソングポジションマーカーにジャンプする際には、ジャンプ指定後に次に到達する、指定されたソングポジションマーカーのポジションに対応する小節内ポジションまで演奏位置が達した際に、指定されたソングポジションマーカーの演奏位置にジャンプさせるようにしている。これにより、ユーザに違和感を覚えさせることなくジャンプさせることができるようになる。
【0052】
さらに、ループ再生においてソングポジションに加えてループエンドマーカーによりループエンドを設定することができるので、ループエンドをソングポジション以外の任意のポジションに設定することができる。さらにまた、ソングポジションマーカーに対応してLED等の表示手段を設けたので、表示手段により現在、どのソングポジションを再生中かを把握することができる。さらにまた、ソングポジションマーカーごとに名前やループ回数を設定することができるので、ソングポジションがわかりやすく、また、ループ再生を自由に制御できるようになる。なお、ソングポジションへのジャンプを指示するスイッチ手段を、操作するごとに状態が反転されるトグルスイッチとすると、ソングポジションへのジャンプ指示を容易にキャンセルすることができるようになる。
【図面の簡単な説明】
【図1】 本発明の実施の形態の自動演奏プログラムを備える自動演奏装置のハードウェア構成の一例を示すブロック図である。
【図2】 本発明の実施の形態の自動演奏装置にかかる本発明の自動演奏データのデータ構造を示す図である。
【図3】 本発明の実施の形態の自動演奏装置にかかるソングポジションマーカーおよびループエンドマーカーについて説明するための図である。
【図4】 本発明の実施の形態の自動演奏装置における設定情報がソングポジションマーカー情報記憶領域に記憶されている態様を示す図である。
【図5】 本発明の実施の形態の自動演奏装置においてジャンプさせる第1態様を示す図である。
【図6】 本発明の実施の形態の自動演奏装置においてジャンプさせる第2態様を示す図である。
【図7】 本発明の実施の形態の自動演奏装置においてジャンプさせる第3態様を示す図である。
【図8】 本発明の実施の形態の自動演奏装置においてジャンプさせる第4態様を示す図である。
【図9】 本発明の実施の形態の自動演奏装置においてジャンプさせる第5態様を示す図である。
【図10】 本発明にかかる自動演奏装置において実行される曲データロード処理のフローチャートである。
【図11】 本発明にかかる自動演奏装置において実行される曲データロード処理においてディスプレイに表示されるソングポジションマーカー情報を示す図である。
【図12】 本発明にかかる自動演奏装置において実行される曲データエディット処理のフローチャートである。
【図13】 本発明にかかる自動演奏装置において実行される曲データ再生処理のフローチャートの一部である。
【図14】 本発明にかかる自動演奏装置において実行される曲データ再生処理のフローチャートの他の一部である。
【図15】 本発明にかかる自動演奏装置において実行される曲データ再生処理のフローチャートのさらに他の一部である。
【図16】 本発明にかかる自動演奏装置において実行される曲データ保存処理のフローチャートである。
【符号の説明】
1 自動演奏装置、10 CPU、11 タイマ、12 ROM、13 RAM、14 外部記憶装置、15 MIDI機器、16 MIDIインタフェース、17 サーバコンピュータ、18 通信ネットワーク、19 通信インターフェース、20 演奏操作子、21 検出回路、22 パネル操作子、23 検出回路、24 ディスプレイ、25 表示回路、26 音源回路、27 効果回路、28 サウンドシステム、29 バス、31 第1ソングポジションスイッチ、32 第2ソングポジションスイッチ、33 第3ソングポジションスイッチ、34 第4ソングポジションスイッチ、35 ループスイッチ、LED1〜LED5 発光素子
Claims (15)
- 曲データを読み出して自動演奏する自動演奏手段と、
曲データがロードされた際に、テキストメタイベントデータとして前記曲データ中に埋め込まれている特定の演奏位置を示すソングポジションマーカーを前記曲データ中から検出する検出手段と、
前記自動演奏手段が前記曲データを自動演奏している際に、前記検出手段において検出されたいずれかの前記ソングポジションマーカーが指定された時は、指定された当該ソングポジションマーカーにおける前記演奏位置にジャンプして、前記自動演奏手段により自動演奏されることを特徴とする自動演奏装置。 - 前記ソングポジションマーカーを複数のスイッチ手段のいずれかに割り当て、該スイッチ手段のいずれかを操作することにより、操作したスイッチ手段に割り当てられているソングポジションマーカーが指定されるようにしたことを特徴とする請求項1記載の自動演奏装置。
- 前記ソングポジションマーカーは、前記曲データの特定の演奏位置が非小節単位で指定可能とされており、前記ソングポジションマーカーが指定された場合は、指定された時に自動演奏されている位置の次に到達する、指定された前記ソングポジションマーカーの演奏位置に対応する小節内位置まで自動演奏された際に、指定された前記ソングポジションマーカーの前記演奏位置にジャンプして自動演奏されることを特徴とする請求項1記載の自動演奏装置。
- 前記ソングポジションマーカーが指定された後、自動演奏されている位置が、前記次に到達する小節内位置に到達するまでのジャンプ待ちの間に、再度同ソングポジションマーカーが指定された時は、ジャンプを解除するようにしたことを特徴とする請求項3記載の自動演奏装置。
- ループ再生時のループエンド位置を示すループエンドマーカーが前記曲データ中に設定可能とされており、ループ再生が指示された場合は、前記ソングポジションマーカーあるいは前記ループエンドマーカーの位置まで自動演奏された時に、その前に位置するソングポジションマーカーにジャンプして、当該ソングポジションマーカーの後に位置する最初のソングポジションマーカーあるいはループエンドマーカーとの間においてループ再生されるようにしたことを特徴とする請求項1記載の自動演奏装置。
- 前記ソングポジションマーカーはループ回数情報を含み、前記ジャンプしたソングポジションマーカーにおけるループ回数だけループ再生されることを特徴とする請求項5記載の自動演奏装置。
- 前記ソングポジションマーカーには、該マーカーの名称が付与されていることを特徴とする請求項1記載の自動演奏装置。
- 前記検出手段により検出された前記ソングポジションマーカーの演奏位置に対応する設定情報を記憶するソングポジション情報記憶手段と、前記ソングポジションマーカーの演奏位置を非小節単位で設定する設定手段とをさらに有し、前記ソングポジションマーカーの演奏位置を設定する際には、該ソングポジションマーカーの設定後の演奏位置に対応する設定情報を、前記ソングポジション情報記憶手段に記憶し直すことを特徴とする請求項1記載の自動演奏装置。
- 前記ソングポジションマーカーおよび/または前記ループエンドマーカの演奏位置を非小節単位で設定する設定手段をさらに有し、前記マーカーの演奏位置を設定する際には、前記マーカー間の時間距離が所定値以下に設定できないようにされていることを特徴とする請求項1または5記載の自動演奏装置。
- 自動演奏あるいはループ再生されている際に、その演奏位置に対応する前記ソングポジションマーカーに割り当てられている表示手段が、その旨を表示することを特徴とする請求項1ないし9のいずれかに記載の自動演奏装置。
- コンピュータを、
曲データを順次読み出して自動演奏する自動演奏手段、
曲データがロードされた際に、テキストメタイベントデータとして前記曲データ中に埋め込まれているソングポジションマーカーを前記曲データ中から検出する検出手段、
前記自動演奏手段により自動演奏されている際に、前記検出手段において検出されたいずれかの前記ソングポジションマーカーが指定されたことを検出するマーカー検出手段、
該マーカー検出手段において、前記ソングポジションマーカーのいずれかが指定されたと検出された際に、指定された前記ソングポジションマーカーで示される演奏位置に前記自動演奏手段の演奏位置をジャンプさせるジャンプ手段、
として機能させるようにしたことを特徴とする自動演奏プログラム。 - 前記ソングポジションマーカーが複数のスイッチ手段のいずれかに割り当てられており、
前記マーカー検出手段では、前記スイッチ手段のいずれかが操作された際に、操作されたスイッチ手段に割り当てられているソングポジションマーカーが指定されたと検出するようにしたことを特徴とする請求項11記載の自動演奏プログラム。 - 前記ソングポジションマーカーは、前記曲データの特定の演奏位置が非小節単位で指定可能とされており、前記マーカー検出手段において、前記ソングポジションマーカーのいずれかが指定されたと検出された際に、前記ジャンプ手段において、検出された時に自動演奏されている位置の次に到達する、指定された前記ソングポジションマーカーの演奏位置に対応する小節内位置まで自動演奏された際に、指定された前記ソングポジションマーカーの前記演奏位置にジャンプさせるようにしたことを特徴とする請求項11記載の自動演奏プログラム。
- 自動演奏装置により自動演奏可能な自動演奏データのデータ構造であって、
楽音の発生や楽音制御を行うイベントデータと、該イベントデータの生起タイミングを示すタイミングデータとが交互に配置されるデータ列から少なくとも構成され、
前記イベントデータには、前記自動演奏データにおける特定の演奏位置を示すソングポジションマーカーがテキストメタイベントデータとして少なくとも1つ含まれており、
前記自動演奏装置に前記自動演奏データがロードされる際に、前記ソングポジションマーカーが検出され、
前記自動演奏装置において前記ソングポジションマーカーのいずれかが指定されたと検出された際に、指定された前記ソングポジションマーカーで示される演奏位置に前記自動演奏手段の演奏位置がジャンプされるようにしたことを特徴とする自動演奏データのデータ構造。 - 前記ソングポジションマーカーはループ再生時のループ開始位置あるいはループエンド位置となることができ、前記テキストメタイベントデータには、前記自動演奏データにおける特定の演奏位置を示すと共に、ループ再生時のループエンド位置となるループエンドマーカーが含まれていることを特徴とする請求項14記載の自動演奏データのデータ構造。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002061567A JP3873782B2 (ja) | 2002-03-07 | 2002-03-07 | 自動演奏装置、自動演奏プログラムおよび自動演奏データのデータ構造 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002061567A JP3873782B2 (ja) | 2002-03-07 | 2002-03-07 | 自動演奏装置、自動演奏プログラムおよび自動演奏データのデータ構造 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003263166A JP2003263166A (ja) | 2003-09-19 |
JP3873782B2 true JP3873782B2 (ja) | 2007-01-24 |
Family
ID=29195802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002061567A Expired - Fee Related JP3873782B2 (ja) | 2002-03-07 | 2002-03-07 | 自動演奏装置、自動演奏プログラムおよび自動演奏データのデータ構造 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3873782B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4780375B2 (ja) * | 2005-05-19 | 2011-09-28 | 大日本印刷株式会社 | 音響信号への制御コード埋込装置、および音響信号を用いた時系列駆動装置の制御システム |
JP7381856B2 (ja) * | 2019-11-12 | 2023-11-16 | 株式会社カプコン | 音声再生プログラム、音声再生装置、および音声生成方法 |
-
2002
- 2002-03-07 JP JP2002061567A patent/JP3873782B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003263166A (ja) | 2003-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11513811A (ja) | リアルタイム音楽作成システム | |
JP3562333B2 (ja) | 演奏情報変換装置および演奏情報変換方法並びに演奏情報変換制御プログラムを記録した記録媒体 | |
JP4134945B2 (ja) | 自動演奏装置及びプログラム | |
JP3873782B2 (ja) | 自動演奏装置、自動演奏プログラムおよび自動演奏データのデータ構造 | |
JP2007249033A (ja) | 電子楽器およびプログラム | |
US5756915A (en) | Electronic musical instrument having a search function and a replace function | |
JP4318194B2 (ja) | 電子楽器の自動伴奏装置及び自動伴奏方法 | |
JP3640235B2 (ja) | 自動伴奏装置及び自動伴奏方法 | |
JP4270102B2 (ja) | 自動演奏装置及びプログラム | |
JP3603587B2 (ja) | 自動伴奏装置および記憶媒体 | |
JP3173704B2 (ja) | 自動演奏装置 | |
JP4059155B2 (ja) | 自動演奏装置および自動演奏方法を実現するためのプログラム | |
JP3752956B2 (ja) | 演奏ガイド装置および演奏ガイド方法並びに演奏ガイドプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3909677B2 (ja) | 自動演奏装置 | |
JP3760938B2 (ja) | 演奏情報変換装置および演奏情報変換方法並びに演奏情報変換制御プログラムを記録した記録媒体 | |
JP3404818B2 (ja) | 自動演奏装置 | |
JP3986751B2 (ja) | 楽音演奏装置 | |
JP4075808B2 (ja) | 自動演奏装置および自動演奏方法を実現するためのプログラム | |
JP3988812B2 (ja) | 自動演奏制御装置 | |
JP3022022B2 (ja) | 自動演奏装置 | |
JP5272435B2 (ja) | 電子音楽装置およびその制御方法を実現するプログラム | |
JP3770131B2 (ja) | リミックス装置およびリミックスプログラム | |
JP2005010462A (ja) | 自動演奏装置及び自動演奏処理プログラム並びに自動演奏パターンデータを記録したコンピュータ読み取り可能な記録媒体 | |
JP3303235B2 (ja) | 自動演奏装置 | |
JPH08234736A (ja) | 自動演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040421 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060724 |
|
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: 20061003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061016 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3873782 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131102 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |