JP2504260B2 - 楽音周波数情報発生装置 - Google Patents

楽音周波数情報発生装置

Info

Publication number
JP2504260B2
JP2504260B2 JP2039127A JP3912790A JP2504260B2 JP 2504260 B2 JP2504260 B2 JP 2504260B2 JP 2039127 A JP2039127 A JP 2039127A JP 3912790 A JP3912790 A JP 3912790A JP 2504260 B2 JP2504260 B2 JP 2504260B2
Authority
JP
Japan
Prior art keywords
pitch
key
chord
information
pitch 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 - Lifetime
Application number
JP2039127A
Other languages
English (en)
Other versions
JPH03241397A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2039127A priority Critical patent/JP2504260B2/ja
Publication of JPH03241397A publication Critical patent/JPH03241397A/ja
Application granted granted Critical
Publication of JP2504260B2 publication Critical patent/JP2504260B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/571Chords; Chord sequences
    • G10H2210/586Natural chords, i.e. adjustment of individual note pitches in order to generate just intonation chords
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E40/00Technologies for an efficient electrical power generation, transmission or distribution
    • Y02E40/60Superconducting electric elements or equipment; Power systems integrating superconducting elements or equipment

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 【産業上の利用分野】
本発明は、複数の異なる音高をそれぞれ表す複数の音
高情報を純正律音階等の所定の音階に対応した複数のピ
ッチ情報に変換して出力することにより、複数の楽音を
響きのよいピッチ比率で発音させるように制御する楽音
周波数情報発生装置に関する。
【従来技術】 従来、この種の楽音周波数情報発生装置としては、例
えば特開昭62-61099号公報に開示されたものが知られて
いる。 同公報に開示された装置は、複数の異なる音高をそれ
ぞれ表す複数の音高情報に基づいて和音が指定されてい
るか否かを検出し、同複数の音高情報及び検出された和
音に基づき、同複数の音高情報により表される音高にそ
れぞれ対応するとともに検出された和音に対応した純正
律音階を構成する複数のピッチ情報を形成して出力して
いた。そして、この際、純正律音階で出力されるピッチ
情報は各和音ごとに応じて予め定められたものを出力し
ていた。
【発明が解決しようとする課題】
上述した従来の装置によれば、和音が検出された場合
は現在発音中である音高に対応するピッチ情報について
も、予め決めておいたピッチ情報に変化させてしまうた
め、純正律音階等の所定の音階を構成するピッチ情報は
出力されるものの、和音の検出前後にわたって発音され
続けている同一音高のピッチが発音継続中に変化するこ
ととなり、音の流れが不自然な感じになってしまう。 本発明は、かかる課題を解決するためになされたもの
で、演奏された和音に応じて純正律音階等の響きのよい
周波数比率をもつ音階のピッチ情報を出力するにあた
り、和音の変化前後にわたる音の流れが不自然とならな
いようにすることが可能な楽音周波数情報発生装置を提
供することを目的とする。
【課題を解決するための手段】
上記目的を達成するために、本発明の構成上の特徴
は、複数の異なる音高をそれぞれ表す複数の音高情報を
入力することが可能な音高情報入力手段と、上記入力さ
れた複数の音高情報に基づき、予め定めた複数の和音の
中から同複数の音高情報により指定される和音を検出す
る和音検出手段と、上記入力された複数の音高情報及び
上記検出された和音に基づき、複数の和音に対応して予
め用意されていて純正律音階等の響きのよい周波数比率
をもつ音階を構成するための複数組のピッチ情報群の中
から同検出和音に応じて一組のピッチ情報群を指定する
とともに、同指定したピッチ情報群の中から同複数の音
高情報により表される各音高にそれぞれ対応する複数の
ピッチ情報を抽出して出力するピッチ情報出力手段とを
備えた楽音周波数情報発生装置において、上記入力され
た音高情報が変化したとき、同変化前後の同一音高に関
するピッチ情報を以前の値に維持するとともに、残りの
音高に関するピッチ情報を上記同一音高に関するピッチ
情報を基準にして純正律音階等の響きのよい周波数比率
をもつ音階に決定するようにピッチ情報出力手段を制御
する基準ピッチ制御手段を設けたことにある。
【作用】
上記のように構成した本発明においては、音高情報入
力手段が複数の異なる音高をそれぞれ表す複数の音高情
報を入力し、和音検出手段がこの音高情報入力手段によ
り入力された複数の音高情報に基づき予め定めた複数の
和音の中で同複数の音高情報により指定される和音を検
出し、ピッチ情報出力手段が複数の和音に対応して予め
用意されていて純正律音階等の響きのよい周波数比率を
もつ音階を構成するための複数組のピッチ情報群の中か
ら上記検出和音に応じて一組のピッチ情報群を指定する
とともに、同指定したピッチ情報群の中から上記同複数
の音高情報により表される各音高にそれぞれ対応する複
数のピッチ情報を抽出して出力する。一方、基準ピッチ
制御手段は、音高情報入力手段により入力された音高情
報が変化したときにピッチ情報出力手段を制御し、同変
化前後の同一音高に関するピッチ情報を以前の値に維持
するとともに、残りの音高に関するピッチ情報を上記同
一音高に関するピッチ情報を基準にして純正律音階等の
響きのよい周波数比率をもつ音階に対応させる。 すなわち、ある音高に応じた楽音が継続して発音され
ているときに当該音高を含む新たな和音のピッチ情報を
出力する場合は、当該継続して発音されている音高に対
応するピッチ情報を変化させずに他の和音構成音にかか
る音高に対応するピッチ情報を調整して所定の音階を構
成するピッチ情報を出力する。
【発明の効果】
本発明によれば、出力するピッチ情報にかかる和音が
変化した場合に、変化前後にわたる共通音があるときは
当該共通音のピッチを変化させることなく出力されるピ
ッチ情報が純正律音階等の響きのより周波数比率をもつ
音階を構成するようにしたので、演奏される和音が変化
した場合に和音構成音の流れが不自然となるのを未然に
防ぐことができる。
【実施例】
以下、本発明の一実施例を図面を用いて説明すると、
第1図は本発明が適用される電子楽器の全体を概略的に
示している。 同電子楽器は、バス10にCPU20などが接続され、同CPU
20の制御のもとで楽音の発生が制御されている。 CPU20はROM30のプログラムメモリ部31に記憶されたプ
ログラムを実行し、この際、RAM40のワーキングメモリ
部を利用しながら適宜ROM30のパラメータメモリ部32に
記憶されたデータを読み込んで所定の処理を実行してい
る。なお、プログラムメモリ部31に記憶されているプロ
グラムは、主となるメインルーチン、各種のサブルーチ
ン、及び割り込み処理ルーチンから構成されている。 バス10には鍵盤50と操作子群60が接続され、CPU20は
バス10を介して同鍵盤50と操作子群60の操作状況を検出
する。鍵盤50は主にメロディ演奏に利用される上鍵域と
主に和音演奏に利用される下鍵域とに2分割された一段
鍵盤で構成されており、前記和音演奏が本実施例におけ
る特殊処理の対象となるものである。操作子群60は少な
くとも純正律スイッチを備えており、同スイッチはその
オン状態時に、下鍵域における和音演奏を純正律音階で
発音させるように制御し、かつ、そのオフ状態時に前記
制御を解除して前記和音演奏を平均律音階で発音させる
ように制御するものである。なお、本実施例では、鍵盤
50を一段鍵盤で構成したが、同鍵盤50を上鍵盤及び下鍵
盤を有する2段またはそれ以上の段数の鍵盤で構成する
場合には、上鍵盤が本実施例の上鍵域に対応し、下鍵盤
が本実施例の下鍵域に対応する。 また、バス10にはクロック発生器70が接続され、同発
生器70はCPU20によって設定される所定の時間ごとに同C
PU20に対して割り込み信号を発生する。 さらに、バス10にはトーンジェネレータ80が接続され
ており、同トーンジェネレータ80はCPU20から送出され
る演奏情報に従って8音までの楽音信号を同時に発生す
ることができるようになっている。具体的には、CPU20
がトーンジェネレータ80に対して、発音チャンネルiを
示すチャンネル信号、鍵盤50が押鍵されたことを示すキ
ーオンパルス信号(以下、KONP信号という。)、鍵盤50
が離鍵されたことを示すキーオフ信号(以下、KOF信号
という。)、及びピッチ修正情報をセント単位で示すピ
ッチ修正値信号(以下、CNT信号という。)などを出力
すると、トーンジェネレータ80はかかる信号に応じた楽
音信号を発生する。以上の信号はいずれも演奏操作を示
すものであり、CPU20はこれらの信号とともに操作子群6
0のいずれかの操作子の操作に基づいて音色を示す音色
信号や、エンベロープを示すエンベロープ信号なども出
力している。 なお、トーンジェネレータ80は内部にディジタル・ア
ナログ変換器(以下、D/Aコンバータという。)を備え
ており、ディジタル処理によって得られる楽音波形信号
をアナログ信号に変換して出力し、この出力された楽音
信号はアンプやスピーカなどからなるサウンドシステム
90に入力されている。そして、サウンドシステム90は同
楽音信号に対応した楽音を発生する。 次に、上記構成からなる電子楽器の動作について説明
するが、始めにプログラムの全体的動作について概略的
に説明しておく。 演奏者が当該電子楽器の図示しない電源スイッチをオ
ンにすると、CPU20はメインルーチン(第2図参照)の
実行を開始し、ステップ110にてワークエリアのクリ
ア、及び各種変数を初期値に設定するなどの初期設定を
行なつた後、電源が切断されるまでステップ120〜140か
らなるループ処理を実行し続ける。 ステップ120においては鍵盤50における各鍵ごとの押
鍵、離鍵状態を検出する。具体的には、鍵盤50が有する
各鍵に対応するスイッチを走査して同スイッチのオン/
オフ状況を検出する。 ステップ130では、ステップ120にて押鍵または離鍵が
検出された場合のキーイベント処理を行ない、押鍵また
は離鍵に応じた処理をする。ただしステップ120にて押
鍵または離鍵が検出されなかった場合はステップ140に
移行してその他の処理、例えば操作子群60の設定状況の
検出などを行なう。 また、このループ処理と並行して割り込み処理が行な
われており、10msごとに繰り返し実行される計時処理に
て押鍵されている鍵の押鍵時間を検出し、1msごとに繰
り返し実行される制御信号出力処理にてトーンジェネレ
ータ80に制御信号を出力している。 すなわち、CPU20はかかるループ処理を繰り返し実行
して、演奏者による鍵盤50の操作状況、すなわち演奏状
況を検出し、鍵盤50が操作された場合はキーイベント処
理にてトーンジェネレータ80に対する制御用変数をセッ
トし、割り込み信号を待ってトーンジェネレータ80に制
御信号を出力している。 次に、演奏者による演奏を混じえたプログラム処理に
て具体的に説明する。いま、演奏者が操作子群60の一つ
である純正律スイッチをオンにした後、下鍵域にて和音
を演奏し、上鍵域にてメロディーを演奏したとする。 下鍵域で和音構成音の鍵を押鍵するとCPU20は鍵盤50
上における当該押鍵を検知する。この結果、処理プログ
ラム上にてキーオンのキーイベントが発生し、メインル
ーチンのステップ130でキーイベント処理が実行され
る。 このキーイベント処理について説明する前に、同処理
にて必要な変数、及びパラメータの説明を先に行なう。 変数には、主なものとして各チャンネルiに割り当て
られた鍵のキーコードを表すKC[i]、各チャンネルi
に割り当てられた鍵の押鍵操作を表すKONP[i]
(「1」にて“キーオンイベント有り”、「0」にて
“キーオンイベント無し”を示す。)、各チャンネルi
におけるピッチ修正量をセント単位で表すCENT[i]、
各チャンネルiに割り当てられた鍵の押鍵時間を表すTM
[i]、各チャンネルiに割り当てられた鍵のピッチを
固定するか否かを表すEQ[i](「0」にて“固定しな
い”を表し、「1」にて“固定する”を表す。)があ
る。その他、ループ処理等のための変数j,k,m、和音検
出にて和音の種類(メジャ(MAJ),メジャ7(MAJ
7),マイナ(m),マイナ7(m7)など)を示す変数T
YPE、和音の根音を示す変数ROOT、固定音処理で算出さ
れる全体のピッチずらし量(以下、オフセット量とい
う。)を示すΔCENTなどが使用されている。なお、それ
ぞれの初期値は、KC[i]が「7F」(キーコードとして
使用されていないもの)、KONP[i]が「0」、CENT
[i]が「0」、TM[i]が「−1」、EQ[i]が
「0」である。なお、これらの各種変数を記憶するレジ
スタ群はRAM40のワーキングメモリ部に設定されてい
る。 また、パラメータには、鍵盤50を上鍵域と下鍵域に分
割する分割点を表すBP、押鍵時間によってピッチを固定
するか否かを判定する際の基準値となる押鍵持続時間
T、各和音構成音の平均律からのピッチずれをセント単
位で表すCrd[k,j](k=1〜4,j=1〜12)がある。
このピッチずれCrd[k,j]は、和音の4種類(メジャ,
メジャ7,マイナ,マイナ7)と、和音構成音の12音(1,
1#,2,2#,3,4,4#,5,5#,6,6#,7)に対応して設けら
れている。なお、Crd[k,j]において和音の構成音でな
いものについては「FF」が記憶されている。また、ピッ
チずれのパラメータCrdとトーンジェネレータ80の制御
に使用される各変数については第3図及び第4図に示し
ている。 キーイベント処理に戻ると、CPU20は鍵盤50を走査し
て下鍵域で演奏されている和音構成音についての押鍵を
検出する。すなわち、メインルーチンのステップ120に
て和音構成鍵である各鍵の押鍵が検出され、ステップ13
0にて当該押鍵を検出した場合のキーイベント処理を行
なう。 具体的には、ステップ120にてキーイベントの有無を
表すフラグをセットし、キーイベント処理ルーチンのス
テップ200(第5図参照)にて同フラグを参照してキー
イベント処理の実行を開始する。 キーイベントには押鍵された(キーオンされた)場合
と、離鍵された(キーオフされた)場合がある。演奏開
始時は押鍵のキーイベントが生じるから、ステップ220
にてトーンジェネレータ80における発音チャンネルを決
定し、同チャンネル番号を変数iに設定する。チャンネ
ルが決定されたら、次のステップ230にてトーンジェネ
レータ80に制御信号を送出する際に必要な所定の変数に
当該押鍵状態を表す値を設定する。すなわち、キーオン
されたことを示すために変数KONP[i]に「1」を設定
するとともに押鍵されたキーを表すキーコードを変数KC
[i]に設定し、押鍵時間を表す変数TM[i]を「0」
にクリアする。また、この時点では当該押鍵された鍵が
和音であるか不明であるため、ピッチ修正量を表す変数
CENT[i]を「0」にクリアしておき、ステップ240,25
0でこのピッチ修正量を算出する。 本実施例の場合、基本的には各鍵ごとに平均律のピッ
チ情報を記憶しており、下鍵域で和音が演奏されたとき
には純正律で発音されるように同ピッチを修正する。従
って、和音が演奏されるとピッチを修正する必要が生じ
る。また、対象となる和音は下鍵域で演奏されるものだ
けであるから、ステップ230でピッチ修正量を表す変数C
ENT[i]を「0」にクリアした後、ステップ240にて当
該押鍵された鍵のキーコードKC[i]とパラメータBPと
を比較する。いまは、下鍵域で和音を演奏しているもの
としているから、キーコードKC[i]の方が小さいと判
断されてステップ250の和音処理へ進む。 和音処理では、ステップ300(第6図参照)にて変数K
C[i]から和音の検出を行ない、次のステップ310にて
和音が検出されたと判断されればステップ320にて検出
された和音の種類と根音をそれぞれ変数TYPE,ROOTにセ
ットする。 キーイベント処理は各鍵についてキーイベントが生じ
るごとに実行されるから、和音構成音の場合も各構成音
ごとにキーイベントが生じ、各チャンネルに割り当てら
れる。そして、和音構成音の全てについてキーオンイベ
ントが生じた時点で和音が検出され、トーンジェネレー
タ80に指定するピッチ修正量を変数CENT[i]に設定す
る処理を開始する。 ただし、ピッチ修正量を指定するにあたって当該キー
イベントより以前から押鍵されている鍵については、和
音構成鍵であっても当該鍵のピッチを変更しないように
しなければならないし、上鍵域の鍵についてもむろんピ
ッチを変更しないようにしなければならない。 本実施例では、押鍵され続けている鍵のピッチを変更
しないようにすべく、当該鍵をピッチ修正における基準
音とするための所定のオフセット量を算出し、平均律か
らのピッチずれにこのオフセット量を加えてピッチ修正
量を決定する。また、このような押鍵され続けている鍵
を含めてピッチを変更してはならない鍵については変数
EQに「1」をセットし、ピッチ修正量の決定時に同変数
値を参照して処理の分岐に利用する。 ところで、キーイベントが生じれば和音が変化する可
能性があるからキーイベントが生じるごとに全チャンネ
ルに割り当てられた鍵の状況を判別し、オフセット量の
算出やピッチ変更の可否を示す変数EQをセットしなけれ
ばならない。 具体的には、ステップ330にてオフセット量ΔCENTを
「0」にクリアするとともに、ループ処理用変数kを
「0」にし、ステップ340のループ脱出判断とステップ3
50における変数kのインクリメントでループを制御して
以下の処理を8回、すなわちトーンジェネレータ80の8
チャンネル分繰り返す。 ピッチをずらす必要が生じるのは下鍵域の場合だけで
あるから、ステップ360にてパラメータBPとキーコードK
C[k]を比較して上鍵域か下鍵域であるか、かつ、チ
ャンネルkの押鍵時間TM[k]が0または正の数、すな
わちチャンネルkは押鍵されているかを判断する。いま
は、下鍵域における和音演奏を前提としているから、同
ステップ360では下鍵域と判断されてステップ370にて同
鍵の押鍵時間TM[k]とパラメータTとを比較する。こ
の押鍵時間TM[k]は押鍵されたキーイベント処理で
「0」にクリアされ、以後、割り込み処理として所定時
間ごとに繰り返し実行される計時処理で「1」づつイン
クリメントされている。このため、同変数値は押鍵後の
経過時間を表す値となっている。 具体的にはステップ500(第7図参照)にてループ処
理用変数mに初期値「1」をセットし、ステップ510に
て押鍵時間TM[m]が負でないか判断して正の場合のみ
ステップ520にて押鍵時間TMに「1」を加える。押鍵時
間TM[i]は「0」または正の場合に計測されている押
鍵時間を示し、負の場合にキーオフを表すことにしてい
るからである。その後、ステップ530にて変数mを
「1」だけインクリメントし、ステップ540にて変数m
が「8」を越えているか否か判断して「8」以下であれ
ばステップ510に戻って以上の処理を繰り返す。しか
し、「8」を越えていれば全チャンネル分の押鍵時間TM
が計測されたことになるので当該割り込み処理を終了す
る。 押鍵時間TM[k]は上述のようにして押鍵後一定時間
ごとに増加しており、当該押鍵時間TM[k]がパラメー
タTで表される所定時間より長い場合にはステップ380
にてピッチを固定するための固定音処理を行なう。しか
し、現時点では演奏開始直後であり、ステップ370にお
ける判断では押鍵時間TM[k]がパラメータTで表され
る所定時間より短くなり、下鍵域における押鍵について
は全てピッチ変更可能としてステップ400にて変数EQ
[k]に「0」をセットする。なお、固定音処理とは、
オフセット量ΔCENTを演算する処理であり、ピッチを固
定する必要がある鍵について現在指定されているピッチ
修正量から当該キーイベントによって新たに指定される
ピッチずれを差し引いてオフセット量とする。 すなわち、ステップ600(第8図参照)にてキーコー
ド[k]のノートコード部を取り出した後、ステップ61
0にてそのノートコードから和音の根音を差し引き、当
該鍵が和音の根音に対して何度音であるかを求める。な
お、根音を差し引く際に「1」を加えているのはピッチ
ずれの配列Crdに合わせるためである。また、根音を差
し引くことにことによってマイナスにもなりうるのでそ
の場合はステップ620,630にて「12」を加え、根音を1
度音としたときに12度音までの範囲となるように調整を
行なう。 当該鍵が和音の根音に対して何度音であるかが求めら
れると、次なるステップ640では、当該鍵が和音の構成
音となった場合の平均律からのピッチずれを求めて変数
Xに記憶する。当該鍵が和音を構成しないときはXが
“FF"にセットされているはずであるから、ステップ650
にてその判定を行なう。“FF"でないときは適正なピッ
チずれ量がセットされたのであり、ステップ660にて当
該鍵に対して現在指定されているピッチ修正量から変数
Xに記憶されている値を引いてオフセット量ΔCENTとす
る。逆に、“FF"であれば当該鍵が和音を構成しないの
であるからオフセット量ΔCENTを算出しない。なお、固
定音処理が行なわれた場合は、当該チャンネルについて
ピッチを固定する必要があるので、ステップ390にて変
数EQ[i]に「1」をセットする。 さて、演奏開始直後における下鍵域での和音構成音に
かかるキーイベント処理では、下鍵域に対応する鍵につ
いてはいずれも固定音処理をすることなくステップ370
からステップ400へ移行し、変数EQ[i]に「0」をセ
ットしてピッチを変更してもよいことを示しておく。な
お、ステップ360にて上鍵域と判断された場合はステッ
プ390にてピッチを変えないよう変数EQ[i]に「1」
がセットされる この一連の処理を全チャンネル分繰り返すと、ピッチ
を固定すべきチャンネルとピッチを変更可能なチャンネ
ルとに分類され、次なるステップ700以下では、トーン
ジェネレータ80に対して指定するピッチ修正量を演算す
る。なお、ステップ700にて変数kを「0」にクリア
し、ステップ710にて変数kが「8」になっていないか
判断し、ステップ720にて変数kを「1」だけインクリ
メントする操作は以下の処理を8チャンネル分繰り返す
ための一連の処理である。 まず、ステップ730では、変数EQ[k]が「0」であ
るか判断するが、現時点で演奏されている下鍵域の和音
構成音については変数EQ[k]の値が「0」であり、当
該チャンネルについてはピッチ変更可能と判断されてス
テップ740〜780にて和音に応じたピッチ修正量を求め
る。すなわち、ステップ740にてキーコードKC[k]の
ノートコード部を変数NCに保存した後、ステップ750に
て同ノートコード部より根音を差し引いて当該鍵が和音
の根音に対して何度音であるか求め、ステップ780にて
和音の種類TYPEと変数NCよりピッチずれを求めるととも
にオフセット量ΔCENTを加えてピッチ修正量とする。な
お、ステップ760,770の処理は、固定音処理の場合と同
様に変数NCが負となった場合の調整である。 ところで、現時点ではオフセット量ΔCENTが「0」の
ままである。このため、ステップ780にて得られるピッ
チ修正量CENT[k]はピッチずれCrd[TYPE,NC]と同値
となる。 このようにしてトーンジェネレータ80に指定する制御
用の変数に所定の値がセットされ、下鍵域における和音
演奏についてのキーイベント処理が終了するが、トーン
ジェネレータ80に対して同変数値を出力しなければ制御
がなされない。かかる変数値の出力は、前述した割り込
み処理として繰り返し実行される制御信号出力処理で行
なわれる。 同処理では、まず、ステップ800(第9図参照)にて
操作子群60の純正律スイッチがオンにされているか否か
を判断する。演奏者は予め純正律スイッチをオンにして
いるから同判断では「Yes」となり、ステップ810にて上
述した処理で得られたピッチ修正量CENT[j]をピッチ
修正値CNTにセットする。 その後、ステップ830にてチャンネルを表す変数j、
キーオンのキーイベントを表す変数KONP[j]、キーコ
ードを表すKC[j]、ピッチ修正値を表すCNTの各変数
をトーンジェネレータ80に出力する。 具体的には、CPU20がバス10を介して出力先にトーン
ジェネレータ80を指定し、上記各変数値をバス10に送り
出す。これに対し、トーンジェネレータ80はバス10に送
り出された同変数値を取り込み、指定されたチャンネル
にて同変数値に対応する楽音信号を形成する。この場
合、KONP[j]が「1」であれば楽音発生開始というこ
とであるから、KC[j]に対応して予め定められた周波
数の楽音波形信号を生成する。ただし、ピッチ修正値CN
Tには和音演奏を純正律の音階で演奏するためのピッチ
修正量がセットされているため、同値に応じて生成する
楽音波形信号の周波数を修正し、修正された周波数の楽
音波形信号を出力することになる。 なお、ステップ830にて制御用変数が出力された後、
ステップ840ではキーオンイベントを表す変数KONP
[j]を「0」にクリアする。これにより、押鍵が検出
された場合に一度だけトーンジェネレータ80に対してキ
ーオンイベントが通知されることになる。 その後、ステップ850〜870にて、繰り返し行なわれる
当該割り込み処理でチャンネルを表す変数jが「1」〜
「8」の間で循環するようにする。すなわち、ステップ
850にて変数jが「8」であるか判定し、「8」以外の
ときは(「8」以下であることを示すとき)ステップ86
0にて変数jを「1」だけインクリメントし、「8」で
あるときは変数jに「1」をセットする。かかる処理に
より当該制御信号出力処理が繰り返し行なわれるたびに
対象となるチャンネルが「1」から「8」まで順次繰り
返されることになる。 このようにして、トーンジェネレータ80からは純正律
の音階で演奏された和音の楽音信号が出力されることに
なる。 これと同様に上鍵域でのメロディ演奏についても各鍵
の押鍵が検出され、メインルーチンのステップ130にて
キーイベント処理が実行される。 キーイベント処理のステップ210にてキーオンと判断
されると、ステップ220にて割当チャンネルが決定さ
れ、続くステップ230にて各制御用変数に当該押鍵状態
を表す所定値がセットされる。 しかし、その後のステップ240にてキーコードKC
[i]が鍵盤50の分割点を表すパラメータBPと比較され
ると、同キーコードKC[i]の方が大きいのでステップ
250における和音処理を行なうことなく当該キーイベン
ト処理を終了する。そして、割り込み処理として実行さ
れる制御信号出力処理で上記変数値をトーンジェネレー
タ80に出力する。 この場合、トーンジェネレータ80に出力されるピッチ
修正量CNTはステップ810にて変数CENT[j]がセットさ
れているが、同変数CENT[j]は、キーイベント処理の
ステップ230にて「0」にクリアされているからトーン
ジェネレータ80はピッチを修正することなくキーコード
KC[j]によって指定される平均律音階の楽音信号を出
力する。 一方、演奏に応じて順次、離鍵のキーイベントも生じ
る。離鍵された場合はキーイベント処理のステップ210
で“キーオンでない”と判断され、ステップ260にてキ
ーオフされたチャンネル番号を変数iにセットしてステ
ップ270にて押鍵時間の変数TM[j]に負の値「−1」
をセットする。その後、ステップ280にてキーオフされ
たチャンネルiとキーオフを示すKOF信号をトーンジェ
ネレータ80に出力する。すなわち、CPU20がバス10を介
してトーンジェネレータ80に上記チャンネルi及びKOF
信号を出力し、トーンジェネレータ80は当該指定された
チャンネルについては所定のエンベロープに従って楽音
の発生を徐々に停止する。 離鍵された鍵が上鍵域であれば和音演奏と何ら関係は
ないが下鍵域であれば和音を構成しなくなるから発音す
べきピッチ情報も変化してくる。 このため、キーオンの場合と同様、ステップ240にて
当該離鍵された鍵が下鍵域であるか判断し、下鍵域であ
る場合はステップ250の和音処理へ移行する。 同和音処理のステップ310にて“和音が検出されな
い”と判断されると処理はステップ900(第6図参照)
へ進み、ピッチ修正量CENT[k]を「0」にクリアする
処理を行なう。 但し、和音構成音の一部が離鍵されても残りの鍵は発
音され続けている場合もあり、当該鍵のピッチ情報を変
更してしまうと音の流れが不自然になる。このため、ス
テップ910にて押鍵時間TM[k]が所定時間T以下であ
るか判断し、所定時間T以下であると判断された場合に
ステップ920にてピッチ修正量CENT[k]をクリアす
る。 なお、全チャンネルについてピッチ修正量CENT[k]
を「0」にクリアする処理を行なうため、ステップ900
にて変数kに「1」をセットし、ステップ930にて変数
kを「1」だけインクリメントし、ステップ940におい
て変数kが「8」を越えたと判断されるまでループを繰
り返す。 さて、演奏の進行に伴って下鍵域において演奏される
和音も変化する。 変化した和音が変化前の和音の構成音を全く含んでい
なければ変化後の和音構成音を純正律となるように修正
するにあたっても各和音の種類に応じて予め定めておい
た修正量を与えればよい。 しかし、和音の変化前後において共通音がある場合に
は、当該共通音についてはピッチを変更しないようにせ
ねばならず、本実施例では固定音処理にてオフセット量
を算出している。 すなわち、和音処理にて和音を検出した後、ステップ
370において共通音があるか否かを各鍵の押鍵時間TMと
所定値Tとの比較で判断し、押鍵時間TMの方が長い場合
は共通音であると判断してステップ380にて固定音処理
を行なう。 同固定音処理では、現在指定されているピッチ修正量
から新たに指定されるピッチずれを差し引いてオフセッ
ト量が算出されている。 一方、オフセット量ΔCENTが算出された場合に得られ
るピッチ修正量CENT[k]はピッチずれの配列であるCr
d[TYPE,NC]にオフセット量ΔCENTを加えたものとなっ
ている。ところで、オフセット量ΔCENTとピッチずれCr
dはセント単位で修正量を表しているからそれぞれが加
えられることによってピッチとしては所定値が乗算され
ることになる。この結果、和音構成音は純正律を構成す
るためのピッチずれ情報が加えられるので純正律の和音
として発音され、かつ、オフセット量が加えられている
ので和音全体のピッチが一体的に調整され、従前から押
鍵されていた鍵のピッチが変化することもない。なお、
共通音が2音以上あれば固定音処理が繰り返されるが、
得られるオフセット量ΔCENTは同一となる。 この結果、演奏される和音は純正律で発音され、か
つ、和音の変化前後にわたって共通していた鍵について
はピッチが変わらないで発音されることになる。なお、
この場合は和音から和音へと演奏が変化したが、和音で
ない演奏から和音の演奏へと変化した場合も構成音が共
通する場合についてはピッチが保持される。 さて、トーンジェネレータ80内では演奏に応じたディ
ジタル信号の楽音信号が得られるが、同トーンジェネレ
ータ80は内部にD/Aコンバータを有しておりディジタル
の楽音信号をアナログに変換して出力する。 そして、サウンドシステム90が同演奏に対応する楽音
を出力する。 なお、これまでの説明は、操作子群60の純正律スイッ
チをオンにしておいた場合であったが、同スイッチをオ
フにしておいた場合は、各チャンネルごとにピッチ修正
量CENTを算出するものの、制御信号出力処理のステップ
800にて純正律スイッチがオフにされていると判断さ
れ、ステップ820にてピッチ修正値CNTに「0」がセット
される。従ってトーンジェネレータ80は何らピッチ情報
を修正することなくキーコードだけによって定まる平均
律音階のピッチ情報を出力することになる。 このように本実施例の電子楽器では、演奏用の鍵盤を
備え、この演奏用鍵盤より複数の異なる音高を表す音高
情報が入力される場合において、同鍵盤から入力される
音高情報に基づいて同鍵盤で和音が演奏されているかを
検出し、和音が演奏されていれば同和音に対応した純正
律音階を構成する複数のピッチ情報を形成して出力する
が、この際、鍵盤から入力される音高情報が変化したと
き、少なくとも変化後に和音が演奏されていれば同変化
前後で同一鍵が押鍵されていたか否かを各鍵の押鍵時間
に基づいて検出し(ステップ370参照)、同一鍵が押鍵
されていた場合は当該鍵に関するピッチ情報を以前の値
に維持するとともに残りの和音構成音に関するピッチ情
報を上記同一鍵に関するピッチ情報を基準にして決定し
(ステップ380,600〜660及びステップ780参照)、決定
後の和音構成音にかかるピッチ情報が純正律音階となる
ようにしている。 なお、上記実施例では音高情報の変化時に同一音が含
まれていたか否かを各鍵の押鍵時間で判断しているが、
演奏されていた和音の構成音を記憶しておき、和音の変
化時にこれをもとにして同一音が含まれていたかを判断
してもよい。かかる場合、一例としては、一つ前に演奏
されていた和音の構成音を示す変数OldKC[1〜8]と
今回演奏されている和音の構成音を示す変数NewKC[1
〜8]を用意し、ステップ310では和音を検出するとと
もに和音が検出されたときにはそれまでのNewKCをOldKC
に保存して、新たに検出された和音の構成音をNewKCに
セットする。但し、変数は8チャンネル分用意している
が、和音構成音の方が少ないであろうから余った変数Ne
wKCには「0」をセットしておく。そして、ステップ330
〜400のループ処理では、ステップ330にてオフセット量
ΔCENTを「0」にクリアした後、ループ処理にて値が
「0」でない変数NewKCと変数OldKCとを比較して一致す
るものがないか判断し、一致するものがあれば当該キー
コードの発音チャンネルを変数kにセットして固定音処
理へ進む。以後は、上述した実施例と同様に変数EQのセ
ットなどを行ない、ステップ700〜780にて各チャンネル
ごとのピッチ修正量CENTを設定すればよい。 また、本実施例では下鍵域だけをピッチ修正の対象と
しているが、上鍵域の演奏音も含めて下鍵域の和音演奏
を純正律にせしめるようにピッチを修正してもよい。 このためには、ステップ240における判断によってキ
ーイベントが下鍵域の場合のみ和音処理をするようにし
ているのを、上鍵域であっても同和音処理を行ない、か
つ、ステップ360にて上鍵域と判断された場合は無条件
に固定音処理を行なうことなくピッチを固定するように
しているのを上鍵域であってもステップ370にて押鍵時
間TM[k]と所定時間Tとを比較し、押鍵時間の方が長
かったら固定音処理へ進むようにすればよい。ただ、こ
のようにすると和音構成音以外に押鍵時間の長い鍵も存
在し、当該鍵によって定まるオフセット量ΔCENTと和音
構成音によって定まるオフセット量ΔCENTとが異なる値
になることがある。従って、かかる場合には例えば下鍵
域によって求めたオフセット量ΔCENTを優先的に使用す
ることとし、固定音処理内でΔCENTを算出する対象を下
鍵域のみとする判断(ステップ240参照)を加えればよ
い。むろん、上鍵域を優先的にするようにしてもよい。 さらに、本実施例では純正律への変更をソフトウェア
で行なっているが、ハードウェアで実施してもよい。ま
た、和音の種類を本実施例では4種類としているが、こ
れ以上に増加することも可能である。 本実施例では純正律への変更を行なっているが、これ
は純正律には限らず、響きのよい周波数比率を持つ音
階、純正律音階の周波数比率からほんの少しずらした周
波数比率を持つ音階等所望の音階へ変更する場合にも適
用可能である。 その他、本実施例では複数の異なる音高を表す音高情
報を得る手段として鍵盤を利用しているが自動演奏装置
やシーケンサ、MIDI規格のコンピュータなどとすること
もできる。
【図面の簡単な説明】
第1図は本発明が適用される電子楽器のブロック図、第
2図はメインルーチンのフローチャート、第3図はピッ
チずれを示す配列Crdを表す図、第4図はトーンジェネ
レータに出力する制御用変数を示す図、第5図〜第9図
は他のルーチンのフローチャートである。 符号の説明 10……バス、20……CPU、30……ROM、31……プログラム
メモリ部、32……パラメータメモリ部、40……RAM、50
……鍵盤、60……操作子群、70……クロック。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の異なる音高をそれぞれ表す複数の音
    高情報を入力することが可能な音高情報入力手段と、 上記入力された複数の音高情報に基づき、予め定めた複
    数の和音の中から同複数の音高情報により指定される和
    音を検出する和音検出手段と、 上記入力された複数の音高情報及び上記検出された和音
    に基づき、複数の和音に対応して予め用意されていて純
    正律音階等の響きのよい周波数比率をもつ音階を構成す
    るための複数組のピッチ情報群の中から同検出和音に応
    じて一組のピッチ情報群を指定するとともに、同指定し
    たピッチ情報群の中から同複数の音高情報により表され
    る各音高にそれぞれ対応する複数のピッチ情報を抽出し
    て出力するピッチ情報出力手段とを備えた楽音周波数情
    報発生装置において、 上記入力された音高情報が変化したとき、同変化前後の
    同一音高に関するピッチ情報を以前の値に維持するとと
    もに、残りの音高に関するピッチ情報を上記同一音高に
    関するピッチ情報を基準にして純正律音階等の響きのよ
    い周波数比率をもつ音階に対応させるように上記ピッチ
    情報出力手段を制御する基準ピッチ制御手段を設けたこ
    とを特徴とする楽音周波数情報発生装置。
JP2039127A 1990-02-20 1990-02-20 楽音周波数情報発生装置 Expired - Lifetime JP2504260B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2039127A JP2504260B2 (ja) 1990-02-20 1990-02-20 楽音周波数情報発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2039127A JP2504260B2 (ja) 1990-02-20 1990-02-20 楽音周波数情報発生装置

Publications (2)

Publication Number Publication Date
JPH03241397A JPH03241397A (ja) 1991-10-28
JP2504260B2 true JP2504260B2 (ja) 1996-06-05

Family

ID=12544437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2039127A Expired - Lifetime JP2504260B2 (ja) 1990-02-20 1990-02-20 楽音周波数情報発生装置

Country Status (1)

Country Link
JP (1) JP2504260B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1465151A3 (en) * 1998-10-29 2009-07-08 Paul Reed Smith Guitars Limited Partnership (Maryland) Tuning notes in a chord

Also Published As

Publication number Publication date
JPH03241397A (ja) 1991-10-28

Similar Documents

Publication Publication Date Title
US8314320B2 (en) Automatic accompanying apparatus and computer readable storing medium
JP7160068B2 (ja) 電子楽器、電子楽器の発音方法、及びプログラム
JP7176548B2 (ja) 電子楽器、電子楽器の発音方法、及びプログラム
JP2636640B2 (ja) 自動伴奏装置
US6750390B2 (en) Automatic performing apparatus and electronic instrument
JP2583809B2 (ja) 電子楽器
JP2504260B2 (ja) 楽音周波数情報発生装置
JP2768233B2 (ja) 電子楽器
US5418326A (en) Automatic accompaniment instrument for automatically performing an accompaniment that is based on a chord progression formed by a sequence of chords
JP2504261B2 (ja) 楽音周波数情報発生装置
JPH03242697A (ja) 電子楽器
JPH0229792A (ja) 和音検出装置
JP2504262B2 (ja) 楽音周波数情報発生装置
JP2513003B2 (ja) 電子楽器
JP2541021B2 (ja) 電子楽器
JPH0631964B2 (ja) 電子楽器
JP2513341B2 (ja) 電子楽器
JPH07181973A (ja) 電子楽器の自動伴奏装置
JPH01179089A (ja) 自動伴奏装置
JP2626142B2 (ja) 電子楽器
JP2629564B2 (ja) 和音検出装置
JPH08221072A (ja) 自動伴奏装置
JP2894178B2 (ja) 演奏情報における奏法検出方法
JPH06314096A (ja) 電子楽器の前コード検出装置
JPH07199931A (ja) 周波数データ生成装置