[go: up one dir, main page]

JP4056902B2 - Automatic performance apparatus and automatic performance method - Google Patents

Automatic performance apparatus and automatic performance method Download PDF

Info

Publication number
JP4056902B2
JP4056902B2 JP2003045236A JP2003045236A JP4056902B2 JP 4056902 B2 JP4056902 B2 JP 4056902B2 JP 2003045236 A JP2003045236 A JP 2003045236A JP 2003045236 A JP2003045236 A JP 2003045236A JP 4056902 B2 JP4056902 B2 JP 4056902B2
Authority
JP
Japan
Prior art keywords
automatic performance
data
key
note
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003045236A
Other languages
Japanese (ja)
Other versions
JP2004258050A (en
Inventor
晃 河合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawai Musical Instruments Manufacturing Co Ltd
Original Assignee
Kawai Musical Instruments Manufacturing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawai Musical Instruments Manufacturing Co Ltd filed Critical Kawai Musical Instruments Manufacturing Co Ltd
Priority to JP2003045236A priority Critical patent/JP4056902B2/en
Publication of JP2004258050A publication Critical patent/JP2004258050A/en
Application granted granted Critical
Publication of JP4056902B2 publication Critical patent/JP4056902B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えば電子楽器に適用される自動演奏装置及び自動演奏方法に関し、特に自動演奏データに基づいて行われる自動演奏の進行を制御する技術に関する。
【0002】
【従来の技術】
従来の自動演奏装置は、複数の曲のそれぞれに対応する複数の自動演奏データをメモリに記憶している。各自動演奏データは、複数の音符データで構成されている。各音符データは、1音を発生するために使用され、例えば図16に示すように、キーナンバ、ステップタイム、ゲートタイム及びベロシティをそれぞれ指定するデータで構成されている。「キーナンバ」は例えば鍵盤装置の各鍵に付された番号に対応し、音高(音程)を指定するために使用される。「ステップタイム」は発音開始のタイミング(時刻)を指定するために使用される。「ゲートタイム」は発音の長さ(音長)を指定するために使用される。「ベロシティ」は、音の強さを指定するために使用される。1つの曲に対応する自動演奏データは、このような音符データがステップタイム順に並べられて構成されている。
【0003】
この自動演奏装置において1つの曲が選択され、自動演奏の開始が指示されると、自動演奏装置の制御部は、選択された曲に対応する自動演奏データをメモリから読み出し、この読み出した自動演奏データに基づいて発音する。これにより、選択された曲が自動的に演奏される。
【0004】
具体的には、自動演奏の開始が指示されると、シーケンサカウンタ(後述のSEQ_CNT)のカウントアップ動作が開始される。シーケンサカウンタは、1ステップ毎にインクリメントされる。1ステップは、例えば1拍の1/24、1/48、1/96等といった具合に機種によって固有に定義されている。1拍の実時間はテンポに従って定まる。従って、1ステップの実時間、つまりシーケンサカウンタのカウントアップの実時間間隔はテンポに従って決定されることになる。
【0005】
このシーケンサカウンタが動作している状態で、メモリから1つの音符データが読み出される。そして、音符データ中のステップタイムとシーケンサカウンタの内容とが比較される。そして、これらが一致しない場合は、その音符データは発音タイミングに至っていないものと判断される。そして、以下同様にして所定周期で比較動作が繰り返される。この比較動作の繰り返し実行中に、音符データ中のステップタイムとシーケンサカウンタの内容とが一致すると、その音符データは発音タイミングに至ったものと判断され、その音符データに基づく発音処理が行われる。この際、その音符データ中のゲートタイムデータがゲートタイム(後述のGate[Note])にセットされる。これにより、音符データ中のキーナンバで指定された音高及びベロシティで指定された強さを有する音の発生が開始される。1つの音符データ基づく発音の開始が完了すると、次の音符データがメモリから読み出され、上述したと同様の処理が繰り返される。
【0006】
一方、発音が開始された音は、音符データ中のゲートタイムで指定された時間が経過することにより消音される。即ち、上記発音処理においてゲートタイムデータがセットされたゲートタイムを、ゲートタイムカウンタで減算する。そして、ゲートタイムの内容がゼロ以下になった時に発音中の音を消すための消音処理が行われる。以上のようにして発音処理と消音処理とが次々に実行されることにより1つの曲が自動的に演奏される。
【0007】
ところで、近年、上述した自動演奏装置の技術を応用した、コンサートマジック機能(後述のCM)付き自動演奏装置が開発されている。ここに、「コンサートマジック機能」とは、演奏者によって指示されたタイミング、例えば押鍵されたタイミングで音符データをメモリから読み出し、この音符データに基づいて発音を開始させる機能である。このコンサートマジック機能付き自動演奏装置では、一般に、上述した従来の自動演奏装置で使用される自動演奏データが使用される。但し、自動演奏データを構成する各音符データ中のステップタイムデータは使用されない。その代わりに、発音タイミングは、外部から演奏者によって与えられる。
【0008】
また、コンサートマジック機能付き自動演奏装置においては、鍵盤装置は単に発音タイミングを与える手段として使用される。即ち、鍵盤装置の何れかの鍵が押されると、次のステップタイムデータを有する音符データに基づく発音処理が行われ、これにより自動演奏が進行する。
【0009】
要するに、コンサートマジック機能付きの自動演奏装置は、音高及び音長は自動演奏データに基づいて決定され、発音タイミングと音の強さは演奏者の指示によって決定される自動演奏装置ということができる。従来の自動演奏装置では、自動演奏が自動的に進行するので演奏者が介入する余地がない。これに対し、コンサートマジック機能付き自動演奏装置では、演奏者が発音タイミングを指示することによって自動演奏が進行するので、演奏者は、あたかも自分が演奏をしているような満足感を得ることができる。
【0010】
このような満足感の得られるコンサートマジック機能付きの自動演奏装置でも、演奏者が発音タイミングを指示することによって自動演奏が進行すると、自動演奏の進行を元に戻すことができない。従って、演奏者が誤って自動演奏を進行させると元に戻すことができないので、使い勝手に劣るという問題があった。
【0011】
そこで、本出願人は、リバーススイッチを押すなどの操作により、所定の指示が与えられる毎に、任意の位置まで小節単位でコンサートマジック演奏を戻すリバース処理が行われる構成につき提案を行った(特許文献1参照)。それにより演奏者が曲の途中で誤って自動演奏を進行させても元に戻すことができるので、使い勝手に優れたコンサートマジック演奏を行うことができるようになる。
【0012】
【特許文献1】
特開平11−311989号公報(第9−11頁、図10及び図11)
【0013】
【発明が解決しようとする課題】
しかし、上記構成では、小節単位毎に所定の位置まで単に戻されるだけであり、演奏者にしてみればどこまで戻っているのかはっきり分からない場合が多い。従って自分が次に押鍵した場合、曲のどの位置から進行するのか分からなくなってしまい(演奏者にしてみればこれから弾こうとする場所が分からなくなってしまい)、当初予想していた以上の使い勝手の良さが引き出されるものではなかった。
【0014】
本発明は以上のような実情に鑑み創案されたもので、演奏者が曲の途中で誤って自動演奏を進行させて元に戻す際に、さらに使い勝手に優れたコンサートマジック演奏を行うことができる自動演奏装置及び自動演奏方法を提供せんとするものである。
【0015】
【課題を解決するための手段】
本発明に係る自動演奏装置は、
複数の音符データで成る自動演奏データを記憶する記憶手段と、
押鍵がなされたことを検出する押鍵検出手段と、
該押鍵検出手段により押鍵がなされたことが検出される毎に、該記憶手段から音符データを読み出し、該読み出された音符データに基づいて発音を行い、以て自動演奏を進行させる自動演奏手段と、
自動演奏の進行中に指示を与える指示手段と、
該指示手段による指示に応じて、自動演奏の進行を戻して、所定の位置までは押鍵の検出によらずに上記自動演奏データに従った自動演奏を上記自動演奏手段に行わせ、該位置まで自動演奏が進行した際に押鍵の検出を待機する状態にするリバース押鍵待機手段と
を備えたことを基本的特徴としている。
【0016】
上記構成によれば、上記指示手段で指示が与えられた際、上記リバース押鍵待機手段により、自動演奏の進行を戻して、所定の位置までは押鍵の検出によらずに上記自動演奏データに従った自動演奏を上記自動演奏手段に行わせ、該位置まで自動演奏が進行した際に押鍵の検出を待機する状態にすることになるので、どこまで戻ったかを演奏者がカラオケ演奏状態で確認することができるので、曲調が解り、次の押鍵のタイミングもより適切に行うことができるようになる。
【0017】
上記指示手段による指示が与えられた際に、上記リバース押鍵待機手段は、それまで演奏中であった小節から任意の数小節(例えば1小節)前に自動演奏の進行を戻して、上記自動演奏手段により上記自動演奏データに従った自動演奏を行わせ、上記演奏中であった小節の前でその自動演奏の進行を止め、次の押鍵検出の待機状態に設定するようにする(表示もそこで止まっていることが分かるようにする)と、演奏者が曲の途中で誤って自動演奏を進行させても早期に元に戻すことができるようになる(請求項2)。
【0018】
また請求項3及び請求項4の構成は、上記請求項1及び請求項2の装置の構成を、方法の構成としてとらえ直し規定されたものである。
【0019】
すなわち請求項3の自動演奏方法の構成は、請求項1の構成に対応しており、より具体的には、複数の音符データで成る自動演奏データを記憶し、押鍵の検出毎に、該記憶された音符データを読み出して、それに基づいて発音を行い、以て自動演奏を進行させる自動演奏方法であって、押鍵検出毎に進行する自動演奏中に、所定の指示がなされた場合に、該指示に応じて自動演奏の進行を戻して、所定の位置までは押鍵の検出によらずに上記自動演奏データに従った自動演奏を行わせ、該位置まで自動演奏が進行した際に押鍵の検出を待機する状態にすることを特徴としている。
【0020】
また請求項4の自動演奏方法の構成は、請求項2の構成に対応しており、より具体的には、演奏者による指示が与えられた際に、それまで演奏中であった小節から任意の数小節前に自動演奏の進行を戻して、上記自動演奏データに従った自動演奏を行わせ、上記演奏中であった小節の前でその自動演奏の進行を止め、次の押鍵検出の待機状態に設定することを特徴としている。
【0021】
【発明の実施の形態】
以下、本発明の実施の形態に係る自動演奏装置を、図面を参照しながら詳細に説明する。なお、この自動演奏装置は独立した装置として構成できるが、以下では電子楽器に組み込まれた自動演奏装置について説明する。
【0022】
図1は、本発明の実施の形態に係る自動演奏装置が適用された電子楽器の構成を示すブロック図である。この電子楽器は、システムバス20で相互に接続された中央処理装置(以下、「CPU」という。)10、プログラムメモリ11、ワークメモリ12、自動演奏データメモリ13、鍵盤スキャン回路14、楽音発生回路15及びタイマ16で構成されている。CPU10には操作パネル101、外部インタフェース回路102が接続されている。また、このCPU10には、タイマ16から割込信号が供給される。鍵盤スキャン回路14には、鍵盤装置141が接続されている。更に、楽音発生回路15とシステムバス20との間にはキー&トーンアサイナ151が介在しており、また上記楽音発生回路15には増幅器152が接続され、この増幅器152にはスピーカ153が接続されている。
【0023】
CPU10は、プログラムメモリ11に記憶されている制御プログラムに従ってこの電子楽器の全体を制御する。このCPU10で行われる処理については、後にフローチャートを参照しながら詳細に説明する。
【0024】
操作パネル101には、例えば図2に示すように、コンサートマジックスイッチ(以下、「CMスイッチ」という)200、本願構成の指示部に当たるヘルプスイッチ(HELPスイッチ)201、曲ボタン202が設けられている。なお、図示は省略してあるが、電子楽器にはこれらのスイッチ以外に例えば自動演奏スイッチ、音量スイッチ、音色選択スイッチ、残響効果選択スイッチ等が設けられている。また、操作パネル101には、種々のメッセージを表示するためのディスプレイ装置として使用されるLCD画面300が設けられている。
【0025】
CMスイッチ200は、コンサートマジック機能を使用するかどうかを指定するために使用される。このCMスイッチ200の設定状態は、後述するCMフラグで記憶される。このCMフラグは、CMスイッチ200が押される度に反転する。即ち、電子楽器が通常演奏モードにある時(CMフラグ=0)にCMスイッチ200が押されると、CMフラグが「1」にセットされてコンサートマジックモード(以下、「CMモード」という)に移る。一方、CMモードにある時(CMフラグ=1)にCMスイッチ200が押されるとCMフラグが「0」にクリアされて通常演奏モードに移る。
【0026】
ヘルプスイッチ(HELPスイッチ)201は、上記CPU10で構成されるリバース押鍵待機部10bに該リバース押鍵待機部の機能を実行させる指示を与えるために使用される。
【0027】
曲ボタン202は、演奏者がコンサートマジック演奏用の複数の曲の中から所望の曲を選択するために使用され、該ボタンを適宜回転させ、上記LCD画面300上に表示される曲の中から選択できることになる。この曲ボタン202によって選択された曲の曲番号は、後述する曲番号レジスタに記憶される。
【0028】
操作パネル101は、図示しないパネルインタフェース回路を含む。このパネルインタフェース回路は、CPU10からの指令に応じて操作パネル101上の各スイッチをスキャンする。そして、このスキャンにより得られた各スイッチの開閉状態を示す信号に基づいてパネルデータを作成する。このパネルデータの各ビットは、上記各スイッチに対応し、例えば「1」でスイッチオン、「0」でスイッチオフ状態を表す。このパネルデータは、操作パネル101上の各スイッチが押されたかどうかを判断するために使用される(詳細は後述する)。
【0029】
また、パネルインタフェース回路は、CPU10から送られてきた表示データを操作パネル101上のLCD画面300に送る。これにより、表示データに従ったメッセージがLCD画面300に表示される。
【0030】
外部インタフェース回路102は、CPU10と外部装置との間のデータの送受を制御する。この外部インタフェース回路102としては、外部に接続される機器の種類に応じて、例えばMIDIインタフェース、RS232Cインタフェース、SCSIインタフェース等の汎用インタフェース又は機種固有のインタフェースを用いることができる。外部装置としては、例えば他の電子楽器、パーソナルコンピュータ、シーケンサ等を用いることができる。この実施の形態では、外部インタフェース回路102としてMIDIインタフェース回路が用いられるものとする。
【0031】
更に、CPU10に接続されたタイマ16は、CPU10からセットされるデータに従った時間間隔で割込信号を発生する。従って、このタイマ16に、テンポに比例した時間間隔で割込信号を発生させることができる。この割込信号はCPU10に供給され、後述する各割込処理ルーチンを起動するトリガーとして使用される。
【0032】
プログラムメモリ11は、例えばリードオンリメモリ(以下、「ROM」という)で構成されている。このプログラムメモリ11には、上述した制御プログラムの他に、CPU10が使用する種々の固定データが記憶されている。このプログラムメモリ11には、更に音色を指定するための複数の音色パラメータが記憶されている。1つの音色パラメータは、所定の楽器音の所定の音域の音色を指定するために使用される。各音色パラメータは、例えば波形アドレス、周波数データ、エンベロープデータ、フィルタ係数等で構成されている。
【0033】
ワークメモリ12は、例えばランダムアクセスメモリ(以下、「RAM」という)で構成されている。このワークメモリ12は、CPU10が各種処理を行う際に、種々のデータを一時記憶するために使用される。具体的には、このワークメモリ12には、この電子楽器を制御するための各種レジスタ、カウンタ、フラグ等が定義されている。以下に主要なレジスタ、カウンタ、フラグ等を示す。なお、下記以外については、以下において出現する都度説明する。
【0034】
(1)自動演奏フラグ:この電子楽器が自動演奏モードにあるか通常演奏モードにあるかを記憶する。
(2)コンサートマジックフラグ(以下、「CMフラグ」という):この電子楽器がCMモードにあるか自動演奏モードにあるかを記憶する。
(3)曲番号レジスタ:コンサートマジック演奏用の曲の曲番号を記憶する。
(4)アドレスレジスタ(R_ADD):現在実行中の音符データが置かれている自動演奏データメモリ13上のアドレス(以下、「読出アドレス」という)を保持する。
(5)キーオンカウンタ:押鍵中の鍵の数を計数する。このキーオンカウンタは、押鍵によりインクリメントされ、離鍵によりデクリメントされる。このキーオンカウンタの内容がゼロの場合は、全鍵が離されていることを意味する。
(6)データ読出リクエストフラグ:押鍵があった場合にセットされるフラグであり、自動演奏データメモリ13から音符データを読み出すべきことを指示するために使用される。
(7)シーケンサカウンタ(SEQ_CNT):タイマ割込が発生する度にインクリメントされるカウンタである。
(8)ゲートタイムカウンタ(Gate_CNT):1ステップタイム毎にインクリメントされるカウンタである。このゲートタイムカウンタの内容は、後述するコンサートマジック演奏処理において、ゲートタイムを減ずるタイミングが到来したかどうかを判断するために使用される。このゲートタイムカウンタの内容が変化した時に、ゲートタイムを減ずるタイミングであることが認識される。
(9)ステップバッファ(step_buf):読み出したノートデータのステップタイム値を保持する。
【0035】
鍵盤スキャン回路14には、複数の鍵を有する鍵盤装置141が接続されている。この鍵盤装置141は、通常演奏モードでは、押鍵によって発音を指示し、離鍵によって消音を指示するために使用される。一方、CMモードでは、コンサートマジック演奏を進めるトリガー(具体的には、次の音符データを読み出すトリガー)として使用される。この鍵盤装置141には、例えば、異なる押圧深さで夫々オンにされる第1及び第2のキースイッチを各鍵に備えた2接点方式が採用されている。
【0036】
上記鍵盤スキャン回路14は、CPU10からの指令に応じて鍵盤装置141上の各キースイッチをスキャンする。そして、このスキャンにより得られた各キースイッチの開閉状態を示す信号に基づいて、鍵盤データを作成する。鍵盤データは、各鍵を1ビットに対応させたビット列で成り、各ビットは、例えば「1」で押鍵中、「0」で離鍵中であることを表す。この際、例えば第1及び第2のキースイッチの双方がオンになっている場合に押鍵中であることを表す「1」のデータが作成され、それ以外の場合は離鍵中であることを表す「0」のデータが作成される。当該構成は、本発明の押鍵検出手段の構成に相当する。
【0037】
また、押鍵によって第1のキースイッチ(その鍵に備えられている第1のキースイッチ)がオンになってから第2のキースイッチ(同じくその鍵に備えられている第2のキースイッチ)がオンになるまでの時間が計測され、この計測された時間に基づいてベロシティデータが作成される。これら鍵盤データ及びベロシティデータは、システムバス20を介してCPU10に送られる。CPU10は、鍵盤データに基づいて押鍵/離鍵がなされたかどうかを判断する(詳細は後述する)。
【0038】
自動演奏データメモリ13は、ROMで構成されている。この自動演奏データメモリ13には、コンサートマジック演奏用の複数の曲の夫々に対応する複数の自動演奏データが記憶されている。これらの自動演奏データは、通常の自動演奏、コンサートマジック機能を使用した自動演奏等に共通に使用される。各自動演奏データには曲番号が付されている。コンサートマジック演奏用の自動演奏データとしては、曲番号レジスタに格納されている曲番号と同一の曲番号を有する自動演奏データが選択される。これら各自動演奏データは、従来の技術の欄で説明したと同様に、音符データの集合で構成されている。
【0039】
CPU10は、上述のように、プログラムメモリ11から所定のプログラムを読み出し、ワークメモリ12を使用しながら、図1各部の制御を行うと共に、本実施例構成では、後述する本発明の自動演奏部10a及びリバース押鍵待機部10bを構成する。
【0040】
楽音発生回路15は、後述する自動演奏部10aからキー&トーンアサイナ151が受け取ったトーン・ボリューム、キーナンバ及びベロシティの各データに基づき、上記キー&トーンアサイナ151によって割り付けられた各チャンネル毎に上記データに基づき所定の音色データの読み出しが行われる波形メモリ(図示しない)を有する音源で構成されている。波形メモリは、各音色パラメータに対応する波形データを記憶している。波形データは、例えば自然楽器音に基づいて生成された楽音信号をパルスコード変調(PCM)することによって作成される。この波形メモリは、例えばROMで構成できる。
【0041】
キー&トーンアサイナ151は、発音を行う場合に、少なくとも1個のチャンネルを発音用に割り当て、この割り当てられたチャンネルに音色パラメータを供給する。音色パラメータを受け取ったチャンネルは、上記楽音発生回路15により波形メモリから波形データを順次読み出し、これにエンベロープを付加して楽音信号を生成する。この楽音信号は、増幅器152で増幅された後にスピーカ153に供給される。これにより、スピーカ153で音響信号に変換されて放音される。
【0042】
以上の構成では、本発明の構成は、図3のような機能ブロック構成として示されることになる。
【0043】
すなわち、本発明の構成は、複数の音符データで成る自動演奏データを記憶する自動演奏データメモリ13と、押鍵がなされたことを検出する上記鍵盤スキャン回路14で構成される押鍵検出部と、該押鍵検出部により押鍵がなされたことが検出される毎に、該自動演奏データメモリ13から音符データを読み出し、該読み出された音符データに基づいて、上記キー&トーンアサイナ151及び楽音発生回路15以降の回路構成から発音させ、以て自動演奏を進行させる自動演奏部10aと、自動演奏の進行中に指示を与える上記操作パネル101上のヘルプスイッチ(HELP SW)201で構成される指示部と、該指示部による指示に応じて、自動演奏の進行を戻して、所定の位置までは押鍵の検出によらずに上記自動演奏データに従った自動演奏を上記自動演奏部10aに行わせ、該位置まで自動演奏が進行した際に押鍵の検出を待機する状態にするリバース押鍵待機部10bとを備えている。このうち、上記自動演奏部10aとリバース押鍵待機部10bとは、上述のように、上記CPU10で構成される。
【0044】
本実施例構成では、図4に示すように、例えば、演奏者が小節4の部分をコンサートマジックにより演奏(押鍵によるトリガーのみ与える状態)途中で、誤って自動演奏を進行させても、ヘルプスイッチ(HELP SW)201を押すことで、その1つ前の小節の表示に切り替わり、小節3から自動演奏が再生され、小節4の頭で鍵盤スキャン回路14の押鍵検出部による押鍵トリガ待機状態に設定されることになる。
【0045】
次に、上記の構成において、図5〜図15に示したフローチャートを参照しながらこの電子楽器の動作を詳細に説明する。なお、上記フローチャートに示された処理は、何れもCPU10により行われる。
【0046】
(1)メイン処理:図5はこの電子楽器のメイン処理を示すフローチャートである。このメイン処理ルーチンは電源の投入により起動される。即ち、電源がONにされると、先ず、CPU10、RAM(ワークメモリ12)及びその他の初期化処理が行われる(ステップS101〜ステップS103)。これらの初期化処理では、CPU10の内部のハードウエアが初期状態に設定されると共に、ワークメモリ12に定義されているレジスタ、カウンタ、フラグ等に初期値が設定される。
【0047】
この初期化処理が終了すると、次いで、鍵盤処理が行われる(ステップS104)。この鍵盤処理では、詳細は後述するが、電子楽器が通常演奏モードにある場合は押鍵に応じた発音処理及び離鍵に応じた消音処理が行われる。一方、CMモードにある場合は、押鍵があった旨を、データ読出リクエストフラグで記憶する。
【0048】
その後パネルスイッチ処理が行われる(ステップS105)。このパネルスイッチ処理では、詳細は後述するが、操作パネル101上の各スイッチに割り当てられている機能を実現するための処理が行われる。
【0049】
そして自動演奏処理が行われる(ステップS106)。この自動演奏処理の詳細については後述する。
【0050】
次いで、「その他のメイン処理」が行われる(ステップS107)。この処理では、上述した以外の処理、ペダルのON/OFF処理、MIDI処理、DSP処理が行われる。
【0051】
その後ステップS104に戻り、以下ステップS104〜S107の処理が繰り返される。この繰り返し実行の過程で、操作パネル101の操作、鍵盤装置141の操作、外部インタフェース回路102でのMIDIデータの受信等があると、それらに応じた処理が行われることにより電子楽器及び自動演奏装置としての各種機能が実現されている。
【0052】
(2)割込処理:割込処理は、割込信号に応じて、上記メイン処理ルーチンの各処理に割り込んで行われる。本実施例の割込処理は、2つの割込処理が行われている。この割込処理の詳細は、図6及び図7のフローチャートに示されている。
【0053】
図6に示す2msec毎のタイマ割込処理は、タイマ16からの割込信号に応じて行われ、先ず、パネルスイッチ状態が取得され(ステップS201)、SW_NEWレジスタにそのパネルスイッチ状態が保存される(ステップS202)。そのパネルスイッチ状態に応じて、パネルのLED画面300にその状態が表示される(ステップS203)。
【0054】
また別の自動演奏クロック割込処理は図7によって説明される。すなわち、シーケンサカウンタ(SEQ_CNT)の内容がインクリメントされる(ステップS301)。従って、このシーケンサカウンタ(SEQ_CNT)は、テンポに比例した時間間隔でインクリメントされる。次いで、自動演奏中であるか否かがチェックされる(ステップS302)。このステップS302で、自動演奏中であると判断される(ステップS302;Y)と、ゲートタイムカウンタ(Gate_CNT)の内容がインクリメントされる(ステップS303)。その後、このクロック割込処理ルーチンからメイン処理ルーチンの割り込まれた位置にリターンする。上記ステップS302で自動演奏中でないことが判断されたとき(ステップS302;N)も、このクロック割込処理ルーチンからリターンする。以上の処理により、ゲートタイムカウンタ(Gate_CNT)の内容は、1ステップタイム毎にインクリメントされることになる。
【0055】
(3)鍵盤処理:次に、メイン処理ルーチンのステップS104で行われる鍵盤処理の詳細を、図8に示したフローチャートを参照しながら説明する。
【0056】
この鍵盤処理では、先ず、鍵盤スキャン回路14から鍵盤データ(以下、「新鍵盤データ」という)が取り込まれ、キーオンイベントマップが作成される。このキーオンイベントマップは、新鍵盤データと、前回の鍵盤処理で取り込まれて既にワークメモリ12に設けられた旧鍵盤データレジスタに記憶されている鍵盤データ(以下、「旧鍵盤データ」という)との排他的論理和をとることにより作成される。
【0057】
それを基にキーオンイベントがあるかどうかがチェックされる(ステップS401)。これは、上記のようにして作成されたキーオンイベントマップがゼロであるかどうかを調べることにより行われる。ここで、キーオンイベントがない、つまりキーオンイベントマップがゼロであることが判断される(ステップS401;N)と、シーケンスはキーオフイベントがあるか否かがチェックされる(ステップS405)。キーオフイベントがある場合(ステップS405;Y)、鍵盤消音処理がなされ(ステップS406)、メインルーチンに復帰する。またキーオフイベントがない場合(ステップS405;N)も、そのままメインルーチンへ復帰する。
【0058】
一方、キーオンイベントがある、つまりイベントマップ中に「1」であるビットが少なくとも1つ存在することが判断される(ステップS401;Y)と、CMフラグの状態がチェックされ、CMモードであるかどうか、すなわちコンサートマジック中であるか否かが判断される(ステップS402)。
【0059】
ここで、CMモードでないことが判断される(ステップS402;N)と、通常演奏モードであることが認識され、通常の鍵盤発音処理が行われる(ステップS403)。
【0060】
この通常の発音処理では、鍵イベントマップ中の「1」になっているビットに対応する鍵のキーナンバが算出されると共に、鍵盤スキャン回路14から当該鍵に対応するベロシティデータが読み込まれる。そして、このキーナンバに対応する音色パラメータがプログラムメモリ11から読み出され、ベロシティデータと一緒にキー&トーンアサイナ151を介して楽音発生回路15に送られる。これにより、押鍵に応じた音が押鍵に応じた強さでスピーカ153から発生される。
【0061】
一方、ステップS402でCMモードであることが判断される(ステップS402;Y)と、後述するコンサートマジック曲進行処理(ステップS404)に移行する。該CMモードでは、発音中の音はゲートタイムに従って消音される。この消音を行うための処理は、後述するコンサートマジック演奏処理において行われる。従って、CMモードでは離鍵イベントがあっても何らの処理も行われない。その後、シーケンスは上記ステップS405に進む。
【0062】
なお、上記では、説明を簡単にするために1つ押鍵又は離鍵があった場合について説明したが、複数の押鍵又は離鍵があった場合は、ステップS401以下の処理を鍵イベントの数だけ繰り返して実行するように構成すればよい。
【0063】
(4)パネルスイッチ処理:次に、メイン処理ルーチンのステップS105で行われるパネル処理の詳細を、図9のフローチャートを参照しながら説明する。このパネル処理では、操作パネル101上の各スイッチに割り当てられている機能を実現するための処理が実行される。
【0064】
このパネル処理では、先ず操作パネル101からパネルデータ(以下、「新パネルデータ」という)が新パネルデータレジスタ(SW_NEW)に取り込まれ、この新パネルデータと前回のパネル処理で取り込まれて既にワークメモリ12に設けられた旧パネルデータレジスタ(SW_OLD)に記憶されているパネルデータ(以下、「旧パネルデータ」という)との排他的論理和をとることにより、オンイベントマップが作成される(ステップS501)。
【0065】
次いで、このオンイベントマップから、後述するコンサートマジックスイッチのオンイベント処理がなされる(ステップS502)。
【0066】
さらに上記オンイベントマップから、後述するヘルプスイッチのオンイベント処理がなされる(ステップS503)。
【0067】
その後、その他のスイッチオンイベント処理がなされ(ステップS504)、最後に新パネルデータレジスタ(SW_NEW)の内容は、旧パネルデータレジスタ(SW_OLD)の内容として旧パネルデータレジスタ(SW_OLD)に格納される。この旧パネルデータレジスタ(SW_OLD)の内容は、次回のパネルスイッチ処理で参照される。そしてシーケンスはメイン処理ルーチンのステップS106にリターンする。
【0068】
(5)コンサートマジックスイッチオンイベント処理:上記図9のステップS502で示されたコンサートマジックスイッチオンイベント処理につき、図10を使用して説明する。
【0069】
上記のようにして作成されたオンイベントマップから、コンサートマジックスイッチオンイベントがあるか否かがチェックされる(ステップS601)。このオンイベントがなければ(ステップS601;N)、シーケンスは上記ステップS503にリターンする。
【0070】
反対にコンサートマジックスイッチオンイベントがあれば(ステップS601;Y)、CMフラグが参照され、現在コンサートマジック中か否かがチェックされる(ステップS602)。現在コンサートマジック中であれば(ステップS602;Y)、コンサートマジック処理は終了され(ステップS605)、シーケンスは上記ステップS503にリターンする。
【0071】
逆に現在コンサートマジック中でなければ(ステップS602;N)、曲番号レジスタが参照されてその曲番号からコンサートマジック演奏用の曲の音符データが読み出され、曲初期設定がなされる(ステップS603)。その後コンサートマジック中の状態に設定され(ステップS604)、シーケンスは上記ステップS503にリターンする。
【0072】
(6)自動演奏処理:次に、メイン処理ルーチンのステップS106で行われる自動演奏処理の詳細を、図11のフローチャートを参照しながら説明する。この自動演奏処理では、上記パネルスイッチ処理により設定される自動演奏フラグが参照され自動演奏中か否かがチェックされる(ステップS701)。自動演奏中でなければ(ステップS701;N)、シーケンスはメイン処理ルーチンのステップS107にリターンする。
【0073】
自動演奏中であれば(ステップS701;Y)、後述する自動演奏消音処理が実施される(ステップS702)。
【0074】
そしてアドレスレジスタ(R_ADD)の示すアドレスから、音符データが読み込まれ(ステップS703)、そのデータがデータエンドマークであるか否かがチェックされる(ステップS704)。データエンドマークであれば(ステップS704;Y)、コンサートマジック処理が終了せしめられ(ステップS705)、シーケンスはメイン処理ルーチンのステップS107にリターンする。
【0075】
データエンドマークでなければ(ステップS704;N)、読み出されたデータがバーマーク乃至ビートマークか否かがチェックされる(ステップS706)。
【0076】
読み出されたデータがバーマーク乃至ビートマークであれば(ステップS706;Y)、シーケンサカウンタ(SEQ_CNT)の値が本自動演奏装置で1拍を示す96以上の値であるか否かがチェックされる(ステップS707)。シーケンサカウンタ(SEQ_CNT)の値が96より小さい値である場合(ステップS707;N)、シーケンスはメイン処理ルーチンのステップS107にリターンする。
【0077】
反対にシーケンサカウンタ(SEQ_CNT)の値が96より大きい値であれば(ステップS707;Y)、次の音符データを読み出すため、シーケンサカウンタ(SEQ_CNT)の値が0にセットされ(ステップS708)、アドレスレジスタ(R_ADD)の値がインクリメントされ、その値が保存される(ステップS709)。そしてアドレスレジスタ(R_ADD)の値が曲の終わりを示すストップアドレス値(STOP_ADD)になったか否かがチェックされる(ステップS710)。
【0078】
アドレスレジスタ(R_ADD)の値がストップアドレス値(STOP_ADD)になっていなければ(ステップS710;N)、シーケンスはメイン処理ルーチンのステップS107にリターンする。
【0079】
反対にアドレスレジスタ(R_ADD)の値がストップアドレス値(STOP_ADD)になっていれば(ステップS710;Y)、自動演奏処理が中止(終了)される(ステップS711)。そしてシーケンスはメイン処理ルーチンのステップS107にリターンする。
【0080】
上記ステップS706で、読み出された音符データがバーマーク乃至ビートマークでなければ(ステップS706;N)、シーケンサカウンタ(SEQ_CNT)の値が音符データのステップタイムの値以上であるか否かがチェックされる(ステップS712)。
【0081】
シーケンサカウンタ(SEQ_CNT)の値がステップタイムの値以上でなければ(ステップS712;N)、シーケンスはメイン処理ルーチンのステップS107にリターンする。
【0082】
反対にシーケンサカウンタ(SEQ_CNT)の値がステップタイムの値以上であれば(ステップS712;Y)、発音などの処理が行われ、同時に読み出されたデータが音符データであればその現在鳴っている音のゲートタイム(Gate[note])が保存される(ステップS713)。
【0083】
そしてアドレスレジスタ(R_ADD)の値がインクリメントされ、その値が保存され(ステップS714)、上記ステップS703に復帰し、以上の処理を繰り返す。
【0084】
(7)自動演奏消音処理:上記自動演奏処理ルーチンのステップS702で行われる自動演奏消音処理の詳細を、図12のフローチャートを参照しながら説明する。
【0085】
この自動演奏消音処理では、最初に割込処理が禁止され(ステップS801)、現在発音されている全てのゲートタイム(Gate[note])がゲートタイムカウンタ(Gate_CNT)の値で減算される(ステップS802)。
【0086】
そして該ゲートタイムカウンタ(Gate_CNT)の値が0にセットされ(ステップS803)、その後に割込処理が許可されることになる(ステップS804)。
【0087】
その後ゲートタイム(Gate[note])の値が0以下の音符データが消音される(ステップS805)。
【0088】
(8)コンサートマジック曲進行処理:図8の鍵盤処理で行われるステップS404のコンサートマジック曲進行処理を、図13のフローチャートを参照しながら説明する。
【0089】
このコンサートマジック曲進行処理では、上記パネルスイッチ処理により設定される自動演奏処理フラグが参照され自動演奏中か否かがチェックされる(ステップS901)。自動演奏中であれば(ステップS901;Y)、シーケンスは鍵盤処理ルーチンのステップS405にリターンする。
【0090】
自動演奏中でなければ(ステップS901;N)、後述するコンサートマジック消音処理が実施される(ステップS902)。
【0091】
そしてノートオンデータ(note_on)の値が0に、またステップ変数(step)の値が0xffの値にセットされる(ステップS903)。
【0092】
その後アドレスレジスタ(R_ADD)が示すアドレスから、音符データが読み込まれ(ステップS904)、そのデータがデータエンドマークであるか否かがチェックされる(ステップS905)。データエンドマークであれば(ステップS905;Y)、コンサートマジック処理が終了せしめられ(ステップS906)、シーケンスは鍵盤処理ルーチンのステップS405にリターンする。
【0093】
データエンドマークでなければ(ステップS905;N)、読み出されたデータがバーマーク乃至ビートマークか否かがチェックされる(ステップS907)。
【0094】
読み出されたデータがバーマーク乃至ビートマークであれば(ステップS907;Y)、上記ステップ変数(step)の値が0xffの値にセットされ(ステップS908)、ゲートタイムカウンタ(Gate_CNT)が、1拍の値96からステップバッファ(step_buf)のカウント値を引いた値にセットされる(ステップS909)。そしてステップバッファ(step_buf)のカウント値が0にセットされ(ステップS910)、アドレスレジスタ(R_ADD)の値がインクリメントされ、その値が保存される(ステップS911)。その後上記ステップS904に復帰する。
【0095】
上記ステップS907で、読み出されたデータがバーマーク乃至ビートマークでなければ(ステップS907;N)、読み出されたデータがノートオンデータであるか否かがチェックされる(ステップS912)。ノートオンデータでなければ(ステップS912;N)、アドレスレジスタ(R_ADD)の値がインクリメントされ、その値が保存される(ステップS920)。その後上記ステップS904に復帰する。
【0096】
一方読み出されたデータがノートオンデータであれば(ステップS912;Y)、読み出されたデータが和音を構成するノートオンデータであるか否かを判断するため、ノートオンデータ(note_on)の値が0であるか否かがチェックされ(ステップS913)、まず最初の音であるか否かが判断される。
【0097】
ノートオンデータ(note_on)の値が0であれば(ステップS913;Y)、ノートオンデータ(note_on)の値が1に、実際のステップタイムが上記ステップ変数(step)と同一に、またその値がステップバッファ(step_buf)の値に、さらにゲートタイムカウンタ(Gate_CNT)の値が0にセットされる(ステップS914)。
【0098】
その後自動演奏データとしての音符データに規定されたゲートタイムが各ノートオンデータのゲートタイムの値(Gate[note])にセットされ(ステップS915)、発音処理がなされる(ステップS916)。その後アドレスレジスタ(R_ADD)の値がインクリメントされ、その値が保存され(ステップS917)、上記ステップS904に復帰する。
【0099】
上記ステップS913でノートオンデータ(note_on)の値が0でなければ(ステップS913;N)、ステップタイムが一致する和音であるかを判別するため、ステップ変数(step)の値が音符データのステップタイムと一致しているか否かがチェックされる(ステップS918)。
【0100】
ステップ変数(step)の値がステップタイムと一致していれば(ステップS918;Y)、上記ステップS915に移行する。反対に一致していなければ(ステップS918;N)、和音以外の音に相当するので、ゲートタイムカウンタ(Gate_CNT)の値が、(ステップタイム−step_buf)の値にセットされ(ステップS919)、シーケンスは鍵盤処理ルーチンのステップS405にリターンする。
【0101】
(9)コンサートマジック消音処理:図13のコンサートマジック曲進行処理で行われるステップS902のコンサートマジック消音処理を、図14のフローチャートを参照しながら説明する。
【0102】
このコンサートマジック消音処理では、現在発音されている全ての音符データのゲートタイム(Gate[note])がゲートタイムカウンタ(Gate_CNT)の値で減算される(ステップS1001)。
【0103】
そしてゲートタイム(Gate[note])の値が0以下の音符データが消音される(ステップS1002)。
【0104】
(10)ヘルプスイッチオンイベント処理:上記図9のステップS503で示されたヘルプスイッチオンイベント処理につき、図15を使用して説明する。
【0105】
上記のようにして作成されたオンイベントマップから、ヘルプスイッチオンイベントがあるか否かがチェックされる(ステップS1101)。このオンイベントがなければ(ステップS1101;N)、シーケンスは上記ステップS504にリターンする。
【0106】
反対にヘルプスイッチオンイベントがあれば(ステップS1101;Y)、CMフラグが参照され、現在コンサートマジック中か否かがチェックされる(ステップS1102)。現在コンサートマジック中でなければ(ステップS1102;N)、シーケンスは上記ステップS504にリターンする。また現在コンサートマジック中であれば(ステップS1102;Y)、自動演奏中であるか否かがチェックされる(ステップS1103)。自動演奏中であれば(ステップS1103;Y)、シーケンスは上記ステップS504にリターンする。
【0107】
逆に自動演奏中でなければ(ステップS1103;N)、上記本発明構成のリバース押鍵待機部10bにより以下の処理が実施される。
【0108】
まず、現在発音中の音全てが消音される(ステップS1104)。その後バーカウンタ(Bar_CNT)、ゲートタイムカウンタ(Gate_CNT)、ステップバッファ(step_buf)及び現在実行中の音符データのゲートタイム(Gate[Note])が全て0にセットされる(ステップS1105)。
【0109】
現在読み込まれているアドレスレジスタ(R_ADD)の示すアドレスがその曲の先頭アドレス(SongTopAdd)より大きいか否かがチェックされる(ステップS1106)。その曲の先頭アドレス(SongTopAdd)より大きくなければ(ステップS1106;N)、シーケンスは上記ステップS504にリターンする。
【0110】
逆にその曲の先頭アドレス(SongTopAdd)より大きければ(ステップS1106;Y)、アドレスレジスタ(R_ADD)が示すアドレスが減算される(ステップS1107)。
【0111】
そして減算された結果が現在弾いていた小節の先頭のバー(図4の例では小節4の先頭のバー)に当たったか否かの判断のため、アドレスレジスタ(R_ADD)のアドレスが示すデータがバーであるか否かがチェックされる(ステップS1108)。アドレスレジスタ(R_ADD)のアドレスが示すデータがバーでなければ(図4の例では手前の演奏音か伴奏音)(ステップS1108;N)、上記ステップS1106に戻り、現在弾いていた小節の先頭のバーがくるまで、以上の処理が繰り返される。
【0112】
反対にアドレスレジスタ(R_ADD)のアドレスが示すデータがバーであれば(ステップS1108;Y)、バーカウンタ(Bar_CNT)がインクリメントされ(ステップS1109)、さらにバーカウンタ(Bar_CNT)が1であるか否かがチェックされる(ステップS1110)。
【0113】
バーカウンタ(Bar_CNT)が1であれば(ステップS1110;Y)、アドレスレジスタ(R_ADD)の値がストップアドレス値(STOP_ADD)にセットされ(ステップS1111)、前記図11のステップS710及びステップS711において自動演奏による演奏がストップされて待機状態になるようにセットしておいて、ステップS1106に復帰し、以上の処理が繰り返されることで、さらに1小節前のバーの所(図4の例では小節3の先頭のバー)まで戻されることになる。
【0114】
その間にバーカウンタ(Bar_CNT)はステップS1109のインクリメントにより1より大きくなっているため、上記ステップS1110で、バーカウンタ(Bar_CNT)が1でないため(ステップS1110;N)、自動演奏中の状態になり(ステップS1012)、シーケンスは上記ステップS504にリターンする。この自動演奏は、上述のように、図11のステップS710及びステップS711で、ヘルプスイッチ(HELP SW)が押された小節の先頭のバー(図4の例では小節4の先頭のバー)の所で、その演奏がストップされ、待機状態となる。
【0115】
尚、LCD画面300には、図4の小節4の頭にポインタを置くなど、そこで止まっていることが分かるように表示されるようにすると良い。
【0116】
このように、コンサートマジック曲進行処理中にヘルプスイッチ(HELP SW)が押されることで、演奏者が現在弾いている小節の1つ前の小節に戻り、そこから1小節分カラオケ状態で自動演奏がなされ、次の小節の頭でキーオンイベント待ちの状態になるため、どこまで戻ったかを演奏者が自動演奏音を聞くことで、素早く確認することができるようになり、曲調に慣れ、次の押鍵のタイミングもより適切に行うことができるようになる。
【0117】
尚、本発明の自動演奏装置は、上述の実施例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【0118】
【発明の効果】
以上詳述したように、本発明によれば、演奏者が曲の途中で誤って自動演奏を進行させても、指示手段で指示が与えられることで、上記リバース押鍵待機手段により、自動演奏の進行を戻して、所定の位置までは押鍵の検出によらずに上記自動演奏データに従った自動演奏を上記自動演奏手段に行わせ、該位置まで自動演奏が進行した際に押鍵の検出を待機する状態にセットされるので、どこまで戻ったかを演奏者がカラオケ演奏状態で確認することができ、次の押鍵のタイミングがより適切に行うことができるようになるため、使い勝手に優れた自動演奏装置及び自動演奏方法を提供できることになる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る自動演奏装置が適用された電子楽器の構成を示すブロック図である。
【図2】操作パネル101の構成を示す平面概要図である。
【図3】本発明の実施例構成における機能ブロックを示すブロック図である。
【図4】実際の自動演奏データのコンサートマジックによる演奏で、本実施例構成が適用された場合の状態を示す説明図である。
【図5】本電子楽器のメイン処理を示すフローチャートである。
【図6】2msec毎のタイマ割込処理を示すフローチャートである。
【図7】自動演奏クロック割込処理を示すフローチャートである。
【図8】鍵盤処理を示すフローチャートである。
【図9】パネルスイッチ処理を示すフローチャートである。
【図10】コンサートマジックスイッチオンイベント処理を示すフローチャートである。
【図11】自動演奏処理を示すフローチャートである。
【図12】自動演奏消音処理を示すフローチャートである。
【図13】コンサートマジック曲進行処理を示すフローチャートである。
【図14】コンサートマジック消音処理を示すフローチャートである。
【図15】ヘルプスイッチオンイベント処理を示すフローチャートである。
【図16】音符データの形式を説明する説明図である。
【符号の説明】
10 CPU
10a 自動演奏部
10b リバース押鍵待機部
11 プログラムメモリ
12 ワークメモリ
13 自動演奏データメモリ
14 鍵盤スキャン回路
15 楽音発生回路
16 タイマ
20 システムバス
101 操作パネル
102 外部インタフェース回路
141 鍵盤装置
151 キー&トーンアサイナ
152 増幅器
153 スピーカ
200 CMスイッチ
201 ヘルプスイッチ
202 曲ボタン
300 LCD画面
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an automatic performance apparatus and an automatic performance method applied to, for example, an electronic musical instrument, and more particularly to a technique for controlling the progress of automatic performance performed based on automatic performance data.
[0002]
[Prior art]
A conventional automatic performance apparatus stores a plurality of automatic performance data corresponding to each of a plurality of songs in a memory. Each automatic performance data is composed of a plurality of note data. Each note data is used to generate one note, and is composed of data designating a key number, step time, gate time, and velocity, as shown in FIG. 16, for example. The “key number” corresponds to, for example, a number assigned to each key of the keyboard device, and is used for designating a pitch (pitch). “Step time” is used to specify the timing (time) of the start of sound generation. “Gate time” is used to specify the length of the pronunciation (sound length). “Velocity” is used to specify the strength of the sound. Automatic performance data corresponding to one piece of music is composed of such note data arranged in order of step times.
[0003]
When one piece of music is selected in this automatic performance device and the start of automatic performance is instructed, the control unit of the automatic performance device reads the automatic performance data corresponding to the selected music from the memory, and this read automatic performance Pronunciation based on data. Thereby, the selected music is automatically played.
[0004]
Specifically, when the start of automatic performance is instructed, a count-up operation of a sequencer counter (SEQ_CNT described later) is started. The sequencer counter is incremented every step. One step is uniquely defined by the model such as 1/24, 1/48, 1/96, etc. of one beat. The actual time of one beat is determined according to the tempo. Therefore, the real time of one step, that is, the real time interval of the count-up of the sequencer counter is determined according to the tempo.
[0005]
One note data is read from the memory while the sequencer counter is operating. Then, the step time in the note data is compared with the contents of the sequencer counter. If they do not match, it is determined that the note data has not reached the sounding timing. Thereafter, the comparison operation is repeated at a predetermined cycle in the same manner. If the step time in the note data coincides with the contents of the sequencer counter during repeated execution of this comparison operation, it is determined that the note data has reached the tone generation timing, and the tone generation process based on the note data is performed. At this time, the gate time data in the note data is set to the gate time (Gate [Note] described later). As a result, generation of a sound having a pitch specified by the key number in the note data and a strength specified by the velocity is started. When the start of sound generation based on one piece of note data is completed, the next piece of note data is read from the memory, and the same processing as described above is repeated.
[0006]
On the other hand, the sound for which sound generation has started is muted when the time designated by the gate time in the note data has elapsed. That is, the gate time in which the gate time data is set in the sound generation process is subtracted by the gate time counter. Then, when the content of the gate time becomes zero or less, a mute process is performed to mute the sound being sounded. As described above, the sound generation process and the mute process are executed one after another, so that one piece of music is automatically played.
[0007]
By the way, in recent years, an automatic performance apparatus with a concert magic function (CM described later) applying the above-described automatic performance apparatus technology has been developed. Here, the “concert magic function” is a function for reading out note data from the memory at a timing instructed by the performer, for example, a key-pressed timing, and starting sound generation based on the note data. In this automatic performance device with a concert magic function, automatic performance data generally used in the conventional automatic performance device described above is used. However, the step time data in each note data constituting the automatic performance data is not used. Instead, the sound generation timing is given by the player from the outside.
[0008]
In an automatic performance device with a concert magic function, the keyboard device is simply used as a means for giving a sounding timing. That is, when any key of the keyboard device is pressed, a sound generation process based on the note data having the next step time data is performed, and the automatic performance proceeds.
[0009]
In short, an automatic performance device with a concert magic function can be said to be an automatic performance device in which the pitch and length are determined based on automatic performance data, and the sound generation timing and sound intensity are determined by instructions from the performer. . In the conventional automatic performance apparatus, since the automatic performance automatically proceeds, there is no room for the performer to intervene. On the other hand, in an automatic performance device with a concert magic function, since the player performs automatic performance by instructing the sound generation timing, the player can obtain a satisfaction as if he / she was playing. it can.
[0010]
Even in an automatic performance device with a concert magic function that provides such satisfaction, if the automatic performance progresses by the player instructing the sound generation timing, the progress of the automatic performance cannot be reversed. Therefore, if the performer mistakenly advances the automatic performance, the original performance cannot be restored, so that there is a problem that the performance is inferior.
[0011]
Therefore, the present applicant has proposed a configuration in which a reverse process for returning a concert magic performance in units of measures to an arbitrary position is performed each time a predetermined instruction is given by an operation such as pressing a reverse switch (patent) Reference 1). Thus, even if the performer mistakenly advances the automatic performance in the middle of the song, it can be restored, so that it is possible to perform a concert magic performance with excellent usability.
[0012]
[Patent Document 1]
JP 11-311989 A (page 9-11, FIG. 10 and FIG. 11)
[0013]
[Problems to be solved by the invention]
However, in the above configuration, each bar unit is simply returned to a predetermined position, and it is often not clear to the player how far it has returned. Therefore, when you next press the key, you will not know where the song will start (you will lose track of where you want to play if you are a performer), making it easier to use than you originally expected. The goodness was not drawn out.
[0014]
The present invention was devised in view of the above circumstances, and can perform a concert magic performance that is even more convenient when the performer mistakenly advances the automatic performance in the middle of the song and restores it to its original state. It is intended to provide an automatic performance device and an automatic performance method.
[0015]
[Means for Solving the Problems]
The automatic performance device according to the present invention is
Storage means for storing automatic performance data comprising a plurality of note data;
A key press detecting means for detecting that a key was pressed;
Each time it is detected by the key pressing detection means that the key is pressed, the note data is read from the storage means, and sound is generated based on the read note data, so that automatic performance is advanced. Playing means,
An instruction means for giving instructions while the automatic performance is in progress;
In response to an instruction from the instruction means, the progress of the automatic performance is returned, and the automatic performance means according to the automatic performance data is performed according to the automatic performance data without detecting the key press until a predetermined position, Reverse key press waiting means for waiting for key press detection when automatic performance progresses to
It has the basic feature of having
[0016]
According to the above configuration, when an instruction is given by the instruction means, the automatic performance data is returned to the predetermined position without detecting the key depression by returning the progress of the automatic performance by the reverse key depression waiting means. The automatic performance means according to the above is performed by the automatic performance means, and when the automatic performance has progressed to the position, the key press detection is waited. Since it can be confirmed, the melody is understood and the timing of the next key pressing can be performed more appropriately.
[0017]
When an instruction is given by the instruction means, the reverse key press waiting means returns the progress of the automatic performance to an arbitrary number of measures (for example, one measure) before the measure that has been played so far, and The performance means performs an automatic performance according to the automatic performance data, stops the progress of the automatic performance in front of the measure that was being performed, and sets the standby state for the next key press detection (display) However, if the performer mistakenly advances the automatic performance in the middle of the song, the player can quickly return to the original state (claim 2).
[0018]
The configurations of claims 3 and 4 are defined by re-taking the configuration of the apparatus of claims 1 and 2 as a method configuration.
[0019]
That is, the configuration of the automatic performance method of claim 3 corresponds to the configuration of claim 1, more specifically, automatic performance data composed of a plurality of note data is stored, and each time a key depression is detected, the automatic performance data is stored. An automatic performance method that reads out stored note data and produces a sound based on the data, thereby advancing the automatic performance. When a predetermined instruction is given during the automatic performance that progresses every time a key is detected. The automatic performance is returned in response to the instruction, and the automatic performance according to the automatic performance data is performed up to a predetermined position without detecting the key press, and the automatic performance proceeds to the position. It is characterized by being in a state of waiting for detection of a key press.
[0020]
Further, the configuration of the automatic performance method of claim 4 corresponds to the configuration of claim 2, and more specifically, when an instruction from the performer is given, an arbitrary performance can be selected from the measures that have been performed until then. The progress of the automatic performance is returned to a few bars before, and the automatic performance is performed according to the automatic performance data. It is characterized by setting to a standby state.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an automatic performance device according to an embodiment of the present invention will be described in detail with reference to the drawings. Although this automatic performance device can be configured as an independent device, an automatic performance device incorporated in an electronic musical instrument will be described below.
[0022]
FIG. 1 is a block diagram showing a configuration of an electronic musical instrument to which an automatic performance device according to an embodiment of the present invention is applied. The electronic musical instrument includes a central processing unit (hereinafter referred to as “CPU”) 10, a program memory 11, a work memory 12, an automatic performance data memory 13, a keyboard scan circuit 14, and a tone generation circuit that are connected to each other via a system bus 20. 15 and timer 16. An operation panel 101 and an external interface circuit 102 are connected to the CPU 10. An interrupt signal is supplied from the timer 16 to the CPU 10. A keyboard device 141 is connected to the keyboard scan circuit 14. Further, a key & tone assigner 151 is interposed between the musical sound generating circuit 15 and the system bus 20, an amplifier 152 is connected to the musical sound generating circuit 15, and a speaker 153 is connected to the amplifier 152. Yes.
[0023]
The CPU 10 controls the entire electronic musical instrument according to a control program stored in the program memory 11. The processing performed by the CPU 10 will be described in detail later with reference to a flowchart.
[0024]
For example, as shown in FIG. 2, the operation panel 101 is provided with a concert magic switch (hereinafter referred to as “CM switch”) 200, a help switch (HELP switch) 201 corresponding to an instruction unit of the present application configuration, and a song button 202. . Although not shown, the electronic musical instrument is provided with, for example, an automatic performance switch, a volume switch, a tone color selection switch, a reverberation effect selection switch, etc. in addition to these switches. In addition, the operation panel 101 is provided with an LCD screen 300 used as a display device for displaying various messages.
[0025]
The CM switch 200 is used to specify whether or not to use the concert magic function. The setting state of the CM switch 200 is stored in a CM flag described later. This CM flag is inverted every time the CM switch 200 is pressed. That is, when the electronic musical instrument is in the normal performance mode (CM flag = 0), when the CM switch 200 is pressed, the CM flag is set to “1” and the concert magic mode (hereinafter referred to as “CM mode”) is entered. . On the other hand, when the CM switch 200 is pressed in the CM mode (CM flag = 1), the CM flag is cleared to “0” and the normal performance mode is entered.
[0026]
A help switch (HELP switch) 201 is used to give an instruction to the reverse key press standby unit 10b configured by the CPU 10 to execute the function of the reverse key press standby unit.
[0027]
The song button 202 is used by the performer to select a desired song from a plurality of songs for concert magic performance, and the button is appropriately rotated to select from the songs displayed on the LCD screen 300. You will be able to choose. The song number of the song selected by the song button 202 is stored in a song number register to be described later.
[0028]
The operation panel 101 includes a panel interface circuit (not shown). This panel interface circuit scans each switch on the operation panel 101 in accordance with a command from the CPU 10. Then, panel data is created based on a signal indicating the open / closed state of each switch obtained by this scan. Each bit of the panel data corresponds to each of the above switches. For example, “1” represents a switch-on state and “0” represents a switch-off state. This panel data is used to determine whether or not each switch on the operation panel 101 has been pressed (details will be described later).
[0029]
Further, the panel interface circuit sends the display data sent from the CPU 10 to the LCD screen 300 on the operation panel 101. As a result, a message according to the display data is displayed on the LCD screen 300.
[0030]
The external interface circuit 102 controls data transmission / reception between the CPU 10 and an external device. As the external interface circuit 102, for example, a general-purpose interface such as a MIDI interface, an RS232C interface, a SCSI interface, or a model-specific interface can be used according to the type of equipment connected to the outside. As the external device, for example, other electronic musical instruments, personal computers, sequencers, and the like can be used. In this embodiment, it is assumed that a MIDI interface circuit is used as the external interface circuit 102.
[0031]
Further, the timer 16 connected to the CPU 10 generates an interrupt signal at time intervals according to data set by the CPU 10. Therefore, the timer 16 can generate an interrupt signal at a time interval proportional to the tempo. This interrupt signal is supplied to the CPU 10 and used as a trigger for starting each interrupt processing routine described later.
[0032]
The program memory 11 is composed of, for example, a read only memory (hereinafter referred to as “ROM”). The program memory 11 stores various fixed data used by the CPU 10 in addition to the control program described above. The program memory 11 further stores a plurality of tone color parameters for designating tone colors. One tone color parameter is used for designating a tone color of a predetermined range of a predetermined instrument sound. Each tone color parameter is composed of, for example, a waveform address, frequency data, envelope data, filter coefficients, and the like.
[0033]
The work memory 12 is composed of, for example, a random access memory (hereinafter referred to as “RAM”). The work memory 12 is used for temporarily storing various data when the CPU 10 performs various processes. Specifically, the work memory 12 defines various registers, counters, flags, and the like for controlling the electronic musical instrument. The main registers, counters, flags, etc. are shown below. Other than the following, it will be described as it appears below.
[0034]
(1) Automatic performance flag: Stores whether the electronic musical instrument is in the automatic performance mode or the normal performance mode.
(2) Concert magic flag (hereinafter referred to as “CM flag”): Stores whether this electronic musical instrument is in the CM mode or the automatic performance mode.
(3) Song number register: Stores the song number of a song for concert magic performance.
(4) Address register (R_ADD): Holds an address (hereinafter referred to as “read address”) on the automatic performance data memory 13 where the currently executed note data is placed.
(5) Key-on counter: Counts the number of keys being pressed. This key-on counter is incremented when the key is pressed and decremented when the key is released. If the contents of this key-on counter are zero, it means that all keys have been released.
(6) Data read request flag: This flag is set when a key is pressed, and is used to instruct that the note data should be read from the automatic performance data memory 13.
(7) Sequencer counter (SEQ_CNT): A counter that is incremented each time a timer interrupt occurs.
(8) Gate time counter (Gate_CNT): This counter is incremented every step time. The contents of the gate time counter are used to determine whether or not the timing for reducing the gate time has arrived in the concert magic performance process described later. When the contents of the gate time counter change, it is recognized that it is the timing to decrease the gate time.
(9) Step buffer (step_buf): Holds the step time value of the read note data.
[0035]
A keyboard device 141 having a plurality of keys is connected to the keyboard scan circuit 14. In the normal performance mode, the keyboard device 141 is used for instructing sound generation by pressing a key and instructing mute by releasing a key. On the other hand, in the CM mode, it is used as a trigger for advancing concert magic performance (specifically, a trigger for reading out the next note data). The keyboard device 141 employs, for example, a two-contact system in which each key is provided with first and second key switches that are turned on at different pressing depths.
[0036]
The keyboard scan circuit 14 scans each key switch on the keyboard device 141 in accordance with a command from the CPU 10. Then, keyboard data is created on the basis of the signal indicating the open / closed state of each key switch obtained by this scan. The keyboard data is composed of a bit string in which each key is associated with 1 bit, and each bit represents, for example, “1” being pressed and “0” being released. At this time, for example, data “1” indicating that the key is being depressed is created when both the first and second key switches are turned on, and the key is being released otherwise. The data “0” representing is generated. The said structure is corresponded to the structure of the key press detection means of this invention.
[0037]
Also, after the first key switch (the first key switch provided in the key) is turned on by the key depression, the second key switch (also the second key switch provided in the key) is turned on. The time until is turned on is measured, and velocity data is created based on the measured time. These keyboard data and velocity data are sent to the CPU 10 via the system bus 20. The CPU 10 determines whether or not a key is pressed / released based on the keyboard data (details will be described later).
[0038]
The automatic performance data memory 13 is composed of a ROM. The automatic performance data memory 13 stores a plurality of automatic performance data corresponding to a plurality of pieces of music for concert magic performance. These automatic performance data are commonly used for normal automatic performance, automatic performance using the concert magic function, and the like. Each automatic performance data is assigned a song number. As the automatic performance data for the concert magic performance, automatic performance data having the same music number as the music number stored in the music number register is selected. Each automatic performance data is composed of a set of note data as described in the section of the prior art.
[0039]
As described above, the CPU 10 reads out a predetermined program from the program memory 11 and controls each part of FIG. 1 while using the work memory 12, and in the configuration of this embodiment, the automatic performance part 10a of the present invention to be described later is used. And the reverse key pressing standby part 10b is comprised.
[0040]
The tone generation circuit 15 is based on the tone volume, key number, and velocity data received by the key & tone assigner 151 from the automatic performance unit 10a, which will be described later, for each channel assigned by the key & tone assigner 151. It is composed of a sound source having a waveform memory (not shown) from which predetermined tone color data is read out. The waveform memory stores waveform data corresponding to each timbre parameter. The waveform data is created, for example, by performing pulse code modulation (PCM) on a musical sound signal generated based on a natural musical instrument sound. This waveform memory can be constituted by a ROM, for example.
[0041]
The key & tone assigner 151 assigns at least one channel for sound generation when sounding, and supplies tone color parameters to the assigned channel. The channel receiving the tone color parameter sequentially reads out waveform data from the waveform memory by the tone generation circuit 15 and adds an envelope to the tone data to generate a tone signal. This musical sound signal is amplified by the amplifier 152 and then supplied to the speaker 153. Thereby, it is converted into an acoustic signal by the speaker 153 and emitted.
[0042]
In the above configuration, the configuration of the present invention is shown as a functional block configuration as shown in FIG.
[0043]
That is, the configuration of the present invention includes an automatic performance data memory 13 for storing automatic performance data composed of a plurality of note data, and a key depression detection unit composed of the keyboard scan circuit 14 for detecting that a key has been depressed. Each time it is detected that the key has been depressed by the key depression detecting section, the note data is read from the automatic performance data memory 13, and the key & tone assigner 151 and the musical tone are read based on the read note data. An automatic performance unit 10a that generates sound from the circuit configuration after the generation circuit 15 and advances the automatic performance, and a help switch (HELP SW) 201 on the operation panel 101 that gives instructions during the automatic performance are configured. In response to the instruction from the instruction unit and the instruction unit, the progress of the automatic performance is returned, and the automatic performance according to the automatic performance data is detected up to a predetermined position without detecting the key depression. There is provided a reverse key press standby unit 10b for causing the automatic performance unit 10a to perform a performance and waiting for detection of a key press when the automatic performance has progressed to that position. Among these, the automatic performance unit 10a and the reverse key pressing standby unit 10b are constituted by the CPU 10 as described above.
[0044]
In the configuration of the present embodiment, as shown in FIG. 4, for example, even if the performer mistakenly advances the automatic performance in the middle of playing the part of measure 4 with concert magic (a state where only a trigger by pressing a key is provided) When the switch (HELP SW) 201 is pressed, the display is changed to the previous bar display, the automatic performance is played from bar 3, and the key press detection unit of the keyboard scan circuit 14 at the head of bar 4 waits for a key press trigger. Will be set to the state.
[0045]
Next, in the above configuration, the operation of the electronic musical instrument will be described in detail with reference to the flowcharts shown in FIGS. Note that the processing shown in the flowchart is all performed by the CPU 10.
[0046]
(1) Main process: FIG. 5 is a flowchart showing the main process of the electronic musical instrument. This main processing routine is started by turning on the power. That is, when the power is turned on, first, the CPU 10, RAM (work memory 12) and other initialization processes are performed (steps S101 to S103). In these initialization processes, the internal hardware of the CPU 10 is set to an initial state, and initial values are set to registers, counters, flags, and the like defined in the work memory 12.
[0047]
When this initialization process is completed, a keyboard process is then performed (step S104). Although details will be described later in this keyboard process, when the electronic musical instrument is in the normal performance mode, a sound generation process corresponding to a key press and a mute process corresponding to a key release are performed. On the other hand, in the CM mode, the fact that the key has been pressed is stored in the data read request flag.
[0048]
Thereafter, panel switch processing is performed (step S105). Although details will be described later in this panel switch process, a process for realizing a function assigned to each switch on the operation panel 101 is performed.
[0049]
Then, automatic performance processing is performed (step S106). Details of this automatic performance processing will be described later.
[0050]
Next, “other main processing” is performed (step S107). In this processing, processing other than those described above, pedal ON / OFF processing, MIDI processing, and DSP processing are performed.
[0051]
Thereafter, the process returns to step S104, and the processes of steps S104 to S107 are repeated. In the course of this repeated execution, if there is an operation on the operation panel 101, an operation on the keyboard device 141, reception of MIDI data in the external interface circuit 102, etc., the electronic musical instrument and the automatic performance device are processed by performing the corresponding processing Various functions are realized.
[0052]
(2) Interrupt process: The interrupt process is performed by interrupting each process of the main process routine according to the interrupt signal. In the interrupt process of this embodiment, two interrupt processes are performed. Details of this interrupt processing are shown in the flowcharts of FIGS.
[0053]
The timer interrupt process every 2 msec shown in FIG. 6 is performed in response to an interrupt signal from the timer 16, first, the panel switch state is acquired (step S201), and the panel switch state is stored in the SW_NEW register. (Step S202). According to the panel switch state, the state is displayed on the panel LED screen 300 (step S203).
[0054]
Another automatic performance clock interrupt process is described with reference to FIG. That is, the content of the sequencer counter (SEQ_CNT) is incremented (step S301). Therefore, the sequencer counter (SEQ_CNT) is incremented at a time interval proportional to the tempo. Next, it is checked whether or not the automatic performance is being performed (step S302). If it is determined in step S302 that automatic performance is being performed (step S302; Y), the contents of the gate time counter (Gate_CNT) are incremented (step S303). Thereafter, the process returns from the clock interrupt processing routine to the interrupted position of the main processing routine. When it is determined in step S302 that automatic performance is not being performed (step S302; N), the process returns from this clock interrupt processing routine. With the above processing, the content of the gate time counter (Gate_CNT) is incremented every step time.
[0055]
(3) Keyboard processing: Next, details of the keyboard processing performed in step S104 of the main processing routine will be described with reference to the flowchart shown in FIG.
[0056]
In this keyboard process, first, keyboard data (hereinafter referred to as “new keyboard data”) is fetched from the keyboard scanning circuit 14, and a key-on event map is created. This key-on event map includes new keyboard data and keyboard data (hereinafter referred to as “old keyboard data”) that has been captured in the previous keyboard processing and is already stored in the old keyboard data register provided in the work memory 12. Created by taking exclusive OR.
[0057]
Based on this, it is checked whether or not there is a key-on event (step S401). This is done by checking whether the key-on event map created as described above is zero. Here, if it is determined that there is no key-on event, that is, the key-on event map is zero (step S401; N), the sequence is checked whether there is a key-off event (step S405). If there is a key-off event (step S405; Y), keyboard mute processing is performed (step S406), and the process returns to the main routine. If there is no key-off event (step S405; N), the process returns to the main routine as it is.
[0058]
On the other hand, if it is determined that there is a key-on event, that is, there is at least one bit that is “1” in the event map (step S401; Y), the state of the CM flag is checked to determine whether the mode is the CM mode. It is determined whether or not the concert magic is being performed (step S402).
[0059]
If it is determined that the mode is not the CM mode (step S402; N), it is recognized that the mode is the normal performance mode, and a normal keyboard sound generation process is performed (step S403).
[0060]
In this normal sound generation process, the key number of the key corresponding to the bit “1” in the key event map is calculated, and the velocity data corresponding to the key is read from the keyboard scan circuit 14. The timbre parameter corresponding to this key number is read from the program memory 11 and sent to the musical tone generation circuit 15 through the key & tone assigner 151 together with the velocity data. As a result, a sound corresponding to the key depression is generated from the speaker 153 with a strength corresponding to the key depression.
[0061]
On the other hand, if it is determined in step S402 that the mode is the CM mode (step S402; Y), the process proceeds to a concert magic song progression process (step S404) described later. In the CM mode, the sound being sounded is muted according to the gate time. The process for muting is performed in the concert magic performance process described later. Therefore, no processing is performed in the CM mode even if there is a key release event. Thereafter, the sequence proceeds to step S405.
[0062]
In the above description, for the sake of simplicity, the case where there is one key depression or key release has been described. However, when there are a plurality of key depressions or key releases, the processing in step S401 and subsequent steps is performed as a key event. What is necessary is just to comprise so that it may repeatedly perform.
[0063]
(4) Panel switch processing: Next, details of the panel processing performed in step S105 of the main processing routine will be described with reference to the flowchart of FIG. In this panel process, a process for realizing a function assigned to each switch on the operation panel 101 is executed.
[0064]
In this panel process, first, panel data (hereinafter referred to as “new panel data”) is fetched from the operation panel 101 into the new panel data register (SW_NEW), and this new panel data and the previous panel process are fetched in the work memory. The on-event map is created by taking the exclusive OR with the panel data (hereinafter referred to as “old panel data”) stored in the old panel data register (SW_OLD) provided in FIG. 12 (step S501). ).
[0065]
Next, on-event processing of a concert magic switch described later is performed from this on-event map (step S502).
[0066]
Further, a help switch on-event process described later is performed from the on-event map (step S503).
[0067]
Thereafter, other switch-on event processing is performed (step S504). Finally, the contents of the new panel data register (SW_NEW) are stored in the old panel data register (SW_OLD) as the contents of the old panel data register (SW_OLD). The contents of the old panel data register (SW_OLD) are referred to in the next panel switch process. Then, the sequence returns to step S106 of the main processing routine.
[0068]
(5) Concert magic switch-on event process: The concert magic switch-on event process shown in step S502 of FIG. 9 will be described with reference to FIG.
[0069]
It is checked from the on-event map created as described above whether there is a concert magic switch-on event (step S601). If there is no on event (step S601; N), the sequence returns to step S503.
[0070]
On the contrary, if there is a concert magic switch-on event (step S601; Y), the CM flag is referred to and it is checked whether or not the concert magic is currently being performed (step S602). If it is currently in concert magic (step S602; Y), the concert magic process is terminated (step S605), and the sequence returns to step S503.
[0071]
On the contrary, if the concert magic is not currently in progress (step S602; N), the music number register is referred to, the musical note data of the concert magic performance music is read from the music number, and the music initial setting is made (step S603). ). Thereafter, a state of concert magic is set (step S604), and the sequence returns to step S503.
[0072]
(6) Automatic performance processing: Next, the details of the automatic performance processing performed in step S106 of the main processing routine will be described with reference to the flowchart of FIG. In this automatic performance process, the automatic performance flag set by the panel switch process is referred to and it is checked whether or not the automatic performance is being performed (step S701). If the automatic performance is not in progress (step S701; N), the sequence returns to step S107 of the main processing routine.
[0073]
If the automatic performance is being performed (step S701; Y), an automatic performance mute process described later is performed (step S702).
[0074]
Then, note data is read from the address indicated by the address register (R_ADD) (step S703), and it is checked whether the data is a data end mark (step S704). If it is a data end mark (step S704; Y), the concert magic process is terminated (step S705), and the sequence returns to step S107 of the main process routine.
[0075]
If it is not a data end mark (step S704; N), it is checked whether the read data is a bar mark or a beat mark (step S706).
[0076]
If the read data is a bar mark or beat mark (step S706; Y), it is checked whether or not the value of the sequencer counter (SEQ_CNT) is 96 or more indicating one beat in the automatic performance device. (Step S707). When the value of the sequencer counter (SEQ_CNT) is smaller than 96 (step S707; N), the sequence returns to step S107 of the main processing routine.
[0077]
On the other hand, if the value of the sequencer counter (SEQ_CNT) is larger than 96 (step S707; Y), the value of the sequencer counter (SEQ_CNT) is set to 0 (step S708) to read the next note data (step S708). The value of the register (R_ADD) is incremented and stored (step S709). Then, it is checked whether or not the value of the address register (R_ADD) has become a stop address value (STOP_ADD) indicating the end of music (step S710).
[0078]
If the value of the address register (R_ADD) is not the stop address value (STOP_ADD) (step S710; N), the sequence returns to step S107 of the main processing routine.
[0079]
On the contrary, if the value of the address register (R_ADD) is the stop address value (STOP_ADD) (step S710; Y), the automatic performance process is stopped (terminated) (step S711). Then, the sequence returns to step S107 of the main processing routine.
[0080]
In step S706, if the read note data is not a bar mark or beat mark (step S706; N), it is checked whether the value of the sequencer counter (SEQ_CNT) is equal to or greater than the step time value of the note data. (Step S712).
[0081]
If the value of the sequencer counter (SEQ_CNT) is not greater than or equal to the step time value (step S712; N), the sequence returns to step S107 of the main processing routine.
[0082]
On the other hand, if the value of the sequencer counter (SEQ_CNT) is greater than or equal to the step time value (step S712; Y), processing such as sound generation is performed, and if the simultaneously read data is musical note data, it is currently sounding. The sound gate time (Gate [note]) is stored (step S713).
[0083]
Then, the value of the address register (R_ADD) is incremented, the value is stored (step S714), the process returns to step S703, and the above processing is repeated.
[0084]
(7) Automatic performance silence process: Details of the automatic performance silence process performed in step S702 of the automatic performance process routine will be described with reference to the flowchart of FIG.
[0085]
In this automatic performance mute processing, interrupt processing is first prohibited (step S801), and all gate times (Gate [note]) that are currently sounded are subtracted by the value of the gate time counter (Gate_CNT) (step S801). S802).
[0086]
Then, the value of the gate time counter (Gate_CNT) is set to 0 (step S803), and then interrupt processing is permitted (step S804).
[0087]
Thereafter, note data having a gate time (Gate [note]) value of 0 or less is muted (step S805).
[0088]
(8) Concert magic tune progression processing: The concert magic tune progression processing of step S404 performed in the keyboard processing of FIG. 8 will be described with reference to the flowchart of FIG.
[0089]
In this concert magic song progression process, the automatic performance process flag set by the panel switch process is referred to and it is checked whether or not automatic performance is in progress (step S901). If automatic performance is in progress (step S901; Y), the sequence returns to step S405 of the keyboard processing routine.
[0090]
If automatic performance is not in progress (step S901; N), a concert magic mute process described later is performed (step S902).
[0091]
Then, the value of note-on data (note_on) is set to 0, and the value of the step variable (step) is set to 0xff (step S903).
[0092]
Thereafter, note data is read from the address indicated by the address register (R_ADD) (step S904), and it is checked whether the data is a data end mark (step S905). If it is a data end mark (step S905; Y), the concert magic process is terminated (step S906), and the sequence returns to step S405 of the keyboard process routine.
[0093]
If it is not a data end mark (step S905; N), it is checked whether the read data is a bar mark or a beat mark (step S907).
[0094]
If the read data is a bar mark or beat mark (step S907; Y), the value of the step variable (step) is set to 0xff (step S908), and the gate time counter (Gate_CNT) is set to 1. A value obtained by subtracting the count value of the step buffer (step_buf) from the beat value 96 is set (step S909). Then, the count value of the step buffer (step_buf) is set to 0 (step S910), the value of the address register (R_ADD) is incremented, and the value is stored (step S911). Thereafter, the process returns to step S904.
[0095]
If the read data is not a bar mark or a beat mark in step S907 (step S907; N), it is checked whether the read data is note-on data (step S912). If it is not note-on data (step S912; N), the value of the address register (R_ADD) is incremented and the value is stored (step S920). Thereafter, the process returns to step S904.
[0096]
On the other hand, if the read data is note-on data (step S912; Y), in order to determine whether the read data is note-on data constituting a chord, note-on data (note_on) It is checked whether or not the value is 0 (step S913), and it is first determined whether or not it is the first sound.
[0097]
If the value of note-on data (note_on) is 0 (step S913; Y), the value of note-on data (note_on) is 1 and the actual step time is the same as the step variable (step). Is set to the value of the step buffer (step_buf), and the value of the gate time counter (Gate_CNT) is set to 0 (step S914).
[0098]
Thereafter, the gate time defined in the note data as the automatic performance data is set to the gate time value (Gate [note]) of each note-on data (step S915), and sound generation processing is performed (step S916). Thereafter, the value of the address register (R_ADD) is incremented, the value is stored (step S917), and the process returns to step S904.
[0099]
If the value of note-on data (note_on) is not 0 in step S913 (step S913; N), the value of the step variable (step) is the step of the note data in order to determine whether the chord has the same step time. It is checked whether or not it matches the time (step S918).
[0100]
If the value of the step variable (step) coincides with the step time (step S918; Y), the process proceeds to step S915. On the other hand, if they do not match (step S918; N), since it corresponds to a sound other than a chord, the value of the gate time counter (Gate_CNT) is set to the value of (step time−step_buf) (step S919), and the sequence Returns to step S405 of the keyboard processing routine.
[0101]
(9) Concert magic muting process: The concert magic muting process of step S902 performed in the concert magic music progression process of FIG. 13 will be described with reference to the flowchart of FIG.
[0102]
In this concert magic muting process, the gate time (Gate [note]) of all note data currently being sounded is subtracted by the value of the gate time counter (Gate_CNT) (step S1001).
[0103]
Then, note data whose gate time (Gate [note]) is 0 or less is muted (step S1002).
[0104]
(10) Help switch-on event processing: The help switch-on event processing shown in step S503 of FIG. 9 will be described with reference to FIG.
[0105]
It is checked whether or not there is a help switch on event from the on event map created as described above (step S1101). If there is no on event (step S1101; N), the sequence returns to step S504.
[0106]
On the contrary, if there is a help switch-on event (step S1101; Y), the CM flag is referred to and it is checked whether or not the concert magic is currently being performed (step S1102). If it is not currently in concert magic (step S1102; N), the sequence returns to step S504. If the concert magic is currently being performed (step S1102; Y), it is checked whether or not automatic performance is being performed (step S1103). If the automatic performance is being performed (step S1103; Y), the sequence returns to step S504.
[0107]
On the other hand, if the automatic performance is not in progress (step S1103; N), the following processing is performed by the reverse key pressing standby unit 10b of the above-described configuration of the present invention.
[0108]
First, all the currently sounding sounds are muted (step S1104). Thereafter, the bar counter (Bar_CNT), the gate time counter (Gate_CNT), the step buffer (step_buf), and the gate time (Gate [Note]) of the currently executed note data are all set to 0 (step S1105).
[0109]
It is checked whether the address indicated by the currently read address register (R_ADD) is greater than the top address (SongTopAdd) of the song (step S1106). If it is not larger than the head address (SongTopAdd) of the song (step S1106; N), the sequence returns to step S504.
[0110]
On the contrary, if it is larger than the head address (SongTopAdd) of the song (step S1106; Y), the address indicated by the address register (R_ADD) is subtracted (step S1107).
[0111]
The data indicated by the address in the address register (R_ADD) is used to determine whether the subtracted result hits the first bar of the currently playing bar (the first bar of bar 4 in the example of FIG. 4). Is checked (step S1108). If the data indicated by the address in the address register (R_ADD) is not a bar (the previous performance sound or accompaniment sound in the example shown in FIG. 4) (step S1108; N), the process returns to step S1106 to return to the beginning of the currently playing measure. The above process is repeated until a bar arrives.
[0112]
On the contrary, if the data indicated by the address of the address register (R_ADD) is a bar (step S1108; Y), the bar counter (Bar_CNT) is incremented (step S1109), and whether the bar counter (Bar_CNT) is 1 or not. Is checked (step S1110).
[0113]
If the bar counter (Bar_CNT) is 1 (step S1110; Y), the value of the address register (R_ADD) is set to the stop address value (STOP_ADD) (step S1111), and automatically in steps S710 and S711 of FIG. The performance is set so that the performance is stopped and put into a standby state, and the process returns to step S1106, and the above processing is repeated, so that the bar 1 bar before (further 3 in the example of FIG. 4). To the first bar).
[0114]
In the meantime, since the bar counter (Bar_CNT) has become larger than 1 by the increment of step S1109, in step S1110, since the bar counter (Bar_CNT) is not 1 (step S1110; N), an automatic performance state is set ( In step S1012), the sequence returns to step S504. As described above, this automatic performance is performed at the top bar of the bar where the help switch (HELP SW) is pressed in step S710 and step S711 of FIG. 11 (in the example of FIG. 4, the top bar of bar 4). Then, the performance is stopped and a standby state is entered.
[0115]
It should be noted that the LCD screen 300 may be displayed so that it can be seen that it has stopped, for example, by placing a pointer at the head of measure 4 in FIG.
[0116]
In this way, when the help switch (HELP SW) is pressed during the progress of the concert magic song, the player returns to the previous bar of the currently playing bar, and automatically plays in one bar from there. Since it is waiting for a key-on event at the beginning of the next measure, the player can quickly confirm how far he has returned by listening to the automatic performance sound. Key timing can also be performed more appropriately.
[0117]
The automatic performance device of the present invention is not limited to the above-described embodiments, and various changes can be made without departing from the scope of the present invention.
[0118]
【The invention's effect】
As described above in detail, according to the present invention, even if the performer mistakenly advances the automatic performance in the middle of the song, the instruction is given by the instruction means. The automatic performance means according to the automatic performance data is performed according to the automatic performance data without detecting the key depression until a predetermined position, and when the automatic performance proceeds to the position, Since it is set in a state to wait for detection, the player can check how far it has returned in the karaoke performance state, and the timing of the next key press can be performed more appropriately, so it is easy to use Thus, an automatic performance apparatus and an automatic performance method can be provided.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an electronic musical instrument to which an automatic performance device according to an embodiment of the present invention is applied.
2 is a schematic plan view showing a configuration of an operation panel 101. FIG.
FIG. 3 is a block diagram showing functional blocks in the configuration of an embodiment of the present invention.
FIG. 4 is an explanatory diagram showing a state when the configuration of the present embodiment is applied to performance by concert magic of actual automatic performance data.
FIG. 5 is a flowchart showing main processing of the electronic musical instrument.
FIG. 6 is a flowchart showing timer interrupt processing every 2 msec.
FIG. 7 is a flowchart showing an automatic performance clock interrupt process.
FIG. 8 is a flowchart showing keyboard processing.
FIG. 9 is a flowchart showing a panel switch process.
FIG. 10 is a flowchart showing concert magic switch-on event processing.
FIG. 11 is a flowchart showing an automatic performance process.
FIG. 12 is a flowchart showing automatic performance mute processing.
FIG. 13 is a flowchart showing concert magic song progression processing.
FIG. 14 is a flowchart showing concert magic mute processing.
FIG. 15 is a flowchart showing help switch-on event processing;
FIG. 16 is an explanatory diagram illustrating a format of note data.
[Explanation of symbols]
10 CPU
10a Automatic performance section
10b Reverse key press standby section
11 Program memory
12 Work memory
13 Automatic performance data memory
14 Keyboard scan circuit
15 Musical sound generation circuit
16 timer
20 System bus
101 Operation panel
102 External interface circuit
141 Keyboard device
151 Key & Tone Assigner
152 amplifier
153 Speaker
200 CM switch
201 Help switch
202 song button
300 LCD screen

Claims (4)

複数の音符データで成る自動演奏データを記憶する記憶手段と、
押鍵がなされたことを検出する押鍵検出手段と、
該押鍵検出手段により押鍵がなされたことが検出される毎に、該記憶手段から音符データを読み出し、該読み出された音符データに基づいて発音を行い、以て自動演奏を進行させる自動演奏手段と、
自動演奏の進行中に指示を与える指示手段と、
該指示手段による指示に応じて、自動演奏の進行を戻して、所定の位置までは押鍵の検出によらずに上記自動演奏データに従った自動演奏を上記自動演奏手段に行わせ、該位置まで自動演奏が進行した際に押鍵の検出を待機する状態にするリバース押鍵待機手段と
を備えたことを特徴とする自動演奏装置。
Storage means for storing automatic performance data comprising a plurality of note data;
A key press detecting means for detecting that a key was pressed;
Each time it is detected by the key pressing detection means that the key is pressed, the note data is read from the storage means, and sound is generated based on the read note data, so that automatic performance is advanced. Playing means,
An instruction means for giving instructions while the automatic performance is in progress;
In response to an instruction from the instruction means, the progress of the automatic performance is returned, and the automatic performance means according to the automatic performance data is performed according to the automatic performance data without detecting the key press until a predetermined position, An automatic performance apparatus comprising reverse key-waiting waiting means for waiting for detection of a key depression when the automatic performance has progressed to the point.
上記指示手段による指示が与えられた際に、上記リバース押鍵待機手段は、それまで演奏中であった小節から任意の数小節前に自動演奏の進行を戻して、上記自動演奏手段により上記自動演奏データに従った自動演奏を行わせ、上記演奏中であった小節の前でその自動演奏の進行を止め、次の押鍵検出の待機状態に設定することを特徴とする請求項1記載の自動演奏装置。When the instruction by the instruction means is given, the reverse key pressing waiting means returns the progress of the automatic performance to an arbitrary number of measures before the measure that has been played, and the automatic performance means automatically The automatic performance according to the performance data is performed, the progress of the automatic performance is stopped before the measure that was being performed, and a standby state for detecting the next key press is set. Automatic performance device. 複数の音符データで成る自動演奏データを記憶し、押鍵の検出毎に、該記憶された音符データを読み出して、それに基づいて発音を行い、以て自動演奏を進行させる自動演奏方法であって、押鍵検出毎に進行する自動演奏中に、所定の指示がなされた場合に、該指示に応じて自動演奏の進行を戻して、所定の位置までは押鍵の検出によらずに上記自動演奏データに従った自動演奏を行わせ、該位置まで自動演奏が進行した際に押鍵の検出を待機する状態にすることを特徴とする自動演奏方法。An automatic performance method for storing automatic performance data composed of a plurality of note data, reading the stored note data every time a key depression is detected, generating a sound based on the note data, and advancing the automatic performance. When a predetermined instruction is given during the automatic performance that proceeds every time the key is detected, the automatic performance is returned in accordance with the instruction, and the automatic performance is not detected until the predetermined position is detected. An automatic performance method characterized in that an automatic performance is performed in accordance with performance data, and a state of waiting for key press detection is made when automatic performance progresses to the position. 演奏者による指示が与えられた際に、それまで演奏中であった小節から任意の数小節前に自動演奏の進行を戻して、上記自動演奏データに従った自動演奏を行わせ、上記演奏中であった小節の前でその自動演奏の進行を止め、次の押鍵検出の待機状態に設定することを特徴とする請求項3記載の自動演奏方法。When an instruction is given by the performer, the progress of the automatic performance is returned to an arbitrary number of measures before the measure that was being played, and the automatic performance is performed according to the automatic performance data. 4. The automatic performance method according to claim 3, wherein the advancement of the automatic performance is stopped in front of the measure that is, and a standby state for detecting the next key depression is set.
JP2003045236A 2003-02-24 2003-02-24 Automatic performance apparatus and automatic performance method Expired - Fee Related JP4056902B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003045236A JP4056902B2 (en) 2003-02-24 2003-02-24 Automatic performance apparatus and automatic performance method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003045236A JP4056902B2 (en) 2003-02-24 2003-02-24 Automatic performance apparatus and automatic performance method

Publications (2)

Publication Number Publication Date
JP2004258050A JP2004258050A (en) 2004-09-16
JP4056902B2 true JP4056902B2 (en) 2008-03-05

Family

ID=33112086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003045236A Expired - Fee Related JP4056902B2 (en) 2003-02-24 2003-02-24 Automatic performance apparatus and automatic performance method

Country Status (1)

Country Link
JP (1) JP4056902B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5147351B2 (en) * 2007-10-09 2013-02-20 任天堂株式会社 Music performance program, music performance device, music performance system, and music performance method
JP7251050B2 (en) * 2018-03-23 2023-04-04 カシオ計算機株式会社 Electronic musical instrument, control method and program for electronic musical instrument
KR102112465B1 (en) * 2020-01-10 2020-05-18 최혜린 Rehabilitation appratus outputting music according to input and rehabilitation system thereof

Also Published As

Publication number Publication date
JP2004258050A (en) 2004-09-16

Similar Documents

Publication Publication Date Title
JP2000214848A (en) Performance support device, performance support method, and recording medium with performance support program recorded therein
JP4056902B2 (en) Automatic performance apparatus and automatic performance method
JP4232882B2 (en) Electronic musical instrument demo song playing apparatus and demo song playing method
JP3844286B2 (en) Automatic accompaniment device for electronic musical instruments
JP4506147B2 (en) Performance playback device and performance playback control program
JP3743364B2 (en) Performance practice device
JP3640235B2 (en) Automatic accompaniment device and automatic accompaniment method
JP3192597B2 (en) Automatic musical instrument for electronic musical instruments
JP4412618B2 (en) Electronic musical instrument demo song playing apparatus and demo song playing method
JP2003122355A (en) Electronic musical instrument
JPH06337674A (en) Electronic musical instrument automatic performance device
JP3226268B2 (en) Concert magic automatic performance device
JPH06348258A (en) Electronic musical instrument automatic performance device
JP5164401B2 (en) Automatic performance device and automatic performance program
JP3557474B2 (en) Tone generator
JP4186855B2 (en) Musical sound control device and program
JP3017902B2 (en) Automatic accompaniment device for electronic musical instruments
JP3682691B2 (en) Electronic music apparatus having musical tone information assigning operator
JPH0954580A (en) Automatic performance device and automatic performance method
JP2007178890A (en) Automatic playing musical device
JP3150580B2 (en) Automatic performance device and automatic performance method
JP5703543B2 (en) Electronic musical instrument, method and program
JP2002215152A (en) Electronic musical instrument
JP2005025096A (en) Semi-automatic performance device for electronic musical instruments
JPH11311989A (en) Automatic performance device and automatic performance method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071001

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071212

R150 Certificate of patent or registration of utility model

Ref document number: 4056902

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131221

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees