JP3067507B2 - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JP3067507B2
JP3067507B2 JP6018865A JP1886594A JP3067507B2 JP 3067507 B2 JP3067507 B2 JP 3067507B2 JP 6018865 A JP6018865 A JP 6018865A JP 1886594 A JP1886594 A JP 1886594A JP 3067507 B2 JP3067507 B2 JP 3067507B2
Authority
JP
Japan
Prior art keywords
information
midi
data
priority
midi information
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
JP6018865A
Other languages
English (en)
Other versions
JPH07210159A (ja
Inventor
廣田賢一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument 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 Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP6018865A priority Critical patent/JP3067507B2/ja
Publication of JPH07210159A publication Critical patent/JPH07210159A/ja
Application granted granted Critical
Publication of JP3067507B2 publication Critical patent/JP3067507B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子楽器に関し、特にリ
アルタイムにMIDI等の演奏情報を入力して楽音を発
生する電子楽器に関するものである。
【0002】
【従来の技術】従来、電子楽器においては、MIDI入
力端子を具備し、外部からリアルタイムに入力されるM
IDI信号により楽音を発生させる機能を持つものがあ
る。このような電子楽器においては、MIDI信号を受
信すると、割り込み処理等により、受信したデータを一
旦FIFOバッファに取り込み、その後データを受信順
に取り出して、発音処理を行っていた。
【0003】
【発明が解決しようとする課題】上記したような従来の
電子楽器においては、単に受信順にデータを発音処理し
ていたので、例えば優先的に処理する必要のないキーオ
フなどの演奏信号の処理のために、優先的に処理すべき
キーオン情報の処理が遅れ、発音のタイミングが遅れて
しまうという問題点があった。また、キーオン情報が複
数個受信された場合には、アタックスピードの早い音色
のものや、音量の大きなものを優先的に処理すべきであ
るのにもかかわらず、これらのパラメータが考慮されて
いないために、発音タイミングの遅れがより目立つ場合
があるという問題点もあった。
【0004】本発明の目的は、前記のような従来技術の
問題点を改良し、リアルタイムにMIDI情報を入力し
て楽音を発生する電子楽器において、発音タイミングの
遅れを減少させた電子楽器を提供することを目的とす
る。
【0005】
【課題を解決するための手段】本発明は、MIDI情報をリ
アルタイムに入力し、入力されたMIDI情報の発音処理を
行なって楽音を発生する電子楽器において、入力された
MIDI情報が意味を持つ単位に揃うまで、前記入力MIDI情
報を一時記憶するMIDI情報一時記憶手段と、前記MIDI情
報一時記憶手段に記憶された各単位ごとのMIDI情報の種
別を解釈し、それぞれ指定された種別毎に記憶し、かつ
相互間で優先順位を付けられた複数のMIDI情報記憶手段
と、前記各MIDI情報記憶手段の内容を監視し、優先順位
の高いMIDI情報記憶手段に記憶されたMIDI情報の発音処
理を優先的に行なう発音制御手段とを備え、さらに、前
記発音制御手段は、少なくとも優先順位が最も高いMIDI
情報記憶手段に記憶された複数のMIDI情報について、予
め定められた優先順位判定基準に基づいて優先度の高い
ものから順に選択する優先度判定手段を含み、選択され
たMIDI情報の発音処理を行ない、また前記優先度判定手
段は、前記MIDI情報記憶手段に記憶された複数のMIDI情
報に含まれるデ−タバイトの大小関係にしたがって、前
記複数のMIDI情報を順に選択することを特徴とする。
【0006】
【作用】本発明はこのような手段により、優先的な処理
が必要な演奏情報を分離して優先的に処理することが可
能となり、例えばキーオン情報を優先的に処理すること
により、発音タイミングの遅れを減少させることが可能
となる。また複数のキーオン情報がある場合には、例え
ば音量情報の大きな順などにより優先度を判定して、優
先度順に処理するので、発音タイミングの遅れがより目
立たなくなる。
【0007】
【実施例】以下、本発明の一実施例を図面を参照して詳
細に説明する。図1は一実施例である電子楽器のハード
ウェア構成を表すブロック図である。MIDI機器10
は例えばMIDIキーボード、MIDI出力端子を持つ
電子楽器、パソコン、MIDIシーケンサ等の機器であ
る。本発明を適用した電子楽器11はMIDI信号を入
力し、スピーカ20から楽音を発生する。CPU12は
MIDI処理、発音制御など電子楽器11全体の制御を
行う。RAM13には、受信バッファおよび複数のFI
FOが設けられるほか、パネル設定情報、楽器内の各種
制御データあるいは自動演奏データ等が記憶される。ま
たその少なくとも一部はバッテリーバックアップされ、
電源を切っても情報を保持することができるように構成
されている。ROM14には、制御プログラム及びエン
ベロープ等のデータが格納されている。
【0008】楽音発生回路15は、予め波形が記憶され
ている波形メモリ16から、入力された演奏情報の音高
に対応したアドレス間隔で波形情報を読み出し、デジタ
ル楽音信号を発生するものである。D/A変換器17は
デジタル楽音信号をD/A変換する。アンプ18はスピ
ーカ20を駆動するために楽音信号を増幅する。バス1
9は電子楽器11内の各回路を接続している。パネル2
2は、操作スイッチ、ボリュームおよびLCDあるいは
LED等の表示器を備えたパネルと、CPU1の制御に
よりパネルのスイッチをスキャンするパネルスキャン回
路および表示器のドライブ回路から成る。MIDIイン
ターフェース回路21はMIDI機器10からのMID
I信号を受信し、1バイト受信する度にCPU12に割
り込みをかける。この他に、必要に応じてフロッピディ
スクインターフェース回路、メモリカードインターフェ
ース回路等を設けてもよい。
【0009】図2は、CPU12のメイン処理を示すフ
ローチャートである。電源が投入されると、ステップS
1においては、RAM内の制御パラメータ等が初期化さ
れる。ステップS2においては、パネルのスイッチ等の
状態をスキャンし、操作を検出した場合には対応する処
理を行い、また装置の状態等を表示する。ステップS3
においては、詳細は後述するが、受信したMIDI信号
の処理を行う。ステップS4においては、楽音発生回路
に対して、エンベロープや各種効果の制御を行う。
【0010】図3は、図2のステップS3のMIDI処
理の詳細を示すフローチャートである。ステップS10
においては、FULLフラグがオンになっているか調
べ、肯定であればステップS11に移行する。このFU
LLフラグは2つのFIFOのいずれかがオーバーフロ
ーした場合にオンになる。ステップS11においては、
MIDI関連の制御パラメータを初期化する。ステップ
S10において判定が否定の場合にはステップS12に
移行し、ステップS12においては、優先データである
キーオンデータを格納するFIFO2にデータが格納さ
れているか否かを調べ、格納されていればステップS1
3に移行する。このFIFO2および優先でないデータ
を格納するFIFO1は、共にRAM内の特定のエリヤ
に設けられ、書き込み、読み出しポインタ、バッファ先
頭アドレス、バッファエンドアドレス等の制御用パラメ
ータを用いてソフトウェアにより制御される。
【0011】ステップS13においては、詳細は後述す
るが、FIFO2に格納されているキーオンデータをや
はりRAM内のデータソート(並べ代え)エリヤに転送
する。ステップS14においては、詳細は後述するが、
優先度データに基づき、データをソートする。ステップ
S15においては、優先順にソートされたキーオンデー
タを優先度の高いものから順に発音処理する。ステップ
S16においては、優先データであるキーオンデータ以
外の受信データを格納するFIFO1にデータが格納さ
れているか否かを調べ、格納されていればステップS1
7に移行し、格納されている順(受信順)に対応する処
理を行う。
【0012】図4は、図3のステップS13の転送処理
の詳細を示すフローチャートである。ステップS20に
おいては、データセットの数をカウントするデータ数カ
ウンタを0にリセットする。ステップS21において
は、FIFO2内にデータが残っているか否かを調べ、
なければステップS28に移行するが、あればステップ
S22に移行する。ステップS22においては、FIF
O2からキーオンデータ(3バイト)を読み出し、ソー
ト用エリヤに転送する。図8(a)はRAM内のソート
用エリヤの内容を示す説明図である。ソート用エリヤ
は、データセット数を格納するエリヤと、キーオンデー
タセットを格納するエリヤに分かれており、図に示すよ
うにキーオンデータのMIDIチャネルを含むステータ
スバイト、キーナンバー(音高)を示すデータバイト
1、ベロシティ(音量)を示すデータバイト2が格納さ
れる。
【0013】図4に戻って、ステップS23において
は、MIDIチャネル番号から音色が求められる。通常
MIDIシステムは各MIDIチャネル毎に音色を指定
可能であり、RAM内には、図7(a)に示すような、
各MIDIチャネルの音色番号を登録するテーブルがあ
る。ステップS23においてはこのテーブルを参照し、
チャネル番号から音色番号を得る。ステップS24にお
いては、音色番号から重みデータを求める。この重みデ
ータは、図7(b)に示すように各音色番号毎に登録さ
れており、図9に示すように、アタックスピード(立ち
上がりの傾斜)が大きく、すぐに減衰するようなエンベ
ロープE1を有するような音色、あるいは楽音に高い周
波数成分が多く含まれているような音色ほど大きな値と
なっている。これは、前記したような音色の楽音の方
が、そうでないものより発音タイミングの遅れが目立つ
ので、これらの音色のキーオンデータを他のものより優
先的に処理するためである。
【0014】ステップS25においては、重みデータと
キーオンデータ中のベロシティ値とを乗算する。ステッ
プS26においては、乗算結果を優先度データとしてソ
ート用エリヤの4バイト目に転送する。ステップS27
においては、データ数カウンタを1だけインクリメント
(+1)して、ステップS21に戻る。ステップS21
において判定が否定の場合にはステップS28に移行
し、データ数カウンタの値を、図8に示すデータセット
数セーブエリヤにセーブ(格納)する。
【0015】図5は、図3のステップS14のソート処
理の詳細を示すフローチャートである。ステップS30
においては、ループ回数N=(データセット数−1)に
セットし、またi=0、交換フラグ=0にリセットす
る。ステップS31においては、i番目のデータセット
の優先度データよりも(i+1)番目のデータセットの
優先度データのほうが大きいか否かが調べられ、判定結
果が肯定であればステップS32に移行する。なおデー
タ数が1の場合には無条件に否定となる。ステップS3
2においては、データセット(i)とデータセット(i
+1)の記憶位置を交換し、ステップS33において
は、交換フラグを1にセットする。
【0016】ステップS34においては、iを1だけイ
ンクレメント(+1)する。ステップS35において
は、i≧Nになったか否か、即ち最後のデータセットま
で処理が進んだか否かが調べられ、否定の場合はステッ
プS31に戻るが、肯定の場合にはステップS36に移
行する。ステップS36においては、交換フラグが0で
あるか否かが調べられ、0であればソートが完了してい
るので処理を終了するが、1であればステップS30に
戻り、ソートを最大N回繰り返す。
【0017】図6は、MIDI信号受信時の割り込み処
理の詳細を示すフローチャートである。この処理はMI
DIインターフェース回路21がMIDI信号を1バイ
ト受信する度に起動される。ステップS40において
は、CPU12はMIDIインターフェース21から受
信データをCPU内のレジスタに読み出す。ステップS
41においては、受信したデータがボイスメッセージで
あるか否かが調べられ、ボイスメッセージでない場合に
は処理を終了する。ボイスメッセージとは、キーオン、
キーオフなど、発音に関係する主な3バイトのメッセー
ジを指す。ボイスメッセージでないステータスバイトを
受信した場合に、後続するデータバイトがある場合に
は、フラグを立てる等の処理により後続するデータバイ
トも読み飛ばすようにする。またエクスクルーシブメッ
セージのように任意長のデータバイトを持つものも、同
様にエクスクルーシブメッセージ終了コードを受信する
まで読み飛ばすようにする。
【0018】ステップS42においては、受信データが
ステータスバイトであるか否かを調べる。これはデータ
のMSB(ビット7)が1であるか否かによって判別で
きる。判定結果が肯定である場合にはステップS43に
移行し、ステップS43においてはステータスバイト
を、3バイト格納可能な受信バッファの1番目の格納領
域に書き込み、ステップS54に移行する。ステップS
42において、受信データがデータバイトであった場合
にはステップS44に移行し、ステップS44において
は、バッファのBWPプラス1番目にデータを書き込
む。BWPはバッファの書き込み位置を示すポインタの
値である。ステップS45においては、BWPに1を加
算する。ステップS46においては、BWPが3以上に
なったか否かが調べられ、判定結果が否定の場合は処理
を終了するが、肯定の場合にはステップS47に移行す
る。
【0019】ステップS47以降では、データが3バイ
ト揃ったので、FIFOへの転送処理が行われる。まず
ステップS47においては、バッファから1バイト目
(ステータスバイト)が読み出される。ステップS48
においては、該ステータスバイトがキーオン(16進表
示で9XH:XはMIDIチャネル番号)であるか否か
が調べられ、キーオンである場合にはステップS49
移行し、キーオン以外である場合にはステップS51
移行する。ステップS49においては、FIFO2に空
きがあるか否かが調べられ、空きがある場合にはステッ
プS50に移行し、ステップS50においては、バッフ
ァ内の3バイトのデータセットをFIFO2に転送す
る。ステップS51においては、FIFO1に空きがあ
るか否かが調べられ、空きがあればステップS52に移
行し、ステップS5においては、バッファ内の3バイ
トのデータセットをFIFO1に転送する。ステップS
54においては、BWPを1にセットする。ステップS
51あるいはステップS49においてFIFOに空きが
ない場合にはステップS53に移行し、ステップS53
においては、FULLフラグをオンにセットする。
【0020】MIDIの転送方式においては、ステータ
スバイトを省略した場合には、該データのステータスは
直前のステータスと同じであることを意味する、ランニ
ングステータスという転送方式が許容されているが、図
6に示す処理においては、1つのデータセットがFIF
Oに転送され、BWPが1である状態で、再びデータバ
イトを受信した場合には、該データバイトはバッファの
BWPプラス1番目、即ち2番目に書き込まれ、続くデ
ータは3番目に書き込まれる。そしてバッファの1番目
には直前のステータスバイトが残っており、ランニング
ステータスも正しく受信することができる。また、受信
データバイト数が不足する場合には何も転送されず、次
のステータスバイトが受信された時点でBWPが1に再
設定される。
【0021】図9は、異なる音色およびベロシティに対
応して発生された2つのエンベロープ波形を示す波形図
である。波形E1はアタックスピードが早く、減衰も早
いので、このようなエンベロープを持つ音色は発音の遅
れが目立つ。従って、該音色に対応する重みデータを大
きな値とすることによって優先的に処理されるようにす
る。こうすると、ベロシティ値に比例するエンベロープ
のピークL1が波形E2のピークL2より小さい場合で
も、ベロシティと重みデータとの積、即ち優先度は波形
E1に対応するキーオンデータの方が大きくなり、2つ
のキーオンデータが同時に格納されている場合には、波
形E1に対応するキーオンデータの方が先に処理される
ことになる。
【0022】次に第2の実施例について説明する。第1
の実施例においては、ソート処理のステップS32にお
いて図8(a)のデータセット(4バイト)を丸ごと入
れ替えているが、第2の実施例は図8(b)に示すよう
に、(a)のエリヤに加えて優先度データのみを格納す
るエリヤを設け、優先度データのみを入れ替えるように
したものである。このようにすると、ソート処理が早く
なり、全体の処理時間は短縮される。ただし、転送処理
のステップS26において優先度データを2箇所に転送
する必要があり、図3のステップS15において、ソー
ト後に優先度データを順に読み出し、該優先度データと
同じ値を持つデータセットを検索して、ヒットしたデー
タセットの発音処理を行う必要がある。
【0023】以上、実施例を説明したが、次のような変
形例も考えられる。実施例においては、ベロシティと重
みデータの積によって優先度を決定したが、ベロシティ
のみあるいは重みデータのみにより優先度を決定しても
よい。優先データとしてはキーオン情報に限らず、優先
的に処理すべきステータスのものを選択すればよい。ま
たステータスの種別のみでなく、例えばキーオンであ
り、かつベロシティ(あるいは実施例における優先度デ
ータ)が所定値以上のものを第1優先順位、所定値未満
のものを第2優先、その他のものを第3優先順位として
もよい。
【0024】実施例においては優先データを更にソート
する例を示したが、優先データをソートせずに、優先度
の一番大きなものを順に検索して発音処理を実行し、処
理済みのものの優先度を0にする等の方法によっても実
行可能である。
【0025】MIDI機器によっては、ノートオフの代
わりにベロシティ0のノートオン信号を出力するものも
あり、この場合にはノートオフ信号も優先FIFOに格
納されてしまう。しかし、ベロシティを考慮したソート
を行うことにより、ノートオフ信号は最も優先順位が低
くなるので問題はない。MIDI受信割り込み処理にお
いては、3バイトのボイスメッセージのみを受信する例
を開示したが、もちろん任意のデータ長のメッセージを
受信し、優先データセットのみをFIFOに転送し、
それ以外をFIFOに転送するように構成することも
できる。
【0026】
【発明の効果】以上述べたように、本発明の電子楽器に
よれば、優先的な処理が必要な演奏情報を分離して優先
的に処理することが可能となり、例えばキーオン情報を
優先的に処理することにより、発音タイミングの遅れを
減少させることが可能となるという効果がある。また複
数のキーオン情報がある場合には、例えば音量情報の大
きな順などにより優先度を判定して、優先度順に処理す
るので、発音タイミングの遅れがより目立たなくなると
いう効果がある。
【図面の簡単な説明】
【図1】 楽音発生部6の構成を示すブロック図であ
る。
【図2】 CPU12のメイン処理を示すフローチャー
トである。
【図3】 MIDI処理の詳細を示すフローチャートで
ある。
【図4】 転送処理の詳細を示すフローチャートであ
る。
【図5】 ソート処理の詳細を示すフローチャートであ
る。
【図6】 MIDI信号受信割込処理を示すフローチャ
ートである。
【図7】 音色番号テーブルおよび重みデータテーブル
を示す図である。
【図8】 RAM内のソート用エリヤの内容を示す説明
図である。
【図9】 音色およびベロシティに対応したエンベロー
プ波形図である。
【符号の説明】
12…CPU、13…RAM、14…ROM、15…楽
音発生回路、16…波形メモリ、17…D/A変換器、
18…アンプ、19…バス、20…スピーカ、21…M
IDIインターフェース回路、22…パネル

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】MIDI情報をリアルタイムに入力し、入力さ
    れたMIDI情報の発音処理を行なって楽音を発生する電子
    楽器において、 入力されたMIDI情報が意味を持つ単位に揃うまで、前記
    入力MIDI情報を一時記憶するMIDI情報一時記憶手段と、 前記MIDI情報一時記憶手段に記憶された各単位ごとのMI
    DI情報の種別を解釈し、それぞれ指定された種別毎に記
    憶し、かつ相互間で優先順位を付けられた複数のMIDI情
    報記憶手段と、 前記各MIDI情報記憶手段の内容を監視し、優先順位の高
    いMIDI情報記憶手段に記憶されたMIDI情報の発音処理を
    優先的に行なう発音制御手段とを備え、 前記発音制御手段は、少なくとも優先順位が最も高いMI
    DI情報記憶手段に記憶された複数のMIDI情報について、
    予め定められた優先順位判定基準に基づいて優先度の高
    いものから順に選択する優先度判定手段を含み、選択さ
    れたMIDI情報の発音処理を行ない、 前記優先度判定手段は、前記MIDI情報記憶手段に記憶さ
    れた複数のMIDI情報に含まれるデ−タバイトの大小関係
    にしたがって、前記複数のMIDI情報を順に選択すること
    を特徴とする電子楽器。
  2. 【請求項2】前記優先順位が最も高いMIDI情報記憶手段
    に記憶されるのはキーオン情報であることを特徴とする
    請求項1に記載の電子楽器。
  3. 【請求項3】前記優先度判定手段は、キーオン情報の内
    の音量データの大きなものを優先的に選択することを特
    徴とする請求項1または2に記載の電子楽器。
  4. 【請求項4】前記優先度判定手段は、キーオン情報の内
    の音量データと、該キーオン情報に対応する音色毎に予
    め定められた重みデータとの積の大きなものを優先的に
    選択することを特徴とする請求項1ないし3のいずれか
    に記載の電子楽器。
JP6018865A 1994-01-19 1994-01-19 電子楽器 Expired - Fee Related JP3067507B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6018865A JP3067507B2 (ja) 1994-01-19 1994-01-19 電子楽器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6018865A JP3067507B2 (ja) 1994-01-19 1994-01-19 電子楽器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2000006652A Division JP3122661B2 (ja) 2000-01-14 2000-01-14 電子楽器

Publications (2)

Publication Number Publication Date
JPH07210159A JPH07210159A (ja) 1995-08-11
JP3067507B2 true JP3067507B2 (ja) 2000-07-17

Family

ID=11983439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6018865A Expired - Fee Related JP3067507B2 (ja) 1994-01-19 1994-01-19 電子楽器

Country Status (1)

Country Link
JP (1) JP3067507B2 (ja)

Also Published As

Publication number Publication date
JPH07210159A (ja) 1995-08-11

Similar Documents

Publication Publication Date Title
JP3372124B2 (ja) 電子楽器
US5714704A (en) Musical tone-generating method and apparatus and waveform-storing method and apparatus
EP0752697A2 (en) Tone waveform generating method and apparatus based on software
JP3122661B2 (ja) 電子楽器
JP3067507B2 (ja) 電子楽器
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
US5430242A (en) Electronic musical instrument
JPH0331273B2 (ja)
JPH03242697A (ja) 電子楽器
US5635659A (en) Automatic rhythm performing apparatus with an enhanced musical effect adding device
US6414232B2 (en) Tone generation method and apparatus based on software
JP3409333B2 (ja) 楽音発生装置
JPH07325581A (ja) 楽音発生装置
JP3210582B2 (ja) 自動演奏装置および該自動演奏装置を備えた電子楽器
JP2715795B2 (ja) 発音割当手段を有する楽音合成装置
JP3197620B2 (ja) 演奏情報通信装置
JP3583575B2 (ja) 電子楽器
JP3138585B2 (ja) 電子楽音発生装置
JP2727439B2 (ja) 楽音発生装置
JP2689763B2 (ja) 波形データの読み出し方法
JP3410134B2 (ja) 電子楽器
JPH0421199B2 (ja)
JPH0675574A (ja) 電子楽器の音色制御装置
JPH07104753A (ja) 電子楽器の自動調律装置
JPH0332080B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees