JP2605667B2 - 電子楽器の入力制御装置 - Google Patents

電子楽器の入力制御装置

Info

Publication number
JP2605667B2
JP2605667B2 JP62004713A JP471387A JP2605667B2 JP 2605667 B2 JP2605667 B2 JP 2605667B2 JP 62004713 A JP62004713 A JP 62004713A JP 471387 A JP471387 A JP 471387A JP 2605667 B2 JP2605667 B2 JP 2605667B2
Authority
JP
Japan
Prior art keywords
pitch
register
semitone
extracted
value
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
JP62004713A
Other languages
English (en)
Other versions
JPS63173095A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP62004713A priority Critical patent/JP2605667B2/ja
Publication of JPS63173095A publication Critical patent/JPS63173095A/ja
Application granted granted Critical
Publication of JP2605667B2 publication Critical patent/JP2605667B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 この発明は電子ギターなどの電子楽器の入力制御装置
に関する。
〔発明の背景〕
従来より、自然楽器の演奏操作によつて発生する波形
信号からピツチ(基本周波数)を抽出して音源装置ある
いは他の電子楽器を制御して、人工的に楽音等の音響を
得るようにしたものが種々開発されている。
この種の電子楽器では、入力波形信号のピツチを抽出
してから音源装置に対し当該ピツチに対応する周波数の
音響を発生するよう指示するのが一般的である。
ところで、上記のような装置にあつては、例えばMIDI
(Musical Instrument Digital Interfaceという統一規
格)により、音源装置や電子楽器に、ピツチ指示を与え
ることになつていたが、スラー奏法、グリツサンド奏法
あるいはライトハンド奏法等により弦操作をしたとき、
1オクターブを越えて音高変更をしなければならない際
に、MIDIでは一般に1オクターブ以上の音高変更指示
(一般にベンダチエンジメツセージという)は送信受信
できない。あるいは極端な場合は半音(100セント)未
満のベンダチエンジメーツセージしか受けられない楽器
もある。そこで、1オクターブを越える音高変更は、こ
れまでの楽音に対するノートオフメツセージを出力する
と共に新たに発音開始のためのノートオンメツセージを
出力することになるが、そのようなときは、半音単位で
しか音高を指定することができず、例えば、ある音高か
らA4+50セントに変更するというように変更後の音高を
細かく指定することはできないという問題があつた。
〔発明の目的〕
この発明は、上記事情に鑑みてなされたもので、入力
波形信号のピツチを抽出して、対応する楽音を生成する
タイプの電子楽器において、発生中の楽音の音高を、大
きく変更することが可能であると共に、変更後の音高を
細かく指定することを可能とし、音高変更の自由度がよ
り広い電子楽器の入力制御装置を提供することを目的と
する。
〔発明の要点〕
即ち、本願の第1の発明は上記目的を達成すべく、入
力波形信号のピッチを抽出して、対応する音高をもつ楽
音を発生することを指示するようにした電子楽器の入力
制御装置において、楽音発生中に所定タイミング毎にピ
ッチを抽出するピッチ抽出手段と、該ピッチ抽出手段が
抽出したピッチと現在発生中の楽音のピッチとの差が、
半音の整数倍の所定値以上か否かを判定する判定手段
と、該判定手段が前記差は前記所定値以上と判定した場
合、前記ピッチ抽出手段が抽出したピッチを音階名に対
応する音階名コードと、前記所定値未満の差分値コード
とに分けて、ピッチ変更指令を送出する制御手段とを設
けたことを要点とする。
また、第2の発明は、上記第1の発明において、前記
制御手段を、前記判定手段が前記差は前記所定値以上と
判定した場合のピッチ変更指令において、新たな音階名
コードに基づいて新たな楽音の発生を指示した後、該新
たな楽音の発生指示以前に既に発生指示されて発生中の
楽音を消音処理するよう指示すると共に、前記新たな音
階名コードに基づいて発生した前記新たな楽音の音高を
前記差分値コードに従って変更するよう指示するように
したことを要点とする。
この第2の発明は、特にMIDIシステムにおいて、よう
にしたことをその要点とする。
特に、MIDIシステムにおいては、音源装置側のポルタ
メント動作をオンし、ポルタメントタイムをほぼ0とし
ておくと、発音開始時に、通常ノートオン指令を送り、
音高変更の際は、音階の違うノートオン指令を送り、前
回のノートオン指令をした音をノートオフ(消音)とす
る指令を与えるのみでスラー効果が得られることを利用
することで、半音以上の音高変更は、半音数の分の変更
を上述の如くノートオン指令、ノートオフ指令を与える
ことで行ない、半音未満の変更はベンダチエンジメツセ
ージ(ベンドメツセージ)で行なうようにすることによ
り、広い範囲のスラー効果やグリツサンド効果を実現で
きるようにしたものである。
つまり、音階名コードに対応する楽音についてのノー
トオン指令を与えた後、直ちに新たな差分値コードに対
するベンダチエンジ指令とこれまで出力していた音階名
コードの楽音についてのノートオフ指令を与えるので、
音源側では、音階名の変更と差分値の更新が略同時に行
え、新たに今回検知された周期に対応する音高をもつ楽
音に発音状態がなめらかに変化することになるのであ
る。
〔実施例〕
以下、本発明の一実施例につき図面を参照して詳細に
説明する。
回路構成 第1図は、同実施例の回路構成を示しており、本実施
例は、電子ギター(ギターシンセサイザー)に本発明を
適用したものであり、6つの入力端子1の信号は、電子
ギターボデイ上に張設された6つの弦の夫々に設けられ
た、弦の振動を電気信号に変換するピツクアツプからの
信号である。
入力端子1……からの楽音信号は、ピツチ抽出回路P1
〜P6(図では第1弦のP1についてのみその内部構成を示
している。)内部の夫々のアンプ2……で増幅され、ロ
ーパスフイルタ(LPF)3……で高周波成分がカツトさ
れて基本波形が抽出され、最大ピーク検出回路(MAX)
4……、最小ピーク検出回路(MIN)5……及びゼロク
ロス点検出回路(Zero)6……に与えられる。ローパス
フイルタ3……には、各弦の開放弦の振動音周波数fの
4倍の4fにカツトオフ周波数fc1〜fc6が設定されてい
る。これは、各弦の出力音の周波数が2オクターブ以内
であることに基づくものである。最大ピーク検出回路4
……では、楽音信号の最大ピーク点が検出され、その検
出パルス信号の立上りで後段に接続されているフリツプ
フロツプ14……のQ出力がHighレベルとなり、このフリ
ツプフロツプ14……の出力とゼロクロス点検出回路6…
…のインバータ30……の反転出力とのアンド出力がアン
ドゲート24……を介して割り込み指令信号INTa1〜INTa6
としてCPU100に与えられ、同様に最小ピーク検出回路5
……でも、楽音信号の最小ピーク点が検出され、その検
出パルス信号の立上りで後段に接続されているフリツプ
フロツプ15……のQ出力がHighレベルとなり、このフリ
ツプフロツプ15……の出力とゼロクロス点検出回路6…
…の出力とのアンド出力がアンドゲート25……を介して
割り込み指定信号INTb1〜INTb6としてCPU100に与えられ
る。第2図は第1図の各部の出力波形信号を示してお
り、は、ローパスフイルタ3出力、は最大ピーク検
出回路4出力、は最小ピーク検出回路5出力、はゼ
ロクロス点検出回路6出力、はアンドゲート24出力で
ある割り込み指令信号INTa、そしてはアンドゲート25
出力である割り込み指令信号INTbを夫々示している。
即ち、最大ピーク点が検出されてフリツプフロツプ14
がHighレベルになつているときに、波形が正から負へ横
切つたとき割り込み指令信号INTa1〜INTa6が第2図に
示すようにCPU100に与えられ、逆に最小ピーク点が検出
されてフリツプフロツプ15がHighレベルになつていると
きに、波形が負から正に変化したとき第2図に示すよ
うに割り込み指令信号INTb1〜INTb6がCPU100に入力す
る。
そして、CPU100は、これらの割り込み指令信号を受付
けた直後に、対応するフリツプフロツプ14……、15……
に対しクリア信号CLa1〜CLa6、CLb1〜CLb6を発生してリ
セツトする。従つて、次に最大ピーク点あるいは最小ピ
ーク点を検出するまで何度ゼロクロス点を通過しても対
応するフリツプフロツプ14……、15……はリセツト状態
であるので、CPU100には割り込みがかからないことにな
る。
そして、CPU100では、当該弦の振動出力により割り込
み指令信号INTa1〜INTa6もしくはINTb1〜INTb6が与えら
れて、夫々の時間間隔の少なくとも一方の時間間隔に従
つた音階音を発生するよう音源回路9へ指示をする。
尚、発音開始時においては開放弦の音階音を発生開始し
てピツチ抽出の後で正しい周波数に修正してもよい。こ
の発音開始時の動作については後述する。
そして、上記時間間隔は、後述するようにカウンタ7
と、ワークメモリ101とを用いて求める。即ち、このワ
ークメモリ101には、最大ピーク点あるいは最小ピーク
点直後のゼロクロス点時のカウンタ7のカウント値など
各種データが記憶される。
そして、発音開始後は、順次求める時間間隔データに
従つて、発生中の楽音の周波数を可変制御してゆく。即
ちCPU100より音階を指定するデータをつまり、半音以上
の音階名に対応する音階名コードや、半音未満の差分値
コードなどを送出し、その結果対応する周波数をもつ楽
音信号が音源回路9から生成され、サウンドシステム10
より放音出力される。この音源回路9は、電子ギター内
部に設けられていてもよいし、あるいはMIDIなどのイン
ターフエースを介して接続される別体の音源であつても
よい。
また、上記ローバスフイルタ3……からの楽音信号
は、A/Dコンバータ11……に与えられ、その波形レベル
に応じたデジタルデータに変換される。
そして、このA/Dコンバータ11……の出力はラツチ12
にラツチされる。このラツチ12……に対するラツチ信号
は、上記フリツプフロツプ14……、15……の出力がオア
ゲート13……を介することで生成され、最大ピーク点も
しくは最小ピーク点を通過する都度ラツチ12……にはそ
のときの波形のレベルを示す信号が記憶される。また、
このオアゲート13……からのラツチ信号L1〜L6はCPU100
にも与えられる。
そして、ラツチ12……出力はCPU100へ与えられ、発音
開始、停止、再発音開始、更には出力音の放音レベル
(音量)等の制御がこのテータに従つてなされる。
即ち、CPU100では、A/Dコンバータ11……より与えら
れる波形レベルを示すデータの絶対値が、予め決められ
た一定値以上になつた時には、楽音の発音を開始させ、
このデータが一定値以下になつた時には、消音指示をし
て放音を終了させる。その動作の詳細は後述するとおり
である。
なお、第1図には、A/Dコンバータ11が、ピツチ抽出
回路P1〜P6に夫々対応して別個に設けてあるが、一個の
A/Dコンバータを時分割的に使用することも勿論可能で
ある。
そして、音源回路9は時分割処理により少なくとも6
チヤンネルの楽音生成系が形成されている。
動作 次に本実施例の動作について説明する。第3図はCPU1
00の割り込みルーチンのフローであり、第4図はメイン
ルーチンのフローであり、第5図及び第6図はメインフ
ローのなかのサブルーチンを示すものである。なお、こ
の第3図乃至第6図はひとつの弦についての処理しか示
してないが、各弦の処理は全く同じなので、CPU100が夫
々の弦についての処理を時分割的に実行すると考えれば
良い。
さて、CPU100の具体的な動作の説明の前に、ワークメ
モリ101の中の主なレジスタについて説明する。
STEPレジスタは、0、1、2、3の4段階とり、弦振
動がなされる(第8図(a)もしくは第9図(a)参
照)につれて、第8図(b)あるいは第9図(b)に示
すようにその内容は変化する。このSTEPレジスタが0の
ときは、ノートオフ(消音)状態を表している。
SIGNレジスタは、周期計測のためのゼロクロス点が最
大ピーク(MAX)点の次のゼロクロス点なのか、最小ピ
ーク(MIN)点の次のゼロクロス点なのかを示すもの
で、1のとき前者、2のとき後者である。
REVERSEレジスタは、上記SIGNレジスタで表わされた
ゼロクロス点と反対側のピーク点経過後のゼロクロス点
の到来による割り込み処理がなされたか否かをチエツク
するデータを記憶するレジスタである。
Tレジスタは、入力波形の周期を計測するための特定
点のカウンタ7の値を記憶する。なお、カウンタ7は所
定のクロツクでカウントするフリーランニング動作をし
ている。
AMP(i)レジスタは、A/Dコンバータ11からラツチ12
にラツチされた最大もしくは最小ピーク値(実際には絶
対値)を記憶するレジスタで、AMP(1)が最大ピーク
用、AMP(2)が最小ピーク用のレジスタである。
PERIODレジスタは、計測した周期をあらわすデータが
入力され、このレジスタの内容を基に、CPU100は、音源
回路9に対し周波数変更制御を行うものである。
Xレジスタは抽出した音階名を示すコードをセツト
し、Yレジスタは抽出した音階名の半音未満のデータ、
つまり差分値コードをセント単位でセツトするレジスタ
である。
更に、後述するように本実施例は各種判断のために、
3つの定数(スレツシユホールドレベル)がCPU100内に
設定されている。
先ず最初のものはONLEV Iであり、第8図(a)、第
9図(a)に示すように、いまノートオフの状態であ
り、このONLEV Iの値よりも大きなピーク値が検出され
たとき、弦がピツキング等されたとして、周期測定のた
めの動作をCPU100は実行開始する。
ONLEV IIは、ノートオン(発音中)状態であつて、前
回の検出レベルと今回の検出レベルとの差がこの値以上
あれば、トレモロ奏法等による操作があつたとして、再
度発音開始(リラテイブオン、relative on)処理を行
うためのものである。
OFFLEVは、第9図(a)に示してあるように、ノート
オン(発音中)状態であつて、この値以下のピーク値が
検知されると、ノートオフ(消音)処理をする。
以上の説明から、以下に述べる割り込みルーチン、メ
インルーチン、各サブルーチンの動作の理解は容易とな
ろう。
さて、アンドゲート24もしくはアンドゲート25の出力
である割り込み指令信号INTa、INTbのCPU100への到来に
よつて、第3図の割り込み処理を行う。
即ち、割り込み指令信号INTaの入力時には、先ずステ
ツプP1の処理をし、CPU100内のaレジスタを1にし、割
り込み指令信号INTbの入力時には、先ずステツプP2の処
理によつて上記aレジスタに2をセツトする。
そして次にステツプP3において、CPU100内のtレジス
タに、カウンタ7の値をプリセツトする。続いて実行す
るステツプP4ではA/Dコンバータ11のピークレベルデー
タをラツチ12から読込みCPU100内のbレジスタに設定す
る。
そして、ステツプP5において、フリツプフロツプ14も
しくはフリツプフロツプ15をクリアする。
続くステツプP6にて、上記a、b、tレジスタの内容
をワークメモリ101に転送記憶し割り込み処理を終了す
る。
メインルーチン(第4図)では、ステツプQ1にて、上
述したような割り込み処理によつてワークメモリ101に
a′、b′、t′の内容(上記a、b、tと同じで前回
記録されたということでa′、b′、t′と示す。)が
書込まれているか否かジヤツジし、何ら割り込み処理は
なされていないときはNOの判断をして、このステツプQ1
を繰返し実行する。
そして、上記ステツプQ1でYESの判断をすれば、次の
ステツプQ2に進んでその内容a′、b′、t′を読出
す。次にステツプQ3において、前記AMP(a′)レジス
タに記憶してある、つまり同じ種類(最大/最小)のピ
ーク点のピーク値をCPU100内のcレジスタに読出し、今
回抽出したピーク値b′を上記AMP(a′)レジスタに
設定する。
さて、次にステツプQ4〜Q6において、STEPレジスタの
内容が夫々3、2、1であるか否かジヤツジする。い
ま、最初の状態であるとしたら、STEPレジスタは0なの
で、ステツプQ4、Q5、Q6ともNOの判断がされる。そし
て、次にステツプQ7で、今回検知したピーク値b′がON
LEV Iより大か否かジヤツジする。
もし、上記ピーク値b′がONLEV Iより小であれば、
まだ発音開始の処理をしないのでステツプQ1へもどる。
仮に、第8図(a)、第9図(a)のようにONLEV Iよ
り大きな入力が得られたとすると、ステツプQ7の判断は
YESとなり、ステツプQ8へ進む。
そしてステツプQ8でSTEPレジスタに1をセットし、次
にステツプQ9でREVERSEレジスタに0をセツトし、続け
てステツプQ10で、a′(つまり最大ピーク点直後のゼ
ロクロス点のとき1、最小ピーク点直後のゼロクロス点
のとき2)の値をSIGNレジスタに入力する。
そして、ステツプQ11にて、t′の値をTレジスタに
セツトする。その結果、a′の内容はSIGNレジスタに
(いまSIGNは1となる(第8図(a)、第9図(a)の
とき))、b′の内容はAMPレジスタに、t′の内容は
Tレジスタにセツトされたことになる。そして再びステ
ツプQ1にもどる。
以上の説明で第8図(a)、第9図(a)のゼロクロ
ス点Zero1の直後のメインルーチンの処理を完了するこ
とになる。
さて、次に、ゼロクロス点Zero2の直後のメインルー
チンでの処理を説明する。そのときは上記ステツプQ1
Q2→Q3→Q4→Q5→Q6を実行し、このステツプQ6にてYSの
判断がされ、次にステツプQ12にゆく。
いま、第8図(a)、第9図(a)のように波形が入
力時に正方向に変化したときは、SIGNレジスタは1であ
り、今回負方向のピークを経過してきているからa′レ
ジスタは2なので、NOの判断をする。尚、もし同じ極性
のピーク値直後のゼロクロス点到来時には、このステツ
プQ12でYESの判断をして何ら続けて動作せずにステツプ
Q1へもどる。
さて、いまこのステツプQ12ではNOのジヤツジかされ
てステツプQ13へゆき、STEPレジスタを2とする。(第
8図(b)、第9図(b)参照)。
そしてステツプQ13に続けてステツプQ14を実行し、前
回のピーク値(AMP(SIGN))と今回のピーク値
(b′)を比較する。いま、第8図(a)のように前回
の値x0が今回の値より小(x1>x0)ならば、YESとな
り、今回の時刻t′を周期の計測開始点とすべく(第8
図(c)参照)ステツプQ14からステツプQ10、Q11を実
行し、SIGNレジスタを2とすると共にt′レジスタの内
容をTレジスタへ転送する。
逆に、前回のピーク値が今回のピーク値よりも大きけ
れば、つまり第9図(a)のようにx1<x0ならば、ステ
ツプQ14でNOのジヤツジをしステツプQ15にてREVERSEレ
ジスタを1とする。なお、SIGNレジスタはいま前の値1
を保つことになる。従つて、この場合は前のゼロクロス
点(Zero1)が周期計測の開始点となつている(第9図
(c)参照)。
そして、次のゼロクロス点(Zero3)の通過後、はじ
めてメインフローを実行するときは、ステツプQ5でYES
のジヤツジがされてステツプQ16へ進む。今回a′は1
であり、第8図の場合は、SIGNが2、第9図の場合はSI
GNが1なので、第8図の場合にあつては、ステツプQ16
でNOのジヤツジがされて、ステツプQ15へゆきステツプQ
1へもどる。つまり、周期計測を開始し始めてからひと
つ目のピーク(振幅X2)を通過したことをCPU100は認識
する。
また第9図の場合にあつては、ステツプQ16ではYESの
判断がされて、ステツプQ17へゆきREVERSEレジスタが1
か否かジヤツジする。もし1でなければNOの判断をしス
テツプQ1へもどるが、上述したようにステツプQ15の実
行によつてこのレジスタは1となつており、ステツプQ
17からステツプQ18へゆきSTEPレジスタを3とし(第9
図(b)参照)、続けてステツプQ19にて、t′レジス
タにある今回の割り込み時刻であるカウンタ7の値から
Tレジスタにある値つまりゼロクロス点Zero1の時刻を
減算し、PERIODレジスタにストアする。
つまり第9図(c)に示す大きさが一周期の長さとな
り、続くステツプQ20でt′の内容をTレジスタに転送
して新たな周期計測の開始をする。
そして、次のステツプQ40において発音開始する音階
名を見つける処理をする。即ち、具体的には第5図のサ
ブルーチン1へジヤンプし、ステツプQ401を行い、Xレ
ジスタに初期値0をセツトし、次にステツプQ402に進
み、このXレジスタにてアドレス指定されて得られる周
期データ(X)と、PERIODレジスタの記憶値とを比較す
る。この(X)の値は、例えばCPU100内のROMに記憶さ
れているもので、例えば第7図に示すようになつてい
る。勿論複数オクターブにわたるのであれば、オクター
ブと音階名の双方を示すようになる。
さて、いま例えばPERIODレジスタに10000の値が抽出
されておるとすれば、最初(X=0)のときの比較では
YESとなり、ステツプQ403へゆき、Xレジスタをカウン
トアツプし、次にステツプQ402へもどる。今回は、X=
1であるが、今回もステツプQ402ではYESとなる。以下
繰返し、Xレジスタの値が3となつたときステツプQ402
でNOとなり、このサブルーチン1の処理を終了する。
従つて、いまの場合は、音階名はG(X=3)と抽出
される。そして、次にステツプQ41へゆく。ここで差分
値コードを抽出する。
このステツプQ41の具体的な処理は、サブルーチン2
(第6図参照)で行われる。即ち、ステツプQ411に示す
とおり、上述のPERIODレジスタと、ステツプQ40で抽出
したXレジスタの値とから、図に示す計算を行う。例え
ば上述の例であると、その計算結果をセツトするYレジ
スタの内容は、 となる。つまり、実際の音高は、音階Gより14.6セント
低いということになる。
さて、次にステツプQ42にて、まず音源回路9に、差
分値コードを予め送つて差分値制御する。なお、上述し
たように音源回路9においては、ポルタメントがオン
で、ポルタメントタイムが0、つまり即時に(ポルタメ
ントタイム=0で)、次の音高音に移行可能となつてい
る。
そしてステツプQ21において、上述のXレジスタの内
容及び、予めステツプQ42にて指示してあるYレジスタ
の内容をもつてCPU100は音源回路9に発音指令を出す。
従つてこの時点から楽音の発生がなされる。
さて、上述した第8図の場合にあつては、再び次のゼ
ロクロス点(Zero4)後のメインフローの処理で、ステ
ツプQ5からステツプQ16へジヤンプする。いま、SIGNレ
ジスタは2なので、ステツプQ16ではYESの判断をし、続
けて上記同様にステツプQ17→Q18→Q19→Q20→Q40→Q41
→Q42→Q21を実行し、今回は第8図(c)に示すゼロク
ロス点Zero2からZero4までを一周期としてCPU100は認識
し、この長さに基づく周波数の楽音を発音開始する(第
8図(d)参照)。
このようにして、値の大きいピーク点の次のゼロクロ
ス点から周期計測の処理を開始し、そのピーク点と同じ
側のピーク点の次のゼロクロス点でその計測を終了する
ようにして、ローパスフイルタ3出力の波形の一周期を
抽出している。
そして、この発音開始処理の後、メインルーチンにお
いては、ステツプQ4からステツプQ22へ進行し、今回取
り込んだピーク値であるb′の値が、第10図に示すよう
にOFFLEVを越えているか否かジヤツジする。
いま、このレベルを越えていればステップQ23へ進
み、リラテイブオン(relative on)の処理をするのか
否かジヤツジするようにする。即ち具体的には今回のピ
ーク値(b′)が前のピーク値(c)よりONLEV IIだけ
大きいか、つまり発音中に急激に抽出ピーク値が大きく
なつたか否かジヤツジする。
通常弦を振動すれば、自然減衰を行うので、このステ
ツプQ23はNOの判断となるが、もしトレモロ奏法などに
よつて、前の弦振動が減衰し終わらないうちに、再び弦
が操作されて、このステツプQ23の判断がYESとなること
がある。
その場合は、ステツプQ23からステツプQ8へジヤンプ
し、ステツプQ9〜ステツプQ11を実行する。その結果、S
TEPレジスタは1となり、上述した発音開始時の動作と
全く同じ動作をそれ以降実行する。つまり、再びステツ
プQ16〜Q20、Q40〜Q42、Q21をその後実行して再発音開
始の処理をすることになる。このときは、アタツク部を
もつ再発音開始がなされる。
さて、通常状態では上述した如くステツプQ23に続け
てステツプQ24を行つて、a′の内容とSIGNレジスタの
内容の一致比較をし、一致しなければQ15へ進み次のゼ
ロクロス点の割り込み処理にそなえ、一致すれば、既に
逆特性をもつたピーク(正/負のピーク)を夫々通過し
てきたので、ステツプQ25へ進み、REVERSEレジスタが1
か否かジヤツジし、もしNOならば何ら処理をすることな
くステツプQ1へどるが、もしこのステツプQ25でYESの判
断がなされたならば、ステツプQ25からのステツプQ26
進み新たな周期を求めるべくt′レジスタの内容からT
レジスタの内容を引いて、PERIODレジスタにセツトす
る。
そして、ステツプQ27においてt′レジスタの内容を
Tレジスタへ転送する。そして、ステツプQ29で、RVERS
Eレジスタの内容を0として次の周期計測の開始をす
る。
次のステツプQ43では、ステツプQ40と同様にサブルー
チン1を実行し、今回抽出したPERIODレジスタの内容に
基づき音階名コードを得る。そしてステツプQ44におい
て半音未満の音高をあらわす差分値コードを得るべくサ
ブルーチン2の計算を実行する。
その結果、今回抽出したピツチに対応する音階名コー
ドがXレジスタに、差分値コードがYレジスタにセツト
されることになる。
続くステツプQ45において、前回抽出し、現在発音中
の楽音の音階名が、今回抽出した音階名(Xレジスタの
内容)と一致するか否かジヤツジする。いま、一致した
らステツプQ46へゆき、差分値コード(Yレジスタの内
容)によつて、音源回路9に対し音高変更の指示を与え
る。つまり、ベンダチエンジメツセージを出力し、出力
音の周波数を変更する。
さて、ステツプQ45にてNOの判断がなされると、ステ
ツプQ47へゆき、今回抽出した音階名コード(Xレジス
タの内容)に従つた音階音の発生開始指令つまりノート
オン指令をCPU100は音源回路9へ与える。
続いて、ステツプQ48にて、差分値コード(Yレジス
タの内容)に従つて音高変更の指示(ベンダチエンジメ
ツセージ)を与える。そして、ステツプQ49にて、これ
まで発生していた楽音の音階名コードについてのノート
オフ指示を音源回路9へ与えるようにする。
上述したように、音源回路9では、移行時間ゼロでポ
ルタメントがかかるようになつているので、前回指定し
ていた音階音から今回指定した音階音へ、即時に移行す
る。しかも、半音未満の差分値コードに基づく周波数制
御指令も与えられるので、今回抽出した音高へ速やかに
変化することになる。
このようにして、本実施例では、音階名を変更しない
音高変更については、ステツプQ45→Q46と実行すること
で実現し、音階名を変更する音高変更については、ステ
ツプQ45→Q47→Q48→Q49を実行することで実現する。
つまり、本実施例にあつては、弦の振動周波数の変化
を時々刻々とらえて、それに応じて周波数制御をリアル
タイムで行うようになる。
そして、上述したように、弦振動が減衰してきて、ピ
ーク値がOFFLEVを下まわるようになると、第10図に示す
とおりステツプQ22からステツプQ30へゆきSTEPレジスタ
を0とし、続くステツプQ31にてノートオフ処理(消音
処理)を行い、これまで発音していた楽音を消音すべく
CPU100は音源回路9へ指示するようになる。
このように、本実施例では、ピツチ抽出して得られる
音高を、半音以上の音階コードと、半音未満の差分値コ
ードとで表現するようにしたので、100セントを越える
周波数変更も簡単に、しかも連続して行える。また、オ
クターブを越える音高変更も容易に行える。
尚、上記実施例にあつては、最大ピーク点、最小ピー
ク点の各ピーク点直後のゼロクロス点でCPU100が割り込
み処理をして、発音開始、周期計算、リラテイブオン、
消音開始等の処理を行うようにしたが、各ピーク点検出
時につまり、最大ピーク点、最小ピーク点の検出時に直
接これらの処理を行つてもよい。その場合も全く同じ結
果を得ることができる。その他、例えばピーク点の直前
のゼロクロス点の検出によつて、上記同様の処理を行つ
てもよい。その他、基準となる点のとり方は種々変更で
きる。また、ピツチ抽出の回路あるいは方式は、種々変
更でき、上述のようなほか、波形の相関値を計算する等
して、ピツチを求めるようにしてもよい。
また、上記実施例では、メインフローのなかで各処理
を実行するようにしたが、割り込み処理のなかで同様の
処理を実行するようにしてもよい。
更に上記実施例では、差分値コードを求める計算は、
ステツプQ411に示したもののほか、Xレジスタの内容
(つまり音階名コード)に対しYレジスタの内容(つま
り差分値コード)がプラスされることで、音高を指定す
るように求めてもよく、そのために、第5図の処理なら
びに第7図のテーブルを適宜変更するようにしてもよ
い。また、差分値コードは、半音間を直線近似し、セン
ト単位で求めたが、本来の指数関数的に変化する差分値
コードを求めてもよく、更には、セント単位のコードで
はなく、ヘルツ単位のコードであつてもよい。
更に、上記説明では、音源回路9では、ポルタメント
タイムを0としたポルタメントモードで、音階音コード
の変更に基づく音高変更処理をしたが、必ずしもポルタ
メントタイムは0でなくともポルタメントモードに設定
してあれば良く、レスポンス時間を短かくした方が良け
れば、つまり入力波形信号への周波数応答を良好にする
のであれば、ポルタメントを0に近づけ、逆の場合は0
より大なものとすればよい。
また、CPU100と音源回路9とはMIDI以外のインタフエ
ースを介して接続するようにしてもよい。
更に、上記実施例においては、本発明を電子ギター
(ギターシンセサイザー)に適用したものであつたが、
必ずしもそれに限られるものでなく、マイクロフオン等
から入力される音声信号あるいは電気的振動信号からピ
ツチ抽出を行つて、原音声信号とは別の音響信号を、対
応するピツチもしくは音階周波数にて発生するシステム
であれば、どのような形態のものであつてもよい。具体
的には、鍵盤を有するもの例えば電子ピアノ、管楽器を
電子化したもの、弦楽器、例えばバイオリンや琴などを
電子化したものにも同様に適用できる。
〔発明の効果〕
この発明は、以上詳述したように、楽音発生中に所定
タイミング毎にピッチを抽出し、この抽出されたピッチ
と現在発生中の楽音のピッチとの差が、半音の整数倍の
所定値以上であると判定された場合、抽出したピッチを
音階名に対応する音階名コードと、前記所定値未満の差
分値コードとに分けて、ピッチ変更指令を送出するよう
にしたので、発生中の楽音の音高を、大きく変更するこ
とを可能とすると共に、変更後の音高を細かく指定する
ことを可能とし、音高変更の自由度をより広げる。
更に、本願の第2の発明によれば、新たな音階名コー
ドに基づいて新たな楽音の発生を指示した後、該新たな
楽音の発生指示以前に既に発生指示されて発生中の楽音
を消音処理するよう指示すると共に、前記新たな音階名
コードに基づいて発生した前記新たな楽音の音高を前記
差分値コードに従って変更するよう指示するようにした
ので、音高を滑らかに変化させることが可能となり、任
意の音高差のスラー効果やグリッサンド効果を可能とす
る。
【図面の簡単な説明】
図面は本発明の一実施例を示し、第1図は、同実施例の
回路構成を示す図、第2図は、第1図中の各部の信号の
タイムチヤートを示す図、第3図はCPUの割り込みルー
チンのフローチヤートを示す図、第4図はCPUのメイン
ルーチンのフローチヤートを示す図、第5図及び第6図
はCPUのサブルーチンを示す図、第7図はピツチデータ
と音階との対応関係のテーブルを示す図、第8図、第9
図は発音開始時の各部の動作を示すタイムチヤート図、
第10図は、消音開始時の動作を示すタイムチヤート図で
ある。 1……入力端子、4……最大ピーク検出回路、5……最
小ピーク検出回路、6……ゼロクロス点検出回路、7…
…カウンタ、9……音源回路、14、15……フリツプフロ
ツプ、100……CPU、101……ワークメモリ、P1〜P6……
ピツチ抽出回路。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】入力される信号のピッチを抽出して、該ピ
    ッチに対応する楽音の生成をMIDI形式の音源に指示する
    電子楽器の入力制御装置であって、 前記入力される信号のピッチを所定タイミング毎にピッ
    チ抽出するピッチ抽出手段と、 該ピッチ抽出手段が今回抽出したピッチと前回抽出した
    ピッチとの差が、半音以上か否かを判定する判定手段
    と、 前記判定手段が今回抽出したピッチと前回抽出したピッ
    チとの差が半音以上と判定した場合は、今回抽出したピ
    ッチを半音単位の音階名に対応する音階名コードによる
    ノートオンメッセージの生成と、半音未満の差分値コー
    ドによるベンダチェンジメッセージの生成とを行い、前
    記生成されたノートオンメッセージを前記音源に送出し
    た後、前記ベンダチェンジメッセージを前記音源に送出
    し、 今回抽出したピッチと前回抽出したピッチとの差が半音
    未満であると判定した場合は、該半音未満の差分値コー
    ドに対応するベンダチェンジメッセージのみを生成して
    該ベンダチェンジメッセージを前記音源に送出する制御
    手段と、 を設けたことを特徴とする電子楽器の入力制御装置。
