JP3692811B2 - Automatic performance apparatus and method - Google Patents
Automatic performance apparatus and method Download PDFInfo
- Publication number
- JP3692811B2 JP3692811B2 JP01989199A JP1989199A JP3692811B2 JP 3692811 B2 JP3692811 B2 JP 3692811B2 JP 01989199 A JP01989199 A JP 01989199A JP 1989199 A JP1989199 A JP 1989199A JP 3692811 B2 JP3692811 B2 JP 3692811B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- performance
- additional function
- function
- setting
- 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
- 238000000034 method Methods 0.000 title claims description 112
- 230000006870 function Effects 0.000 description 93
- 230000000694 effects Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 7
- 230000003936 working memory Effects 0.000 description 4
- 230000004397 blinking Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009527 percussion Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、予め記憶媒体に記憶しておいた自動演奏データを順次に読み出して、この自動演奏データに基づいて所望の楽音を発生する自動演奏装置に係り、特に自動演奏に並行してその他の付加機能(例えば、歌詞表示や演奏ガイド表示など)を行うものにおいて、自動演奏データの再生時に動作させるべき付加機能を選択的に決定することのできる自動演奏装置及び方法に関する。
【0002】
【従来の技術】
自動演奏装置は、予め記憶媒体に多数の自動演奏データを記憶しておき、前記自動演奏データの中から演奏者が自動演奏させたいデータを選択し、この選択された自動演奏データを順次読み出して、自動的に楽音の演奏を行うことができるようにした装置である。そうした自動演奏装置においては、自動演奏を行うだけでなく、自動演奏の進行にあわせて当該曲の歌詞あるいは楽譜を表示するための機能(以下、表示機能と呼ぶことにする)や、あるいは、演奏者が当該曲を演奏するためにどの鍵を押鍵すればよいかを演奏者に指示するための機能(以下、演奏ガイド機能と呼ぶことにする)等、多様な機能を具えたものがある。前記表示機能の例としては、歌詞の文字や楽譜を画面上に表示するもの等がある。また、前記演奏ガイド機能の例としては、鍵盤上の各鍵に対応して発光ダイオード(LED)等の光源を設け、演奏のために押鍵すべき1つの鍵に対応した光源を順次点灯/消灯することにより演奏者に操作すべき鍵盤を指示するガイドLED機能や、あるいは演奏者に操作すべき鍵盤とその操作タイミング及び押鍵から離鍵までの鍵の操作時間などを液晶表示画面等に表示して演奏者に指示するようにしたピアノロール機能等がある。これらの演奏ガイド機能を用いれば、演奏者は指定された鍵を押鍵することにより、決められたとおりのメロディ演奏を正確に行うことが可能となっている。
【0003】
このように、近年の自動演奏装置は前記表示機能や演奏ガイド機能等の多くの機能を有するようになったため、自動演奏データ内には各機能に関連する機能データ(例えば、歌詞を表示させるための歌詞データなど)が数多く含まれるようになった。そして、自動演奏データ内に前記機能データが記録されているか否かが予めわかっている場合は少なく、その理由から、自動演奏装置は自動演奏処理と並行して、前記表示機能や演奏ガイド機能で使用するデータを楽曲の演奏に先立って作成しておく先読み処理、前記表示機能および演奏ガイド機能等を動作させるための各種処理を絶えず実行させていなければならなかった。
【0004】
【発明が解決しようとする課題】
自動演奏装置においては、機能データの処理動作(例えば、歌詞表示動作や先読み動作等)は自動演奏処理に対して割り込むかたちで動作する。そのため、前記のように自動演奏処理と並行して絶えず機能データの処理動作が実行していると、自動演奏処理が動作しないで待ち状態となっている時間が増加し、これによって本来の正確な発音タイミングでの発音処理が実行されなくなり、演奏にもたつきが生じるようになっていた。
【0005】
本発明は、多数の機能を具えた自動演奏装置の自動演奏中の処理量を軽減することにより、円滑な自動演奏を行うことができるようにした自動演奏装置を提供することを目的とする。
さらに、演奏者が簡単な操作により、各機能を選択的に使用することができるようにした自動演奏装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
本発明に係る自動演奏装置は、曲の演奏データ及び該曲の演奏進行に関連して所定の付加的機能を実行する付加的機能実行データ並びに該曲に対応して該付加的機能実行データに基づく該所定の付加的機能を実行するか否かを設定する機能設定データを記憶する記憶手段と、前記記憶手段から前記演奏データを読み出し、該演奏データに基づき音楽演奏を実行する演奏実行手段と、前記演奏実行手段によって実行される演奏の進行に伴って、前記記憶手段から前記付加的機能実行データを読み出し、該付加的機能実行データに基づき前記所定の付加的機能を実行する付加的機能実行手段と、前記演奏実行手段による演奏の実行に際して、前記記憶手段から演奏する曲に対応する前記機能設定データを予め読み出し、該機能設定データに従い前記所定の付加的機能についてその実行の可否を設定する付加的機能設定手段と、前記付加的機能設定手段による設定内容に従って前記付加的機能実行手段による当該付加的機能の実行又は非実行を制御する制御手段とを具えたものである。
【0007】
この発明では、付加的機能実行データに基づく所定の付加的機能を実行するか否かを設定する機能設定データを曲に対応して記憶手段に記憶しており、演奏実行手段による演奏の実行に際して、該記憶手段から演奏する曲に対応する該機能設定データを予め読み出し、該機能設定データに従い該所定の付加的機能についてその実行の可否を設定し、この設定内容に従って前記付加的機能実行手段による当該付加的機能の実行又は非実行を制御することができる。これにより、所定の付加的機能を実行すべきか否かを自動的に判定し、必要な付加的機能のみを実行するように効率的に処理を行なうことができる。自動演奏時に並行して動作する各種付加的機能の処理は、自動演奏の動作中に割り込むかたちで実行されるので、付加的機能の実行又は非実行を選択的に制御することにより、自動演奏の動作中に不要な割り込み処理を行なわないようにすることができる。従って、付加的機能に係る処理実行時間を必要最小限にして、演奏実行手段による自動演奏の動作により多くの動作時間を割くことができるようになる。したがって、自動演奏を円滑に実行することができることになる。
なお、この発明における好ましい実施例として、自動演奏の進行に伴って実行することができる所定の付加的機能には、楽譜あるいは歌詞を表示する表示機能や、演奏者が音高情報を入力するための操作子に対して演奏者が行うべき操作を表示する演奏ガイド表示機能などがある。
【0008】
本発明は、装置発明として構成し、実施することができるのみならず、コンピュータプログラムの形態で実施することができるし、そのようなコンピュータプログラムを記憶した記憶媒体の形態で実施することもできる。
【0009】
【発明の実施の形態】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明する。
【0010】
図1は、この発明に係る自動演奏装置を内蔵した電子楽器全体の構成を示すハードブロック図である。電子楽器は、CPU21によって制御される。CPU21にはデータ及びアドレスバス2Pを介してプログラムメモリ(ROM)22、ワーキングメモリ(RAM)23、外部記憶装置24、操作子検出回路25、通信インターフェイス27、MIDIインターフェイス2A、鍵盤検出回路2F、ガイドLED検出回路2G、表示回路2H、音源装置2Jが接続されている。電子楽器はこれら以外のハードウェアを有する場合もあるが、ここでは、必要最小限の資源を用いた場合について説明する。
【0011】
CPU21はプログラムメモリ22及びワーキングメモリ23内の各種プログラムや各種データ、及び外部記憶装置24から取り込んだ演奏データに基づいた処理を行う。この実施の形態では、外部記憶装置24としては、フロッピーディスクドライブ、ハードディスクドライブ、CD−ROMドライブ、光磁気ディスク(MO)ドライブ、ZIPドライブ、PDドライブ、DVDなどが用いられる。また、MIDIインターフェイス2Aを介して他のMIDI機器2Bなどから演奏データなどを取り込んでもよい。CPU21は、このような外部記憶装置24から取り込まれた演奏データを音源装置2Jに供給し、外部のサウンドシステム2Lを用いて発音する。
【0012】
プログラムメモリ22はCPU21のシステム関連のプログラム、各種のパラメータやデータなどを記憶しているものであり、リードオンリメモリ(ROM)で構成されている。なお、この実施の形態では、自動演奏処理等の動作プログラムがプログラムメモリ22に記憶されている。ワーキングメモリ23はCPU21がプログラムを実行する際に発生する各種のデータ等を一時的に記憶するものであり、ランダムアクセスメモリ(RAM)の所定のアドレス領域がそれぞれ割り当てられ、レジスタやフラグ等として利用される。また、前記ROM22に動作プログラム、各種データなどを記憶させる代わりに、CD−ROMドライブ等の外部記憶装置24に各種データ及び任意の動作プログラムを記憶していてもよい。外部記憶装置24に記憶されている動作プログラムや演奏データを含む各種データは、RAM23等に転送記憶させることができる。これにより、動作プログラムの新規のインストールやバージョンアップを容易に行うことができる。
【0013】
なお、通信インターフェイス27を介してLAN(ローカルエリアネットワーク)やインターネット、電話回線などの種々の通信ネットワーク28上に接続可能とし、他のサーバコンピュータ29との間で動作プログラムや各種データ等のやりとりを行うようにしてもよい。これにより、サーバコンピュータ29から動作プログラムや演奏データをダウンロードすることもできる。この場合、クライアントとなるパーソナルコンピュータから、通信インターフェイス27及び通信ネットワーク28を介してサーバコンピュータ29に動作プログラムや演奏データのダウンロードを要求するコマンドを送信する。サーバコンピュータ29は、このコマンドに応じて、所定の動作プログラムや演奏データなどを、通信ネットワーク28を介して他のパーソナルコンピュータに送信したりする。パーソナルコンピュータでは、通信インターフェイス27を介してこれらの動作プログラムや演奏データなどを受信して、RAM23等に格納する。これによって、動作プログラム及び演奏データなどのダウンロードが完了する。
【0014】
なお、本発明は、本発明に対応する動作プログラムや演奏データをインストールしたパーソナルコンピュータ等によって、実施させるようにしてもよい。その場合には、本発明に対応する動作プログラムや演奏データなどを、CD−ROMやフロッピーディスク等の、電子楽器が読み込むことができる記憶媒体に記憶させた状態で、ユーザに提供してもよい。
【0015】
操作子手段26は、各種パラメータ設定用のキーやスイッチを具えたものである。この実施の形態では、便宜上、自動演奏スイッチ、演奏ガイド表示スイッチ、歌詞表示スイッチなどの具体的スイッチが設けられている場合について説明する。操作子検出回路25は、この操作子手段26上の各スイッチの操作状態及び操作状況を検出し、それをデータ及びアドレスバス2P上に出力する。表示回路2Hは表示器2Kの表示内容を制御するものである。表示器2Kは液晶表示パネル(LCD)等から構成され、表示回路2Hによってその表示動作を制御される。
【0016】
音源装置2Jは、複数チャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス2Pを経由して与えられた演奏データ(MIDIファイル)を入力し、この情報に基づき楽音信号を発生する。音源装置2Jにおいて複数チャンネルで楽音信号を同時に発音させる構成としては、1つの回路を時分割で使用することによって複数の発音チャンネルを形成するようなものや、1つの発音チャンネルが1つの回路で構成されるような形式のものであってもよい。また、音源装置2Jにおける楽音信号発生方式はいかなるものを用いてもよい。音源装置2Jから出力される楽音信号はアンプ及びスピーカからなるサウンドシステム2Lによって発音される。なお、この実施例では音源装置2J自体にサウンドシステム2Lとの間において楽音信号に種々の効果を付与するための効果回路(図示せず)を含んでいる。勿論、効果回路を当該音源装置とは別個に設けてもよい。タイマ2Tは時間間隔を計数したり、楽曲情報の再生時のテンポを設定したりするためのテンポクロックパルスを発生するものである。このテンポクロックパルスの周波数はテンポスイッチ(図示せず)によって調整される。タイマ2TからのテンポクロックパルスはCPU21に対してインタラプト命令として与えられ、CPU21はインタラプト処理により自動演奏時における各種の割り込み処理や先読み処理等の処理を実行する。
【0017】
ガイドLED2Mは例えば発光ダイオードのようなものであり、電子楽器本体の鍵盤2Nの各鍵毎に設けられる。ガイドLED検出回路2GはガイドLED2Mの表示、すなわち、発光ダイオードを点灯/消灯することにより演奏者に対して押鍵すべき鍵盤2N及び押鍵タイミングを指示したり、さらには押鍵指示と演奏者の押鍵とを一致判別したりする等の制御を行うものである。
【0018】
図2は、図1のような電子楽器を自動演奏装置として動作させる場合のメインとなる処理のフローチャートの一例を示す図である。図1のCPU21は、このメイン処理に従って動作する。このメイン処理は、主電源のオン操作と同時に開始され、主電源のオフ操作によって終了される。以下、図2のフローチャートに従って、この発明に係る自動演奏装置の動作例を説明する。
まず、最初のステップS1では、初期設定を行う。初期設定では、図1のワーキングメモリ23内の各レジスタ及びフラグなどに対して所定の初期値を設定する。具体的には、歌詞フラグLYRIC、ガイドフラグGUIDEのそれぞれに“0”をセットする。これらのフラグ及びバッファの内容については各ステップの対応する処理の中で説明する。また、各種の割り込み動作の許可を解除、すなわち、CPU21に対して後述する各種の割り込み処理や先読み処理を行うことができないようにセットする。さらに、液晶画面2Kを初期状態に、つまり画面上に初期画面を表示する。
【0019】
初期設定が終了すると次は操作子手段26のうち、ソングデータの選択操作有りか、又は選択操作無しかの判定が行われ、それぞれの判定に従った処理が行われる(ステップS2)。選択操作有りと判定された場合には(YES)、当該選択操作に対応したソングデータを外部記憶装置24等から読み出して、所定のワークエリアへ書き込み自動演奏に関する処理の準備を行う(ステップS3)。反対に、選択操作無しと判定された場合には(NO)、ステップS3の処理を行わないでステップS4へ進む。ソングデータは外部記憶装置24内に予め多数記憶されており、例えば演奏者が曲名あるいは曲番号等を入力(ソングデータの選択操作)することにより、多数のソングデータの中から曲名あるいは曲番号に1対1に対応づけられているソングデータが所定のワークエリアに読み出されて、自動演奏するためのデータとして電子楽器に設定されるようになっている。また、ROM22やRAM23にソングデータを複数記憶させておき、その中から所望のソングデータを選択するようにしてもよいことは言うまでもない。
【0020】
ここで、ソングデータの構成例について詳細に説明する。図3は、1つの曲(つまり、ソング)についてのソングデータの全体構成例を示す。
ソングデータは、曲名データと、機能設定データと、音色やテンポあるいは効果等に関する各種設定データと、演奏イベントデータ又は歌詞イベントデータと、トラック番号と、タイミングデータと、曲の終了を示すエンドデータとにより主に構成される。勿論、ソングデータには上述のデータ以外のデータも含まれているが、本発明を説明する上で必須のものでないものについてはその説明を省略する。
【0021】
曲名データとは、当該ソングデータによって自動演奏される曲の名前である。勿論、曲の名前に限らず、ソングデータ毎に対応して付与された通し番号のようなものであってもよい。
機能設定データは、自動演奏時における演奏データの先読み処理や各種割り込み処理等の各種の付加機能に対応する処理の実行許可/不許可を決定するためのデータであり、後述する演奏設定処理で使用される。この機能設定データの種類としては、例えば「先読処理オフデータ」、「ガイド表示オフデータ」、「歌詞表示オフデータ」等がある。「先読処理オフデータ」とは、自動演奏処理時に先読み処理、歌詞表示処理、ガイド表示処理を許可しない、すなわち、自動演奏処理以外の全ての付加機能の処理を実行しないように電子楽器をセットするためのデータである。「ガイド表示オフデータ」とは、自動演奏処理時に後述するガイド表示処理のみを許可しないようにセットするためのデータである。「歌詞表示オフデータ」とは、自動演奏処理時に後述する歌詞表示処理のみを許可しないように電子楽器をセットするためのデータである。そして、これらのデータのうちのいずれか1つあるいは複数が機能設定データとしてソングデータに記録されている。
【0022】
各種設定データとは、演奏イベントデータを基にして演奏する上で予め設定しておくデータであり、例えば、テンポや各トラック毎の音色及び効果の設定等に係るデータである。
演奏イベントデータは、各演奏パートで発生すべきイベント(例えば、発音を指示する発音イベントや消音を指示する消音イベントなど)からなるデータであり、タイミングデータと組み合わせられて使用される。
歌詞イベントデータは、歌詞文字表示イベントデータであり、タイミングデータと組み合わせられて使用される。従来から周知のように、1曲における歌詞の流れが、その時系列に従って、複数の歌詞文字列に分割され、或る時間帯で1つの歌詞文字列を一括表示し、その歌詞文字列の歌唱が終わると、該文字列の表示を消去し、次の歌詞文字列を一括表示する。このように、曲進行に同期させた歌詞文字表示を制御するためのデータである。
タイミングデータとは、上述のようなイベントデータから次のイベントデータまでの時間間隔を示す時間データ(すなわち、デュレーションデータ)であるが、これに限らず相対時間あるいは絶対時間等どのようなフォーマットでもよい。すなわち、イベントの発生時刻を曲や小節内における絶対時間で表した『イベント+絶対時間』形式のもの、イベントの発生時刻を1つ前のイベントからの時間で表した『イベント+相対時間』形式のもの、音符の音高と符長あるいは休符と休符長で演奏データを表した『音高(休符)+符長』形式のもの、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域にイベントを記憶した『ベタ方式』形式のものなど、どのような形式のものでもよい。
【0023】
トラック番号データは、各演奏イベントあるいは歌詞イベントの属するトラック情報(演奏イベントデータについて説明すれば、該演奏イベントデータが出力されるMIDIパートを示す情報)である。この実施の形態では、ソングデータは複数トラック分の演奏イベントデータ及び歌詞イベントデータが混在して記録されているもの、すなわち、演奏及び歌詞イベントデータをその割り当てられたトラックに関わらず、出力順に1列に並べて記憶しているもの例に説明している。しかし、これに限らず、各イベントデータを各トラック毎に独立して記憶するようにソングデータを構成してもよい。
【0024】
図2に戻り、ステップS4において、自動演奏の開始指示操作があるかないかを判定する。すなわち、自動演奏スイッチがオンされたか否かを判定する。
自動演奏の開始指示操作(オン操作)がある場合には(YES)、演奏設定処理(ステップS5)を行い、さらに自動演奏処理の割り込み動作を許可する(ステップS6)。つまり、当該電子楽器は自動演奏を行うことができる状態になる。自動演奏の開始指示操作(オン操作)がない場合には(NO)、上記演奏設定処理及び自動演奏処理の割り込み動作の許可を行わずに、ステップS7の処理へ飛ぶ。つまり、当該電子楽器は自動演奏を行うことができない状態である。自動演奏装置は、メイン処理を行っているCPU21に対して自動演奏処理を実行するように割り込みをかけ、CPU21に自動演奏処理をスタートさせることによって自動演奏を行っている。そこで、自動演奏の開始指示操作がある場合には、いつでも自動演奏処理を行うことができるように自動演奏処理の割り込みを許可している。
【0025】
ステップS7では、自動演奏の終了指示操作があるかないかの判定を行う。すなわち、自動演奏スイッチがオフされたか否かを判定する。終了指示(オフ操作)がある場合には(YES)、現在発音中の音を全て消去し、かつ、各種割り込み動作の許可を解除する(ステップS8)。つまり、当該電子楽器は自動演奏を行うことができない状態になる。終了指示(オフ操作)がない場合には(NO)、ステップS9の処理へジャンプして「その他の処理」を行う。ステップS9で実行する「その他の処理」には、例えば、ソングデータへの各種データの追加や削除といった編集処理や、先読み処理、歌詞表示処理及びガイド表示処理の割り込み動作を許可するか否かを手動で設定する手動設定処理や、あるいはスイッチ操作による電子楽器全体の音色設定、自動演奏のテンポ設定等がある。ここで、前記手動設定処理について簡単に説明すると、本装置には先読み処理、歌詞表示処理及びガイド表示処理の割り込み動作を手動でオンオフ設定するための専用スイッチが各処理に対応して設けられており(ただし、図2では記載を省略している)、前述したソングデータ内の機能設定データによる設定以外にこの各専用スイッチの操作により発生するオフデータ、あるいはオンデータによっても各処理の割り込み許可あるいは割り込み許可解除を設定することができるようになっている。
「その他の処理」が終了したら、当該メイン処理を終了するための指示操作、すなわち、電子楽器本体の主電源がオフされたかどうかを検出し、主電源がオフされた場合(ステップS10のYES)にはメイン処理を終了する。そうでない、主電源オン(すなわち、主電源オフ操作がない)の場合(ステップS10のNO)にはステップS2へ戻り、当該メイン処理を繰り返し実行し、電子楽器を待機状態にする。この場合には、自動演奏スイッチがオフされるまで、あるいはソングデータ内のエンドデータを読み込むまで、当該自動演奏が続けられる。
【0026】
図4は、図2のメイン処理で行われる演奏設定処理(ステップS5)のフローチャートの一例を示す図である。演奏設定処理とは、選択されたソングデータによる楽曲の再生前に、該楽曲の再生に関連する各種効果の設定や割り込み処理の許可又は不許可の設定を行う処理である。
まず、後述する先読み処理を含むすべての割り込み処理を許可する(ステップS21)。これにより、CPU21は自動演奏処理を含むすべての割り込み処理が実行できる状態になる。
次に、歌詞フラグLYRICに“1”をセットし(ステップS22)、ガイドフラグGUIDEに“1”をセットする(ステップS23)。歌詞フラグLYRICとは、ソングデータ内の歌詞イベントデータに関する処理(例えば、先読み処理における歌詞イベントデータの検出等に関する処理)を実施するか否かを表すフラグであり、この実施の形態では、歌詞フラグLYRICが“1”の場合を前記処理の実施を可能とし、“0”の場合を前記処理の実施を不可能とすることを表している。ガイドフラグGUIDEとは、ソングデータ内の演奏イベントデータに対応して、例えば、前述したようなピアノロール機能等の鍵盤の演奏ガイド表示を行うためのデータを準備する処理を実施するか否かを表すフラグであり、この実施の形態では、ガイドフラグGUIDEが“1”の場合を前記処理の実施を可能とし、“0”の場合を前記処理の実施を不可能とすることを表している。
【0027】
歌詞フラグLYRIC及びガイドフラグGUIDEを各々セットした後、選択されたソングデータ内に機能設定データが記録されているか否かを判定する(ステップS24)。
機能設定データがある場合(ステップS24のYES)、この機能設定データの内容に従って後述の各設定処理を行う(ステップS25〜S27)。機能設定データに「先読み処理オフデータ」が記録されていれば、先読み処理、歌詞表示処理及びガイド表示処理の割り込み動作許可を解除する(ステップS25)。すなわち、このステップS25の処理を行った場合は、図5の先読み処理、図6(B)及び図6(C)に示される各割り込み処理が共に不許可となり、これらの処理の実行が行われなくなる。従って、メイン処理(図2)に対して自動演奏処理(図6(A))のみが割り込み処理として実行されることになる。「歌詞表示オフデータ」が記録されていれば、歌詞表示処理の割り込み動作許可を解除し、さらに歌詞フラグLYRICに“0”をセットする(ステップS26)。すなわち、このステップS26の処理を行った場合は、図6(B)に示される歌詞表示処理のみが不許可となり、歌詞表示処理の実行が行われなくなる。従って、メイン処理(図2)に対して自動演奏処理(図6(A))、先読み処理(図5)、ガイド表示処理(図6(C))が割り込み処理として実行されることになる。なお、この場合には先読み処理(図5)における歌詞イベント検出処理も行われない。「ガイド表示オフデータ」が記録されていれば、ガイド表示処理の割り込み動作許可を解除し、さらにガイドフラグGUIDEに“0”をセットする(ステップS27)。すなわち、このステップS27の処理を行った場合は、図6(C)に示されるガイド表示処理のみが不許可となり、ガイド表示処理の実行が行われなくなる。従って、メイン処理(図2)に対して自動演奏処理(図6(A))、先読み処理(図5)、歌詞表示処理(図6(B))が割り込み処理として実行されることになる。なお、「歌詞表示オフデータ」と「ガイド表示オフデータ」が記録されている場合には、上述のステップS26及びS27が共に行われる。すなわち、図6(B)に示される歌詞表示処理及び図6(C)に示されるガイド表示処理が共に不許可となり、歌詞表示処理とガイド表示処理の実行が行われなくなる。従って、メイン処理(図2)に対して自動演奏処理(図6(A))と先読み処理(図5)が割り込み処理として実行されることになる。
【0028】
一方、機能設定データが記録されていない場合(ステップS24のNO)は、ステップS28へジャンプする。すなわち、先読み処理(図5)及び全ての割り込み処理(図6)の動作が許可されたままであることから(ステップS21)、メイン処理(図2)に対して先読み処理(図5)と、自動演奏処理(図6(A))、歌詞表示処理(図6(B))、ガイド表示処理(図6(C))の全ての割り込み処理を実行することができることになる。ただし、この場合においても、上述したその他の処理(ステップS9参照)に示したように、各割り込み処理に対応して設けられた専用スイッチの手動操作により任意に各割り込み処理を実行させないようにすることができることはいうまでもない。
このように、自動演奏処理と同様にメイン処理に対して割り込みをかけて実行される処理である先読み処理あるいは各種の割り込み処理の設定を機能設定データの種類により行うことができる。
【0029】
ステップS28では、ソングデータ内の各種設定データを読み出し、自動演奏に関するテンポや音色あるいは効果等の各種設定を行う。各種設定後、データ読み出し開始位置をソングデータ内の演奏イベントデータの先頭にセットし、自動演奏処理による演奏イベントデータの読出準備を行って(ステップS29)、当該演奏設定処理を終了する。データ読み出し開始位置をセットするとは、データ読み出し位置をソングデータ内の先頭タイミングデータに設定するものであり、後述する自動演奏処理によって当該読み出し位置から順番にデータが読み出され発音処理されるようになる。
【0030】
図5の先読み処理は図2のメイン処理に対して、所定の時間(例えば、20ms)毎に定期的に実行される割り込み処理である。この先読み処理は、後述する各種の割り込み処理による楽曲の進行に従った楽音再生、歌詞表示、ガイド表示よりも先立ったタイミングの各種イベントデータを読み出し、以下の処理を行う。この割り込みタイミングは、各種割り込み処理が行われる時間間隔よりも広い間隔であるが、少なくとも各種割り込み処理の処理動作に支障を与えない程度の時間間隔であればどのような時間間隔でもよい。
まず、ソングデータ内より所定量のデータを読み出す(ステップS31)。すなわち、自動演奏処理の演奏タイミングに先立って所定量ずつのデータを先読みし、その先読みデータを使用して、演奏ガイド表示や歌詞表示に利用するデータを作成する。さらに、現在再生されている演奏イベントデータの次の演奏イベントデータを参照して、次に押鍵すべき鍵盤に対応するLEDランプを点滅させるためのデータを作成する処理を行う(ステップS32)。そして、ガイドフラグGUIDEに“1”がセットされているか、それとも“0”がセットされているかの判定を行い(ステップS33)、“1”がセットされている(YES)場合に、イベントデータ等から演奏のガイド用データを作成して演奏ガイド表示の準備を行う(ステップS34)。ここで、ガイド用データとしては、例えば、演奏ガイド表示用に使用する楽譜画面や、ピアノロール譜(すなわち、各鍵盤毎の押鍵タイミングをユーザに知らせるための画面)等を作成する。“0”がセットされている(NO)場合には、前記各準備を行わずに、次の処理(ステップS35)を行う。
【0031】
ステップS35において、歌詞フラグLYRICに“1”がセットされているか、それとも“0”がセットされているかの判定を行い、“1”がセットされている(YES)場合に、ソングデータ内の歌詞イベントデータ発生タイミングに先立って、1画面分の歌詞表示に関するデータを作成しておく(ステップS36〜S38)。すなわち、ステップS31で読み出された所定量のソングデータ内から歌詞イベントデータを抽出し(ステップS36)、歌詞イベントデータがある場合(ステップS37のYES)には歌詞イベントデータから歌詞表示用のデータを作成し歌詞表示の準備を行う(ステップS38)。歌詞イベントデータがない場合(ステップS37のNO)には歌詞イベントから歌詞表示用のデータを作成することなく、当該先読み処理を終了する。
このように、先読み処理は、ソングデータに格納されているイベントデータを読み出し、前記RAMの所定位置に確保されたバッファにデータを加工してセーブする処理を行って、それらに従ったピアノロール譜や楽譜画面、あるいは歌詞表示画面等のデータの作成を行うものである。こうして作成された画面データは、ガイド表示処理や歌詞表示処理において使用される。
【0032】
図6は、メイン処理に対して、所定のクロックタイミング毎に割り込み的に起動される各種の割り込み処理である。例えば、4分音符長がタイマクロック数の96に相当するように設定されたような場合に、図6の割り込み処理はこのタイマクロックの1クロック毎に実行される割り込み処理である。この各種割り込み処理には、以下に示すように自動演奏処理、歌詞表示処理、ガイド表示処理等の処理がある。
図6(A)は、自動演奏処理のフローチャートの一例を示した図である。演奏イベント処理タイミングにある場合(ステップS41のYES)、今回タイミングに対応する演奏イベントデータを読み出して(ステップS42)、読み出した演奏イベントデータを音源へ送信する(ステップS43)。当該処理終了後あるいは演奏イベント処理タイミングにない場合(ステップS41のNO)には、ガイドLEDによる鍵盤ガイド処理のみを行う(ステップS44)。すなわち、先読み処理が実施されている場合は、当該先読み処理において現在タイミングの次の押鍵すべき音高に関するデータが図5のステップS32において作成されているので、そのデータを用いて実際の演奏タイミングより前に次に押鍵すべき鍵盤の位置をユーザに知らせるために、次の押鍵すべき鍵盤に対応するガイドLEDを点滅させる処理を行うと共に、正規の演奏発音タイミングが到来した時点で、前記点滅していたガイドLEDを点灯に変更する(消音タイミングで消灯する)処理を行い、先読み処理が実施されていない場合は、演奏イベントデータの読み出しにあわせてガイドLEDを点灯/消灯する処理のみを行う。
図6(B)は、歌詞表示処理のフローチャートの一例を示した図である。歌詞イベント処理タイミングにある場合(ステップS51のYES)、今回タイミングにおける歌詞イベントデータに対応して表示されている文字(歌詞)の表示形式を変更させる(ステップS52)。歌詞が全て表示変更された場合(ステップS53のYES)、上述した先読み処理(図5参照)により作成されたデータに基づき次の歌詞画面を表示する(ステップS54)。歌詞が全て表示変更されていない場合(ステップS53のNO)には、当該歌詞表示処理を終了する。
図6(C)は、ガイド表示処理のフローチャートの一例を示した図である。演奏イベント処理タイミングにある場合(ステップS61のYES)、今回タイミングに対応する演奏イベントデータを読み出して(ステップS52)、読み出した演奏イベントデータに対応してガイド画面を制御する(ステップS53)。このガイド画面の制御には、例えば、先読み処理で作成された楽譜画面の表示を行うものや、あるいはピアノロール譜を現在及びこれから演奏される演奏イベントデータにあわせてスクロールして押鍵タイミング表示を行うもの等がある。
【0033】
図2、図4〜図6のフローチャートに示す一連の処理によって、ソングデータ内の機能設定データによって選択された機能に基づき、自動演奏処理と共に行われる先読み処理や各種の割り込み処理の制御を自動的に行うことができるようになるので、自動演奏される曲の演奏のためにかかる処理に時間を多くとることができる。すなわち、この実施の形態に係る電子楽器では、自然楽器における演奏と同様に、滑らかでかつ音の途切れのない自動演奏が行われるようになる。また、この実施の形態に係る電子楽器では面倒な操作を一々行う必要がないという利点がある。
【0034】
上述の実施の形態では、ソングデータとして機能設定データをソングデータの先頭にまとめて記録している構造のものについて説明したが、これに限らず、例えばタイミングデータと共に組み合わせられた機能設定のオンあるいはオフデータが他のイベントデータと共に混在するような構造であってもよい。この場合には、例えば歌詞のない曲の部分(例えば、イントロ部分)と歌詞のある曲の部分とで内容の異なった機能設定データを設定することができるようになることから、初心者でも各スイッチ等を操作することなく簡単である。
また、機能設定データにより設定される付加的機能は、上述のような歌詞表示機能や演奏ガイド表示機能のみに限らず、演奏データへの効果付与機能や演奏データに対応する画像表示機能などのようなものであってもよい。
さらに、各機能の動作/非動作の設定は、本実施例における機能設定データにおける設定に加えて、各機能毎の設定オン/オフ操作子を設けて、該操作子の操作に基づき操作できるようにしてもよい。
ガイド機能としてガイドLEDを用いたものを説明したが、鍵盤自体を光らせる等のような他の方法でガイドを行うようにしてもよい。
【0035】
電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、上述の実施の形態では、音源装置、自動演奏装置等を1つの電子楽器本体に内臓したものについて説明したが、これに限らず、それぞれが別々に構成され、MIDIインターフェイスや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、カラオケ装置に利用する曲データの作成にも適用してよい。
【0036】
【発明の効果】
この発明によれば、多数の機能を具えた自動演奏装置において、自動演奏中の処理量を軽減することにより演奏データに忠実に発音を行うことになるので、円滑な自動演奏を行うことができ、つまりは、必要でない機能についての処理動作を意図的に停止させることで必要である機能についての処理動作を円滑にすすめ、ユーザに不快感を与えない程度の時間で各種の処理を行わせることができる、という効果がある。
さらに、演奏者が簡単な操作により、各機能を選択的に使用することができる、という効果がある。
【図面の簡単な説明】
【図1】 この発明に係る自動演奏装置を内蔵した電子楽器の構成を示すハードブロック図である。
【図2】 図1の電子楽器を本発明に係る自動演奏装置として動作させる場合のメイン処理の一例を示すフロー図である。
【図3】 この発明に係る自動演奏装置において用いられるソングデータの一実施例を示した構成概念図である。
【図4】 図2のメイン処理で行われる演奏設定処理の一例を示すフロー図である。
【図5】 図2のメイン処理に対して、所定の時間間隔毎に実行される割り込み処理である先読み処理の一例を示すフロー図である。
【図6】 タイマクロックの1クロック毎に実行される割り込み処理の一例を示す図であり、図6(A)は自動演奏処理であり、図6(B)は歌詞表示処理であり、図6(C)はガイド表示処理に関するものである。
【符号の説明】
21…CPU、22…ROM、23…RAM、24…外部記憶装置、25…操作子検出回路、26…操作子、27…通信インターフェイス、28…通信ネットワーク、29…サーバコンピュータ、2A…MIDIインターフェイス、2B…他のMIDI機器、2F…鍵盤検出回路、2G…ガイドLED検出回路、2H…表示回路、2J…音源装置、2K…表示器、2L…サウンドシステム、2M…ガイドLED、2N…鍵盤、2P…データ及びアドレスバス、2T…タイマ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an automatic performance apparatus that sequentially reads out automatic performance data stored in a storage medium in advance and generates a desired musical tone based on the automatic performance data. The present invention relates to an automatic performance apparatus and method capable of selectively determining an additional function to be operated at the time of reproducing automatic performance data when performing an additional function (for example, lyric display or performance guide display).
[0002]
[Prior art]
The automatic performance device stores a large number of automatic performance data in a storage medium in advance, selects data that the performer wants to perform automatically from the automatic performance data, and sequentially reads out the selected automatic performance data. This is a device that can automatically perform musical sounds. In such an automatic performance device, not only automatic performance but also a function (hereinafter referred to as a display function) for displaying the lyrics or score of the song as the automatic performance progresses, or a performance There are various functions such as a function (hereinafter referred to as a performance guide function) for instructing the player which key should be pressed to perform the song. . As an example of the display function, there is a display function for displaying lyric characters and score on a screen. As an example of the performance guide function, a light source such as a light emitting diode (LED) is provided corresponding to each key on the keyboard, and the light source corresponding to one key to be depressed for performance is sequentially turned on / off. A guide LED function that indicates the keyboard to be operated by the performer by turning off the light, or the keyboard to be operated by the performer, the operation timing thereof, and the key operation time from key depression to key release on the liquid crystal display screen, etc. There is a piano roll function that is displayed and instructed to the performer. By using these performance guide functions, the performer can accurately perform a melody performance as determined by pressing a designated key.
[0003]
As described above, since automatic performance apparatuses in recent years have many functions such as the display function and performance guide function, function data related to each function (for example, to display lyrics) in the automatic performance data. A lot of lyrics data). And, there are few cases where it is known in advance whether or not the function data is recorded in the automatic performance data. For this reason, the automatic performance device performs the display function and the performance guide function in parallel with the automatic performance processing. The pre-reading process for creating data to be used prior to the performance of the music, and various processes for operating the display function and the performance guide function had to be constantly executed.
[0004]
[Problems to be solved by the invention]
In the automatic performance device, the function data processing operation (for example, lyrics display operation or prefetching operation) operates in an interrupted manner with respect to the automatic performance processing. Therefore, if the function data processing operation is continuously executed in parallel with the automatic performance processing as described above, the time in which the automatic performance processing does not operate and is in a waiting state increases. The sound generation process at the time of sound generation is no longer executed, and the performance is not stable.
[0005]
SUMMARY OF THE INVENTION An object of the present invention is to provide an automatic performance apparatus capable of performing a smooth automatic performance by reducing the amount of processing during automatic performance of an automatic performance apparatus having a large number of functions.
It is another object of the present invention to provide an automatic performance device that allows a performer to selectively use each function by a simple operation.
[0006]
[Means for Solving the Problems]
The automatic performance device according to the present invention includes performance data of music, additional function execution data for executing a predetermined additional function in relation to the progress of performance of the music, and In response to the song Storage means for storing function setting data for setting whether or not to execute the predetermined additional function based on the additional function execution data; reading the performance data from the storage means; and playing a music performance based on the performance data The performance execution means for executing the function, and the additional function execution data is read from the storage means as the performance executed by the performance execution means progresses, and the predetermined additional function execution is performed based on the additional function execution data. Additional function execution means for executing the performance, and when performing the performance by the performance execution means, from the storage means Corresponds to the song to be played The function setting data is read in advance, an additional function setting means for setting whether or not to execute the predetermined additional function according to the function setting data, and the additional function executing means according to the setting contents by the additional function setting means And a control means for controlling execution or non-execution of the additional function.
[0007]
In the present invention, function setting data for setting whether or not to execute a predetermined additional function based on the additional function execution data is stored. Corresponding to the song Stored in the storage means, and when the performance is executed by the performance execution means, the storage means Corresponds to the song to be played Read the function setting data in advance, set whether to execute the predetermined additional function according to the function setting data, and control execution or non-execution of the additional function by the additional function executing means according to the setting content can do. Thus, it is possible to automatically determine whether or not a predetermined additional function should be executed, and to perform processing efficiently so as to execute only the necessary additional function. Since processing of various additional functions that operate in parallel during automatic performance is executed in an interrupted manner during automatic performance, the automatic performance can be controlled by selectively controlling execution or non-execution of the additional functions. It is possible to prevent unnecessary interrupt processing during operation. Therefore, it is possible to devote much time to the operation of the automatic performance by the performance execution means while minimizing the processing execution time related to the additional function. Therefore, the automatic performance can be executed smoothly.
As a preferred embodiment of the present invention, the predetermined additional functions that can be executed as the automatic performance progresses include a display function for displaying a score or lyrics, and a player inputting pitch information. There is a performance guide display function for displaying an operation to be performed by the performer for the operation buttons.
[0008]
The present invention can be implemented not only as a device invention but also in the form of a computer program, or in the form of a storage medium storing such a computer program.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
[0010]
FIG. 1 is a hardware block diagram showing the overall configuration of an electronic musical instrument incorporating an automatic performance device according to the present invention. The electronic musical instrument is controlled by the
[0011]
The
[0012]
The
[0013]
It is possible to connect to
[0014]
The present invention may be implemented by a personal computer installed with an operation program or performance data corresponding to the present invention. In that case, the operation program or performance data corresponding to the present invention may be provided to the user in a state where it is stored in a storage medium that can be read by an electronic musical instrument such as a CD-ROM or a floppy disk. .
[0015]
The operating means 26 includes keys and switches for setting various parameters. In this embodiment, a case where specific switches such as an automatic performance switch, a performance guide display switch, and a lyrics display switch are provided will be described for convenience. The operation
[0016]
The
[0017]
The
[0018]
FIG. 2 is a diagram showing an example of a flowchart of main processing when the electronic musical instrument as shown in FIG. 1 is operated as an automatic performance device. The
First, in the first step S1, initial setting is performed. In the initial setting, a predetermined initial value is set for each register and flag in the working
[0019]
When the initial setting is completed, it is next determined whether or not there is a song data selection operation or no selection operation in the operator means 26, and processing according to each determination is performed (step S2). If it is determined that there is a selection operation (YES), the song data corresponding to the selection operation is read from the
[0020]
Here, a configuration example of song data will be described in detail. FIG. 3 shows an example of the overall configuration of song data for one song (that is, a song).
Song data includes song name data, function setting data, various setting data relating to tone, tempo, effect, etc., performance event data or lyrics event data, track number, timing data, and end data indicating the end of the song. It is mainly composed of Of course, the song data includes data other than the above-mentioned data. However, explanations of those that are not essential for explaining the present invention are omitted.
[0021]
The song name data is the name of a song that is automatically played by the song data. Of course, not only the name of the song but also a serial number assigned corresponding to each song data may be used.
The function setting data is data for determining whether execution of processing corresponding to various additional functions such as prefetch processing of performance data and various interrupt processing during automatic performance is permitted, and is used in performance setting processing described later. Is done. Examples of the function setting data include “prefetch processing off data”, “guide display off data”, and “lyric display off data”. “Pre-read processing off data” means that the electronic musical instrument is set so that pre-read processing, lyrics display processing, and guide display processing are not permitted during automatic performance processing, that is, processing of all additional functions other than automatic performance processing is not performed. It is data to do. “Guide display off data” is data for setting so that only a guide display process, which will be described later, is not permitted during the automatic performance process. The “lyric display off data” is data for setting the electronic musical instrument so as not to allow only the lyrics display processing described later during the automatic performance processing. Any one or more of these data is recorded in the song data as function setting data.
[0022]
The various setting data is data that is set in advance when performing based on performance event data, and is data relating to, for example, tempo, tone color and effect settings for each track, and the like.
The performance event data is data composed of events to be generated in each performance part (for example, a sound generation event for instructing sound generation or a mute event for instructing mute), and is used in combination with timing data.
The lyric event data is lyric character display event data, and is used in combination with timing data. As is well known in the art, the flow of lyrics in one song is divided into a plurality of lyrics character strings according to the time series, and one lyrics character string is displayed at a time in a certain time zone. When finished, the display of the character string is erased and the next lyrics character string is displayed in a lump. Thus, it is data for controlling the lyric character display synchronized with the music progression.
The timing data is time data (that is, duration data) indicating a time interval from event data to the next event data as described above, but is not limited to this, and may be in any format such as relative time or absolute time. . In other words, the "event + absolute time" format in which the event occurrence time is expressed in absolute time in a song or measure, and the "event + relative time" format in which the event occurrence time is expressed as the time from the previous event , "Pitch (rest) + note length" format that represents performance data in terms of note pitch and note length or rest and rest length, and secures a memory area for each performance resolution Any format may be used such as a “solid method” format in which events are stored in a memory area corresponding to the time at which a performance event occurs.
[0023]
The track number data is track information to which each performance event or lyrics event belongs (if the performance event data is described, it indicates information indicating the MIDI part to which the performance event data is output). In this embodiment, the song data is recorded with a mixture of performance event data and lyrics event data for a plurality of tracks, that is, the performance and lyrics event data is 1 in the order of output regardless of the assigned track. An example is described in which the data are stored in a line. However, the present invention is not limited to this, and the song data may be configured to store each event data independently for each track.
[0024]
Returning to FIG. 2, in step S4, it is determined whether or not there is an automatic performance start instruction operation. That is, it is determined whether or not the automatic performance switch is turned on.
If there is an automatic performance start instruction operation (ON operation) (YES), a performance setting process (step S5) is performed, and an interrupt operation of the automatic performance process is permitted (step S6). That is, the electronic musical instrument is ready for automatic performance. If there is no automatic performance start instruction operation (ON operation) (NO), the process jumps to step S7 without permitting the performance setting process and the automatic performance process interrupt operation. That is, the electronic musical instrument cannot perform automatic performance. The automatic performance device performs an automatic performance by interrupting the
[0025]
In step S7, it is determined whether or not there is an automatic performance end instruction operation. That is, it is determined whether or not the automatic performance switch is turned off. If there is an end instruction (OFF operation) (YES), all currently sounding sounds are erased, and permission of various interrupt operations is canceled (step S8). That is, the electronic musical instrument cannot perform automatic performance. If there is no end instruction (OFF operation) (NO), the process jumps to the process of step S9 and performs "other process". In the “other processing” executed in step S9, for example, whether or not to permit the editing processing such as addition or deletion of various data to the song data, the prefetching processing, the lyrics display processing, and the guide display processing interruption operation is permitted. There are manual setting processing for setting manually, timbre setting for the entire electronic musical instrument by switch operation, tempo setting for automatic performance, and the like. Here, the manual setting process will be briefly described. This apparatus is provided with a dedicated switch for manually setting on / off of the pre-read process, the lyrics display process, and the guide display process interrupt operation corresponding to each process. (However, the description is omitted in FIG. 2). In addition to the setting by the function setting data in the song data described above, the interruption of each processing is permitted by the off data generated by the operation of each dedicated switch or the on data. Alternatively, interrupt permission cancellation can be set.
When “other processing” is completed, an instruction operation for ending the main processing, that is, whether or not the main power source of the electronic musical instrument main body is turned off is detected, and the main power source is turned off (YES in step S10). Ends the main process. Otherwise, when the main power is on (that is, there is no main power off operation) (NO in step S10), the process returns to step S2, the main process is repeatedly executed, and the electronic musical instrument is set in a standby state. In this case, the automatic performance is continued until the automatic performance switch is turned off or until end data in the song data is read.
[0026]
FIG. 4 is a diagram showing an example of a flowchart of the performance setting process (step S5) performed in the main process of FIG. The performance setting process is a process for setting various effects related to the reproduction of the music and setting the permission or non-permission of the interrupt process before playing the music by the selected song data.
First, all interrupt processing including prefetch processing described later is permitted (step S21). As a result, the
Next, “1” is set to the lyrics flag LYRIC (step S22), and “1” is set to the guide flag GUIDE (step S23). The lyric flag LYRIC is a flag that indicates whether or not to perform processing related to lyric event data in song data (for example, processing related to detection of lyric event data in prefetch processing). In this embodiment, the lyric flag When LYRIC is “1”, the process can be performed, and when it is “0”, the process cannot be performed. The guide flag GUIDE indicates whether or not to execute processing for preparing data for displaying the performance guide of the keyboard such as the piano roll function as described above, corresponding to the performance event data in the song data. In this embodiment, when the guide flag GUIDE is “1”, the process can be performed, and when the guide flag GUIDE is “0”, the process cannot be performed.
[0027]
After each of the lyrics flag LYRIC and the guide flag GUIDE is set, it is determined whether or not function setting data is recorded in the selected song data (step S24).
When there is function setting data (YES in step S24), each setting process described later is performed according to the contents of the function setting data (steps S25 to S27). If “prefetch processing off data” is recorded in the function setting data, the interrupt operation permission of the prefetch processing, lyrics display processing, and guide display processing is canceled (step S25). That is, when the process of step S25 is performed, the prefetch process of FIG. 5 and the interrupt processes shown in FIGS. 6B and 6C are both disabled and these processes are executed. Disappear. Therefore, only the automatic performance process (FIG. 6A) is executed as an interrupt process for the main process (FIG. 2). If “lyric display off data” is recorded, the interruption operation permission of the lyrics display processing is canceled, and “0” is set to the lyrics flag LYRIC (step S26). That is, when the process of step S26 is performed, only the lyrics display process shown in FIG. 6B is not permitted, and the lyrics display process is not executed. Therefore, automatic performance processing (FIG. 6A), prefetch processing (FIG. 5), and guide display processing (FIG. 6C) are executed as interrupt processing for the main processing (FIG. 2). In this case, the lyrics event detection process in the prefetch process (FIG. 5) is not performed. If “guide display off data” is recorded, the interrupt operation permission of the guide display process is canceled, and “0” is set to the guide flag GUIDE (step S27). That is, when the process of step S27 is performed, only the guide display process shown in FIG. 6C is not permitted, and the guide display process is not executed. Therefore, automatic performance processing (FIG. 6A), prefetching processing (FIG. 5), and lyrics display processing (FIG. 6B) are executed as interrupt processing for the main processing (FIG. 2). Note that when “lyric display off data” and “guide display off data” are recorded, the above-described steps S26 and S27 are performed together. That is, both the lyrics display process shown in FIG. 6B and the guide display process shown in FIG. 6C are not permitted, and the lyrics display process and the guide display process are not executed. Accordingly, the automatic performance process (FIG. 6A) and the prefetch process (FIG. 5) are executed as interrupt processes for the main process (FIG. 2).
[0028]
On the other hand, if no function setting data is recorded (NO in step S24), the process jumps to step S28. That is, since the operations of the prefetch process (FIG. 5) and all the interrupt processes (FIG. 6) remain permitted (step S21), the prefetch process (FIG. 5) and the automatic process are automatically performed for the main process (FIG. 2). All interruption processes of the performance process (FIG. 6A), the lyrics display process (FIG. 6B), and the guide display process (FIG. 6C) can be executed. However, even in this case, as shown in the other processing described above (see step S9), each interrupt processing is not arbitrarily executed by manual operation of a dedicated switch provided corresponding to each interrupt processing. It goes without saying that it can be done.
As described above, as in the automatic performance process, it is possible to set the pre-read process or various interrupt processes that are executed by interrupting the main process depending on the type of function setting data.
[0029]
In step S28, various setting data in the song data are read, and various settings such as tempo, tone color, and effect relating to automatic performance are performed. After the various settings, the data read start position is set at the beginning of the performance event data in the song data, and the performance event data is prepared for reading by the automatic performance processing (step S29), and the performance setting processing ends. Setting the data read start position is to set the data read position to the start timing data in the song data, so that the data is read out in order from the read position by the automatic performance processing described later, and the sound is processed. Become.
[0030]
The prefetch process in FIG. 5 is an interrupt process that is periodically executed every predetermined time (for example, 20 ms) with respect to the main process in FIG. In this pre-reading process, various event data at a timing prior to musical tone reproduction, lyrics display, and guide display in accordance with the progress of music by various interrupt processes to be described later is read, and the following processes are performed. The interrupt timing is wider than the time interval at which various interrupt processes are performed, but may be any time interval as long as it does not interfere with the processing operation of the various interrupt processes.
First, a predetermined amount of data is read from the song data (step S31). That is, a predetermined amount of data is prefetched prior to the performance timing of the automatic performance processing, and data used for performance guide display and lyrics display is created using the prefetch data. Further, processing for creating data for blinking the LED lamp corresponding to the keyboard to be pressed next is performed with reference to the performance event data next to the performance event data currently being reproduced (step S32). Then, it is determined whether “1” or “0” is set in the guide flag GUIDE (step S33). If “1” is set (YES), event data or the like is determined. Then, performance guide data is created from this to prepare for performance guide display (step S34). Here, as the guide data, for example, a score screen used for performance guide display, a piano roll score (that is, a screen for notifying the user of the key pressing timing for each keyboard), and the like are created. If “0” is set (NO), the following processing (step S35) is performed without performing each preparation.
[0031]
In step S35, it is determined whether the lyrics flag LYRIC is set to “1” or “0”. If “1” is set (YES), the lyrics in the song data are set. Prior to the event data generation timing, data relating to lyric display for one screen is created (steps S36 to S38). That is, lyric event data is extracted from the predetermined amount of song data read in step S31 (step S36), and if there is lyric event data (YES in step S37), the lyrics display data is displayed from the lyric event data. Is prepared to display the lyrics (step S38). If there is no lyric event data (NO in step S37), the prefetching process is terminated without creating lyric display data from the lyric event.
In this way, the pre-reading process reads out the event data stored in the song data, processes the data in a buffer secured at a predetermined position in the RAM, and saves it. Data such as a music score screen or a lyrics display screen. The screen data created in this way is used in guide display processing and lyrics display processing.
[0032]
FIG. 6 shows various interrupt processes that are activated in an interrupt manner for each predetermined clock timing with respect to the main process. For example, when the quarter note length is set so as to correspond to 96 as the number of timer clocks, the interrupt process of FIG. 6 is an interrupt process executed every clock of the timer clock. The various interruption processes include automatic performance processing, lyrics display processing, guide display processing, and the like as described below.
FIG. 6A shows an example of a flowchart of automatic performance processing. If it is at the performance event processing timing (YES in step S41), the performance event data corresponding to the current timing is read (step S42), and the read performance event data is transmitted to the sound source (step S43). After the processing is completed or when the performance event processing timing is not reached (NO in step S41), only the keyboard guide processing by the guide LED is performed (step S44). That is, when the pre-reading process is performed, the data relating to the pitch to be pressed next to the current timing in the pre-reading process is created in step S32 in FIG. In order to inform the user of the position of the next key to be pressed before the timing, a process of blinking the guide LED corresponding to the next key to be pressed is performed, and at the time when the regular performance sounding timing has arrived. The process of changing the blinking guide LED to lighting (turning it off at the mute timing) and turning on / off the guide LED in accordance with the reading of the performance event data when the pre-reading process is not performed. Only do.
FIG. 6B is a diagram illustrating an example of a flowchart of lyrics display processing. If it is at the lyric event processing timing (YES in step S51), the display format of the characters (lyrics) displayed corresponding to the lyric event data at the current timing is changed (step S52). When all the lyrics are changed (YES in step S53), the next lyrics screen is displayed based on the data created by the above-described prefetching process (see FIG. 5) (step S54). If the display of all the lyrics has not been changed (NO in step S53), the lyrics display process ends.
FIG. 6C is a diagram illustrating an example of a flowchart of the guide display process. If it is at the performance event processing timing (YES in step S61), the performance event data corresponding to the current timing is read (step S52), and the guide screen is controlled corresponding to the read performance event data (step S53). This guide screen can be controlled, for example, by displaying a score screen created by pre-reading processing, or by scrolling the piano roll score in accordance with the performance event data to be played now and in the future, and displaying the key press timing display. There are things to do.
[0033]
The series of processing shown in the flowcharts of FIGS. 2 and 4 to 6 automatically controls prefetch processing and various interrupt processing performed together with the automatic performance processing based on the function selected by the function setting data in the song data. Therefore, it is possible to take a lot of time for the processing required for the performance of the automatically played music. That is, in the electronic musical instrument according to this embodiment, an automatic performance that is smooth and has no sound interruption is performed, as in the case of a performance on a natural musical instrument. Further, the electronic musical instrument according to this embodiment has an advantage that it is not necessary to perform troublesome operations one by one.
[0034]
In the above-described embodiment, the function setting data is recorded as the song data collectively at the beginning of the song data. However, the present invention is not limited to this. For example, the function setting combined with the timing data is turned on or off. The off data may be mixed with other event data. In this case, for example, since it becomes possible to set function setting data having different contents for a song portion without lyrics (for example, an intro portion) and a song portion with lyrics, even a beginner can set each switch. It is easy without manipulating etc.
In addition, the additional functions set by the function setting data are not limited to the lyrics display function and the performance guide display function as described above, but include an effect imparting function to the performance data and an image display function corresponding to the performance data. It may be anything.
Furthermore, the setting of operation / non-operation of each function can be performed based on the operation of the operation element by providing a setting ON / OFF operation element for each function in addition to the setting in the function setting data in this embodiment. It may be.
Although the guide function using the guide LED has been described, the guide may be performed by other methods such as lighting the keyboard itself.
[0035]
The electronic musical instrument is not limited to a keyboard instrument, and may be any type of instrument such as a stringed instrument, a wind instrument, or a percussion instrument. In the above-described embodiments, the sound source device, the automatic performance device, and the like have been described as being built in one electronic musical instrument body. However, the present invention is not limited to this, and each is configured separately, such as a MIDI interface or various networks. Needless to say, the present invention can be similarly applied to a device configured to connect each device using a communication unit. In addition, a configuration of a personal computer and application software may be used. In this case, the processing program may be supplied from a storage medium such as a magnetic disk, an optical disk, or a semiconductor memory, or may be supplied via a network. Furthermore, the present invention may be applied to creation of song data used for a karaoke apparatus.
[0036]
【The invention's effect】
According to the present invention, in an automatic performance device having a large number of functions, the performance data is sounded faithfully by reducing the amount of processing during automatic performance, so that a smooth automatic performance can be performed. In other words, by intentionally stopping processing operations for functions that are not necessary, the processing operations for functions that are necessary can be smoothly performed, and various processing can be performed in a time that does not cause discomfort to the user. There is an effect that can be.
Furthermore, there is an effect that each function can be selectively used by a player with a simple operation.
[Brief description of the drawings]
FIG. 1 is a hardware block diagram showing a configuration of an electronic musical instrument incorporating an automatic performance device according to the present invention.
2 is a flowchart showing an example of main processing when the electronic musical instrument of FIG. 1 is operated as an automatic performance device according to the present invention.
FIG. 3 is a conceptual diagram showing an embodiment of song data used in the automatic performance device according to the present invention.
4 is a flowchart showing an example of a performance setting process performed in the main process of FIG. 2. FIG.
FIG. 5 is a flowchart showing an example of a prefetch process that is an interrupt process executed at predetermined time intervals with respect to the main process of FIG. 2;
6 is a diagram illustrating an example of an interrupt process executed every clock of the timer clock, FIG. 6A is an automatic performance process, FIG. 6B is a lyrics display process, and FIG. (C) relates to the guide display process.
[Explanation of symbols]
21 ... CPU, 22 ... ROM, 23 ... RAM, 24 ... external storage device, 25 ... operator detection circuit, 26 ... operator, 27 ... communication interface, 28 ... communication network, 29 ... server computer, 2A ... MIDI interface, 2B ... Other MIDI devices, 2F ... Keyboard detection circuit, 2G ... Guide LED detection circuit, 2H ... Display circuit, 2J ... Sound source device, 2K ... Display, 2L ... Sound system, 2M ... Guide LED, 2N ... Keyboard, 2P ... data and address bus, 2T ... timer
Claims (4)
前記記憶手段から前記演奏データを読み出し、該演奏データに基づき音楽演奏を実行する演奏実行手段と、
前記演奏実行手段によって実行される演奏の進行に伴って、前記記憶手段から前記付加的機能実行データを読み出し、該付加的機能実行データに基づき前記所定の付加的機能を実行する付加的機能実行手段と、
前記演奏実行手段による演奏の実行に際して、前記記憶手段から演奏する曲に対応する前記機能設定データを予め読み出し、該機能設定データに従い前記所定の付加的機能についてその実行の可否を設定する付加的機能設定手段と、
前記付加的機能設定手段による設定内容に従って前記付加的機能実行手段による当該付加的機能の実行又は非実行を制御する制御手段と
を具えた自動演奏装置。The performance data of the song, the additional function execution data for executing a predetermined additional function in relation to the progress of the performance of the song, and the predetermined additional function based on the additional function execution data corresponding to the song Storage means for storing function setting data for setting whether or not to perform;
Performance execution means for reading the performance data from the storage means and executing a music performance based on the performance data;
As the performance executed by the performance execution means progresses, the additional function execution means reads out the additional function execution data from the storage means and executes the predetermined additional function based on the additional function execution data. When,
An additional function for pre-reading the function setting data corresponding to a song to be played from the storage means and setting whether or not to execute the predetermined additional function according to the function setting data when the performance executing means performs the performance. Setting means;
An automatic performance device comprising: control means for controlling execution or non-execution of the additional function by the additional function execution means in accordance with the setting contents of the additional function setting means.
前記記憶手段から前記演奏データを読み出し、該演奏データに基づき音楽演奏を実行する第2ステップと、
前記第2ステップによって実行される演奏の進行に伴って、前記記憶手段から前記付加的機能実行データを読み出し、該付加的機能実行データに基づき前記所定の付加的機能を実行する第3ステップと、
前記第1ステップによる前記付加的機能の設定内容に従って前記第3ステップによる当該付加的機能の実行又は非実行を制御する第4ステップと
を具えた自動演奏方法。The performance data of the song, the additional function execution data for executing a predetermined additional function in relation to the progress of the performance of the song, and the predetermined additional function based on the additional function execution data corresponding to the song The function setting data corresponding to the music to be played is read in advance from the storage means storing the function setting data for setting whether to perform or not, and whether to execute the predetermined additional function is set according to the function setting data. The first step;
A second step of reading the performance data from the storage means and executing a music performance based on the performance data;
A third step of reading out the additional function execution data from the storage means and executing the predetermined additional function based on the additional function execution data as the performance executed in the second step progresses;
An automatic performance method comprising a fourth step of controlling execution or non-execution of the additional function according to the third step according to the setting contents of the additional function according to the first step.
曲の演奏データ及び該曲の演奏進行に関連して所定の付加的機能を実行する付加的機能実行データ並びに該曲に対応して該付加的機能実行データに基づく該所定の付加的機能を実行するか否かを設定する機能設定データを記憶した記憶手段から、演奏する曲に対応する前記機能設定データを予め読み出させ、該機能設定データに従い前記所定の付加的機能についてその実行の可否を設定させる第1ステップ、
前記記憶手段から前記演奏データを読み出させ、該演奏データに基づき音楽演奏を実行させる第2ステップ、
前記第2ステップによって実行される演奏の進行に伴って、前記記憶手段から前記付加的機能実行データを読み出させ、該付加的機能実行データに基づき前記所定の付加的機能を実行させる第3ステップ、
前記第1ステップによる前記付加的機能の設定内容に従って前記第3ステップによる当該付加的機能の実行又は非実行を制御させる第4ステップ、
を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。On the computer,
The performance data of the song, the additional function execution data for executing a predetermined additional function in relation to the progress of the performance of the song, and the predetermined additional function based on the additional function execution data corresponding to the song The function setting data corresponding to the music to be played is read in advance from the storage means storing the function setting data for setting whether to perform or not, and whether or not the predetermined additional function can be executed according to the function setting data. The first step to set,
A second step of reading the performance data from the storage means and executing a music performance based on the performance data;
As the performance executed in the second step progresses, the additional function execution data is read from the storage means, and the predetermined additional function is executed based on the additional function execution data. ,
A fourth step of controlling execution or non-execution of the additional function according to the third step according to the setting content of the additional function according to the first step;
The computer-readable recording medium which recorded the program which performs this.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01989199A JP3692811B2 (en) | 1999-01-28 | 1999-01-28 | Automatic performance apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01989199A JP3692811B2 (en) | 1999-01-28 | 1999-01-28 | Automatic performance apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000221970A JP2000221970A (en) | 2000-08-11 |
JP3692811B2 true JP3692811B2 (en) | 2005-09-07 |
Family
ID=12011830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01989199A Expired - Fee Related JP3692811B2 (en) | 1999-01-28 | 1999-01-28 | Automatic performance apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3692811B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4506750B2 (en) * | 2006-12-13 | 2010-07-21 | ヤマハ株式会社 | Content playback device |
-
1999
- 1999-01-28 JP JP01989199A patent/JP3692811B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000221970A (en) | 2000-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3719124B2 (en) | Performance instruction apparatus and method, and storage medium | |
JP2004264392A (en) | Device and program for performance practice | |
JP3533972B2 (en) | Electronic musical instrument setting control device | |
JP2006106641A (en) | Electronic musical device | |
JP3815249B2 (en) | Music score display device and music score display program | |
JP2008139450A (en) | Automatic accompaniment generator and program for achieving automatic accompaniment generating method | |
JP3692811B2 (en) | Automatic performance apparatus and method | |
JP3649014B2 (en) | Performance data file playback setting control device | |
JP3546739B2 (en) | Automatic performance device and recording medium | |
JP3047879B2 (en) | Performance guide device, performance data creation device for performance guide, and storage medium | |
JP3358568B2 (en) | Performance assisting device and recording medium therefor | |
JP3293521B2 (en) | Sounding timing control device | |
JP2004101979A (en) | Electronic musical instrument | |
JP3055554B2 (en) | Operation instruction device | |
JP3666392B2 (en) | Automatic performance device | |
JP3649117B2 (en) | Musical sound reproducing apparatus and method, and storage medium | |
JP2003114680A (en) | Apparatus and program for musical sound information editing | |
JP3747802B2 (en) | Performance data editing apparatus and method, and storage medium | |
JP5402167B2 (en) | Arpeggio generating apparatus and program for realizing arpeggio generating method | |
JPH10319958A (en) | Automatic player, automatic performance data processing method and electronic information storage medium | |
JP3633547B2 (en) | Karaoke equipment | |
JP3988668B2 (en) | Automatic accompaniment device and automatic accompaniment program | |
JP3301366B2 (en) | Electronic musical instrument, performance support function switching method, and medium storing performance support function switching program | |
JP3399333B2 (en) | Music control device | |
JP2024053144A (en) | Automatic performance device and automatic performance program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050425 |
|
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: 20050531 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050613 |
|
R150 | Certificate of patent or registration of utility model |
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: 20090701 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090701 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100701 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100701 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110701 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110701 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120701 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130701 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |