JPH0833733B2 - 楽音制御装置 - Google Patents

楽音制御装置

Info

Publication number
JPH0833733B2
JPH0833733B2 JP1125428A JP12542889A JPH0833733B2 JP H0833733 B2 JPH0833733 B2 JP H0833733B2 JP 1125428 A JP1125428 A JP 1125428A JP 12542889 A JP12542889 A JP 12542889A JP H0833733 B2 JPH0833733 B2 JP H0833733B2
Authority
JP
Japan
Prior art keywords
finger
bending
amount
interference
fingers
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
JP1125428A
Other languages
English (en)
Other versions
JPH02304489A (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 JP1125428A priority Critical patent/JPH0833733B2/ja
Priority to US07/493,290 priority patent/US5166462A/en
Publication of JPH02304489A publication Critical patent/JPH02304489A/ja
Publication of JPH0833733B2 publication Critical patent/JPH0833733B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、指の動作を検出し、その検出結果に応じて
楽音の発生を制御したり、発生楽音の音色、音量、効果
などの楽音要素を制御する楽音制御装置に関する。
[従来の技術] 鍵盤などの入力装置を用いることなく、指の動きを検
出して楽音の発生を制御する楽音制御装置として、従
来、特開昭63-210895号公報に示す楽音制御装置が知ら
れている。同公報に示す楽音制御装置においては、指の
曲げ延ばしによってオン・オフするフィンガスイッチを
複数の指に装着し、このフィンガスイッチから出力され
るオン・オフ情報によって発生する楽音信号の楽音要素
を制御している。
[発明が解決しようとする課題] ところで、指の曲げ延ばしで楽音の制御を行なう場
合、各指相互間に干渉が生じる。例えば、中指を深く曲
げようとすると、これにつられて人差指や薬指もわずか
に曲がってしまう。従って、各指の動作を個別に検出し
た場合、その検出結果には他の指から受けた干渉分が含
まれてしまうこともある。すなわち、演奏者が指を曲げ
ようとしている曲げ状態(以下、この曲げ状態を感覚的
な曲げ状態、その曲げ量を感覚的曲げ量ということにす
る。)に、指相互間で生じている干渉量を加えた結果
が、現実に生じている指の曲げ状態(以下、この曲げ状
態を物理的な曲げ状態、その曲げ量を物理的曲げ量とい
うことにする。)として表れていることになる。
従って、そのままこの検出結果にもとづいて楽音を制
御すれば、演奏者の意志とは異なる楽音が発生される事
態も生じる。
しかし、上述した楽音制御装置では、フィンガスイッ
チがオンとなる位置が固定されていたため、各指相互間
の干渉を補償することができなかった。
本発明は、上記課題に対処するためになされたもの
で、指相互間に生じる干渉を補償して演奏者の意志に即
した楽音の制御を行なわしめることが可能な楽音制御装
置を提供することを目的とする。
[課題を解決するための手段] 上記目的を達成するため、第1の発明(第1の請求項
にかかる発明)は、各指にそれぞれ装着され、各指の曲
げ量をそれぞれ検出して各指の物理的曲げ量を表す検出
信号をそれぞれ出力する複数の曲げ量検出手段と、各指
の個々の曲げ状態が他の指の曲げようとせしめる指相互
間の干渉を考慮して決められたパラメータを、干渉を与
える指と干渉を受ける指との組合せごとに記憶しておく
記憶手段と、上記曲げ量検出手段から出力される検出信
号と、上記記憶手段から読み出されるパラメータとに基
づいて各指について他の指からの干渉により生じる曲げ
量を演算し、各指について当該指の物理的曲げ量から他
の指からの干渉により生じる曲げ量を差し引いて感覚的
曲げ量を算出する演算手段と、上記演算手段で算出され
た各指の感覚的曲げ量に基づいて楽音を制御するための
楽音制御信号を出力する制御信号出力手段とを備えたこ
とを特徴を有している。
また、第2の発明(第2の請求項にかかる発明)は、
第1の発明の構成において、記憶手段は、前記パラメー
タを各指を曲げたときに他の指を曲げようとせしめる干
渉について当該曲げた指の曲げ量に対する比率として、
干渉を与える指との干渉を受ける指との組合せごとに記
憶しておくとともに、前記演算手段は、上記比率を検出
信号に乗算して各指が他の指に与えている干渉量を算出
し、各指の物理的曲げ量から他の指の曲げ量によって受
けている干渉量を減算して指の感覚的曲げ量を算出する
ことを特徴を有している。
さらに、第3の発明(第3の請求項にかかる発明)
は、各指にそれぞれ装着されて各指の曲げ量をそれぞれ
検出して各指の物理的曲げ量を表す検出信号をそれぞれ
出力する複数の曲げ量検出手段と、各指を曲げ伸ばしす
る全組合せについて各組合せごとに各指の物理的曲げ量
をパターンデータとして記憶しておくパターンデータ記
憶手段と、上記検出信号にもとづく各指の物理的曲げ量
を一組として上記各パターンデータとの誤差を算出し、
各組合せを通じて当該誤差が最小となる組合せを指の感
覚的曲げ状態と判定して楽音を制御するための楽音制御
信号を出力する制御信号出力手段とを備えたという特徴
を有している。
[作用] 上記のように構成した第1の発明においては、記憶手
段が各指の個々の曲げ状態が他の指の曲げようとせしめ
る指相互間の干渉を考慮して決められたパラメータを、
干渉を与える指と干渉を受ける指との組合せごとに記憶
しておき、各指にそれぞれ装着された曲げ量検出手段
が、各指の曲げ量をそれぞれ検出して各指の物理的曲げ
量を表す検出信号をそれぞれ出力する。そして、演算手
段が曲げ量検出手段から出力される検出信号と、記憶手
段から読み出されるパラメータとに基づいて各指につい
て他の指からの干渉により生じる曲げ量を演算し、各指
について当該指の物理的曲げ量から他の指からの干渉に
より生じる曲げ量を差し引いて感覚的曲げ量を算出す
る。制御信号出力手段がこの算出された各指の感覚的曲
げ量に基づいて楽音を制御するための楽音制御信号を出
力する。
また、第2の発明においては、第1の発明において、
記憶手段が前記パラメータを各指を曲げたときに他の指
を曲げようとせしめる干渉について当該曲げた指の曲げ
量に対する比率として、干渉を与える指との干渉を受け
る指との組合せごとに記憶しておき、演算手段が上記比
率を検出信号に乗算して各指が他の指に与えている干渉
量を算出し、各指の物理的曲げ量から他の指の曲げ量に
よって受けている干渉量を減算して指の感覚的曲げ量を
算出する。
さらに、第3の発明においては、パターンデータ記憶
手段は各指を曲げ伸ばしする全組合せについて各組合せ
ごとに各指の物理的曲げ量をパターンデータとして記憶
しておき、各指にそれぞれ装着された複数の曲げ量検出
手段は各指の曲げ量をそれぞれ検出して各指の物理的曲
げ量を表す検出信号をそれぞれ出力する。そして、制御
信号出力手段は上記検出信号にもとづく各指の物理的曲
げ量を一組として上記各パターンデータとの誤差を算出
し、各組合せを通じて当該誤差が最小となる組合せを指
の感覚的曲げ状態と判定して楽音を制御するための楽音
制御信号を出力する。
[発明の効果] 上記作用説明からも理解できるように、上記第1の発
明によれば、指相互間の干渉を考慮したパラメータを記
憶しておいた上で、実際の指の曲げ量を検出し、当該検
出した指の物理的曲げ量と所定のパラメータとを演算す
ることによって指の動作(指の感覚的曲げ量)を判断し
ているため、演奏の意志とは無関係に生じる指相互間の
干渉を補償することができ、演奏者の意志をより正確に
反映した楽音制御信号を得ることができる。すなわち、
意志に反して曲がってしまう各指について、他の指から
受ける干渉を補償することができるため、演奏者は各指
を個別に曲げる際の曲げ難さを意識することなく自然に
演奏を行なうことができる。
また、上記第2の発明においては、他の指から受けて
いる干渉を補償するにあたり、他の指から受ける干渉量
を算出し、これを検出された指の物理的曲げ量から差し
引いている。このため、第1の発明に示す効果の他、演
奏者の意志に即した曲げ量(感覚的曲げ量)を検出する
ことができるという効果もある。従って、タッチレスポ
ンスの信号を得る場合にも好適である。
さらに、上記第3の発明においては、同じく他の指か
ら受けている干渉を補償するにあたり、指全体を一組と
し、指相互間に生じている干渉量を含んだ上でパターン
データ同士が一致するか否かを判断している。すなわ
ち、干渉量を含んだ指全体の曲げ状態が一致しているか
判断している。このため、第1の発明に示す効果の他に
も、曲げ伸ばし状態を確定的に判定することができると
いう効果がある。
[実施例] 以下、図面にもとづいて本発明の実施例を説明する。
第4図に、本実施例における楽音制御装置のハードウ
ェア構成を示している。
同図に示すように、CPU10は、共通のバスに接続され
ており、同じく共通のバスに接続されたプログラムメモ
リ20に記憶されているプログラムに従って干渉量の補償
の計算や制御信号の計算などを行なう。
プログラムの処理内容は、第1〜3図に示すフローチ
ャートに沿うものであり、後に詳述する。
処理の際に必要となる一時記憶用の領域としてRAMか
らなるワーキングエリア30がバスに接続されている。従
って、CPU10はバスを介してワーキングエリア30に対し
て任意に書き込み/読み出しを行なうことができる。ま
た、テーブルROM40は、各指相互間の干渉量を算定する
ためのデータを記憶しており、かかるデータはバスを介
してCPU10によって読み出し可能となっている。
メインプログラムの処理中において一定時間ごとに割
り込み処理を行なうが、割り込み信号発生回路50は、そ
の際に必要となる割り込み信号を発生させる。
センサ60は、指の曲げ量を検出し、センサ入力用イン
ターフェイス70を介して上記バス上に検出信号を送出す
る。
このセンサ60は指に沿って装着された可動部材を有し
ており、手の平と指の付け根を結ぶ直線と指の付け根と
指先を結ぶ直線の二つの直線がなす角度をもって指の曲
げ量としている。すなわち、この角度を検出して電気量
に変換せしめ、インターフェイス70に出力している。な
お、指の曲げ量は、初めアナログ信号として検出され、
これをA/D変換したディジタル信号がバスを介してイン
ターフェイス70に出力される。
センサ60が有する可動部材のより具体的な構造は、第
5図にも示すように、二重構造の手袋61の内部に、手の
平に沿って配置される基部62と、一端にて基部62に固定
された連結部63と、連結部63の他端にて横方向に回動可
能に支持されるとともに各指に沿って設けられた回転部
64とを備えた構成となっている。また、その細部におい
て、連結部63は回転部材63aと63bが貫通軸63cを介して
結合され、いわゆる蝶番の構造となっている。さらに、
この回転部材63aと63bの間には回転摺動材を使用した可
変抵抗器が備えられており、リード線65a〜eを介して
可変抵抗器が示す抵抗値を検出することにより、回転部
材63aと63bの相対角度を検出することができる。
かかる構成とすることにより、回転部64は連結部63を
支点として基部62に対して回動自在となり、その回転角
度を可変抵抗器によって検出できるようになっている。
むろん回転部材64は指の曲げに追従して回動する。
従って、各センサ60ではリード線65を介して可変抵抗
器に電流を供給し、その際生じる電圧降下を利用して検
出信号としている。なお、この可動部材は、一つの基部
62に対して五つの回転部64と連結部63が接続され、各指
ごとの曲げ量を検出することができる。
CPU10は、このセンサ60の検出信号にもとづいてデー
タ処理を行ない、楽音要素を制御するためのキーオン信
号(以下、KON信号という。)/キーオフ信号(以下、K
OF信号という。)やイニシャルタッチレスポンス信号
(以下、ITR信号という。)、及びアフタータッチレス
ポンス信号(以下、ATR信号という。)を出力する。こ
れらのKON信号、KOF信号、ITR信号、ATR信号は、バスに
接続された制御信号出力用インターフェイス80を介し
て、外部のトーンジェネレータ(図示せず)に出力され
る。なお、センサ60は各指ごとに曲げ量を検出するた
め、CPU10では時分割的に処理を進めている。
図示しないトーンジェネレータでは、KON信号とKOF信
号によって楽音信号の発生開始と減衰開始が制御される
とともに、ITR信号とATR信号とによって、発生される楽
音信号のピッチや音色、及び音量などの楽音要素が制御
されるようになっている。
ここで、フローチャートに沿って第1の実施例の作用
を説明する前に、本実施例において干渉分を補償する手
段について説明する。
なお、各指を簡易に示すべく、第6図に示すように、
親指から小指までを0〜4の数字で表示する。例えば、
親指を「0指」ということにする。
本実施例では、ある指を曲げると、その曲げ量に対し
て一定の比率で他の指も曲がってしまうものとしてい
る。そして、この比率は指の組合せごとに独立した一定
の値となっているものとしている。
センサ60で検出される指の曲げ検出量(AD(0)〜AD
(4))は、各指の曲げ状態を物理的に観察した状態で
あるが、この状態は、前述したように演奏者が各指を曲
げようとしている感覚的な曲げ状態とは異なっている。
この差異を補償して物理的曲げ量から感覚的曲げ量を算
出するため、各指相互間の干渉比率を示すFPAR(I,J)
を用いる。ここで、FPAR(I,J)とは、I指(番号Iの
指、以下同様)がJ指に与える干渉率であり、 D1(x):x指を曲げようとしていないときにx指につい
て検出される曲げ検出量(いわゆるセンサ60で検出され
る各指ごとのオフセット値) D2(x,y):y指を曲げたときにx指について検出される
曲げ検出量 とすると、 となる。すなわち、FPAR(I,J)は、干渉を受けた指の
曲げ量を、曲げることによって他の指に干渉を与えてい
る指の曲げ量で割り算した両者の比率を示すことにな
る。そして、このFPAR(I,J)は、テーブルROM40に記憶
しておき、IとJをパラメータとして任意に読み出し可
能としている。D1(I)についても同様に記憶されてい
る。
ここで、なお、FPAR(I,J)の例を第1表に示してい
る。なお、同表では、FPAR(I,J)を百分率(%)で示
しておく。
従って、各指(0指〜4指)の曲げ検出量に対して、
当該指がI指に対して与える干渉率を掛けて積算すれ
ば、I指が受けている被干渉量を算出できる。すなわ
ち、I指が他の指から受けている被干渉量は、 となる。なお、式中、前段では曲げ検出量からオフセッ
ト値を減算し、実際の動作量(物理的曲げ量)を算出し
ている。
従って、この干渉量を曲げ検出量から減じて感覚的な
指の曲げ量を算出することができる。
以上で、各指の曲げ検出量から干渉を補償する手段に
ついては述べたので、次に指の曲げ量から楽音制御信号
を得る手段について述べる。
指の曲げ延ばしで楽音を制御するにあたり、動作と楽
音制御方法とを関連づけておかなければならない。楽音
の発生開始は、指を徐々に曲げていき、ある基準より深
く曲げた時点とする。従って、指の曲げ量を検出して所
定の基準量と比較し、その基準量より大きくなった時点
でKON信号を出力する。また、逆に、楽音の終了開始
は、指を徐々に伸ばしていき、ある基準より伸ばした時
点とする。従って、指の曲げ量を検出して所定の基準量
と比較し、その基準量より小さくなった時点でKOF信号
を出力する。
ITR信号は、動作の速度を意味するものである。本実
施例では、指を曲げる際に、その曲げ量を検出し、その
検出した曲げ量がある値から別の値になるまで変化する
時間を計測する。これは、指がある位置を越え、さらに
深く曲げられて別の位置に到達するまでの時間を計測す
ることでもある。このため、この二位置間の到達距離が
予め分かっていれば、その到達に要した時間にもとづい
て速度が分かる。従って、この時間によってITR信号を
得ることができる。なお、ITR信号は発音開始時に必要
であるから、KON信号の出力時に出力する。
ATR信号は、動作の量で示されるから、指の曲げ量をA
TR信号とする。但し、発音中だけ出力すればよいから、
KON信号が出力されてからKOF信号が出力されるまでの間
だけ出力する。
ところで、このように制御信号を出力するとすると、
各指の曲げ状態に応じて、CPU10で処理すべき内容が異
なって来る。
指の曲げ検出量と時間経過との関係を第7図に示す
が、指を伸ばした状態から徐々に曲げ、再び伸ばしてい
く状態を段階的に状態分けすると、第0段階は、無音状
態のときにまだ曲げ検出量が第1の基準値kblより小さ
い段階であり、第1段階は、曲げ検出信号が第1の基準
値kblを越えた後、より大きな第2の基準値kmlに達する
までの段階であり、第2段階は、一度第2の基準値kml
に達した後、今度は第1の基準値kblより小さな第3の
基準値kflまで下がる段階となる。なお、第2段階を過
ぎると再び第0段階に戻る。
そして、制御信号と対比させると、具体的には、次の
ようになる。
指の曲げ検出量がほぼ0から徐々に大きくなり、第1
の基準値kblを越えたときからITR信号を算出するために
クロックカウンタのカウントを開始し、第2の基準値km
lに到達した時点でITR信号のためのカウントを終了し
て、KON信号を出力するとともに、ITR信号を出力する。
また、このときからATR信号の出力を開始し、曲げ量が
第1の基準値kblより小さい第3の基準値kfl以下となっ
た時点でKOF信号を出力するとともに、ATR信号の出力を
終了する。なお、第1〜第3の基準値(kbl,kml,kfl)
は、指の曲げ始め付近を示す比較的小さな値としてあ
る。
次に、フローチャートを参照しつつ、以上の作用を説
明する。
なお、本実施例では、第1図に示すメインプログラム
の処理の他、第2図に示す割り込みによるインタラプト
の処理も行なう。このインタラプトの処理は、メインプ
ログラムの実行中、一定時間ごとに起動され、計時情報
を得る処理が行なわれる。
メインプログラムがスタートされると、最初に各種ワ
ークエリアのイニシャライズが行なわれる(ステップ11
0)。
上述したように、指の曲げ延ばし状態に応じてCPU10
の処理内容が異なり、これを示すためにフラグ(FLG
(0)〜FLG(4))を使用している。フラグは、各指
ごとに独立しており、“0"にて第0段階を示し、“1"に
て第1段階を示し、“2"にて第2段階を示す。初期状態
では、無音状態であるから、全ての指についてフラグに
“0"をセットする。
次に、各指ごとの計測値を入力する(ステップ11
2)。干渉分を含んだ曲げ検出量は、各指ごとにADO
(0)〜ADO(4)及びADN(0)〜ADN(4)として記
憶される。二種類変数を設けているが、ADNは、干渉量
を順次減算していって、最終的には感覚的曲げ量を記憶
し、ADOは当初に検出した、干渉量を含んでいる曲げ検
出量を記憶している。
各指ごとの計測値を入力した後、ステップ114でカウ
ントIを「0」にクリアしてから、ステップ170におい
てカウンタIをインクリメントするまでの処理は、各指
の感覚的曲げ量を算出し、その曲げ量に基づいて制御信
号を出力するための処理である。従って、0指から4指
まで順次行ない、計5回繰り返してステップ172の判断
でループを抜ける。そして、再び、計測値の入力処理へ
飛び、以下、電源が落とされるまでこれを繰り返す。
カウンタIを「0」にクリアした後、または、後にカ
ウンタIをインクリメントしたが、まだカウンタIが4
を越えていないと判断された後、カウンタJを用いてル
ープ計算を行ない、各指(I指)の曲げ検出量から、他
の指(J指)によって受けている干渉量を減算する。ま
ず、カウンタJを「0」にクリア(ステップ116)し、
テーブルROM40に記憶されている干渉率を呼び出す(ス
テップ118)。ここでは、I指の感覚的曲げ量を検出す
るのであるから、J指から受けている干渉量を減算すべ
くFPAR(J,I)を読み出す。そして、J指の曲げ検出量
からオフセット値を引いたものにFPAR(J,I)を乗算し
て被干渉量を算出する。そして、これを感覚的曲げ量用
のワークエリアADN(I)に記憶された値から減算し、
減算後の値を改めてADN(I)に記憶する(ステップ12
0)。これを、カウンタJについて0〜4まで繰り返す
(ステップ122,124)。このループを終了したとき、ADN
(I)には他の指からの干渉量を含まない感覚的曲げ量
が記憶されることになる。
感覚的曲げ量が検出されると、当該曲げ量に基づいて
楽音制御信号の出力制御を行なう。
以下の処理は、上述したようにフラグの状況によって
異なる。
まず、フラグが“0"(FLG(I)=0)であるか否か
判断する(ステップ130)。YESならば、I指は、前回の
ループでまだ第0段階であったのであるから、第1段階
へ入ったか否かを調べるため、曲げ量が第1の基準値kb
lを越えたか否かを判断する(ステップ132)。YESであ
れば、第1段階へ入ったことを示すためにフラグに“1"
をセットする(ステップ134)。そして、ITR信号を算出
するための準備としてカウンタITT(I)を「0」にク
リアする(ステップ136)。
ここで、ITR信号を算出するためのカウンタITT(I)
について説明する。
メインプログラムの実行中、一定時間ごとにインタラ
プトのプログラムが起動される。インタラプトのプログ
ラム中で使用されるカウンタIは、メインプログラムと
は独立に用意されたローカル変数であり、メインプログ
ラム中におけるカウンタIには影響を与えない。
割り込みがかかると、カウンタIを「0」にクリアし
てループ計算の準備をする(ステップ180)。ループ計
算中では、フラグ(FLG(I))の状態を調べ(ステッ
プ182)、第1段階であるときはカウンタITT(I)をイ
ンクリメントする(ステップ184)。そして、カウンタ
Iをインクリメントし(ステップ186)、カウンタIが
4を越えていなければループに戻る。すなわち、各指に
ついて、クロックカウンタとなるカウンタITTの積算処
理を行なう。
かかるインタラプトは一定時間ごとに繰り返されるの
であるから、第1段階にある指に対応するカウンタITT
は逐次積算される。また、このカウンタITT(I)は第
1段階に入った時点でクリアされている(ステップ13
6)のであるから、カウンタITT(I)の値は各指が第1
段階に入った時点からの経過時間となる。
メインプログラムに戻ると、ステップ136でカウンタI
TT(I)を「0」にクリアするということは、以上のよ
うな意味を示すことになる。
第1段階に入ると同時に第2段階まで達していること
はないと考えられるので、カウンタITT(I)をクリア
すと、次の指の判断へ移る(ステップ170)。また、第
1段階に達していないと判断された場合(ステップ13
2)も、次の指の判断へ移る(ステップ170)。
これに対し、フラグが“0"でないと判断されると(ス
テップ130)、次に、フラグが“1"(FLG(I)=1)で
あるか否かを判断する(ステップ140)。
フラグが“1"であると判断されたときは、まず、曲げ
量と第3の基準値kf1(kf1<kb1)を比較する(ステッ
プ142)。これは、一度、ITR信号のための計時を開始し
たものの、再び指を延ばしてしまっていないかどうかを
調べることを意味する。第1段階に入ったときと同じ基
準値(kb1)と比較しないのは、ヒステリシスの効果を
与えることにより、チャタリング等が生じないようにす
るためである。そして、第3の基準値kf1より小さくな
っていたらフラグを再び“0"に戻し(ステップ150)、
次の指へ移る(ステップ170)。
しかし、通常は、曲げ量は増加しているはずであり、
次に、第2の基準値kml(kml>kbl)を越えているか否
かを判断する(ステップ144)。越えていれば、第2段
階へ入ったのであるから、この時点で指が曲げられたも
のと判断し、KON信号(I)を出力するとともに、ITR信
号としてITT(I)も出力する。また、KON信号の出力後
はATR信号を出力する必要があるため、このATR信号とし
て曲げ量ADN(I)を出力する(ステップ146)。そし
て、フラグに“2"をセットし、第2段階へ入ったことを
記憶する。
KON信号とITR信号とATR信号、およびKOF信号は、出力
用インターフェイス80から出力されるが、この際、CPU1
0は、所定のデータをバス上に送出する。すると、当該
データは出力用インターフェイス80内に設けられた各チ
ャンネル用のバッファに記憶され、その後、上記KON信
号などの制御信号として出力されることになる。例え
ば、KON信号とKOF信号については発生のオン・オフを示
すデータ、ITR信号についてはITT、ATR信号についてはA
DNが、上述した所定のデータとしてCPU10から出力され
る。
ステップ142において第0段階へ戻ってしまったと
き、またはステップ144においてまだ第2段階へ入って
いないと判断されたとき、あるいは以上のように第2段
階へ入って所定の信号を出力したときも、その後は次の
指の処理へ移行する(ステップ170)。
さて、フラグ(FLG(I))が“0"でも“1"でもない
場合は、第2段階のはずであり、曲げ量ADN(I)をATR
信号として出力する(ステップ160)。
しかし、指を曲げた後、既に延ばしつつあるときでも
あり得るから、発音の終了開始を検知すべく第3の基準
値kflと曲げ量ADN(I)を比較する(ステップ162)。
まだ、第3の基準値kflよりも大きいならば次の指の
処理へ移行するが(ステップ170)、第3の基準値kfl以
下となってしまっているときは、フラグに“0"をセット
し(ステップ164)、KOF信号を出力する。KOF信号につ
いても、CPU10が所定のデータをバス上に出力すると、
当該データが出力用インターフェイス80において該当す
るチャンネルのバッファに入力され、その後、KOF信号
としてトーンジェネレータに入力される。
従って、トーンジェネレータでは、当該KOF信号が該
当するチャンネルの楽音を徐々に減衰させる。
CPU10は、以上の処理を各指(0指〜4指)について
繰り返し、全て終了したと判断すると(ステップ17
2)、再び、各指ごとの計測値を入力し(ステップ11
2)、ループを繰り返す。
なお、上記実施例では、指の感覚的曲げ量からタッチ
の信号を得るべく、指相互間の干渉を比率として示して
いる。しかし、指の曲げ伸ばしによってKON信号とKOF信
号だけを出力するのであれば、演奏時に検出される曲げ
量はほぼ一定となり、他の指に与える干渉量もほぼ一定
となる。従って、上記干渉比率の代わりに指相互間の干
渉量を記憶しておく構成とすることもできる。この場
合、制御信号出力手段においては、各指の物理的曲げ量
からすでに記憶している干渉量を減算するだけで、指の
感覚的曲げ量を検出できる。
次に、本発明の第2の実施例について説明する。
本実施例では、説明の簡便のため、まず、KON信号だ
けを出力する場合について説明する。
5本の指の曲げ延ばしで表される組合せは、全部で2
の5乗(=32)通りである。従って、予め、この32通り
の全組合せ通りに指を曲げ、そのときの各指の曲げ検出
量を記憶しておくことは可能である。また、このように
各組合せごとに0指から4指までの曲げ検出量を一組と
し、かかる一組のデータをパターンデータとして記憶し
ておけば、逆に、各指の曲げ検出量からどの組合せであ
るかを検出することができる。
第2表においては、指の曲げ延ばしで「0」と「1」
を表し、親指から小指に向けて上位桁となるような二進
数を各組合せの番号Iとしたときの、組合せIにおける
J指の曲げ検出量を示している。なお、曲げ検出量は、
0〜200の範囲となっており、かかるデータは、統計を
とって得られたデータを工場出荷時にROMに書き込んで
おいてもよいし、演奏前に各演奏者の曲げ量を検出して
RAMに記憶することもできる。
本実施例においては、かかる各組合せごとの曲げ検出
量をパターンデータとして記憶しておき、演奏中は、取
り込んだ各指の曲げ検出量を一組として各パターンデー
タとの誤差を計算している。各指相互間には干渉がある
ものの全組合せを通して物理的な曲げ量を記憶しておけ
ば、指相互間で生じている干渉分も併せて記憶している
ことになる。また、この場合は、各指ごとのオフセット
量も含めて記憶されているので、曲げ検出量からオフセ
ット量を減算する必要もない。
従って、以上のようにして誤差を計算してみると、組
合せが一致する場合に、誤差は0(実際には多少のずれ
が生じるものと考えられる)になるはずである。そし
て、誤差が0となった組合せ番号によって指の曲げ伸ば
し状態を判定することができる。以下、かかる判定手段
についてフローチャートを説明する。
ハードウェア構成は第4図に示すものとほぼ同じであ
るが、出力用インターフェイス80がKON信号のみを出力
する点で相違する。また、テーブルROM40に記憶される
データが各組合せにおける各指の曲げ検出量F(I,J)
となっている。
プログラムがスタートすると、まず、ワークエリアの
イニシャライズが行なわれる(ステップ200)。
本実施例では、各組合せのパターンデータと検出され
た曲げ検出量との誤差を変数MIN(0)〜MIN(31)に記
憶する。このため、各誤差を算出する前に全てを「0」
にクリアする。
イニシャライズが終了すると、曲げ検出量をAD(0)
〜AD(4)に取り込む(ステップ202)。
誤差の計算は、各組合せごとに誤差を算出するという
ループを組んで、全組合せを計算する。また、各組合せ
の誤差は、パターンデータにおける対応する指ごとに記
憶値から計測された曲げ検出量を減算し、その差を二乗
したものを積算する。このため、全組合せを一通り計算
するためのループに入る前にカウンタIを「0」にクリ
アし(ステップ204)、各組合せにおける誤差の積算を
行なった後(ステップ206〜ステップ212)、カウンタI
をインクリメントして(ステップ214)、全組合せを計
算したか否かの判断を行なう(ステップ216)。従っ
て、ループを抜けるのはカウンタIをインクリメントし
て32になった時点である。
また、各組合せにおける誤差の積算では、各指につい
て計算するためのカウンタJを「0」にクリアし(ステ
ップ206)、0指から4指までカウンタJを変化させな
がら(ステップ210,212)、上述した誤差の積算を行な
う(ステップ208)。
以上のようにして、全組合せにおける誤差を計算する
と、次に、誤差MIN(0)〜MIN(31)のうちの最小値
(MIN(x))を表す組合せ番号を捜す。
最初、目的の組合せ番号のための変数xを仮に、
「0」とセットしておき(ステップ218)、カウンタI
を使ってループに入る。ループでは、始めにカウンタI
を「1」にセットし(ステップ220)、最小値となるは
ずの組合せの誤差とカウンタIで示される組合せの誤差
とを比較する(ステップ222)。もし、カウンタIで示
される組合せの誤差の方が小さければ、最小値を示す組
合せ番号としてIの値を変数xに記憶(ステップ224)
するが、逆にカウンタIで示される組合せの誤差の方が
大きければ、何もせず、次の組合せを調べるべくカウン
タIをインクリメントする(ステップ226)。そして、
最後の組合せまで行なったと判断したら(ステップ22
8)、ループを抜ける。
ループを抜けた時点で誤差が最小となる組合せの番号
xが分かっているため、これを二進数で判定すると、0
指から4指までの曲げ伸ばし状態が分かる(ステップ23
0)。例えば、x=6であれば、6=00110(2)となる
ので、人差指(2指)と中指(3指)を曲げていること
になる。従って、CPU10は、出力用インターフェイス80
に対して所定のデータを送出し、人差指と中指のKON信
号を出力せしめる(ステップ232)。すなわち、指が曲
げられている期間中はKON信号が出力されることにな
る。
この結果、図示しないトーンジェネレータは、KON信
号の立上がりタイミングで楽音信号の発生を開始し、KO
N信号の立ち下がりから所定時間が経過して楽音の減衰
が終了するまで発生し続ける。
なお、本実施例では、センサ60は5本の指に装着され
ているため、各指の出力をトーンジェネレータの各チャ
ンネルに入力せしめ、各チャンネルに同一音色の各音高
(例えば、「ド」、「レ」、「ミ」…)を割り当てた
り、異なる楽器音(例えば、「シンバル」、「バスド
ラ」…)を割り当てたりすることができる。
所定のKON信号を出力すると、再び、ステップ200のイ
ニシャライズ処理へ飛び、以上のループを繰り返す。
この実施例では、KON信号だけを出力し、タッチの信
号を出力していない。しかし、N段階のタッチ信号を得
る場合、あるいはN種類のコントロール(オン・オフな
らば2種類)をする場合は、パターンデータをN5(5本
の指の場合)記憶する領域を用意し、本実施例の場合と
同様に予め全組合せについての物理的曲げ量を記憶して
おけば良い。
【図面の簡単な説明】
第1図は第1の実施例におけるメインプログラムを示す
フローチャート、第2図は第1の実施例におけるインタ
ラプトプログラムを示すフローチャート、第3図は第2
の実施例におけるメインプログラムを示すフローチャー
ト、第4図は第1〜第3図に示すプログラムを実行する
ハードウェアのシステム構成図、第5図はセンサで使用
する可動部材の上面図、第6図はセンサで使用する二重
手袋の上面図、第7図はセンサの出力値と時間経過の状
態を示す出力値−経過時間図である。 符号の説明 10……CUP、20……プログラムメモリ 40……テーブルROM、60……センサ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】各指にそれぞれ装着され、各指の曲げ量を
    それぞれ検出して各指の物理的曲げ量を表す検出信号を
    それぞれ出力する複数の曲げ量検出手段と、 各指の個々の曲げ状態が他の指の曲げようとせしめる指
    相互間の干渉を考慮して決められたパラメータを、干渉
    を与える指と干渉を受ける指との組合せごとに記憶して
    おく記憶手段と、 上記曲げ量検出手段から出力される検出信号と、上記記
    憶手段から読み出されるパラメータとに基づいて各指に
    ついて他の指からの干渉により生じる曲げ量を演算し、
    各指について当該指の物理的曲げ量から他の指からの干
    渉により生じる曲げ量を差し引いて感覚的曲げ量を算出
    する演算手段と、 上記演算手段で算出された各指の感覚的曲げ量に基づい
    て楽音を制御するための楽音制御信号を出力する制御信
    号出力手段と を具備することを特徴とする楽音制御装置。
  2. 【請求項2】前記記憶手段は、前記パラメータを各指を
    曲げたときに他の指を曲げようとせしめる干渉について
    当該曲げた指の曲げ量に対する比率として、干渉を与え
    る指との干渉を受ける指との組合せごとに記憶しておく
    とともに、前記演算手段は、上記比率を検出信号に乗算
    して各指が他の指に与えている干渉量を算出し、各指の
    物理的曲げ量から他の指の曲げ量によって受けている干
    渉量を減算して指の感覚的曲げ量を算出することを特徴
    とする請求項1に記載の楽音制御装置。
  3. 【請求項3】各指にそれぞれ装着され、各指の曲げ量を
    それぞれ検出して各指の物理的曲げ量を表す検出信号を
    それぞれ出力する複数の曲げ量検出手段と、 各指を曲げ伸ばしする全組合せについて各組合せごとに
    各指の物理的曲げ量をパターンデータとして記憶してお
    くパターンデータ記憶手段と、 上記検出信号に基づく各指の物理的曲げ量を一組として
    上記各パターンデータとの誤差を算出し、各組合せを通
    じて当該誤差が最小となる組合せを指の感覚的曲げ状態
    と判定して楽音を制御するための楽音制御信号を出力す
    る制御信号出力手段と を具備することを特徴とする楽音制御装置
JP1125428A 1989-03-17 1989-05-18 楽音制御装置 Expired - Fee Related JPH0833733B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1125428A JPH0833733B2 (ja) 1989-05-18 1989-05-18 楽音制御装置
US07/493,290 US5166462A (en) 1989-03-17 1990-03-14 Musical tone control apparatus employing finger flexing angle detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1125428A JPH0833733B2 (ja) 1989-05-18 1989-05-18 楽音制御装置

Publications (2)

Publication Number Publication Date
JPH02304489A JPH02304489A (ja) 1990-12-18
JPH0833733B2 true JPH0833733B2 (ja) 1996-03-29

Family

ID=14909857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1125428A Expired - Fee Related JPH0833733B2 (ja) 1989-03-17 1989-05-18 楽音制御装置

Country Status (1)

Country Link
JP (1) JPH0833733B2 (ja)

Also Published As

Publication number Publication date
JPH02304489A (ja) 1990-12-18

Similar Documents

Publication Publication Date Title
US5166462A (en) Musical tone control apparatus employing finger flexing angle detection
JPH08305355A (ja) 自動演奏制御装置
US5119709A (en) Initial touch responsive musical tone control device
US5200568A (en) Method of controlling sound source for electronic musical instrument, and electronic musical instrument adopting the method
US5440070A (en) Electronic musical instrument having selectable angle-to-tone conversion
JPH0833733B2 (ja) 楽音制御装置
JP2692356B2 (ja) 電子楽器
JP3720004B2 (ja) 音楽制御装置
JP3427569B2 (ja) 音楽制御装置
JP2630054B2 (ja) マルチトラックシーケンサ
JP2855968B2 (ja) 楽音制御装置
JPH087581B2 (ja) 楽音制御装置
JP4019996B2 (ja) 制御装置
US20250014549A1 (en) Guitar Effect With Motion Activation
JPH0722718Y2 (ja) 楽音制御装置
JPH087582B2 (ja) 楽音制御装置
US5315058A (en) Electronic musical instrument having artificial string sound source with bowing effect
JP2855967B2 (ja) 楽音制御装置
JPH06259072A (ja) 電子楽器のパラメータ設定装置
JP3278978B2 (ja) 効果付加装置
JP2551140B2 (ja) 楽音制御装置
JP2650315B2 (ja) 楽音制御装置
JP3785526B2 (ja) 電子楽器
JP2626346B2 (ja) 楽音制御装置
JPH01273097A (ja) 自動演奏装置

Legal Events

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