JP62004713A 1987-01-12 1987-01-12 電子楽器の入力制御装置 Expired - Lifetime JP2605667B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62004713A JP2605667B2 (ja) 1987-01-12 1987-01-12 電子楽器の入力制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62004713A JP2605667B2 (ja) 1987-01-12 1987-01-12 電子楽器の入力制御装置

Publications (2)

Publication Number Publication Date
JPS63173095A JPS63173095A (ja) 1988-07-16
JP2605667B2 true JP2605667B2 (ja) 1997-04-30

Family

ID=11591524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62004713A Expired - Lifetime JP2605667B2 (ja) 1987-01-12 1987-01-12 電子楽器の入力制御装置

Country Status (1)

Country Link
JP (1) JP2605667B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5450311A (en) * 1977-09-28 1979-04-20 Nippon Gakki Seizo Kk Musical sound generator for electric guitar
JPS5695287A (en) * 1979-12-28 1981-08-01 Seiko Instr & Electronics Electrochromic display unit
JPS56111899A (en) * 1980-02-08 1981-09-03 Matsushita Electric Ind Co Ltd Voice synthetizing system and apparatus
JPS6132896A (ja) * 1984-07-25 1986-02-15 カシオ計算機株式会社 電子楽器の周波数制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5450311A (en) * 1977-09-28 1979-04-20 Nippon Gakki Seizo Kk Musical sound generator for electric guitar
JPS5695287A (en) * 1979-12-28 1981-08-01 Seiko Instr & Electronics Electrochromic display unit
JPS56111899A (en) * 1980-02-08 1981-09-03 Matsushita Electric Ind Co Ltd Voice synthetizing system and apparatus
JPS6132896A (ja) * 1984-07-25 1986-02-15 カシオ計算機株式会社 電子楽器の周波数制御装置

Also Published As

Publication number Publication date
JPS63173095A (ja) 1988-07-16

Similar Documents

Publication Publication Date Title
JPH03174590A (ja) 電子楽器
JPH0442296A (ja) 音声処理装置
JP3653854B2 (ja) 弦楽器型電子楽器
JP2605667B2 (ja) 電子楽器の入力制御装置
JP2532424B2 (ja) 波形信号入力制御装置
JP2508044B2 (ja) 電子楽器の入力制御装置
JP2745215B2 (ja) 電子弦楽器
JP2508692B2 (ja) 入力波形信号制御装置
JPH0727512Y2 (ja) 電子楽器の入力制御装置
JP2581068B2 (ja) 波形信号制御装置
JP2765578B2 (ja) 波形信号制御装置
JP2792022B2 (ja) 電子楽器の入力制御装置
JP2961675B2 (ja) 電子楽器
JPH041358B2 (ja)
JP3706232B2 (ja) 楽音生成装置及び楽音生成方法
JPH0431598B2 (ja)
JPS63217398A (ja) 楽音制御装置
JPH083711B2 (ja) 入力波形信号制御装置
JP2555553B2 (ja) 入力波形信号制御装置
JPH0648556Y2 (ja) 電子楽器の入力制御装置
JPH023100A (ja) 電子楽器
JP3684052B2 (ja) 楽音生成装置及び楽音生成方法
JPH0431599B2 (ja)
JP2759149B2 (ja) 楽音制御装置
JPH07104666B2 (ja) ピッチ抽出装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term