JP2950138B2 - 運指情報分析装置及び同装置を適用した電子楽器 - Google Patents
運指情報分析装置及び同装置を適用した電子楽器Info
- Publication number
- JP2950138B2 JP2950138B2 JP6051517A JP5151794A JP2950138B2 JP 2950138 B2 JP2950138 B2 JP 2950138B2 JP 6051517 A JP6051517 A JP 6051517A JP 5151794 A JP5151794 A JP 5151794A JP 2950138 B2 JP2950138 B2 JP 2950138B2
- Authority
- JP
- Japan
- Prior art keywords
- finger
- information
- key
- note
- fingering
- 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 - Lifetime
Links
- 239000011295 pitch Substances 0.000 claims description 48
- 210000003811 finger Anatomy 0.000 description 222
- 230000015654 memory Effects 0.000 description 143
- 238000000034 method Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 22
- 230000004048 modification Effects 0.000 description 19
- 238000012986 modification Methods 0.000 description 19
- 101000971400 Homo sapiens Protein kinase C eta type Proteins 0.000 description 15
- 102100021556 Protein kinase C eta type Human genes 0.000 description 15
- 230000008859 change Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000000994 depressogenic effect Effects 0.000 description 6
- 210000004247 hand Anatomy 0.000 description 6
- 230000003936 working memory Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 108090000315 Protein Kinase C Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000881 depressing effect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 210000004932 little finger Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B15/00—Teaching music
- G09B15/02—Boards or like means for providing an indication of notes
- G09B15/04—Boards or like means for providing an indication of notes with sound emitters
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B15/00—Teaching music
- G09B15/001—Boards or like means for providing an indication of chords
- G09B15/002—Electrically operated systems
- G09B15/003—Electrically operated systems with indication of the keys or strings to be played on instruments
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B15/00—Teaching music
- G09B15/08—Practice keyboards
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
- G10H1/0016—Means for indicating which keys, frets or strings are to be actuated, e.g. using lights or leds
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/021—Indicator, i.e. non-screen output user interfacing, e.g. visual or tactile instrument status or guidance information using lights, LEDs or seven segments displays
- G10H2220/026—Indicator, i.e. non-screen output user interfacing, e.g. visual or tactile instrument status or guidance information using lights, LEDs or seven segments displays associated with a key or other user input device, e.g. key indicator lights
- G10H2220/061—LED, i.e. using a light-emitting diode as indicator
- G10H2220/066—Colour, i.e. indications with two or more different colours
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Acoustics & Sound (AREA)
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
をそれぞれ表す複数の音高情報を自動的に分析して各音
符のための演奏指を表す指情報を生成する運指分析装
置、及び同分析装置を適用して前記生成した指情報を運
指指示に利用するようにした電子楽器に関する。
えば特公昭60−46432号公報及び実公昭63−3
6346号公報に示されているように、一連の音符列の
各音高及び各音長をそれぞれ表す複数の音符情報中に各
音符のための演奏指を表す指情報を混在させて予め記憶
させておき、楽曲の進行にしたがって音高情報及び指情
報を読み出して、同読み出した音高情報及び指情報を用
いて押鍵されるべき鍵及び同押鍵に用いられるべき指を
指示するようにしている。しかし、上記従来の装置にあ
っては、複数の音符情報中に各音符のための指情報を混
在させて予め記憶しておく必要があるため、一連の音符
列の各音高及び各音長をそれぞれ表す複数の音符情報か
らなる通常の自動演奏情報を楽器の運指練習に利用する
ことができない。
それぞれ表す複数の音符情報からなる通常の自動演奏情
報を記憶したフレキシブルディスク、コンパクトディス
クなどの記憶媒体は近年多数用意されていることに鑑み
てなされたもので、その目的は、この種の自動演奏情報
を楽器の運指練習にも利用できるようにした運指分析装
置を提供することにある。また、他の目的は、この運指
分析装置を適用して、前記自動演奏情報さえ用意すれ
ば、簡単に運指練習を可能とする電子楽器を提供しよう
とするものである。
の特徴は、音高情報供給手段から供給された一連の音符
列の各音高をそれぞれ表す複数の音高情報に基づき、所
定区間内の音符列の先頭の音符に割り当てられた一つの
指に対して同所定区間内の各音符のための演奏指を表す
一連の指情報を生成する際に、前記生成された一連の指
情報の中で演奏時に指交差を伴う指情報を検出し、前記
生成された一連の指情報の中に前記指交差を伴う指情報
が検出されたときには前記所定区間内の先頭の音符に対
して割り当てる指を変更して前記一連の指情報の生成を
再開させ、また前記生成された一連の指情報の中に前記
指交差を伴う指情報が検出されないときには同生成され
た一連の指情報を最終的な一連の指情報として決定する
ようにしたことにある。
指情報の生成を所定区間内の音符列に対して複数組の一
連の指情報を生成可能としておき、前記生成される複数
組の一連の指情報のうちで前記検出される指交差を伴う
指情報が前記一連の指情報の中で最も遅く現れる一組の
一連の指情報を最終的な一連の指情報として決定するよ
うにしたことにある。
給手段から供給された一連の音符列の各音高をそれぞれ
表す複数の音高情報に基づき、所定区間内の音符列の先
頭の音符に割り当てられた一つの指に対して同所定区間
内の各音符のための演奏指を表す一連の指情報を順次生
成する際に、演奏時における運指不能を検出して、同運
指不能が検出されたとき前記所定区間の先頭の音符に対
して割り当てる指を変更して前記一連の指情報の生成を
再開させるようにしたことにある。
第1〜第3の特徴によれば、音高情報を含む通常の自動
演奏情報を記憶した記憶媒体さえ用意すれば、同演奏情
報を用いて各音符に対する適切な演奏指を表す一連の指
情報が自動的に得られるので、多数の自動演奏情報を音
楽教育に利用できるようになる。
すると、図1は本発明に係る運指分析装置を適用した電
子楽器の全体をブロック図により示している。この電子
楽器は、演奏装置としての鍵盤装置10、操作パネル2
0、メモリ装置30、楽音信号形成回路40及びマイク
ロコンピュータを構成するCPU50を備えている。
の順序で配列された白鍵及び黒鍵からなる演奏操作子と
しての多数の鍵10aを備えているとともに、各鍵10
aの上方には押鍵すべき鍵とその演奏指を指示する指示
手段として鍵位置に対応させた多数の発光素子10bを
備えている。各鍵10aの押離鍵は鍵スイッチ回路11
内に各鍵10aにそれぞれ対応して設けた鍵スイッチに
より検出されるようになっている。発光素子10bは異
なる2色(例えば赤色と青色)の光を発光可能な素子に
より構成されており、それらの発光は点灯制御回路12
によって制御されるようになっている。これらの鍵スイ
ッチ回路11及び点灯制御回路12はバス60に接続さ
れている。
様を指示する複数の操作子(各操作子については作動説
明の項にて説明する)を備えており、各操作子の操作は
操作子スイッチ回路21内に各操作子にそれぞれ対応し
て設けた操作子スイッチによって検出されるようになっ
ている。操作子スイッチ回路21もバス60に接続され
ている。
おり、図4に示すようなデータフォーマットで演奏情報
を記憶する演奏情報メモリ30a、キャラクタメモリ3
0b及び運指メモリ30cを備えている。これらの各メ
モリ30a〜30cはバス60に接続されており、演奏
情報メモリ30aには外部記憶媒体としてのフレキシブ
ルディスクFDに記憶した演奏情報がディスクドライブ
31、インターフェース32及びバス60を介して供給
されるようになっている。
成チャンネルからなり、バス60を介して供給されるキ
ーコード、キーオン信号、キーオフ信号、音色制御デー
タなどの制御データに応じて楽音信号を発生する。楽音
信号形成回路40にはアンプ、スピーカなどからなるサ
ウンドシステム41が接続されている。
ングメモリ(RAM)51と協働して、同バス60に接
続したプログラムメモリ(ROM)52に記憶され図5
〜12のフローチャートに対応したプログラムを実行し
て、電子楽器の作動を制御する。CPU50にはタイマ
53が接続されており、同タイマ53は所定時間(例え
ば96分音符長に相当する時間)毎に割り込み信号を発
生して前記プログラム中の図11,12のプログラムを
CPU50に割り込み実行させる。また、プログラムメ
モリ52中には、指番号を決定するための図3に示すよ
うな第1及び第2運指テーブルTBLA,TBLBも設
けられている。
を図5〜12のプログラムに沿って説明する。電源スイ
ッチ(図示しない)が投入されると、CPU50は図5
のステップ100にてプログラムの実行を開始し、ステ
ップ101にて各種変数を初期値に設定した後、ステッ
プ102〜116からなる処理を繰り返し実行する。こ
れらの処理中、ステップ116においては、操作パネル
20の音色、音量、効果などに関する操作子の操作に応
答して、音色、音量、効果などを制御するための制御デ
ータを楽音信号形成回路40に出力する。楽音信号形成
回路40はこれらの制御データに基づいて発生される楽
音信号の音色、音量、効果などを制御するための準備を
する。以下、電子楽器の各動作態様毎にその動作を説明
する。
信号を発生する動作について説明する。演奏者が鍵盤1
0の各鍵10aを押離鍵すると、CPU50はステップ
102にて「YES」すなわちキーイベント有りと判定
して、プログラムをステップ103のキーイベントルー
チンに進める。
れており、ステップ200における同ルーチンの実行開
始後、ステップ201にて前記キーイベントがキーオン
イベントであるか否かを判定する。キーオンイベントで
あれば、ステップ202にて押鍵された鍵を表すキーコ
ードをキーコードデータKCとして設定して、ステップ
203にて発音処理を実行する。この発音処理において
は、前記キーコードデータKC及び押鍵を表すキーオン
信号を楽音信号形成回路40に出力する。楽音信号形成
回路40は空いている楽音信号形成チャンネルにて前記
キーコードデータKCに対応した音高の楽音信号を形成
して、サウンドシステム41に出力する。一方、前記キ
ーイベントがキーオンイベントでなければ、ステップ2
01にて「NO」すなわちキーオフイベントであると判
定して、ステップ204にて消音処理を実行する。この
消音処理においては、離鍵された鍵を表すキーコードデ
ータKC及び同離鍵を表すキーオフ信号を楽音信号形成回
路40に出力する。楽音信号形成回路40は前記キーコ
ードデータKCに対応した楽音信号を形成中の楽音信号形
成チャンネルを探し、同チャンネルにて形成中の楽音信
号を減衰させた後、その発生を停止する。したがって、
演奏者による鍵盤10の押離鍵に応じた楽音がサウンド
システムから発音される。
の記憶されたフレキシブルディスクFDを用意してディ
スクドライバ31にセットする。一楽曲分の演奏情報は
複数のパート(本件実施例では9パート)に対応して区
分けされており、同区分けされた各パート毎の演奏情報
は本件実施例で説明する各種メモリ装置の複数のトラッ
ク(0〜8トラックからなる9つ記憶領域)にそれぞれ
記憶されるようになっている。各パート毎の演奏情報
は、図4(A)のデータフォーマットに示すように、時系
列で現れる各音符をそれぞれ表す複数のキーイベントデ
ータと、各音符間の時間間隔をそれぞれ表す複数のデュ
レーションイベントデータと、楽曲の各フレーズの区切
りをそれぞれ表すフレーズコードと、楽曲の終わりを表
すエンドコードとからなる。キーイベントデータは、後
続データが音符に関するデータであることを表すキーイ
ベントコードと、音符の音高を表すキーコード(音高情
報)と、音符のオン時間(キーオン時間)を表すゲート
タイムとからなる。デュレーションイベントデータは、
後続データが音符間の時間間隔に関するデータであるこ
とを表すデュレーションコードと、音符間の時間間隔を
表すデュレーションタイム(音長情報)とからなる。こ
れらのキーイベントデータ及びデュレーションイベント
データは音符列を表す各音符情報を構成している。
後、演奏者は操作パネル20に設けたロードスイッチを
オン操作する。これにより、CPU50は図5のステッ
プ104にて「YES」と判定して、ステップ105に
てフレキシブルディスクFDのトラック0〜8から9パ
ート分の演奏情報を順次読み取って、インターフェース
32を介して演奏情報メモリ30aのトラック0〜8に
書き込む。
リ30aに記憶された後、演奏者が操作パネル20の分
析操作子をオン操作すると、CPU50は図5のステッ
プ106にて「YES」と判定して、プログラムをステ
ップ107,108のキャラクタ分析ルーチン及び運指
分析ルーチンに進める。
CPU50はステップ300にて同ルーチンの実行を開
始し、ステップ301にてトラック番号TRを「0」に
設定し、ステップ302にてトラック番号TR(=0)
の読み出し及び書き込みポインタを演奏情報メモリ30
a及びキャラクタメモリ30bのトラック0〜8の各先
頭アドレス値に設定する。次に、ステップ303にてト
ラック番号TR(=0)の読み出しポインタが指すアド
レス以降で最も近いキーイベントデータ(キーイベント
コード、キーコード及びゲートタイム)を読み出し、同
ポインタを次データのアドレスまで歩進しておく(図4
(A)参照)。すなわち、読み出しポインタをデュレーシ
ョンイベントデータの先頭アドレス値に設定する。
0)の書き込みポインタが指すキャラクタメモリ30b
のアドレスに前記読み出したキーイベントデータ(キー
イベントコード、キーコード及びゲートタイム)を書き
込み、同ポインタを次の空きエリアまで歩進しておく
(図4(B)参照)。次に、ステップ305にて前記書き
込んだキーコードを旧キーコードデータKC1として一
時記憶しておき、ステップ306にてトラック番号TR
(=0)の読み出しポインタが指すアドレスのデータす
なわちデュレーションイベントデータ(デュレーション
コード及びデュレーションタイム)を読み出し、同ポイ
ンタを次データのアドレスまで歩進しておく(図4(A)
参照)。そして、ステップ307にて前記読み出したデ
ータがキーイベントデータであるか否かを判定する。こ
の場合、読み出したデータはデュレーションイベントデ
ータであるので、ステップ307にて「NO」と判定し
てプログラムをステップ312に進める。ステップ31
2においては、トラック番号TR(=0)の書き込みポ
インタが指すキャラクタメモリ30bのアドレスに前記
読み出したデュレーションイベントデータ(デュレーシ
ョンコード及びデュレーションタイム)を書き込み、同
ポインタを次の空きエリアまで歩進しておく(図4(B)
参照)。
13にて前記書き込んだデータがフレーズコード又はエ
ンドコードであるか否かを判定する。フレーズコード又
はエンドコードでなければ、ステップ313にて「N
O」と判定してプログラムをステップ306に戻す。ス
テップ306においては、前記と同様に、ステップ30
6にてトラック番号TR(=0)の読み出しポインタが
指すアドレスのデータを読み出すとともに同ポインタを
次データのアドレスまで歩進しておき、ステップ307
にて前記読み出したデータがキーイベントデータである
か否かを判定する。キーイベントデータであれば、ステ
ップ307にて「YES」と判定し、ステップ308に
て前記読み出したキーコードを新キーコードデータKC
2として一時記憶して、プログラムをステップ309に
進める。
ドデータKC2,KC1を用いて、スケールデータS
C、アップダウンデータUD及びキータイプデータKT
YPを次の〜のようにして決定する。 |KC2−KC1|≦2であればSC=0に、3≦|
KC2−KC1|≦11であればSC=1に、12≦|
KC2−KC1|であればSC=0に設定する。 KC2≧KC1であればUD=0に、KC2<KC1
であればUD=1に設定する。 KC1,KC2が共に白鍵を表せばKTYP=0に、
KC1が白鍵を表しかつKC2が黒鍵を表せばKTYP
=1に、KC1が黒鍵を表しかつKC2が白鍵を表せば
KTYP=2に、KC1,KC2が共に黒鍵を表せばK
TYP=3に設定する。
10にて、トラック番号TR(=0)の書き込みポイン
タが指すキャラクタメモリ30bのアドレスに、次デー
タがキャラクタデータであることを表すキャラクタコー
ド、前記設定したスケールデータSC、アップダウンデ
ータUD及びキータイプデータKTYPを書き込み、ひ
きつづき前記ステップ306の処理により今回読み出し
たキーイベントデータ(キーイベントコードコード、キ
ーコード及びゲートタイム)を書き込む(図4(B)参
照)。次に、ステップ311にて旧キーコードKC1を
新キーコードKC2に更新して、プログラムをステップ
306に戻す。このようなステップ306〜313の処
理により、演奏情報メモリ30aに記憶されていたキー
イベントデータ及びデュレーションイベントデータから
なる一連のデータが、キーイベントデータの前にてキャ
ラクタデータを挿入した形の一連のデータに変換されて
キャラクタメモリ30bに再記憶される。
理中、ステップ312にてキャラクタメモリ30bに書
き込んだデータがフレーズコードになると、ステップ3
13にて「YES」、ステップ314にて「NO」と判
定してプログラムをステップ303に戻す。この場合、
前述のように、ステップ303,304の処理により、
演奏情報メモリ30aから読み出したキーイベントデー
タがそのままキャラクタメモリ30bに書き込まれるの
で、フレーズの最初のキーイベントデータの前にはキャ
ラクタデータが書き込まれない。そして、前述したステ
ップ306〜313の処理により、次のフレーズに関す
るキーイベントデータ、デュレーションイベントデー
タ、キャラクタデータ及びフレーズコードがキャラクタ
メモリ30bに書き込まれる。
込みが終了すると、ステップ312にてエンドコードが
キャラクタメモリ30bに書き込まれる。そして、この
場合には、ステップ313,314にて共に「YES」
と判定してプログラムをステップ315に進める。ステ
ップ315においては、トラック番号TRに「1」を加
算することにより、同番号TRを「1」に変更する。そ
して、ステップ316にて「NO」と判定してプログラ
ムをステップ302に戻し、前述のステップ302〜3
14の処理を実行するので、演奏情報メモリ30a内の
トラック1に関する演奏情報に前記と同様にキャラクタ
データが付加されてキャラクタメモリ30bに再記憶さ
れる。そして、この再記憶が終了すると、ステップ31
5の処理によりトラック番号TRが「2」に変更され
て、ステップ316にて「YES」と判定される。した
がって、トラック0,1に関するキャラクタメモリ30
bへのデータの書き込み終了後、ステップ317にてキ
ャラクタ分析ルーチンの実行が終了される。なお、トラ
ック0の演奏情報は右手で演奏されるべきパートの演奏
情報であり、トラック1の演奏情報は左手で演奏される
べきパートの演奏情報である。
50はステップ400にて同ルーチンの実行を開始し、
ステップ401にてトラック番号TRを「0」に設定
し、ステップ402にてフレーズの最初に使われるのに
最適な指を決定するための変数としての最適指番号MF
Nを「1」に初期設定する。指番号とは、両手とも親指
を「1」とし、人差指、中指、薬指及び小指の順に
「2」〜「5」により表されるもので、これが演奏情報
中の演奏指を表す指情報として機能する。次に、ステッ
プ403にてキャラクタメモリ30b及び運指メモリ3
0c内のトラックTR(=0)の先頭アドレスをフレー
ズ先頭アドレス値RFA,WFAとして設定して、プロ
グラムをステップ404以降に進める。ステップ404
においては、フレーズの最初の指を仮に表す仮指番号B
FNを「1」に初期設定するとともに、運指を進める上
で指が最初に交差した最初の音符(いわゆる指くぐりの
あった音符)に対応したアドレスのうちの最大値を表す
最大アドレス値MADRを仮に「0」に設定しておく。
05にてキャラクタメモリ30bの読み出しポインタ及
び運指メモリ30cの書き込みポインタを前記フレーズ
先頭アドレス値RFA,WFAに設定し、ステップ40
6にて指番号FNを仮指番号BFNに設定して、プログ
ラムをステップ407のフレーズルーチンに進める。
おり、CPU50はステップ450にて同ルーチンの実
行を開始し、ステップ451にて”1”により運指不能
を表す運指不能フラグFLG及び”1”により指の交差
があったことを表す指交差フラグFCNGをそれぞれ”
0”に初期設定した後、プログラムをステップ452以
降に進める。
TR(=0)の読み出しポインタが指すアドレスに記憶
されているキャラクタメモリ30b内のデータを読み出
し、同ポインタを次データのアドレスまで歩進しておく
(図4(B)参照)。なお、この場合も、各データはキー
イベントデータ、デュレーションイベントデータ、キャ
ラクタデータ、フレーズコード及びエンドコードをそれ
ぞれ単位とする。次に、ステップ453にて前記読み出
したデータがキャラクタデータであるか否かを判定す
る。キャラクタデータでなければ、ステップ453にて
「NO」と判定してプログラムをステップ454に進め
る。ステップ454においては、前記読み出しデータを
トラック番号TR(=0)の書き込みポインタが指す運
指メモリ30cのアドレスに書き込み、同ポインタを次
の空エリアまで進めておく(図4(C)参照)。そして、
ステップ455にて前記書き込んだデータがキーイベン
トデータであるか否かを判定する。キャラクタメモリ3
0bには、キーイベントデータ、デュレーションイベン
トデータ及びキャラクタデータの順に記憶されているの
で、最初、ステップ455にて「YES」と判定して、
プログラムをステップ456に進める。
TR(=0)の書き込みポインタが指す運指メモリ30
cのアドレスに指番号FNを書き込み、同ポインタを次
の空エリアまで進めておく(図4(C)参照)。次に、ス
テップ457にて旧キーコードKC1を新キーコードK
C2に変更するとともに旧指番号FN1を新指番号FN
2に変更しておき、ステップ458にて新キーコードK
C2を前記ステップ454の処理によって書き込んだキ
ーコードに変更するとともに新指番号FN2を前記ステ
ップ456の処理によって書き込んだ指番号FNに変更
しておく。これらのステップ457,458の処理後、
ステップ459にて前記ステップ454の処理により書
き込んだキーイベントデータが現在のフレーズの最初の
音符に相当するか否かを判定する。この判定において
は、キャラクタメモリ30bのアドレスを後退させてデ
ータの先頭又はフレーズコードが出現するまでにキーイ
ベントデータが存在するか否かを調べればよい。この場
合、前記キーイベントデータはフレーズの最初の音符に
相当するので、ステップ459にて「YES」と判定し
てプログラムをステップ452に戻す。
はキーイベントデータ、デュレーションイベントデータ
及びキャラクタデータがこの順に記憶されているので、
今回ステップ452の処理によってキャラクタメモリ3
0bから読み出されるデータはデュレーションイベント
データである。したがって、ステップ453にて「N
O」と判定し、ステップ454にて前記読み出したデュ
レーションイベントデータを運指メモリ30cに書き込
んだ後、ステップ455,465にて共に「NO」と判
定してプログラムをふたたびステップ452に戻す。次
に、ステップ452の処理によりキャラクタメモリ30
bから読み出されるデータはキャラクタデータになるの
で、ステップ453にて「YES」と判定してプログラ
ムをステップ466以降に進める。
キャラクタデータ中のスケールデータSCを変数Sとし
て設定するとともに、キータイプデータKTYPを変数
Xとして設定した後、トラック番号TR、前記変数S,
X、前回の指番号FNに基づいてプログラムメモリ52
に設けた第1運指テーブルTBLAを参照して新たな指
番号FNを決定する。
明しておくと、図3(A)に示すように、同テーブルTB
LAはトラック番号TRとスケールデータSC(変数
S)とで決まる各組合せにそれぞれ対応した複数のサブ
テーブルからなり、各サブテーブルにはキータイプKT
YP(変数X)と前回の指番号FNとで決まる各組合せ
に対応した次の指番号FNが記憶されている。ただし、
図3(A)中の5より大きな指番号FN(サブテーブル番
号TN)は第2運指テーブルTBLBのサブテーブルを
指示するものである。第2運指テーブルTBLBは、図
3(B)に示すように、前記サブテーブル番号TNにそれ
ぞれ対応した複数のサブテーブルからなり、各サブテー
ブルにはアップダウンデータUDとスケールデータ(変
数S)とで決まる各組合せに対応した次の指番号FNが
記憶されている。ただし、この第2運指テーブル内にも
6以上の指番号FNが記憶されており、同指番号FNは
運指不能であることを表している。
テップ467の処理により決定された指番号FNが5以
下であれば、ステップ468にて「NO」と判定すると
ともに、ステップ474にて「NO」と判定してプログ
ラムをステップ452に戻す。また、前記ステップ46
7の処理により決定した指番号FNが5より大きい場合
には、ステップ468にて「YES」と判定してプログ
ラムをステップ469に進める。ステップ469におい
ては、キャラクタメモリ30b内のキャラクタデータの
うちでトラックTRの読み出しポインタが指すアドレス
以降の最も近いキャラクタデータを読み出す。そして、
ステップ470にて、前記読み出したキャラクタデータ
がフレーズコード又はエンドコードの前にあったか否
か、すなわち同キャラクタデータが現在のフレーズ内の
データであるか否かを判定する。
フレーズ内のデータであれば、ステップ470にて「Y
ES」と判定して、ステップ471にて変数S,Uを同
キャラクタデータ中のスケールデータSC及びアップダ
ウンデータUDに設定する。前記読み出したキャラクタ
データが現在のフレーズ内のデータでなければ、ステッ
プ470にて「NO」と判定して、ステップ472にて
変数S,Uを共に「0」に設定する。これらのステップ
471,472の処理後、ステップ473にて前記ステ
ップ467の処理により決定した指番号FN(サブテー
ブル番号TN)及び変数S,Uに基づいて第2運指テー
ブルTBLBを参照して指番号FNを再度決定する。こ
のようにステップ467の処理により決定した指番号F
Nが6以上であるときには、次のキャラクタデータが現
在のフレーズ内に属する限り同キャラクタデータを考慮
して新たな指番号FNが決定される。次のキャラクタデ
ータが次のフレーズに関するものであれば、次のキャラ
クタデータが考慮されることなく、新たな指番号FNが
決定される。
した指番号FNが5以下であれば、ステップ474にて
「NO」と判定してプログラムをステップ452に戻
し、キャラクタメモリ30b内のキーイベントデータ及
びデュレーションイベントデータが運指メモリ30cに
転送記憶されるとともに、同キーイベントデータに演奏
指を表す指情報が付けられていく(図4(C)参照)。ま
た、ステップ473の処理により決定した指番号FNが
「6」であれば、ステップ474にて「YES」と判定
し、ステップ475にて運指不能フラグFLGを”1”
に設定した後、ステップ476にてこのフレーズルーチ
ンの実行を終了する。
書き込み中、前記ステップ454の処理により運指メモ
リ30cに書き込まれたキーイベントデータがフレーズ
の最初のキーイベントデータでなくなれば、ステップ4
59にて「NO」と判定してプログラムをステップ46
0以降に進める。ステップ460においては、指交差フ
ラグFCNGが前記ステップ451の処理によって初期
設定した”0”に保たれているか否かを判定する。指交
差フラグFCNGが”0”に保たれていれば、ステップ
460にて「YES」と判定して、ステップ461にて
トラック番号TRが「0」か否か、すなわち右手に関す
る演奏情報の処理中であるか否かを判定する。右手に関
する演奏情報の処理中であれば、ステップ461におけ
る「YES」との判定の基に、ステップ462にて下記
数1の不等式が成立するか否かを判定する。
更方向とが一致する場合に正となるもので、指交差のな
い運指が決定された場合には、ステップ462にて「N
O」と判定してプログラムをステップ452に戻す。ま
た、トラック番号TRが「1」すなわち左手に関する演
奏情報の処理中であれば、ステップ461における「N
O」との判定の基に、ステップ463にて下記数2の不
等式が成立するか否かを判定する。
更方向とが一致する場合に負となるもので、指交差のな
い運指が決定された場合には、ステップ463にて「N
O」と判定してプログラムをステップ452に戻す。こ
れにより、指交差のない指番号FNが決定されていく限
り、指交差フラグFCNGが”0”に保たれたまま指番
号FNを含むキーイベントデータ及びデュレーションイ
ベントデータが運指メモリ30cにこの順に書き込まれ
ていく。
定された場合には、前記数1,2の不等式が成立するの
で、ステップ462,463にて「YES」と判定して
プログラムをステップ464に進める。ステップ464
においては、指交差フラグFCNGを”1”に設定する
とともに、トラックTRの読み出しポインタ値をアドレ
ス値ADRとして設定する。そして、一旦指交差フラグ
FCNGが”1”に設定されると、ステップ460にて
「NO」すなわち指交差フラグFCNGが”0”でない
と判定してプログラムをステップ452に戻すようにな
る。したがって、指交差が生じた場合には、指交差フラ
グFCNGが”1”に設定されるとともに、指交差がフ
レーズ内で初めて発生した音符に関するキャラクタメモ
リ30bのアドレスがアドレス値ADRとして記憶され
る。
含むキーイベントデータ及びデュレーションイベントデ
ータの運指メモリ30cに対する書き込みが終了する
と、前記ステップ454の処理によりフレーズコードが
同メモリ30cに書き込まれる。そして、ステップ46
5にて「YES」と判定して、ステップ476にてこの
フレーズルーチンの実行を終了する。また、前記ステッ
プ454の処理により、エンドコードが運指メモリ30
cに書き込まれた場合にも、ステップ465にて「YE
S」と判定して、ステップ476にてこのフレーズルー
チンの実行を終了する。
グラムは図8のステップ408に戻されて、同ステップ
408にて運指不能フラグFLGが”0”であるか否か
を判定する。この運指不能フラグFLGが前記フレーズ
ルーチンの実行によって”1”に設定されていれば、同
ステップ408にて「NO」と判定してプログラムをス
テップ412に進める。ステップ412においては仮指
番号BFNに「1」を加算して、ステップ413におけ
る「YES」との判定の基に仮指番号BFNが5より大
きくなるまで、プログラムをステップ405に戻す。し
たがって、フレーズの最初の音符を押鍵する指を仮指番
号BFNに設定し、前述した1フレーズ内の音符に関す
る指番号FNを決定して、運指メモリ30c内の前記1
フレーズに関するデータを書き換える。
に設定されたままであれば、ステップ408にて「YE
S」と判定して、ステップ409にて指交差フラグFC
NGが”1”であるか否かを判定する。前記フレーズル
ーチンの実行後にも、指交差フラグFCNGが”0”に
保たれていれば、ステップ409にて「NO」と判定し
てプログラムをステップ417に進める。ステップ41
7においては運指メモリ30c内のトラック番号TRに
より指定されたトラックにエンドコードが書き込まれて
いるか否かを判定する。同トラックにエンドコードが書
き込まれていなければ、ステップ417にて「NO」と
判定してプログラムをステップ418に進める。ステッ
プ418においてはフレーズ先頭アドレス値RFA,W
FAをトラック番号TRにより指定されるキャラクタメ
モリ30bの読み出しポインタ値及び運指メモリ30c
の書き込みポインタ値にそれぞれ設定して、プログラム
をステップ404に戻す。この場合には、前回のフレー
ズルーチンの実行により運指メモリ30c内に書き込ま
れた一連の指番号FNが確定されて、次のフレーズのデ
ータの書き込みを始める。
Nの付与を終了したフレーズ内の指番号FNに指交差が
あって指交差フラグFCNGが”1”であれば、前記ス
テップ409にて「YES」と判定してプログラムをス
テップ410に進める。ステップ410においては、最
大アドレス値MADRと前記フレーズルーチンの実行に
よって設定されたアドレス値ADRとを比較する。アド
レス値ADRが最大アドレス値MADR以下であれば、
ステップ410にて「NO」と判定してプログラムをス
テップ412に進める。アドレス値ADRが最大アドレ
ス値MADRより大きれば、ステップ410にて「YE
S」と判定して、ステップ411にて最大アドレス値M
ADRをアドレス値ADRに変更するとともに、最適指
番号MFNを前記ステップ404,412により設定し
た仮指番号BFNに変更する。この後、ステップ412
にて仮指番号BFNに「1」を加算し、同加算結果が5
より大きくなるまで、プログラムをステップ405に戻
して前記ステップ405〜412の処理を繰り返し実行
する。
により、フレーズの最初の音符に関する1〜5の全ての
仮指番号BFNに対して、不能フラグFLGが”1”に
設定されているかまたは1フレーズ内の指交差する指番
号FNが存在した場合には、不能フラグFLGが”0”
であって指交差が最も遅く現れた仮指番号BFNが最適
指番号MFNとして保存されることになる。そして、こ
のステップ405〜413の処理後には、ステップ41
4にて前記ステップ405の処理と同様にキャラクタメ
モリ30bの読み出しポインタ及び運指メモリ30cの
書き込みポインタを前記フレーズ先頭アドレス値RF
A,WFAに設定し、ステップ415にて指番号FNを
最適指番号MFNに設定して、ステップ416にて前述
した図9のフレーズルーチンをふたたび実行する。
り、フレーズの最初の音符に対応した指番号を最適指番
号MFNとして指番号FNの付与を再度行い、前記ステ
ップ405〜413の処理で扱ったフレーズに関する指
番号FNを含むキーイベントデータ、デュレーションイ
ベントデータ及びフレーズコードを運指メモリ30cに
再記憶する。これにより、前記フレーズに関する一連の
指番号FNが確定される。前記ステップ416の処理
後、前記と同様にして、次のフレーズ関するデータを処
理する。このようにして、運指メモリ30cにエンドコ
ードが書き込まれると、ステップ417にて「YES」
と判定してプログラムをステップ419に進める。ステ
ップ419においては、トラック番号TRに「1」を加
算することにより同番号TRを「1」に変更し、ステッ
プ420における「NO」との判定の基にプログラムを
前述したステップ402に戻す。これにより、トラック
1すなわち左手に関する演奏情報に指番号FNを付与す
るとともに、運指メモリ30cに同指番号FNの付与さ
れた演奏情報が書き込まれる(図4(C)参照)。そし
て、トラック1に関する前記データ処理が終了すると、
ステップ419の処理によってトラック番号TRは
「2」に変更され、ステップ420における「YES」
との判定の基に、ステップ421にて運指分析ルーチン
の実行を終了する。
は、まずフレキシブルディスクFDに予め記憶されてい
る音符情報を含む演奏情報を一旦演奏情報メモリ30a
に転送し、同転送された演奏情報メモリ30a内の演奏
情報を自動的に分析して、連続する音符情報に応じて各
音符情報にキャラクタデータを付与して同キャラクタデ
ータの付与された演奏情報をキャラクタメモリ30bに
記憶させるようにした。そして、前記キャラクタデータ
に基づいて指番号FN(指情報)を決定し、キャラクタ
メモリ30bに記憶されているキャラクタデータに代え
て指番号FN(指情報)を採用して、同指番号FNを演
奏情報(音符情報)に挿入して運指メモリ30cに同演
奏情報と共に指番号FNを記憶する。したがって、フレ
キシブルディスクFDは演奏情報(音高情報、音符情
報)を供給する手段として機能し、演奏情報メモリ30
aは演奏情報を供給する手段として機能すると同時にバ
ッファメモリとしても機能し、キャラクタメモリ30b
はバッファメモリとして機能する。
リ30a、キャラクタメモリ30b及び運指メモリ30
cからなる3つのメモリを設けたが、3つのメモリを設
けなくても一つのメモリのみを設け、フレキシブルディ
スクFDから供給された演奏情報にキャラクタデータを
付与して演奏情報メモリ30aに重ね記憶し、かつ同キ
ャラクタデータを運指情報に変えた演奏情報を演奏情報
メモリ30aに再度重ね記憶させるようにしてもよい。
憶されているデータに基づく自動演奏及び運指表示につ
いて説明する。この場合、演奏者は操作パネル20内の
モード切り換え操作子を操作する。このモード切り換え
操作子の操作に応答して、CPU50は図5のステップ
109にて「YES」と判定して、モードデータMOD
を順に切り換える。例えば、現在のモードデータMOD
が「0」であれば「1」に変更し、「1」であれば
「2」に変更し、「2」であれば「3」に変更し、かつ
「3」であれば「0」に変更する。このモードデータM
ODは、「0」によりトラック0〜8の演奏情報を単に
再生する通常再生モードを表し、「1」によりトラック
1〜8の演奏情報を単に再生するとともにトラック0の
演奏情報を右手用の運指表示に利用する右手ガイドモー
ドを表し、「2」によりトラック0,2〜8の全ての演
奏情報を再生するとともにトラック1の演奏情報を左手
用の運指表示に利用する左手ガイドモードを表し、
「3」によりトラック2〜8の演奏情報を単に再生する
とともにトラック0,1の演奏情報を右手用及び左手用
の運指表示にそれぞれ利用する両手ガイドモードを表
す。
20のスタート/ストップ操作子を操作する。このスタ
ート/ストップ操作子の操作に応答して、CPU50は
ステップ111にて「YES」と判定して、ステップ1
12にて”1”により自動演奏の動作中であることを表
すランフラグRUNを反転、すなわち現ランフラグRU
Nが”0”であれば”1”に変更し、現ランフラグRU
Nが”1”であれば”0”に変更する。前記反転の結
果、ランフラグRUNが”1”になると、ステップ11
3にて「YES」と判定してステップ114にて自動演
奏スタートルーチンを実行する。この自動演奏スタート
ルーチン(詳細には図10参照)は自動演奏の開始のた
めの準備を行うもので、この処理後、タイマ53からの
割り込み信号の発生毎に割り込みプログラム(図11)
を実行して、演奏情報メモリ30b及び運指メモリ30
cに記憶されているデータを用いて前記各モード毎に自
動再生動作又は運指動作が行なわれる。一方、前記反転
の結果、ランフラグRUNが”0”になると、ステップ
113にて「NO」と判定してステップ115にて自動
演奏を停止させる。
する。 (d1)通常再生モード モードデータMDが「0」であって、当該電子楽器が通
常再生モードに設定されている場合の動作について説明
する。図10の自動演奏スタートルーチンはステップ5
00にて開始され、CPU50はステップ501にて全
トラック0〜8の読み出しポインタを演奏情報メモリ3
0aの各トラックの先頭アドレス値に設定し、ステップ
502にて各トラック毎の音符の時間間隔(音長)を計
測するためのデュレーションタイムカウント値TM(0)
〜TM(8)を「0」に初期設定する。次に、ステップ5
03にて運指表示と並行して正しい鍵が押鍵されるまで
自動演奏の進行を一時的に停止させるためのトラック
0,1に対応した待ちフラグWAIT(0),WAIT
(1)を”0”に初期設定し、ステップ504にて鍵盤装
置10にて押鍵された鍵を表すキーコードを一時的に記
憶する演奏キーコードリストPKCLをクリアする。そ
して、ステップ505にてモードデータMODに基づき
当該電子楽器が設定されているモードを判定する。この
場合、モードデータMODは「0」に設定されているの
で、ステップ505の判定処理によりプログラムをステ
ップ515に進め、同ステップ515にて自動演奏スタ
ートルーチンの実行を終了する。
タイマ53から割り込み信号がCPU50に到来する毎
に、CPU50は図11の割り込みプログラムを実行す
る。この割り込みプログラムの実行はステップ600に
て開始され、ステップ601にてランフラグRUNが”
1”であり、かつ両待ちフラグWAIT(0),WAIT
(0)が共に”0”であるか否かを判定する。この場合、
ランフラグが”1”に設定されるとともに両待ちフラグ
WAIT(0),WAIT(0)が共に”0”に設定されて
いるので、同ステップ601にて「YES」と判定し
て、ステップ602にてトラック番号TRを「0」に設
定した後、プログラムをステップ603以降に進める。
Rにより指定されるデュレーションタイムカウント値T
M(TR)(=TM(0))が「0」以下であるか否かを判定
する。このデュレーションタイムカウント値TM(TR)は
最初前述の自動演奏スタートルーチンにて「0」に設定
されているので、同ステップ603にて「YES」と判
定して、ステップ604にてトラック番号TRの読み出
しポインタ(トラック0の先頭アドレス)によりアドレ
ス指定される自動演奏メモリ30a内の記憶データが読
み出される。さらに、同ステップ604においては、前
記読み出しポインタを次のデータすなわちデュレーショ
ンイベントデータの記憶位置まで進めておく。この記憶
データはキーイベントデータであるので、ステップ60
5にて「NO」と判定してプログラムをステップ606
の再生ルーチンに進める。
り、同ルーチンの実行はステップ650にて開始され、
ステップ651,653にて前記読み出したデータがデ
ュレーションイベントデータ又はキーイベントデータで
あるか否かをそれぞれ判定する。したがって、ステップ
653にて「YES」と判定してプログラムをステップ
655に進める。ステップ655においては、モードデ
ータMODが「1」若しくは「3」かつトラック番号T
Rが「0」、又はモードデータMODが「2」若しくは
「3」かつトラック番号TRが「1」であるか否かを判
定する。この場合、モードデータMODは「0」である
ので、ステップ655にて「NO」と判定して、ステッ
プ656にて発音処理を実行する。この発音処理によ
り、前記読み出したキーイベントデータ中のキーコード
及びキーオン信号を楽音信号形成回路40に出力するの
で、同回路40は前記キーコードにより表された音高の
楽音信号を形成してサウンドシステム41に出力する。
これにより、トラック0の演奏情報に基づく楽音信号が
発生し始める。前記ステップ656の処理後、ステップ
657にて前記読み出しキーイベントデータ中のゲート
タイムがゲートタイムカウント値GT(TR)として設定さ
れて、ステップ668の処理により再生ルーチンの実行
を終了する。
6)の実行終了後、プログラムはふたたびステップ60
3に戻される。デュレーションタイムカウント値TM(T
R)は「0」に保たれたままであるので、前記と同様に、
ステップ603にて「YES」と判定して、ステップ6
04にて前記トラック番号TRの読み出しポインタによ
りアドレス指定される自動演奏メモリ30a内の記憶デ
ータが読み出されるとともに、同ポインタは次データ位
置まで進められる。この読み出されたデータはデュレー
ションイベントデータであるので、前記再生ルーチン
(図12)のステップ651にて「YES」と判定し、
ステップ652にてデュレーションイベントデータ中の
デュレーションタイムをデュレーションタイムカウント
値TM(TR)として設定して、ステップ668にて再生ル
ーチンの実行を終了する。これにより、デュレーション
タイムカウント値TM(TR)は「0」より大きな値になる
ので、次のステップ603の判定処理においては「N
O」と判定してプログラムをステップ608に進める。
TRにより指定されるゲートタイムカウント値GT(TR)
が「0」以下であるか否かを判定する。このゲートタイ
ムカウント値GT(TR)は前記図12のステップ657の
処理により「0」より大きな値に設定されているので、
ステップ608にて「NO」と判定してプログラムをス
テップ610,611に進める。ステップ610におい
てはゲートタイムカウント値GT(TR)から「1」が減算
され、ステップ611においてはデュレーションタイム
カウント値TM(TR)から「1」が減算される。次に、ス
テップ612にてトラック番号TRに「1」を加算し、
ステップ613にて前記加算されたトラック番号TRが
「9」に等しいか否かを判定する。トラック番号TRが
「9」になるまで、プログラムはステップ603に戻さ
れ、前述した場合と同様に、トラック1〜8の演奏情報
メモリ30a内のキーイベントデータ及びデュレーショ
ンイベントデータが読み出されるとともに、同読み出し
たデータに基づいて楽音信号の発生が制御されるととも
に、デュレーションタイムカウント値TM(TR)及びゲー
トタイムカウント値GT(TR)が前記読み出したデュレー
ションタイム及びゲートタイムにそれぞれ設定される。
そして、トラック番号TRが「9」になると、すなわち
トラック0〜8の関する各音符に対応したデータの読み
出しが終了すると、ステップ613にて「YES」と判
定してステップ614にて割り込みプログラムの実行を
終了する。
割り込み信号が入力されると、CPU50はふたたび図
11のステップ600にて割り込みプログラムの実行を
開始する。この場合も、ランフラグRUNは”1”であ
りかつ待ちフラグWAIT(0),WAIT(1)も共に”
0”であるので、ステップ602,612,613の処
理により、トラック番号TRを「0」から順次「1」ず
つ「8」まで変更しながら、ステップ603〜611の
処理を実行する。デュレーションタイムカウント値TM
(TR)及びゲートタイムカウント値GT(TR)が「0」よ
り大きい間、ステップ603,608にて共に「NO」
と判定して、ステップ610,611の処理によってゲ
ートタイムカウント値GT(TR)及びデュレーションタ
イムカウント値TM(TR)が「1」ずつ減算される。この
ような減算処理により、トラック番号TRにより指定さ
れるゲートタイムカウント値GT(TR)が「0」になる
と、ステップ608にて「YES」と判定して、ステッ
プ609にてトラックTRのデータに基づいて発生中の
楽音信号をオフするための制御信号を楽音信号形成回路
40に出力する。楽音信号形成回路40はトラックTR
の楽音信号を減衰させた後、その発生を停止する。
号TRにより指定されるデュレーションタイムカウント
値TM(TR)が「0」になると、ステップ603にて
「YES」と判定してプログラムをステップ604に進
める。したがって、前述したステップ603〜606の
処理により、次の音符に関するキーイベントデータ及び
デュレーションイベントデータを読み出して次の楽音信
号の発生を制御する。このような楽音信号の発生制御
中、演奏情報メモリ30aからフレーズコードが読み出
されたとき、図12のステップ651,653にてそれ
ぞれ「NO」と判定して、ステップ668にて再生ルー
チンの実行を終了する。この場合、トラック番号TRに
よって指定される読み出しポインタはステップ604の
処理により次のキーイベントデータのアドレスに設定さ
れている。したがって、ひきつづき実行される図11の
ステップ603〜606の処理により、次のフレーズの
先頭の音符に関するキーイベントデータ及びデュレーシ
ョンイベントデータが読み出されて、同音符に関する楽
音信号の発生が制御される。
ドであれば、ステップ605にて「YES」と判定し
て、ステップ607にて前記読み出しポインタをエンド
コードが記憶されているアドレスに再び戻す。したがっ
て、この場合には、ひきつづき実行される図11のステ
ップ603〜605の処理により、常にエンドコードが
読み出されるとともに、プログラムはステップ607を
介してステップ612,613に進められる。このよう
にして、トラック0〜8の楽音信号が順次再生される。
手ガイドモードに設定されている場合の動作について説
明する。図10の自動演奏スタートルーチンにおいて
は、前記ステップ501〜504の処理により、トラッ
ク0の読み出しポインタは運指メモリ30cのトラック
の先頭アドレス値にそれぞれ設定されるとともに残りの
トラック1〜8の読み出しポインタは演奏情報メモリ3
0aの各トラックの先頭アドレス値にそれぞれ設定さ
れ、デュレーションタイムカウント値TM(0)〜TM
(8)及び待ちフラグWAIT(0),WAIT(1)が”
0”に初期設定され、かつ演奏キーコードリストPKC
Lがクリアされる。そして、ステップ505の判定処理
により、ステップ506〜508の処理が実行される。
最初のキーイベントデータ中のキーコード及び指番号F
Nが読み出される。なお、この場合の読み出しポインタ
の歩進は行われない。ステップ507においては、前記
読み出されたキーコード及び指番号FNに基づいて右手
のための発光素子10bの点灯を制御するための指示情
報が形成されて、同指示情報が点灯制御回路12に供給
され、同制御回路12が発光素子10bの点灯を制御す
る。この制御においては、まず、図2に示すように、キ
ーコードにより表された鍵に対応した発光素子10bが
赤色に点灯される。次に、赤色に点灯した発光素子10
bの左側にて同素子10bに隣り合うFN−1個の発光
素子10bを青色に点灯させるとともに、前記赤色の発
光素子10bの右側にて同素子10bに隣り合う5−F
N個の発光素子10bを青色に点灯させる。これによ
り、右手の各指に対応した合計5個の発光素子10bが
点灯されるとともに押鍵に使われるべき指が赤色に指示
され、押鍵されるべき鍵及び使われるべき指が同時に発
光素子10bによって指示される。また、この合計5つ
の発光素子10bの点灯は右手を置く位置を指示してお
り、これらの発光素子10bの点灯を指示するための指
示信号の形成が右手を置く位置を表す情報の生成に相当
する。ステップ508においては、トラック0内のキー
コードであって演奏者によって次に押鍵されるべき鍵す
なわち赤色に点灯された鍵を表す自動側キーコードAK
C(0)が、前記読み出したキーコードに設定される。
タイマ53から割り込み信号がCPU50に到来する毎
に、CPU50は図11の割り込みプログラムを実行す
る。この割り込みプログラムの実行により、演奏情報メ
モリ30aのトラック1〜8に記憶されている演奏情報
は前述のようにして楽音信号として再生され、同演奏情
報に基づく自動演奏がなされる。運指メモリ30cのト
ラック0に関しては楽音信号として再生されず、キーイ
ベントデータが読み出されると、割り込みプログラムの
再生ルーチンのステップ655にてモードデータMOD
が「1」かつトラック番号TRが「0」であることに基
づいて「YES」と判定して、プログラムをステップ6
58〜660に進める。ステップ658,659におい
ては、トラック0から読み出したキーコード及び指番号
をキーコードデータKC及び指番号データFNとして設
定する。ステップ660においては、前記キーコードデ
ータKCが演奏キーコードリストPKCL中に含まれて
いるか否かを判定する。
れている鍵を押鍵することにより鍵盤演奏をしているの
で、図6のキーイベントルーチンの実行により、この押
鍵に応答して楽音信号が発生されている。このキーイベ
ントルーチンにおいては、ステップ203の発音処理
後、ステップ205にて待ちフラグWAIT(0)又はW
AIT(1)が”1”であるか否かを判定する。この右手
ガイドモードでは、待ちフラグWAIT(1)は常に”
0”に保たれている。待ちフラグWAIT(0)に関して
は、鍵演奏が自動演奏によるタイミングと一致又は早け
れば”0”に保たれるが、鍵演奏が自動演奏によるタイ
ミングから遅れた場合には後述の処理により”1”に変
更される。
イミングと一致又は同タイミングに比べて早い場合につ
いて説明する。この場合、前記ステップ205にて「N
O」と判定され、ステップ207にて演奏された鍵を表
すキーコードKCはワーキングメモリ51内に設けた演
奏キーコードリストPKCL中に蓄えられる。したがっ
て、前記図12のステップ660にて「YES」すなわ
ちトラック0から読み出したキーコードは演奏キーコー
ドリストPKCL中に含まれていると判定して、プログ
ラムをステップ661〜664に進める。ステップ66
1においては演奏キーコードリストPKCLから前記読
み出されたキーコードが削除される。次に、ステップ6
62にてトラック0の読み出しポインタが指すアドレス
以降で最も近いキーイベントデータを読み出す。なお、
この場合も読み出しポインタを進めない。ステップ66
3においては、前記と同様に読み出しデータ中のキーコ
ード及び指番号FNに基づいて押鍵されるべき鍵及び使
われるべき指が同時に発光素子10bによって表示され
る。ステップ664においては自動側キーコードAKC
(0)が前記読み出したキーコードに設定される。
65にて「YES」すなわち両待ちフラグWAIT
(0),WAIT(1)が共に”0”であると判定して、ス
テップ666にて演奏キーコードリストPKCLをクリ
アした後、ステップ668にて再生ルーチンの実行を終
了する。したがって、押鍵タイミングが自動演奏による
タイミングと一致又は同タイミングより早ければ、まず
一音符分前に運指表示がなされ、同表示された鍵が押鍵
されると、同鍵を表すキーコードが演奏キーコードリス
トPKCLに書き込まれる。そして、自動演奏による本
来のタイミングになると、次の音符に関する運指表示が
なされるとともに、演奏キーコードリストPKCLがク
リアされていき、自動演奏は予め決められた速度で進行
していく。
イミングより遅い場合について説明する。この場合、運
指メモリ30cから読み出したトラック0のキーコード
が演奏キーコードリストPKCLには含まれていないの
で、図12のステップ660にて「NO」と判定してプ
ログラムをステップ667に進める。ステップ667に
て待ちフラグWAIT(0)を”1”に設定した後、ステ
ップ668にて再生ルーチンの実行を終了する。このよ
うに待ちフラグWAIT(0)が”1”に設定されると、
図11の割り込みプログラムが実行されても、ステップ
601にて「NO」と判定されて、演奏情報メモリ30
a及び運指メモリ30cからの演奏情報の読み出しが停
止し、自動演奏は一時停止する。また、押鍵に応答した
図6のキーイベントルーチンにおいては、ステップ20
5にて「YES」すなわち待ちフラグWAIT(0)が”
1”であると判定して、プログラムをステップ206に
進める。
前記読み出した自動側キーコードAKC(0)と鍵盤10
aにて押鍵された鍵を表すキーコードKCを比較する。
押された鍵が正しくなくて前記両キーコードAKC
(0),KCが一致しなければ、ステップ206にて「N
O」と判定してプログラムをステップ207に進める。
ステップ207においては押鍵された鍵を表すキーコー
ドKCを演奏キーコードリストPKCLに追加して、ス
テップ216にてキーイベントルーチンの実行を終了す
る。一方、前記両キーコードAKC(0),KCが一致す
れば、ステップ206にて「YES」と判定してプログ
ラムをステップ208,209に進める。
キーコードAKC(0)が含まれるトラック番号を変数J
として設定、この場合には変数Jを「0」に設定する。
ステップ209においては変数Jにより指定される待ち
フラグWAIT(J)すなわち待ちフラグWAIT(0)
を”0”に変更する。次に、ステップ210にて現在点
灯している右手のための発光素子10bを消灯して、ス
テップ211にて両待ちフラグWAIT(0),WAIT
(1)が共に”0”であるか否かを判定する。この場合、
待ちフラグWAIT(1)は前述のように”0”に維持さ
れており、かつ待ちフラグWAIT(0)は前記ステップ
209の処理により”0”に変更されたので、同ステッ
プ211にて「YES」と判定してプログラムをステッ
プ212〜215に進める。ステップ212において
は、演奏キーコードリストPKCLをクリアする。ステ
ップ213においては、トラックTR(=0)の読み出
しポインタが指すアドレス以降であって最も近いアドレ
スのキーイベントデータすなわち次の音符に関するキー
イベントデータ中のキーコード及び指番号FNを読み出
す。なお、この場合も、読み出しポインタの歩進は行わ
れない。ステップ214においては、前記図10のステ
ップ507の処理と同様に、前記読み出したキーコード
及び指番号FNに基づいて右手のための発光素子10b
を点灯させる。これにより、次の音符に関して、押鍵さ
れるべき鍵及び使われるべき指が赤色の発光素子によっ
て表示されるとともに、その他の指が青色の発光素子に
より表示される。ステップ215においては前記読み出
したキーコードを自動側キーコードAKC(0)として設
定する。そして、ステップ216にてキーイベントルー
チンの実行を終了する。
たたび実行されると、この時点では、両待ちフラグWA
IT(0),WAIT(1)は共に”0”に設定されている
ので、ステップ601にて「YES」と判定されて、プ
ログラムはステップ602以降へ進められる。したがっ
て、このように押鍵タイミングが自動演奏によるタイミ
ングに比べて遅ければ、まず一音符分前に運指表示がな
され、同音符に関する押鍵タイミングで自動演奏が一時
停止する。その後に、運指表示されている鍵が押鍵され
ると、同押鍵タイミングで次の音符に関する運指表示が
なされるとともに、自動演奏もふたたびスタートする。
ドにおいては、右手用の運指表示が本来のタイミングよ
り一音符分前になされ、演奏者はこの運指表示にしたが
って押鍵を順次行っていけば、この押鍵に関する楽音信
号が発生されるとともに、トラック1〜8に関する演奏
情報は自動的に楽音信号に再生される。
手ガイドモードに設定されている場合の動作について説
明する。図10の自動演奏スタートルーチンにおいて
は、前記と同様なステップ501〜504の処理が行わ
れた後、ステップ505の判定処理により、ステップ5
09〜511の処理が実行される。ただし、この場合に
おける前記ステップ501においては、トラック1の読
み出しポインタが運指メモリ30cのトラックの先頭ア
ドレスに設定されるとともに、残りのトラック0,2〜
8の読み出しポインタが演奏情報メモリ30aの各トラ
ックの先頭アドレスに設定される。ステップ509〜5
11の処理においては、トラック1に関する最初のキー
イベントデータ中のキーコード及び指番号FNが読み出
され、これらのキーコード及び指番号FNに基づいて左
手用の運指表示がなされ、かつ同キーコードは自動側キ
ーコードAKC(1)として設定される。また、前記左手
用の運指表示においては、図2に示すように、キーコー
ドにより表された鍵に対応した発光素子10bが赤色に
点灯され、同赤色に点灯した発光素子10bの左側にて
同素子10bに隣り合う5−FN個の発光素子10bを
青色に点灯されるとともに、前記発光素子10bの右側
にて同素子10bに隣り合うFN−1個の発光素子10
bが青色に点灯される。
も、タイマ53から割り込み信号がCPU50に到来す
る毎に、図11の割り込みプログラムを実行されて、自
動演奏及び運指表示がなされる。ただし、このモードに
おいては、演奏情報メモリ30aのトラック0,2〜8
に記憶されている演奏情報が楽音信号として再生され、
運指メモリ30cのトラック1に記憶されている演奏情
報に基づき運指表示が制御される。したがって、図12
の再生ルーチンのステップ658〜667の処理におい
ては、前記右手ガイドモードにおけるトラック0及び右
手に代えて、トラック1及び左手に関する処理のみが行
われる。また、図6のキーイベントルーチンのステップ
205〜215に関しても、トラック1及び左手に関す
る処理のみが行われる。
は、左の押鍵タイミングが自動演奏によるタイミングと
一致又は同タイミングより早ければ、まず一音符分前に
運指表示がなされ、同表示された鍵が押鍵されると、同
鍵を表すキーコードが演奏キーコードリストPKCLに
書き込まれる。そして、自動演奏による本来のタイミン
グになると、次の音符に関する左手用の運指表示がなさ
れるとともに、演奏キーコードリストPKCLがクリア
されていき、自動演奏は予め決められた速度で進行して
いく。また、このような左手の押鍵タイミングが自動演
奏によるタイミングに比べて遅ければ、まず一音符分前
に左手用の運指表示がなされ、同音符に関する押鍵タイ
ミングで自動演奏が一時停止する。その後に、運指表示
されている鍵が押鍵されると、同押鍵タイミングで次の
音符に関する運指表示がなされるとともに、自動演奏も
ふたたびスタートする。
ドにおいても、左手用の運指表示が本来のタイミングよ
り一音符分前になされ、演奏者はこの運指表示にしたが
って押鍵を順次行っていけば、この押鍵に関する楽音信
号が発生されるとともに、トラック0,2〜8に関する
演奏情報は自動的に楽音信号に再生される。
手ガイドモードに設定されている場合の動作について説
明する。図10の自動演奏スタートルーチンにおいて
は、前記と同様なステップ501〜504の処理が行わ
れた後、ステップ505の判定処理により、ステップ5
09〜511の処理が実行される。ただし、この場合に
おける前記ステップ501においては、トラック0,1
の読み出しポインタが運指メモリ30cの各トラックの
先頭アドレスに設定されるとともに、残りのトラック2
〜8の読み出しポインタが演奏情報メモリ30aの各ト
ラックの先頭アドレスに設定される。ステップ509〜
511の処理においては、トラック0,1に関する最初
の各キーイベントデータ中のキーコード及び指番号FN
がそれぞれ読み出され、これらの各キーコード及び各指
番号FNに基づいて右手及び左手用の運指表示がそれぞ
れなされ、かつ各キーコードは自動側キーコードAKC
(0),AKC(1)として設定される。また、右手及び左
手用の運指表示においては、前述した右手ガイドモード
及び左手ガイドモードにて説明した両者の制御が同時に
なされる。
も、タイマ53から割り込み信号がCPU50に到来す
る毎に、図11の割り込みプログラムを実行されて、自
動演奏及び運指表示がなされる。ただし、このモードに
おいては、演奏情報メモリ30aのトラック2〜8に記
憶されている演奏情報が楽音信号として再生され、運指
メモリ30cのトラック0,1に記憶されている演奏情
報に基づき運指表示が制御される。したがって、図12
の再生ルーチンのステップ658〜667の処理におい
ては、トラック0,1及び両手に関する処理がそれぞれ
行われる。また、図6のキーイベントルーチンのステッ
プ205〜215に関しても、トラック0,1及び両手
に関する処理が行われる。
は、両手の押鍵タイミングが自動演奏によるタイミング
と一致又は同タイミングより早ければ、まず一音符分前
に運指表示がなされ、同表示された鍵が押鍵されると、
同鍵を表すキーコードが演奏キーコードリストPKCL
に書き込まれる。そして、自動演奏による本来のタイミ
ングになると、次の音符に関する運指表示がなされると
ともに、演奏キーコードリストPKCLがクリアされて
いき、自動演奏は予め決められた速度で進行していく。
また、いずれか一方の手の押鍵タイミングが自動演奏に
よるタイミングに比べて遅ければ、図11のステップ6
01の判定処理により自動演奏は一時停止するととも
に、図6のステップ211及び図12のステップ665
の判定処理により次の音符に関する運指表示及び演奏キ
ーコードリストPKLCのクリアも一時停止する。な
お、この両手ガイドモードにおいては、演奏キーコード
リストPKLCは右手及び左手共通に利用される。
ドにおいては、右手及び左手用の運指表示が本来のタイ
ミングより一音符分前になされ、演奏者はこの運指表示
にしたがって押鍵を順次行っていけば、この押鍵に関す
る楽音信号が発生されるとともに、トラック2〜8に関
する演奏情報は自動的に楽音信号に再生される。
変形例について説明する。 a.第1変形例 第1変形例は、上記実施例の指番号FNの作成方法を、
演奏情報メモリ30bに記憶されている演奏情報から指
番号FNを直接作成するように変形したものである。こ
の変形例においては、プログラムメモリ51には、図5
のステップ107のキャラクタ分析ルーチンの処理を省
略したメインプログラムが記憶されている。また、プロ
グラムメモリ51からは図7のキャラクタ分析ルーチン
が省略されるとともに、同メモリ51には図8の運指分
析ルーチンに代えて図13の運指分析ルーチンが記憶さ
れている。したがって、この変形例では、キャラクタメ
モリ30bは利用されない。また、同プログラムメモリ
51には図3(A)(B)の第1及び第2運指テーブルTB
LA,TALBに代えて右手用テーブル及び左手用テー
ブルが設けられている。これらの右手用テーブル及び左
手用テーブルは、図15に示すように、現在の音高から
次の音高までの音高差(下降側を正とするとともに上昇
側を負として現在の音高から次の音高までの音高差を半
音単位として表した間隔)、現在の指番号及び現在のキ
ーの種類に対して次に決定される指番号の的確度が同指
番号毎に点数の形で表されており、同点数は的確度が高
いほど大きな値を示している。なお、現在のキー種類
(現キー)の項の「any」はいずれのキー種類でもよ
いことを表し、「その他」は音高差及び現指番号の各組
み合わせ内におけるキー種類(現キー)の記述に該当し
ていない全てのキー種類を表している。また、次の指番
号毎の点数中の「不可」は運指不能を表している。
説明すると、操作パネル20の分析操作子が操作される
と、CPU50は上記実施例と同様に図5のステップ1
06にて「YES」と判定して、ステップ108にて運
指分析ルーチンを実行する。この運指分析ルーチンは図
13のステップ700にて開始され、ステップ7010
にてトラック番号TRを「0」に設定するとともに、ス
テップ702にてフレーズ番号FLを「1」に設定し
て、ステップ703〜706の処理により、フレーズ番
号FLにより指定されるフレーズの演奏情報に対する指
番号FNの付与を行う。
リ30a内の演奏情報をサーチすることによりフレーズ
番号FLにより指定されるフレーズの演奏情報中に含ま
れるキーイベントデータの数をカウントして、そのカウ
ント値を音符数Nとして設定する。ステップ704にお
いては、ワーキングメモリ51内に音符数N分の指番号
(1〜5)の全組合せを想定して指番号組合せテーブル
を作成する。これにより、この指番号組合せテーブルに
は、図14に示すように、11・・・1〜55・・・5
までの5N 通りの組合せが書き込まれる。ステップ70
5においては、キーイベントデータ中のキーコード及び
前記作成した指番号組合せテーブル内の指番号に基づい
て図15の右手用テーブルを参照して、指番号組合せテ
ーブル内の各組合せに対してそれぞれ点数を付ける。
説明すると、まず、フレーズ番号FLにより指定される
フレーズの第1番目及び第2番目のキーイベントデータ
を演奏情報メモリ30aから読み出すとともに各キーイ
ベントデータ中の各キーコードをそれぞれ取り出し、ま
たワーキングメモリ51内に前記作成した指番号組合せ
テーブルの第1の組み合わせの第1番目及び第2番目の
指番号をそれぞれ読み出す。次に、前記2つのキーコー
ドから音高差を計算し、前記第2番目のキーコードに基
づいて現在のキー種類を特定し、かつ前記第1番目及び
第2番目の指番号を現在及び次の指番号としてそれぞれ
設定して、これらの条件に合致する組合せを右手用テー
ブルから見つけ出すとともに同組合せに対応した点数を
仮記憶する。
後、同一フレーズの第2番目及び第3番目のキーイベン
トデータを演奏情報メモリ30aから読み出すとともに
各キーイベントデータ中の各キーコードをそれぞれ取り
出し、また同指番号組合せテーブルの第1の組み合わせ
の第2番目及び第3番目の指番号をそれぞれ読み出す。
次に、前記2つのキーコードから音高差を計算し、前記
第3番目のキーコードに基づいて現在のキー種類を特定
し、かつ前記第2番目及び第3番目の指番号を現在及び
次の指番号としてそれぞれ設定して、これらの条件に合
致する組合せを右手用テーブルから見つけ出し、同組合
せに対応した点数を前記仮記憶した点数に加算する。
れるフレーズに属する2つのキーコードを一対にして順
次先頭から読み出すとともに、指番号組合せテーブルか
らも2つの指番号を一対にて順次読み出して、これらの
キーコード及び指番号に応じた音高差、現在のキー種
類、現在及び次の指番号に基づいて右手用テーブルを参
照し、指番号組合せテーブルの第1の組合せに関する点
を順次累算していく。そして、第1の組合せの(N−1)
番目すなわち最終番目に関する前記点数の累算を終了し
たとき、この最後の累算値を総得点として前記指番号組
合せテーブルの第1の組合せ欄に書き込んでおく(図1
4参照)。なお、前記右手用テーブルから見つけ出した
組合せが不可能を表していた場合には、その時点で、前
記総得点の代わりに不可能を表すコードを書き込んでお
く。
第1の組合せに関する処理が終了した後、第2の組合せ
に関しても同様の処理を行う。そして、5N通りの組合
せが終了した時点では、指番号組合せテーブルには各指
番号の組合せに対応した総得点がそれぞれ書き込まれて
いることになる。
合せテーブルに書き込まれている総得点のうちの最高得
点を探し出して、最高得点に対応した指番号組合せテー
ブル内の指番号の組合せを取り出す。そして、前記フレ
ーズ番号FLにより指定されるフレーズの演奏情報を演
奏情報メモリ30aから順次読み出すとともに、前記取
り出した各指番号を同読み出した演奏情報中のゲートタ
イムの後に一つずつ挿入しながら運指メモリ30cに書
き込む。その結果、運指メモリ30cには、フレーズ番
号FLにより指定されるフレーズのキーイベントデータ
中に指番号FNを含ませた演奏情報が書き込まれる。
30cに全フレーズの指番号FNを含む演奏情報の書き
込みが終了するまで、すなわち演奏情報メモリ30aか
らエンドコードが読み出されて運指メモリ30cに書き
込まれるまで、ステップ707における「NO」との判
定の基に、ステップ708にてフレーズ番号FLを
「1」ずつ増加させながら、プログラムをステップ70
3に戻してステップ703〜706の処理を実行する。
その結果、全フレーズの演奏情報の運指メモリ30cへ
の書き込みが終了すると、ステップ707にて「YE
S」と判定して、ステップ709にてトラック番号TR
が「1」であるか否かを判定する。この場合、トラック
番号TRは「0」であるので、ステップ709にて「N
O」と判定して、ステップ710にてトラック番号TR
に「1」を加算して「1」に変更し、プログラムをステ
ップ702に戻す。したがって、トラック番号TRが
「1」の状態でステップ702〜708の処理が実行さ
れて、演奏情報メモリ30a内のトラック0の演奏情報
に指番号FNが付与されて運指メモリ30cに記憶され
る。そして、トラック0に関する運指メモリ30cの指
番号FNを含む演奏情報の書き込みが終了すると、ステ
ップ709にて「YES」と判定して、ステップ711
にて運指分析ルーチンの実行を終了する。
り、この第1変形例においても、指番号が付与されたト
ラック0,1の演奏情報が運指メモリ30cに記憶され
る。また、この第1変形例における他の動作は上記実施
例と同様であるので、説明を省略する。
の各組合せに対して最高得点数のものを指番号の組合せ
として最終決定するようにしたが、運指不能でなくかつ
総点数が所定値以上の中から指番号の組合せを演奏者に
選択させるようにしてもよい。さらに、前記右手用テー
ブル及び左手用テーブルの点数などを演奏テンポに応じ
て変更したり、検出又は入力した演奏者の手の大きさに
応じて変更するようにしてもよい。
指示に関するもので、各鍵10aの上方に各鍵位置に対
応させて一列に配置した複数の発光素子10cを有する
とともに、同素子10cの上方の適宜複数箇所に左右一
対の数字表示器10d,10eを備えている。左側の数
字表示器10dは左手の指番号を数字表示し、右側の数
字表示器10eは右手の指番号を数字表示するものであ
る。このように構成した変形例においては、図6のステ
ップ214、図10のステップ507,510,513
及び図12のステップ663の点灯制御においては、運
指メモリ30cから読み出されたキーコードにより表さ
れる鍵に対応した発光素子10cが点灯制御されるとと
もに、数字表示器10d,10eにて運指メモリ30c
から読み出された前記キーコードに対応した指番号FN
がトラック0,1毎に数字表示される。また、図6のス
テップ210の消灯処理においては、発光素子10c及
び数字表示器10d,10eが共に消灯制御される。
に変形することもできる。この変形例は、前記第2変形
例と同様に、各鍵10aの上方に各鍵位置に対応させて
一列に配置した複数の発光素子10cを有するととも
に、同素子10cの上方の適宜位置に左手及び右手を表
す絵10f,10g内のの各指にそれぞれ発光素子10
hを備えている。このように構成した変形例において
は、図6のステップ214、図10のステップ507,
510,513及び図12のステップ663の点灯制御
においては、運指メモリ30cから読み出されたキーコ
ードにより表される鍵に対応した発光素子10cが点灯
制御されるとともに、前記キーコードに対応した指番号
FNにより表された指の発光素子10hが点灯制御され
る。また、図6のステップ210の消灯処理において
は、発光素子10c,10hが共に消灯制御される。
示すように変形することもできる。この変形例は、各鍵
10aの上方に各鍵位置に対応させて二列に配置した複
数の発光素子10i,10jを有する。このように構成
した変形例においては、図6のステップ214、図10
のステップ507,510,513及び図12のステッ
プ663の点灯制御においては、運指メモリ30cから
読み出されたキーコードにより表される鍵に対応した発
光素子10cが点灯制御されるとともに、前記キーコー
ドと同キーコードに対応した指番号FNとにより各指を
置く位置情報が形成され、同位置情報に基づいて5つの
発光素子10hが点灯制御される。また、図6のステッ
プ210の消灯処理においては、発光素子10i,10
jが共に消灯制御される。
ける代わりに、各鍵10a内に埋め込むようにしてもよ
い。
べき鍵に対応した発光素子10bを赤色点灯させるとと
もに指の位置を示すための4つの発光素子10bを青色
点灯させるようにしたが、その他の色で区別するように
してもよい。また、発光色で区別しなくても、一方を点
滅させるとともに他方を点灯させるようにして区別する
こともできる。
た5つの発光素子10bの点灯により手の位置を示すよ
うにしたが、検出又は入力した手の大きさに応じて、適
当な間隔を設けて5つの発光素子10bを点灯させるよ
うにしてもよい。
シブルディスクFDに記憶されている演奏情報を一旦演
奏情報メモリ30aに転送した後、同演奏情報メモリ3
0a内の演奏情報にキャラクタデータを付与してキャラ
クタメモリ30bに再記憶させ、さらにキャラクタメモ
リ30c内のキャラクタデータを指情報に変えた演奏情
報を作成して運指メモリ30cに記憶させるようにし
て、同運指メモリ30cに記憶された演奏情報を読み出
して運指指示するようにした。しかし、演算速度さえ間
に合えば、フレキシブルディスクFDなどの外部記録媒
体から演奏情報を読み出すと同時に同演奏情報に運指情
報を付与して、リアルタイムで運指情報を作成していく
ようにしてもよい。さらに、キャラクタデータ及び指番
号をキーコードKC、デュレーションタイムデータ中に
混在させなくても、キャラクタデータ及び指番号のみを
演奏情報メモリ30a内の各キーコードに対応させて別
のメモリに記憶させておき、再生時に演奏情報メモリ3
0a内の演奏情報と並行して前記別メモリ内の指番号を
読み出すようにしてもよい。
ルディスクFDに限らず、ハードディスク、光ディスク
などを用いることもできるし、他のコンピュータ内のメ
モリ装置を外部記録媒体として利用することもできる。
レキシブルディスクFD及び演奏情報メモリ30aに記
憶されている指番号を決定するための演奏情報中にはフ
レーズコードが予め含まれているが、フレーズコードが
含まれていない演奏情報が用意された場合には、演奏者
がフレーズコードを挿入するようにしてもよいし、演奏
情報をプログラム分析することにより演奏情報中にフレ
ーズコードを自動的に挿入するようにしてもよい。この
場合、演奏テンポなどによって設定される特定符長以上
の休符の次にフレーズコードを挿入したり、簡単には、
2小節又は4小節を単位としてフレーズコードを挿入す
ることもできる。また、演奏情報中にスタッカート記号
などが入っている場合には、同スタッカート記号の前に
フレーズコードを挿入するようにしてもよい。
別々に分析したが、両手同時に分析するようにしてもよ
い。また、上記実施例では右手に関しても左手に関して
も単音パートである例について説明したが、複数音を同
時に発音するパートを右手用又は左手用に採用し、複数
の鍵を右手又は左手で同時に押鍵するような運指状態
(指番号)を分析するようにしてもよい。この場合、第
1運指テーブルTBLAは前の指番号の全ての組合せで
ある32通りの指番号に対してテーブルデータを用意す
るようにすればよい。
本の)最初の指に対して運指不可能又は指交差が生じた
場合、指交差が最も遅く発生する指番号の組合せに対し
て優先をもたせて運指状態を最終決定するようにした
が、1フレーズ内で指交差が最小回数の指番号の組合
せ、又は特定音(例えば、C音)には優先的に親指を割
り当てるなどの条件で前記優先順を決定するようにして
もよい。
べき鍵が押鍵されない場合には、自動演奏の再生及び運
指表示の進行を正しい鍵が押鍵されるまで一時停止する
ようにしたが、押鍵されるべき鍵が押鍵されない場合で
も、前記自動演奏の再生及び運指表示をそのまま予め決
めた速度で進行させていくようにしてもよい。また、演
奏情報として音符情報のうちの音長情報(デュレーショ
ンイベントデータ)を除いた音高情報(キーイベントデ
ータ)のみを記憶しておき、同音高情報を操作子の操作
又は所定の時間間隔で順次読み出すようにした自動演奏
装置及び電子楽器にも本発明は適用できる。この場合、
一連の音高情報に基づいて同音高情報に演奏指を指示す
るための指番号(指情報)を付加するようにすればよ
い。
置に単に運指表示装置を設けたものにも適用できる。さ
らに、パーソナルコンピュータなどで演奏情報に基づい
て運指情報を形成し、同コンピュータなどのディスプレ
イを用いて運指表示させるようにしてもよい。
ーブルを用いて行うようにしたが、アルゴリズム、演算
などを用いて行うようにしてもよい。さらに、キャラク
タ分析、運指分析などプログラムを上記実施例の装置に
内蔵させる必要はなく、フレキシブルディスクなどの外
部記録媒体に記録されていたものを同装置内に取り込
み、同取り込んだプログラムによりキャラクタ分析、運
指分析などを行うようにしてもよい。
ック図である。
である。
第1運指テーブルのデータフォーマット図、(B)は同プ
ログラムメモリに設けられた第2運指テーブルのデータ
フォーマット図である。
る演奏情報のデータフォーマット図、(B)は図1のキャ
ラクタメモリに記憶されている演奏情報のデータフォー
マット図、(C)は図1の運指メモリに記憶されている演
奏情報のデータフォーマット図である。
インプログラムのフローチャートである。
ャートである。
チャートである。
トである。
トである。
ーチャートである。
り込みプログラムのフローチャートである。
である。
ローチャートである。
た指番号組合せテーブルのデータフォーマット図であ
る。
た右手用テーブル及び左手用テーブルのデータフォーマ
ット図である。
図である。
示す平面図である。
示す平面図である。
h,10i,10j…発光素子、10d,10e…数字
表示器、20…操作パネル、30…メモリ装置、30a
…演奏情報メモリ、30b…キャラクタメモリ、30c
…運指メモリ、FD…フレキシブルディスク、40…楽
音信号形成回路、50…CPU、51…ワーキングメモ
リ、52…プログラムメモリ。
Claims (3)
- 【請求項1】一連の音符列の各音高をそれぞれ表す複数
の音高情報を供給する音高情報供給手段と、 前記供給される複数の音高情報に基づき所定区間内の音
符列の先頭の音符に割り当てられた一つの指に対して同
所定区間内の各音符のための演奏指を表す一連の指情報
を生成する指情報生成手段と、 前記所定区間内の音符列の先頭の音符に対して一つの指
を初期に割り当てる初期割り当て手段と、 前記生成された一連の指情報の中で演奏時に指交差を伴
う指情報を検出する指交差検出手段と、 前記生成された一連の指情報の中に前記指交差を伴う指
情報が検出されたとき前記所定区間内の先頭の音符に対
して割り当てる指を変更して前記指情報生成手段による
一連の指情報の生成を再開させ、前記生成された一連の
指情報の中に前記指交差を伴う指情報が検出されないと
き同生成された一連の指情報を最終的な一連の指情報と
して決定する指情報決定手段とを備えたことを特徴とす
る運指情報分析装置。 - 【請求項2】一連の音符列の各音高をそれぞれ表す複数
の音高情報を供給する音高情報供給手段と、 前記供給される複数の音高情報に基づき所定区間内の音
符列に対して各音符のための演奏指を表す複数組の一連
の指情報を生成可能とする指情報生成手段と、前記生成
される複数組の一連の指情報の中で演奏時に指交差を伴
う指情報を検出する指交差検出手段と、 前記複数組の一連の指情報のうちで前記検出される指交
差を伴う指情報が前記一連の指情報の中で最も遅く現れ
る一組の一連の指情報を最終的な一連の指情報として決
定する指情報決定手段とを備えたことを特徴とする運指
情報分析装置。 - 【請求項3】一連の音符列の各音高をそれぞれ表す複数
の音高情報を供給する音高情報供給手段と、 前記供給される複数の音高情報に基づき所定区間内の音
符列の先頭の音符に割り当てられた一つの指に対して同
所定区間内の各音符のための演奏指を表す一連の指情報
を順次生成するとともに、前記一連の指情報の生成中に
演奏時における運指不能を検出する指情報生成手段と、 前記所定区間内の音符列の先頭の音符に対して一つの指
を初期に割り当てる初期割り当て手段と、 前記指情報生成手段により演奏時における運指不能が検
出されたとき前記所定区間の先頭の音符に対して割り当
てる指を変更して前記指情報生成手段による一連の指情
報の生成を再開させる指変更手段とを備えたことを特徴
とする運指情報分析装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6051517A JP2950138B2 (ja) | 1994-03-23 | 1994-03-23 | 運指情報分析装置及び同装置を適用した電子楽器 |
US08/408,019 US6025551A (en) | 1994-03-23 | 1995-03-22 | Fingering information analyzer and electronic musical instrument with the same |
US09/507,179 US6486387B1 (en) | 1994-03-23 | 2000-02-15 | Fingering information analyzer, electronic musical instrument including fingering information analysis and method therefore |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6051517A JP2950138B2 (ja) | 1994-03-23 | 1994-03-23 | 運指情報分析装置及び同装置を適用した電子楽器 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08649399A Division JP3185885B2 (ja) | 1999-03-29 | 1999-03-29 | 運指情報分析装置及び同装置を適用した電子楽器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07261750A JPH07261750A (ja) | 1995-10-13 |
JP2950138B2 true JP2950138B2 (ja) | 1999-09-20 |
Family
ID=12889210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6051517A Expired - Lifetime JP2950138B2 (ja) | 1994-03-23 | 1994-03-23 | 運指情報分析装置及び同装置を適用した電子楽器 |
Country Status (2)
Country | Link |
---|---|
US (2) | US6025551A (ja) |
JP (1) | JP2950138B2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09198043A (ja) * | 1996-01-19 | 1997-07-31 | Kawai Musical Instr Mfg Co Ltd | 鍵盤楽器 |
JPH09319292A (ja) * | 1996-05-28 | 1997-12-12 | Kawai Musical Instr Mfg Co Ltd | 表示装置および該表示装置を用いた鍵盤楽器 |
JP4058858B2 (ja) | 1999-03-08 | 2008-03-12 | ヤマハ株式会社 | 運指情報生成方法、装置及び記録媒体 |
JP4543475B2 (ja) | 1999-04-13 | 2010-09-15 | ヤマハ株式会社 | 演奏練習装置および運指練習装置 |
JP3968975B2 (ja) | 2000-09-06 | 2007-08-29 | ヤマハ株式会社 | 運指生成表示方法、運指生成表示装置および記録媒体 |
US7168093B2 (en) * | 2001-01-25 | 2007-01-23 | Solutionary, Inc. | Method and apparatus for verifying the integrity and security of computer networks and implementation of counter measures |
JP4120978B2 (ja) * | 2001-02-27 | 2008-07-16 | ヤマハ株式会社 | 電子楽器用バスシステム |
JP4195232B2 (ja) * | 2002-05-08 | 2008-12-10 | ヤマハ株式会社 | 楽器 |
US7345236B2 (en) * | 2003-02-03 | 2008-03-18 | Terra Knights Music, Inc. | Method of automated musical instrument finger finding |
US7238876B1 (en) * | 2003-02-03 | 2007-07-03 | Richard William Worrall | Method of automated musical instrument finger finding |
JP2005049439A (ja) * | 2003-07-30 | 2005-02-24 | Yamaha Corp | 電子楽器 |
JP4448378B2 (ja) * | 2003-07-30 | 2010-04-07 | ヤマハ株式会社 | 電子管楽器 |
JP4501590B2 (ja) * | 2004-08-24 | 2010-07-14 | ヤマハ株式会社 | 音楽情報表示装置および音楽情報表示方法を実現するためのプログラム |
JP2007178696A (ja) * | 2005-12-27 | 2007-07-12 | Casio Comput Co Ltd | 運指情報生成装置、及びプログラム |
WO2009135964A1 (es) * | 2008-05-09 | 2009-11-12 | Virtual Toys S.L. | Dispositivo y método para emulación de un instrumento musical virtual |
DE102016002445A1 (de) | 2016-02-29 | 2017-08-31 | Oliver Schrank | Vorrichtung zur Anzeige für die Bedienung einer Taste eines Instruments oder Gerätes |
CN109102784A (zh) * | 2018-06-14 | 2018-12-28 | 森兰信息科技(上海)有限公司 | 一种ar辅助乐器练习方法、系统以及一种智能设备 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1324274A (en) * | 1919-12-09 | Indicating means fob | ||
JPS6046432B2 (ja) * | 1979-08-14 | 1985-10-16 | ヤマハ株式会社 | 電子楽器 |
JPS5665191A (en) * | 1979-10-31 | 1981-06-02 | Nippon Musical Instruments Mfg | Electronic musical instrument |
US4480521A (en) * | 1981-06-24 | 1984-11-06 | Schmoyer Arthur R | System and method for instruction in the operation of a keyboard musical instrument |
JPS6046432A (ja) * | 1983-08-24 | 1985-03-13 | Sanyo Electric Co Ltd | 炎検出装置 |
JPS61254991A (ja) * | 1985-05-07 | 1986-11-12 | カシオ計算機株式会社 | 電子楽器 |
JPS6336346A (ja) * | 1986-07-31 | 1988-02-17 | Oki Electric Ind Co Ltd | バンク切替回路 |
JP2526954B2 (ja) * | 1987-12-30 | 1996-08-21 | カシオ計算機株式会社 | 自動運指付け装置 |
JP2623809B2 (ja) * | 1989-01-19 | 1997-06-25 | ヤマハ株式会社 | 自動押鍵指示装置 |
JP2646760B2 (ja) * | 1989-08-30 | 1997-08-27 | ヤマハ株式会社 | 演奏データ分離装置 |
JPH0389467A (ja) * | 1989-08-31 | 1991-04-15 | Osaka Gas Co Ltd | 固体電解質型燃料電池 |
JPH0389466A (ja) * | 1989-09-01 | 1991-04-15 | Ishikawajima Harima Heavy Ind Co Ltd | 燃料電池の供給ガス流量制御装置 |
JPH03184076A (ja) * | 1989-12-14 | 1991-08-12 | Casio Comput Co Ltd | 演奏ナビゲート装置 |
JP2707853B2 (ja) * | 1991-03-01 | 1998-02-04 | ヤマハ株式会社 | 押鍵指示装置 |
JPH0514912A (ja) * | 1991-06-28 | 1993-01-22 | Matsushita Electric Ind Co Ltd | デイジタルコンバーゼンス装置 |
US5392682A (en) * | 1993-03-24 | 1995-02-28 | Mccartney-Hoy; Peter J. | Computerized training device for learning to play a piano |
CN1106949A (zh) * | 1993-07-08 | 1995-08-16 | 株式会社金星社 | 用于电子乐器演奏练习的装置及其控制方法 |
US5557055A (en) * | 1994-05-17 | 1996-09-17 | Breitweiser Music Technology Inc. | Musical keyboard having an electronically controlled display and a method of keyboard display |
JP3089467U (ja) * | 2002-04-22 | 2002-10-25 | 谷電機工業株式会社 | 地雷爆破処理装置 |
JP3089466U (ja) * | 2002-04-22 | 2002-10-25 | 瑞振工業股▲ぶん▼有限公司 | 自転車用のハンドルグリップ・カバー |
-
1994
- 1994-03-23 JP JP6051517A patent/JP2950138B2/ja not_active Expired - Lifetime
-
1995
- 1995-03-22 US US08/408,019 patent/US6025551A/en not_active Expired - Lifetime
-
2000
- 2000-02-15 US US09/507,179 patent/US6486387B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6025551A (en) | 2000-02-15 |
JPH07261750A (ja) | 1995-10-13 |
US6486387B1 (en) | 2002-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2950138B2 (ja) | 運指情報分析装置及び同装置を適用した電子楽器 | |
CN102148026B (zh) | 电子乐器 | |
JPH09305171A (ja) | 演奏指示装置 | |
JPH0448234B2 (ja) | ||
JP3358292B2 (ja) | 電子楽器 | |
JP3185885B2 (ja) | 運指情報分析装置及び同装置を適用した電子楽器 | |
JPH0469396B2 (ja) | ||
JPH1069273A (ja) | 演奏指示装置 | |
JP3055554B2 (ja) | 操作指示装置 | |
JP2625800B2 (ja) | 自動演奏装置 | |
JP2714557B2 (ja) | 演奏練習装置 | |
JP3617865B2 (ja) | 自動演奏装置 | |
JP2601250B2 (ja) | 自動演奏装置 | |
JP2000056669A (ja) | 楽器演奏動作検出と楽器演奏動作指導のための装置および方法、並びにそのプログラムを記録した記録媒体 | |
JP3693690B2 (ja) | 鍵盤楽器 | |
JP2006189515A (ja) | 電子鍵盤楽器 | |
JP3552279B2 (ja) | 鍵盤楽器 | |
JP2522203B2 (ja) | 自動演奏装置 | |
JP3158944B2 (ja) | フレーズ分割装置 | |
JP2650632B2 (ja) | 自動演奏装置 | |
JPH0348798Y2 (ja) | ||
JPS61222082A (ja) | 演奏データ編集装置 | |
JP2607413B2 (ja) | 自動演奏装置 | |
JPH0348799Y2 (ja) | ||
JPH0827624B2 (ja) | 自動演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19990202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990608 |
|
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: 20090709 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090709 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100709 Year of fee payment: 11 |