JPH05346779A - 鍵盤装置 - Google Patents

鍵盤装置

Info

Publication number
JPH05346779A
JPH05346779A JP4180340A JP18034092A JPH05346779A JP H05346779 A JPH05346779 A JP H05346779A JP 4180340 A JP4180340 A JP 4180340A JP 18034092 A JP18034092 A JP 18034092A JP H05346779 A JPH05346779 A JP H05346779A
Authority
JP
Japan
Prior art keywords
key
data
braking force
address
tone
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.)
Granted
Application number
JP4180340A
Other languages
English (en)
Other versions
JP3316517B2 (ja
Inventor
Yoshiyuki Murata
嘉行 村田
Yoshito Yamaguchi
善登 山口
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 JP18034092A priority Critical patent/JP3316517B2/ja
Publication of JPH05346779A publication Critical patent/JPH05346779A/ja
Application granted granted Critical
Publication of JP3316517B2 publication Critical patent/JP3316517B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Feedback Control In General (AREA)

Abstract

(57)【要約】 【目的】 ファジー推論を応用して押鍵時における微妙
な押鍵速度の違いと、押鍵音域の高低に応じて最適なタ
ッチ感を得る。 【構成】 押鍵位置データを取り込むとともに(ステッ
プS5)、押鍵速度データを取り込む(ステップS
8)。押鍵位置(音域)および押鍵速度に基づいてファ
ジールールA、B、C、Dの演算を行ってメンバーシッ
プ関数に対する適合度を求める(ステップS9〜1
2)。その後、MAX演算=OR処理を行い(ステップ
S13)、さらに重心計算を行って脱ファジー化する
(ステップS14)。これにより、ファジー推論によっ
て鍵制動力データDを求め(ステップS15)、押鍵さ
れた鍵のストロークに応じて鍵荷重(タッチ感)を変化
させる(ステップS20)。これにより、自然鍵盤楽器
に近い鍵のタッチ感を得ることが可能になる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ファジー推論を応用す
ることにより、自然鍵盤楽器(例えば、ピアノ)と同様
な鍵のタッチ感を付与可能な鍵盤装置に関する。
【0002】
【従来の技術】近年、電子技術の急速な発展に伴い、多
種多様な音色の楽音を電気的に合成することができるよ
うになり、伝統的な自然鍵盤楽器の場合と同様な鍵盤操
作により電気的に合成した楽音を自由に発音することの
できる電子楽器が開発されている。
【0003】従来の鍵盤装置としては、例えば特公平1
ー39118号公報に開示されたピアノ・アクション機
能付き鍵盤装置がある。この装置では、自然鍵盤楽器
(例えば、ピアノ)と同様な鍵のタッチ感である、始め
軽く、途中重く、最後にまた軽い、という鍵タッチ感を
実現するような制御を行っている。
【0004】ここで、鍵のタッチ感を具体的に説明する
と、例えばグランドピアノの場合、押鍵を行った際に得
られるピアノタッチ感は、次の各要素の組合せで微妙に
変化する。 (I)押鍵速度 押鍵速度が速いと、鍵から指に加わる反力が大きく、い
わゆる重いタッチ感となる。逆に、押鍵速度が遅いと、
鍵から指に加わる反力が小さく軽いタッチ感となる (II)押鍵音域 押鍵の音域が低いとき(低音域)には、鍵から指に加わ
る反力が大きく、重いタッチ感となる。逆に、押鍵の音
域が高いとき(高音域)には、鍵から指に加わる反力が
小さく軽いタッチ感となる。
【0005】
【発明が解決しようとする課題】ところで、従来の鍵盤
装置にあっては、鍵のタッチ感を実現する要素、すなわ
ち上述した押鍵速度あるいは押鍵音域を単独で変化させ
る構成となっていたため、これら各要素を組み合せたき
め細かいタッチ感を得ることができないという問題点が
あった。
【0006】すなわち、自然鍵盤楽器に近い感触を得る
ためには、押鍵速度あるいは押鍵音域を単独で変化させ
るのみでは不十分であり、上述したように押鍵速度およ
び押鍵音域という各要素の組み合せでタッチ感が微妙に
変化する。
【0007】このようなタッチ感は人間の感覚的なもの
で、かかる要求に対してマイクロコンピュータを用いて
通常の演算処理によって対処することも考えられるが、
通常の演算でこれを行おうとすると、膨大な処理時間が
かかるという欠点がある。例えば、各要素の組合せに関
連すると思われる数多くの入力パラメータを用いて複雑
で、しかも大量の演算を行う必要があり、処理数が飛躍
的に多くなって現実的な鍵盤装置を実現することが困難
(例えば、コスト高を招く)である。
【0008】そこで本発明は、ファジー推論を応用して
押鍵時における微妙な押鍵速度の違いと、押鍵音域の高
低に応じて最適なタッチ感を得ることのできる鍵盤装置
を提供することを目的としている。
【0009】
【課題を解決するための手段】上記目的達成のため、本
発明による鍵盤装置は、押鍵操作可能な鍵を複数個配設
して成る鍵群と、この鍵群のいずれかの鍵が押鍵操作さ
れたことを検出する鍵検出手段と、この鍵検出手段によ
り押鍵の検出された鍵が上記鍵群のどの領域に属するか
を検出する押鍵領域検出手段と、上記押鍵操作された鍵
の押鍵速度を検出する押鍵速度検出手段と、上記押鍵領
域検出手段により検出された鍵の領域および上記押鍵速
度検出手段により検出された押鍵速度を入力パラメータ
として所定のファジールールに従ってファジー推論を行
うファジー推論手段と、該ファジー推論手段の出力に応
じて押鍵操作された鍵に対して制動力を付与する鍵制動
力制御手段と、を備えたことを特徴とする。
【0010】また、好ましい態様として、前記鍵制動力
制御手段は、前記ファジー推論手段の出力に応じて前記
鍵に対して付与する制動力の演算を行う制動力演算手段
と、該制動力演算手段からの鍵制動信号に基づき、前記
鍵に対してその押鍵変位の位置ごとに鍵制動力を付与す
る鍵制動力付与手段と、からなることを特徴とする。
【0011】前記鍵制動力制御手段は、音色を選択可能
な音色選択手段を有し、選択された音色に応じて前記鍵
に付与する制動力を制御することを特徴とする。
【0012】前記鍵制動力制御手段は、さらに楽音特性
制御手段を有し、該楽音特性制御手段は、前記ファジー
推論手段の出力に応じて発生する楽音の特性を制御する
ことを特徴とする。
【0013】前記鍵盤装置は、さらに前記楽音特性制御
手段によって制御される特性の楽音を発生する楽音発生
手段を設けたことを特徴とする。
【0014】
【作用】本発明では、鍵が押鍵操作されると、押鍵領域
(すなわち、鍵群における押鍵の位置)および押鍵速度
を入力パラメータとするファジー推論により鍵に付与す
る制動力が可変される。
【0015】したがって、押鍵時における微妙な押鍵速
度の違いや押鍵音域の高低に応じた最適なタッチ感を出
すことが可能になるとともに、ファジー推論を応用する
ことにより、演算処理に必要な処理数が少なくなって、
演算負担を軽減できる。
【0016】
【実施例】以下、図面を参照して本発明の実施例につい
て説明する。図1は本発明に係る鍵盤装置を電子鍵盤楽
器に適用したときの一実施例の全体構成図である。
【0017】図1において、この電子鍵盤楽器は大きく
分けて鍵盤部1、押鍵位置・押鍵速度検出回路2、CP
U3、タッチカーブ選択メモリ4、メンバーシップ関数
テーブルROM5、音色選択スイッチ部7、鍵駆動回路
8、楽音発生回路9、アンプ10およびスピーカ11に
よって構成される。
【0018】鍵盤部1は、押鍵操作される低音域から高
音域までの複数の鍵(鍵群)を有しており、図1では一
例としてある1つの鍵21周辺の機構を示している。鍵
21は楽器本体のフレームないしシャーシ22に対し
て、支持部材23を中心にコイルばね24a、24bに
よって水平にバランスしている。また、鍵21は支持部
材23を揺動中心としてストッパ部材25が本体シャー
シ22の水平面に設けられた緩衝部材26aに当接する
通常位置(上限位置)と、そのストッパ部材25が本体
シャーシ22の水平面に設けられた緩衝部材26bに当
接する下限位置との間を揺動可能になっている。
【0019】鍵21の押鍵操作に伴い、支持部材23に
近接して配置されているコイルばね24aは伸長し、コ
イルばね24bは圧縮される。また、鍵21の押打側端
部には第1電磁石部27が設けられており、第1電磁石
部27はコイル(検出コイル)27aと、永久磁石(又
は磁性材)27bとから構成されている。第1電磁石部
27は鍵21を押鍵操作した場合に、その鍵21の押鍵
領域、押鍵のストロークおよび押鍵速度を検出する作用
を有するものである。
【0020】第1電磁石部27には押鍵位置・押鍵速度
検出回路2が接続されており、押鍵位置・押鍵速度検出
回路2は鍵21に設けられた第1電磁石部27の検出コ
イル27aに押鍵情報を得るための電流を流し、鍵21
の押鍵に伴う永久磁石27bの変位によって検出コイル
27aに発生する誘起電圧から押鍵された鍵を検出する
とともに、押鍵ストローク、押鍵領域および押鍵速度を
検出してCPU3に出力する。
【0021】第1電磁石部27および押鍵位置・押鍵速
度検出回路2は、全体として鍵群のいずれかの鍵が押鍵
操作されたことを検出する鍵検出手段100、押鍵され
た鍵の鍵群における領域を検出する押鍵領域検出手段1
01および押鍵された鍵の速度を検出する押鍵速度検出
手段102を構成している。なお、このような構成は鍵
21に限らず、他の鍵についても同様で、押鍵操作、押
鍵領域および押鍵速度情報が各鍵毎に検出されるように
なっている。
【0022】一方、鍵21の押打側の反対側端部には第
2電磁石部28が設けられており、第1電磁石部28は
コイル28aと、永久磁石(又は磁性材)28bとから
構成されている。第2電磁石部28は鍵21を押鍵操作
した場合に、鍵駆動回路8から出力される鍵制動信号に
基づいて鍵21に対して制動力を付与するためのもので
ある。
【0023】鍵駆動回路8はCPU3からファジー推論
結果に対応して出力される鍵制動力データに基づき、鍵
21に対して付与する制動力の演算を行い、第2電磁石
部28のコイル28aに鍵制動信号を出力する。第2電
磁石部28は、そのコイル28aに入力される鍵制動信
号により、コイル28aと永久磁石28bとの間に作用
する磁気力を変化させて鍵21に対して制動力を付与す
る。すなわち、第2電磁石部28は鍵21と本体シャー
シ22との間に可変の吸引力、反発力を発生して鍵21
に対する制動力を付与する。
【0024】したがって、鍵駆動回路8は制動力演算手
段を構成し、第2電磁石部28は鍵制動力付与手段を構
成する。また、鍵駆動回路8および第2電磁石部28
は、全体として鍵制動力制御手段103を構成する。
【0025】なお、上記は主に手動演奏モードの場合で
あるが、例えば自動演奏モードを選択することも可能で
あり、その場合、鍵駆動回路7はCPU3からファジー
推論結果に対応して出力される鍵駆動力データに基づ
き、鍵21に対して付与する駆動力の演算を行い、第2
電磁石部28のコイル28aに鍵駆動信号を出力する。
第2電磁石部28は、そのコイル28aに入力される鍵
駆動信号により、コイル28aと永久磁石28bとの間
に作用する磁気力を変化させて鍵21に対して駆動力を
付与して、自動的に鍵21の押鍵を制動する。
【0026】また、鍵駆動回路8は音色選択スイッチ部
7によってある音色が選択された場合には、その選択さ
れた音色に応じて鍵21に付与する制動力の演算を行
い、第2電磁石部28は音色に応じて鍵21に対する制
動力の付与を可変する。
【0027】音色選択スイッチ部(音色選択手段に相
当)7は各種の音色、例えばピアノ、チェンバロ、オル
ガンなどの各種鍵盤楽器の音色を選択可能なスイッチを
有しており、該当するスイッチが操作されることによ
り、1つの音色を選択し、その選択結果をCPU3に出
力する。
【0028】CPU3は所定のプログラムに基づきファ
ジー推論によって制動力制御のために必要な処理を行
い、この処理は後述のフローチャートによって示され
る。
【0029】具体的には、CPU3は音色選択スイッチ
部7による音色の選択指定時に、その音色選択データに
基づき楽音発生回路9の音色のセッティングを行うとと
もに、演奏の際には押鍵位置・押鍵速度検出回路2から
の検出信号(キータッチデータ信号)に従って発音開
始、周波数制御のためのコマンドデータ等を楽音発生回
路9に送って内部の発音チヤンネルを起動させて楽音信
号を生成させ、同時に前記のキータッチデータ信号か
ら、鍵21の押鍵領域および押鍵速度を入力パラメータ
としてメンバーシップ関数テーブルROM5に格納され
ているメンバーシップ関数を参照しながら所定のファジ
ールールに従ってファジー推論を行い、この推論出力に
対応して鍵21に付与する制動力を可変する鍵制動力デ
ータD(必要であれば鍵駆動力データも)をタッチカー
ブ選択メモリ4から読み出して鍵駆動回路8に出力す
る。
【0030】メンバーシップ関数テーブルROM5は後
述するファジー推論において使用するメンバーシップ関
数を表すテーブルデータを記憶している。したがって、
CPU3は単独で楽音特性制御手段を構成する。また、
CPU3およびメンバーシップ関数テーブルROM5
は、全体としてファジー推論手段104を構成する。
【0031】タッチカーブ選択メモリ4は、例えばRO
Mからなり、音色選択スイッチ部7からの音色選択情報
に従って選択されるタッチカーブ変換テーブルを複数個
備えている。このタッチカーブ変換テーブルは、例えば
図2(a)〜(c)のように示される。
【0032】図2(a)は、例えばチェンバロに似たキ
ータッチ感を表す特性図で、図2(b)は、例えばピア
ノに似たキータッチ感を表す特性図で、さらに図2
(c)は、例えばオルガンに似たキータッチ感を表す特
性図である。
【0033】この場合、各横軸は鍵21の押鍵ストロー
クを表し、縦軸は反力(鍵制動力)を表す。したがっ
て、例えば図2(c)の場合、鍵21の押鍵ストローク
に従って(鍵21の押し込みを深くするに従って)、リ
ニアに、鍵21に対する鍵制動力(反力)が働くように
なっている。
【0034】楽音発生回路(楽音発生手段に相当)9は
CPU3からの命令に基づいて押鍵操作により鍵盤部1
より出力されたキータッチデータ信号に対応した音高等
を有する楽音波形を生成して出力する。このデジタルの
楽音波形はその後、D/A変換器(図示略)でアナログ
信号に変換され、アンプ10で増幅されスピーカ11よ
り楽音として放音される。
【0035】ここで、鍵制動力(反力)制御のファジー
ルールについて説明する。図3(a)、(b)は前件部
のメンバーシップ関数で、そのうち図3(a)は押鍵速
度に関するメンバーシップ関数、図3(b)は音域(押
鍵領域)に関するメンバーシップ関数である。また、図
3(c)は後件部におけるファジー出力で、反力(鍵制
動力)に関するメンバーシップ関数である。
【0036】なお、各メンバーシップ関数におけるラベ
ルの意味は、次の通りである。 TS:「押鍵速度が遅い」 TL:「押鍵速度が速い」 RS:「音域が低い」 RL:「音域が高い」 PS:「反力を小さくする」 PLS:「反力をやや小さくする」 PLL:「反力をやや大きくする」 PL:「反力を大きくする」
【0037】ファジィルールは、いわゆるIF、THE
N(もし、ならば)の形式で表現される。本実施例で
は、以下の4つのルールを採用している。 ルールA:IF 押鍵速度=TL AND 音域=R
L THEN ファジー出力=PL(反力大きい) ファジィルールAは、「もし、押鍵速度が速く、かつ音
域が高い場合には反力を大きくする。」という意味であ
る。
【0038】ルールB:IF 押鍵速度=TL AN
D 音域=RS THEN ファジー出力=PLL(反力やや大きい) ファジィルールBは、「もし、押鍵速度が速く、かつ音
域が低い場合には反力をやや大きくする。」という意味
である。
【0039】ルールC:IF 押鍵速度=TS AN
D 音域=RL THEN ファジー出力=PLS(反力やや小さい) ファジィルールCは、「もし、押鍵速度が遅く、かつ音
域が高い場合には反力をやや小さくする。」という意味
である。
【0040】ルールD:IF 押鍵速度=TS AN
D 音域=RS THEN ファジー出力=PS(反力小さい) ファジィルールDは、「もし、押鍵速度が遅く、かつ音
域が低い場合には反力を小さくする。」という意味であ
る。
【0041】次に、本実施例の電子鍵盤楽器の動作につ
いて説明する。メインプログラム 図4は楽音発生制御の処理を示すメインプログラムであ
る。本電子鍵盤楽器の電源がオンすると、まずステップ
S1でイニシャライズ処理を行う。これにより、例え
ば、CPU3のレジスタのリセット、ワーキングRAM
(図示略)のクリア、さらには後述のサブルーチンのイ
ニシャライズなどが行われる。
【0042】次いで、ステップS2で鍵NO.に対応す
るCPU3内のポインタnを[0]にクリアする。ポイ
ンタnはn番目の鍵(キー)に対応し、例えばキーが全
部で88鍵あれば、n=0〜87の値をとる。n=0は
一番低い音域の鍵に相当し、nの値が大きくなるにつれ
て音域の高い鍵に対応していく。
【0043】次いで、ステップS3で発音中であるか否
かを判別し、発音中でなければステップS4に進んでn
番目の鍵の検出コイル(図1では検出コイル27a)に
電流を流す。例えば、最初のルーチンではn=0である
から、一番低い音域の鍵の検出コイルに電流が流れる。
これにより、n番目の鍵の押鍵に伴う永久磁石(例え
ば、27b)の変位によって検出コイル(例えば、27
a)に発生する誘起電圧が押鍵位置・押鍵速度検出回路
2に入力され、この入力電圧からn番目の鍵が押鍵され
た状態、n番目の鍵の押鍵位置およびその押鍵速度が検
出される。
【0044】ステップS5では押鍵位置・押鍵速度検出
回路2からCPU3に押鍵領域データおよび鍵の変位デ
ータを取り込む。押鍵領域データは鍵群における押鍵さ
れた鍵の位置の属する領域に対応する。なお、鍵の変位
(ストローク)とは、例えば鍵の押し始め、押す途中、
押鍵の最後の状態というような鍵タッチに伴うの移動変
位である。次いで、ステップS6で押鍵ストローク(押
鍵の変位のこと)が[0]であるか否かを判別する。押
鍵ストローク=0という状態は、鍵が押されていないこ
と、つまり押鍵されていない状態に相当する。
【0045】押鍵ストローク=0(押鍵されていない)
のときは、後述のステップS23に進んで音源(楽音発
生回路9)に対して消音指示を出し、その後、ステップ
S21に進む。したがって、当初から押鍵されていなけ
れば、発音されない。また、押鍵されていた鍵であれ
ば、発音が停止される。
【0046】一方、押鍵ストロークが[0]でなく押鍵
されているときは、ステップS7に進んで押鍵速度デー
タがあるか否かを判別する。押鍵速度データは、例えば
押鍵された鍵が特定の2つの位置間を通過する時間に基
づいて得られ、押鍵速度データがある状態は特定の1つ
の位置を押鍵された鍵が通過することにより検出され
る。
【0047】押鍵速度データがあるときはステップS8
に進んで検出した押鍵速度データを取り込む。例えば、
CPU3の該当するレジスタに押鍵速度データを取り込
むことになる。次いで、ステップS9以下のステップに
おいてファジー推論処理を行う。具体的には、まずステ
ップS9で押鍵操作された鍵の押鍵領域および押鍵速度
に基づいて前述したファジールールAの演算を行う。
【0048】同様に、ステップS10、ステップS1
1、ステップS12では押鍵領域および押鍵速度に基づ
いてそれぞれ前述したファジールールB、ファジールー
ルC、ファジールールDの演算を行う。これらファジー
ルールA、B、C、Dの詳しい処理内容は後述のサブル
ーチンで説明する。これにより、ファジー推論における
前件部の処理が行われ、各メンバーシップ関数に対する
適合度が求められる。
【0049】次いで、ステップS13でルール演算で得
られたデータの最大値をとる処理(すなわち、MAX演
算=OR処理)を行うとともに、ステップS14でこの
データの重心計算を行って脱ファジー化する。これによ
り、ファジー推論における後件部の処理が行われて鍵制
動力データDを読み出すための演算データが求められ
る。なお、最大値演算および重心計算の詳しい処理内容
は後述のサブルーチンで説明する。
【0050】次いで、ステップS15で今回得られた押
鍵ストロークに基づいてタッチカーブROMから鍵制動
力データDを読み出す。例えば、対象がピアノである場
合には、ピアノに対応する特性図である図5に示すよう
な、押鍵された鍵のストロークに応じて鍵荷重(タッチ
感)を変化させるための鍵制動力データDが読み出され
る。図5の内容は次の表1のように表される。
【0051】一方、対象がピアノ以外である場合には、
例えば、チェンバロあるいはオルガンピアノという自然
鍵盤楽器に対応する特性図、すなわち、2(a)あるい
は図2(c)に示すような特性の鍵制動力データDが読
み出される。これにより、ピアノの場合と同様に自然鍵
盤楽器に近い鍵のタッチ感を得ることができる。
【0052】
【表1】
【0053】図5に示すタッチカーブは鍵の押鍵ストロ
ークに応じて指に感じる、鍵に付与された鍵制動力であ
る反力(鍵荷重)を表している。各タッチカーブa〜c
はタッチカーブ選択メモリ4から読み出された鍵制動力
データDに対応した鍵ストローク対鍵荷重(タッチ感)
を表している。図5から明らかであるように、ピアノと
いう自然鍵盤楽器と同様な鍵のタッチ感である、始め軽
く、途中重く、最後にまた軽い、という微妙な鍵タッチ
感が実現されている。
【0054】具体的には、押鍵速度が速い場合は鍵から
指に加わる反力が大きくなって、いわゆる重いタッチ感
となり、逆に、押鍵速度が遅い場合には鍵から指に加わ
る反力が小さくなって軽いタッチ感となる。また、この
押鍵速度に組合せて押鍵の音域の制御が行われ、低音域
では鍵から指に加わる反力が大きくてって重いタッチ感
となり、逆に、高音域では鍵から指に加わる反力が小さ
くなって軽いタッチ感となる。したがって、自然鍵盤楽
器に極めて近い感触感を得ることができる。
【0055】次いで、ステップS16で今回のポインタ
nをアドレスとして倍率データBnを読み出す。倍率デ
ータBnは、例えば図2に示すように、ある基本となる
鍵制動力(一番小さな制動力)に対して乗算する係数に
相当し、この倍率データBnを基本となる鍵制動力に乗
ずることにより、鍵制動力を可変でき、タッチ感を変化
させることができる。なお、倍率データBnの初期値は
[1]で、この場合は倍率が1となる。
【0056】ステップS17では、先に読み出した鍵制
動力データDに対して倍率データBnを乗算(D×B
n)して今回の実際の鍵制動力データDを求め、ステッ
プS18に進む。
【0057】ステップS18では今回検出した押鍵スト
ロークが発音ストローク(つまり、発音を開始するスト
ローク位置)に等しいか否かを判別する。これは、押鍵
された鍵のストロークが発音を開始する点まで変位した
場合に、楽音の発生を開始するための判断処理である。
例えば、電子ピアノの場合、鍵を押しても直ちに発音さ
れず、ある発音開始ストローク位置まで鍵が変位したと
き、楽音が発生するようになっいるためである。
【0058】押鍵ストローク=発音ストロークのとき
は、ステップS19に進んで押鍵されたキーNO.に対
応する音高N、押鍵速度データ、選択された音色データ
を音源(楽音発生回路9)に送り、発音を指示する。こ
れにより、楽音発生回路9で指定された音高N、押鍵速
度データ、音色データを有する楽音波形が生成され、こ
のデジタルの楽音波形はその後、D/A変換器(図示
略)でアナログ信号に変換されてアンプ10で増幅され
スピーカ11より楽音として放音される。次いで、ステ
ップS20に進む。一方、押鍵ストロークが発音ストロ
ークに等しくないときは、ステップS19の処理を行わ
ずに、ステップS19にジャンプする。
【0059】ステップS20では前述した実際の鍵制動
力データDを鍵駆動回路8に供給する。これにより、鍵
駆動回路8では供給された鍵制動力データDに基づき、
押鍵された鍵に対して付与する制動力の演算が行われて
第2電磁石部28のコイル28aに鍵制動信号が出力さ
れる。そして、第2電磁石部28のコイル28aと永久
磁石28bとの間に作用する磁気力が変化し、鍵に対し
て制動力が付与される。すなわち、第2電磁石部28に
より鍵21と本体シャーシ22との間に可変の吸引力、
反発力が発生して鍵21に対する制動力が付与され、こ
れがタッチ感となる。
【0060】次いで、ステップS21でポインタnをイ
ンクリメント(n=n+1)し、ステップS22でポイ
ンタnが最高鍵M(例えば、M=87)に等しいか否か
を判別する。ポインタnが最高鍵Mに等しくなければ、
ステップS3に戻って上記同様の処理を繰り返す。した
がって、ポインタnが[0]から[87]になるまで同
様の処理が繰り返されて、全ての鍵がスキャンされるこ
とになる。そして、ポインタnが最高鍵Mに等しくなる
と、ステップS2に戻り、再びn=[0]の状態から処
理を繰り返す。
【0061】一方、上記ステップS3で既に発音中であ
れば、ステップS21にジャンプしてポインタnをイン
クリメントする。これにより、次の鍵がスキャンされ
る。また、上記ステップS7で押鍵速度データがないと
きには、ステップS15にジャンプしてファジー推論処
理を行わずに、鍵制動力データDを読み出す。つまり、
未だ押鍵速度が変化しておらず、ファジー推論を必要と
しないからである。
【0062】ファジールールA演算処理 図6はファジールールA演算処理のサブルーチンを示す
フローチャートである。まず、ステップS31で押鍵速
度データをアドレスとして、メンバーシップ関数テーブ
ルROM5における「押鍵速度が速い」というメンバー
シップ関数が格納されているTLテーブルからレジスタ
Daにデータ(前件部データ)Daを読み出す。この場
合のデータは、図3(a)に示すメンバーシップ関数T
Lの適合度(グレード)に相当し、0〜1の範囲の値で
ある。
【0063】すなわち、データDaは押鍵速度という入
力値に対してルールAが示した適合度である。データD
aは、CPU2内の同名のレジスタDaに格納され、こ
れは後述のデータDbについても同様である。
【0064】同様に、ステップS32でポインタnをア
ドレスとして、メンバーシップ関数テーブルROM5に
おける「音域が高い」というメンバーシップ関数が格納
されているRLテーブルからデータ(前件部データ)D
bを同名のレジスタDbに読み出す。この場合のデータ
は、図3(b)に示すメンバーシップ関数RLの適合度
に相当し、0〜1の範囲の値である。すなわち、データ
Dbは音域(つまり、ポインタnによって示される鍵の
音域)という入力値に対してルールAが示した適合度で
ある。
【0065】次いで、ステップS33でデータDaがデ
ータDb以上であるか否かを判別し、Da≧Dbのとき
はステップS34に進んで、値の小さい方をデータDと
して採用する。このケースではD=Dbとなる。
【0066】この処理は、各データの論理積をとるもの
で、いわゆる「MINをとる」ことに相当するものであ
る。これは、「MINをとる」ことにより、2つの入力
値に対して少なくとも両方を満足する状態を得るためで
ある。これにより、データDaとデータDbのうち、最
小のものが今回のルーチンにおいてルールAが示す判断
として採用される。一方、Da<Dbのときはステップ
S35に進んで、D=Daを採用する。
【0067】このように、ルールAに対して、その時点
での2つの入力値(押鍵速度および音域)が判断され、
ルールAの前件部に対する適合度が求められる。
【0068】次いで、ステップS36でアドレスポイン
タiを[0]にリセットし、ステップS37でアドレス
ポインタiが終了アドレスに等しいか否か判別する。終
了アドレスでなければ、続くステップS38でiをアド
レスとしてメンバシップ関数テーブルROM5の「反力
大きい」というメンバーシップ関数が格納されているP
Lテーブルからデータ(後件部データ)Eを同名のレジ
スタEに読み出す。この場合のデータは、図3(c)に
示すメンバーシップ関数PLの適合度に相当する。
【0069】次いで、ステップS39でデータDとデー
タEを比較し、D≧EのときはステップS40に進んで
iをアドレスとしてワーキングRAMに入っているP1
メモリにデータEを書き込む。一方、D<Eのときはス
テップS41に進んで同じくiをアドレスとしてワーキ
ングRAMに入っているP1メモリにデータDを書き込
む。このように、小さい方の値が採用されてメンバーシ
ップ関数PLをカットする処理が行われる。
【0070】この処理は、後件部たるメンバーシップ関
数PLを前件部の適合度に応じてカットする「いわゆる
頭切り法」を行うものである。
【0071】次いで、ステップS42でアドレスポイン
タiを[1]だけインクリメントし、その後、ステップ
S37に戻る。そして、ステップS37でアドレスポイ
ンタiが終了アドレスに等しくなるまで、同様の処理を
繰り返し、アドレスポインタiが終了アドレスに等しく
なると、メインプログラムにリターンする。アドレスポ
インタiを終了アドレスまでインクリメントすることに
より、メンバーシップ関数PLをすべてサーチすること
になる。これにより、メンバーシップ関数PLの全てに
対して前件部の適合度に応じた「頭切り法」が実行され
る。
【0072】このようにして、押鍵速度および音域に基
づいてファジールールAの演算が行われ、「押鍵速度が
速く、かつ音域が高い場合には反力を大きくする。」と
いう処理に対してどの程度適合しているかが算出され
る。すなわち、反力を大きくするファジー操作量が、頭
切りしたメンバーシップ関数PLの大きさとして求めら
れる。
【0073】ファジールールB演算処理 図7はファジールールB演算処理のサブルーチンを示す
フローチャートである。まず、ステップS51で押鍵速
度データをアドレスとして、メンバーシップ関数テーブ
ルROM5における「押鍵速度が速い」というメンバー
シップ関数が格納されているTLテーブルからデータ
(前件部データ)Daを読み出す。この場合のデータ
は、図3(a)に示すメンバーシップ関数TLの適合度
(グレード)に相当し、0〜1の範囲の値である。
【0074】すなわち、データDaは押鍵速度という入
力値に対してルールBが示した適合度である。データD
aは、CPU2内の同名のレジスタDaに格納され、こ
れは後述のデータDbについても同様である。
【0075】同様に、ステップS52でポインタnをア
ドレスとして、メンバーシップ関数テーブルROM5に
おける「音域が低い」というメンバーシップ関数が格納
されているRSテーブルからデータ(前件部データ)D
bを読み出す。この場合のデータは、図3(b)に示す
メンバーシップ関数RSの適合度に相当し、0〜1の範
囲の値である。すなわち、データDbは音域(つまり、
ポインタnによって示される鍵の音域)という入力値に
対してルールBが示した適合度である。
【0076】次いで、ステップS53でデータDaがデ
ータDb以上であるか否かを判別し、Da≧Dbのとき
はステップS54に進んで、値の小さい方をデータDと
して採用する。このケースではD=Dbとなる。
【0077】この処理は、各データの論理積をとるもの
で、いわゆる「MINをとる」ことに相当するものであ
る。これは、「MINをとる」ことにより、2つの入力
値に対して少なくとも両方を満足する状態を得るためで
ある。これにより、データDaとデータDbのうち、最
小のものが今回のルーチンにおいてルールBが示す判断
として採用される。一方、Da<Dbのときはステップ
S55に進んで、D=Daを採用する。
【0078】このように、ルールBに対して、その時点
での2つの入力値(押鍵速度および音域)が判断され、
ルールBの前件部に対する適合度が求められる。
【0079】次いで、ステップS56でアドレスポイン
タiを[0]にリセットし、ステップS57でアドレス
ポインタiが終了アドレスに等しいか否か判別する。終
了アドレスでなければ、続くステップS58でiをアド
レスとしてメンバーシップ関数テーブルROM5の「反
力やや大きい」というメンバーシップ関数が格納されて
いるPLLテーブルからデータ(後件部データ)Eを読
み出す。この場合のデータは、図3(c)に示すメンバ
ーシップ関数PLLの適合度に相当する。データEは、
例えばCPU2内の同名のレジスタEに格納される。
【0080】次いで、ステップS59でデータDとデー
タEを比較し、D≧EのときはステップS60に進んで
iをアドレスとしてワーキングRAMに入っているP2
メモリにデータEを書き込む。一方、D<Eのときはス
テップS61に進んで同じくiをアドレスとしてワーキ
ングRAMに入っているP2メモリにデータDを書き込
む。このように、小さい方の値が採用されてメンバーシ
ップ関数PLLをカットする処理が行われる。
【0081】この処理は、後件部たるメンバーシップ関
数PLLを前件部の適合度に応じてカットする「いわゆ
る頭切り法」を行うものである。
【0082】次いで、ステップS62でアドレスポイン
タiを[1]だけインクリメントし、その後、ステップ
S57に戻る。そして、ステップS57でアドレスポイ
ンタiが終了アドレスに等しくなるまで、同様の処理を
繰り返し、アドレスポインタiが終了アドレスに等しく
なると、メインプログラムにリターンする。アドレスポ
インタiを終了アドレスまでインクリメントすることに
より、メンバーシップ関数PLLをすべてサーチするこ
とになる。これにより、メンバーシップ関数PLLの全
てに対して前件部の適合度に応じた「頭切り法」が実行
される。
【0083】このようにして、演奏ミス回数および練習
回数に基づいてファジールールBの演算が行われ、「押
鍵速度が速く、かつ音域が低い場合には反力をやや大き
くする。」という処理に対してどの程度適合しているか
が算出される。すなわち、反力をやや大きくするという
ファジー操作量が、頭切りしたメンバーシップ関数PL
Lの大きさとして求められる。
【0084】ファジールールC演算処理 図8はファジールールC演算処理のサブルーチンを示す
フローチャートである。まず、ステップS71で押鍵速
度データをアドレスとして、メンバーシップ関数テーブ
ルROM5における「押鍵速度が遅い」というメンバー
シップ関数が格納されているTSテーブルからデータ
(前件部データ)DaをレジスタDaに読み出す。この
場合のデータは、図3(a)に示すメンバーシップ関数
TSの適合度(グレード)に相当し、0〜1の範囲の値
である。すなわち、データDaは押鍵速度という入力値
に対してルールCが示した適合度である。データDa
は、CPU2内の同名のレジスタDaに格納され、これ
は後述のデータDbについても同様である。
【0085】同様に、ステップS72でポインタnをア
ドレスとして、メンバーシップ関数テーブルROM5に
おける「音域が高い」というメンバーシップ関数が格納
されているRLテーブルからデータ(前件部データ)D
bを読み出す。この場合のデータは、図3(b)に示す
メンバーシップ関数RLのグレードに相当し、0〜1の
範囲の値である。すなわち、データDbは音域(つま
り、ポインタnによって示される鍵の音域)という入力
値に対してルールCが示した適合度である。
【0086】次いで、ステップS73でデータDaがデ
ータDb以上であるか否かを判別し、Da≧Dbのとき
はステップS74に進んで、値の小さい方をデータDと
して採用する。このケースではD=Dbとなる。
【0087】この処理は、各データの論理積をとるもの
で、いわゆる「MINをとる」ことに相当するものであ
る。これは、「MINをとる」ことにより、2つの入力
値に対して少なくとも両方を満足する状態を得るためで
ある。これにより、データDaとデータDbのうち、最
小のものが今回のルーチンにおいてルールCが示す判断
として採用される。一方、Da<Dbのときはステップ
S75に進んで、D=Daを採用する。
【0088】このように、ルールCに対して、その時点
での2つの入力値(押鍵速度および音域)が判断され、
ルールCの前件部に対する適合度が求められる。
【0089】次いで、ステップS76でアドレスポイン
タiを[0]にリセットし、ステップS77でアドレス
ポインタiが終了アドレスに等しいか否か判別する。終
了アドレスでなければ、続くステップS78でiをアド
レスとしてメンバーシップ関数テーブルROM5の「反
力やや小さい」というメンバーシップ関数が格納されて
いるPLSテーブルからデータ(後件部データ)Eを読
み出す。この場合のデータは、図3(c)に示すメンバ
ーシップ関数PLSの適合度に相当する。データEは、
例えばCPU2内の同名のレジスタEに格納される。
【0090】次いで、ステップS79でデータDとデー
タEを比較し、D≧EのときはステップS80に進んで
iをアドレスとしてワーキングRAMに入っているP3
メモリにデータEを書き込む。一方、D<Eのときはス
テップS81に進んで同じくiをアドレスとしてワーキ
ングRAMに入っているP3メモリにデータDを書き込
む。このように、小さい方の値が採用されてメンバーシ
ップ関数PLSをカットする処理が行われる。
【0091】この処理は、後件部たるメンバーシップ関
数PLSを前件部の適合度に応じてカットする「いわゆ
る頭切り法」を行うものである。
【0092】次いで、ステップS82でアドレスポイン
タiを[1]だけインクリメントし、その後、ステップ
S77に戻る。そして、ステップS77でアドレスポイ
ンタiが終了アドレスに等しくなるまで、同様の処理を
繰り返し、アドレスポインタiが終了アドレスに等しく
なると、メインプログラムにリターンする。アドレスポ
インタiを終了アドレスまでインクリメントすることに
より、メンバーシップ関数PLSをすべてサーチするこ
とになる。これにより、メンバーシップ関数PLSの全
てに対して前件部の適合度に応じた「頭切り法」が実行
される。
【0093】このようにして、演奏ミス回数および練習
回数に基づいてファジールールCの演算が行われ、「押
鍵速度が遅く、かつ音域が高い場合には反力をやや小さ
くする。」という処理に対してどの程度適合しているか
が算出される。すなわち、反力をやや小さくするという
ファジー操作量が、頭切りしたメンバーシップ関数PL
Sの大きさとして求められる。
【0094】ファジールールD演算処理 図9はファジールールD演算処理のサブルーチンを示す
フローチャートである。まず、ステップS91で押鍵速
度データをアドレスとして、メンバーシップ関数テーブ
ルROM5における「押鍵速度が遅い」というメンバー
シップ関数が格納されているTSテーブルからデータ
(前件部データ)DaをレジスタDaに読み出す。この
場合のデータは、図3(a)に示すメンバーシップ関数
TSの適合度(グレード)に相当し、0〜1の範囲の値
である。すなわち、データDaは押鍵速度という入力値
に対してルールDが示した適合度である。データDa
は、CPU2内の同名のレジスタDaに格納され、これ
は後述のデータDbについても同様である。
【0095】同様に、ステップS92でポインタnをア
ドレスとして、メンバーシップ関数テーブルROM5に
おける「音域が低い」というメンバーシップ関数が格納
されているRSテーブルからデータ(前件部データ)D
bをレジスタDbに読み出す。この場合のデータは、図
3(b)に示すメンバーシップ関数RSのグレードに相
当し、0〜1の範囲の値である。すなわち、データDb
は音域という入力値に対してルールDが示した適合度で
ある。
【0096】次いで、ステップS93でデータDaがデ
ータDb以上であるか否かを判別し、Da≧Dbのとき
はステップS94に進んで、値の小さい方をデータDと
して採用する。このケースではD=Dbとなる。
【0097】この処理は、各データの論理積をとるもの
で、いわゆる「MINをとる」ことに相当するものであ
る。これは、「MINをとる」ことにより、2つの入力
値に対して少なくとも両方を満足する状態を得るためで
ある。これにより、データDaとデータDbのうち、最
小のものが今回のルーチンにおいてルールDが示す判断
として採用される。一方、Da<Dbのときはステップ
S95に進んで、D=Daを採用する。
【0098】このように、ルールDに対して、その時点
での2つの入力値(押鍵速度および音域)が判断され、
ルールDの前件部に対する適合度が求められる。
【0099】次いで、ステップS96でアドレスポイン
タiを[0]にリセットし、ステップS97でアドレス
ポインタiが終了アドレスに等しいか否か判別する。終
了アドレスでなければ、続くステップS98でiをアド
レスとしてメンバーシップ関数テーブルROM5の「反
力小さい」というメンバーシップ関数が格納されている
PSテーブルからデータ(後件部データ)Eを読み出
す。この場合のデータは、図3(c)に示すメンバーシ
ップ関数PSの適合度に相当する。データEは、例えば
CPU2内の同名のレジスタEに格納される。
【0100】次いで、ステップS99でデータDとデー
タEを比較し、D≧EのときはステップS100に進ん
でiをアドレスとしてワーキングRAMに入っているP
4メモリにデータEを書き込む。一方、D<Eのときは
ステップS101に進んで同じくiをアドレスとしてワ
ーキングRAMに入っているP4メモリにデータDを書
き込む。このように、小さい方の値が採用されてメンバ
ーシップ関数PSをカットする処理が行われる。
【0101】この処理は、後件部たるメンバーシップ関
数PSを前件部の適合度に応じてカットする「いわゆる
頭切り法」を行うものである。
【0102】次いで、ステップS102でアドレスポイ
ンタiを[1]だけインクリメントし、その後、ステッ
プS97に戻る。そして、ステップS97でアドレスポ
インタiが終了アドレスに等しくなるまで、同様の処理
を繰り返し、アドレスポインタiが終了アドレスに等し
くなると、メインプログラムにリターンする。アドレス
ポインタiを終了アドレスまでインクリメントすること
により、メンバーシップ関数PSをすべてサーチするこ
とになる。これにより、メンバーシップ関数PSの全て
に対して前件部の適合度に応じた「頭切り法」が実行さ
れる。
【0103】このようにして、演奏ミス回数および練習
回数に基づいてファジールールDでの演算が行われ、
「押鍵速度が遅く、かつ音域が低い場合には反力を小さ
くする。」という処理に対してどの程度適合しているか
が算出される。すなわち、反力を小さくするというファ
ジー操作量が、頭切りしたメンバーシップ関数PSの大
きさとして求められる。
【0104】最大値演算処理 図10は最大値演算処理のサブルーチンを示すフローチ
ャートである。まず、ステップS111でアドレスポイ
ンタiを[0]にリセットし、ステップS112でアド
レスポインタiをアドレスとしてワーキングRAMに入
っているP1メモリからデータD1を読み出す。
【0105】データD1は、ファジールールAについて
の演算結果であり、具体的には、「押鍵速度が速く、か
つ音域が高い場合には反力を大きくする。」という処理
に対してどの程度適合しているか算出して頭切りしたメ
ンバーシップ関数PLに対応する。
【0106】また、ステップS113でアドレスポイン
タiをアドレスとしてワーキングRAMに入っているP
2メモリからデータD2を読み出す。
【0107】データD2は、ファジールールBについて
の演算結果であり、具体的には、「押鍵速度が速く、か
つ音域が低い場合には反力をやや大きくする。」という
処理に対してどの程度適合しているか算出して頭切りし
たメンバーシップ関数PLLに対応する。
【0108】さらに、ステップS114で同様にアドレ
スポインタiをアドレスとしてワーキングRAMに入っ
ているP3メモリからデータD3を読み出す。
【0109】データD3は、ファジールールCについて
の演算結果であり、具体的には、「押鍵速度が遅く、か
つ音域が高い場合には反力をやや小さくする。」という
処理に対してどの程度適合しているか算出して頭切りし
たメンバーシップ関数PLSに対応する。
【0110】次いで、ステップS115で同様にアドレ
スポインタiをアドレスとしてワーキングRAMに入っ
ているP4メモリからデータD4を読み出す。
【0111】データD4は、ファジールールDについて
の演算結果であり、具体的には、「押鍵速度が遅く、か
つ音域が低い場合には反力を小さくする。」という処理
に対してどの程度適合しているか算出して頭切りしたメ
ンバーシップ関数PSに対応する。
【0112】次いで、ステップS116で上記各データ
D1〜D4のうちの最大値を判別する。そして、データ
D1〜D4の最大値判別結果に応じてそれぞれステップ
S117、ステップS118、ステップS119、ステ
ップS120に進む。
【0113】このような最大値判別を行っているのは、
各ファジールールA〜D毎の推論結果を統合するために
論理和(OR論理)をとる必要がかあるからで、いわゆ
る「MAXをとる」という処理に相当するものである。
【0114】具体的には、例えばある瞬間の押鍵操作状
態がファジールールAからファジールールDまでの、ど
のルールに影響されるのか、少しでも影響されるなら、
それは反力の大きさ(制動力)の判断に反映しておきた
いという要求に答えるもので、これが「OR論理」の関
係の基本の考え方である。そして、この考え方を集合論
では「和をとる」としており、本実施例では、どれかひ
とつでも影響がある限り、考察の対象にするとして上記
処理が実行される。
【0115】さて、ステップS117ではアドレスポイ
ンタiをアドレスとしてワーキングRAMに入っている
P5メモリにデータD1を書き込む。これにより、今回
のアドレスポインタi(最初のルーチンではi=0)の
値によって指定されるファジールールAの演算結果であ
る頭切りしたメンバーシップ関数PLの一部がP5メモ
リに書き込まれる。
【0116】なお、後述のように、アドレスポインタi
を終了アドレスまでインクリメントすることにより、頭
切りされたメンバーシップ関数PLがすべてサーチされ
てP5メモリに書き込まれることになる。
【0117】ステップS118ではアドレスポインタi
をアドレスとしてワーキングRAMに入っているP5メ
モリにデータD2を書き込む。これにより、今回のアド
レスポインタiの値によって指定されるファジールール
Bの演算結果である頭切りしたメンバーシップ関数PL
Lの一部がP5メモリに書き込まれる。
【0118】同様に、ステップS119ではアドレスポ
インタiをアドレスとしてワーキングRAMに入ってい
るP5メモリにデータD3を書き込む。これにより、今
回のアドレスポインタiの値によって指定されるファジ
ールールCの演算結果である頭切りしたメンバーシップ
関数PLSの一部がP5メモリに書き込まれる。
【0119】また、同様にステップS120ではアドレ
スポインタiをアドレスとしてワーキングRAMに入っ
ているP5メモリにデータD4を書き込む。これによ
り、今回のアドレスポインタiの値によって指定される
ファジールールDの演算結果である頭切りしたメンバー
シップ関数PSの一部がP5メモリに書き込まれる。
【0120】次いで、ステップS121でアドレスポイ
ンタiが終了アドレスに等しいか否か判別する。終了ア
ドレスでなければ、続くステップS122でアドレスポ
インタiを[1]だけインクリメントし、その後、ステ
ップS112に戻る。そして、ステップS121でアド
レスポインタiが終了アドレスに等しくなるまで、上記
処理を繰り返し、アドレスポインタiが終了アドレスに
等しくなると、メインプログラムにリターンする。
【0121】アドレスポインタiを終了アドレスまでイ
ンクリメントすることにより、頭切りされた各メンバー
シップ関数PL、PLL、PLS、PSがすべてサーチ
されてP5メモリにデータD1〜D4として書き込まれ
る。
【0122】このようにして、各ファジールールA〜D
毎の推論結果を統合するために論理和をとる(「MAX
をとる」)処理が実行され、頭切りされた各メンバーシ
ップ関数PL、PLL、PLS、PSがOR合成され
る。すなわち、MAX合成処理によって各ファジールー
ルA〜D毎の推論結果が重ね合わせられて合成出力が生
成される。
【0123】重心計算処理 図11は重心計算処理のサブルーチンを示すフローチャ
ートである。まず、ステップS131でアドレスポイン
タiを[0]にリセットするとともに、面積レジスタa
reaおよび重心レジスタhafを同様に[0]にリセ
ットする。面積レジスタareaは重心計算に必要な面
積areaのデータを格納するもので、重心レジスタh
afは重心計算に必要な重心値hafを格納するもので
ある。
【0124】次いで、ステップS132でアドレスポイ
ンタiをアドレスとしてワーキングRAMに入っている
P5メモリからデータD5を読み出す。データD5は、
前述の最大値演算処理によって頭切りされた後件部の各
メンバーシップ関数PL、PLL、PLS、PSをOR
合成したものの一部(iをアドレスとして指定された部
分)で、言い換えると、MAX合成処理によって各ファ
ジールールA〜D毎の推論結果が重ね合わせられた合成
出力データ(後に、OR合成関数として表す)の一部で
ある。
【0125】今回は、i(最初のルーチンではi=0)
をアドレスとしてP5メモリから合成出力データの一部
を読み出したことになる。なお、後述のように、アドレ
スポインタiを終了アドレスまでインクリメントするこ
とにより、合成出力データがすべてサーチされて読み出
されることになる。
【0126】すなわち、続くステップS133では面積
レジスタareaの値を、今回読み出した合成出力デー
タD5だけインクリメントして面積areaの積算値を
算出する。
【0127】次いで、ステップS134でアドレスポイ
ンタiが終了アドレスに等しいか否か判別する。終了ア
ドレスでなければ、続くステップS135でアドレスポ
インタiを[1]だけインクリメントし、その後、ステ
ップS132に戻る。そして、ステップS134でアド
レスポインタiが終了アドレスに等しくなるまで、上記
処理を繰り返し、アドレスポインタiが終了アドレスに
等しくなると、ステップS136に抜ける。
【0128】アドレスポインタiを終了アドレスまでイ
ンクリメントすることにより、頭切りされた後件部の各
メンバーシップ関数PL、PLL、PLS、PSのOR
合成出力データがすべてサーチされて読み出されること
になる。言い換えれば、最大値演算処理で得られたデー
タの集合を2次元図形に対応させ、このデータ集合部分
の面積を積分演算によってすべてサーチして読み出して
計算したことになる。その後、データ集合部分の面積に
対応する積分値が1/2になる値を重心値として算出す
る。
【0129】すなわち、ステップS136に進み、ステ
ップS133で求めた積算面積areaの1/2の値を
重心値hafとして重心レジスタhafに記憶する。次
いで、ステップS137で各メンバーシップ関数PL、
PLL、PLS、PSのOR合成関数の横軸に対応する
jおよび面積積算エリアbalを共に[0]にリセット
する。
【0130】OR合成関数は、最大値演算処理で得られ
たデータ集合を2次元図形に対応させた場合の関数であ
り、その横軸がjに相当し、その面積の積算エリアがb
alに相当する。なお、jおよびbalの値は、例えば
同名のレジスタに格納される。
【0131】次いで、ステップS138で横軸jをアド
レスとしてワーキングRAMに入っているP5メモリか
らOR合成関数に対応するデータD5を読み出す。続く
ステップS139では面積積算エリアbalの値を、今
回読み出したデータD5だけインクリメントして面積積
算エリアbalを積算する。
【0132】次いで、ステップS140で積算した面積
積算エリアbalを重心値hafと比較し、面積積算エ
リアbalが重心値hafより小さいときはステップS
142に進んで横軸jをインクリメントした後、ステッ
プS138に戻る。そして、ステップS140で面積積
算エリアbalが重心値haf以上になるまで上記処理
を繰り返し、bal≧hafとなると、そのときの横軸
jの値が重心点であると判断してステップS141に抜
ける。
【0133】ステップS141では、ポインタnをアド
レスにして、OR合成関数の横軸jのビットを今回のル
ーチンにおける反力(鍵制動力)として求める。
【0134】このようにして、2次元図形に対応してい
るOR合成関数の重心をとり、その値を論理和の代表と
する脱ファジー化処理(ディファジファイア処理)が行
われ、推論処理での結論の全体が1つの確定値、すなわ
ち、この場合は反力(鍵制動力)として算出される。
【0135】このように、本実施例では鍵が押鍵操作さ
れると、鍵群のなかの鍵の押鍵領域(すなわち、音域)
および押鍵速度を入力パラメータとするファジー推論に
より鍵に付与する制動力が可変制御される。すなわち、
押鍵速度および音域という各要素を組合せてきめ細か
く、鍵の制動力が可変される。
【0136】したがって、押鍵時における微妙な押鍵速
度の違いや押鍵音域の高低に応じた最適なタッチ感を出
すことができる。また、ファジー推論が用いられている
ので、反力制御の演算処理に対して膨大な処理が必要で
なく、演算負担を軽減することができる。その結果、既
在のCPUにより容易に演算を行うことができ、高機能
の電子鍵盤楽器を低コストで実現することができる。
【0137】なお、本実施例ではファジー推論をCPU
3およびメンバーシップ関数テーブルROM5を用いて
ソフトによって実現しているが、例えばファジーチップ
を用いてハード的に実現してもい。
【0138】また、ファジー推論で用いるメンバーシッ
プ関数の値は、対象となる楽器の種類などに応じて適切
に設定するとよい。このようにすれば、反力のいろいろ
な味付けが可能になる。さらに、メンバーシップ関数の
形状は三角形状に限らず、他の形状(例えば、釣鐘形)
でもよい。
【0139】さらに、上記実施例では、鍵盤装置をピア
ノ、チェンバロ、オルガン等の電子鍵盤楽器に適用した
例であるが、このような鍵盤楽器への適用に限らず、タ
ッチ感を微妙に変化させることが望ましいものについて
は、幅広く適用することができる。
【0140】加えて、上記実施例は本発明を楽音信号を
発生する電子鍵盤楽器に適用した例であるが、本発明は
これに限るものではなく、鍵盤を有するものであれば、
音源自体がなくても、電子鍵盤楽器以外の他の楽音発生
装置、例えば、パーソナルコンピュータによって楽音信
号を発生する装置にも適用することができる。
【0141】
【発明の効果】本発明によれば、鍵群のなかの鍵の押鍵
領域(音域)および押鍵速度を入力パラメータとするフ
ァジー推論により鍵に付与する制動力を可変制御してい
るので、押鍵速度および音域という各要素を組合せたき
めの細かいタッチ感、すなわち、押鍵時における微妙な
押鍵速度の違いや押鍵音域の高低に応じた最適なタッチ
感を出すことができる。
【0142】また、ファジー推論を用いているので、反
力制御の演算処理に対して膨大な処理が必要でなく、演
算負担を軽減することができる。その結果、既在のCP
Uにより容易に演算を行うことができ、高機能の電子鍵
盤楽器を低コストで実現することができる。
【図面の簡単な説明】
【図1】本発明による鍵盤装置の一実施例の全体構成を
示す図である。
【図2】同実施例の鍵盤装置のキータッチ感を表す特性
図である。
【図3】同実施例の反力制御のメンバーシップ関数を示
す図である。
【図4】同実施例の楽音発生制御の処理を示すメインプ
ログラムである。
【図5】同実施例のタッチカーブ特性を示す図である。
【図6】同実施例のファジールールA演算処理のサブル
ーチンを示すフローチャートである。
【図7】同実施例のファジールールB演算処理のサブル
ーチンを示すフローチャートである。
【図8】同実施例のファジールールC演算処理のサブル
ーチンを示すフローチャートである。
【図9】同実施例のファジールールD演算処理のサブル
ーチンを示すフローチャートである。
【図10】同実施例の最大値演算処理のサブルーチンを
示すフローチャートである。
【図11】同実施例の重心計算処理のサブルーチンを示
すフローチャートである。
【符号の説明】
1 鍵盤部 2 押鍵位置・押鍵速度検出回路 3 CPU 4 タッチカーブ選択メモリ 5 メンバーシップ関数テーブルROM 7 音色選択スイッチ部(音色選択手段) 8 鍵駆動回路(制動力演算手段) 9 楽音発生回路(楽音発生手段) 21 鍵 27 第1電磁石部 27a、28a コイル(検出コイル) 27b、28b 永久磁石 28 第2電磁石部(鍵制動力付与手段) 100 鍵検出手段 101 押鍵位置検出手段 102 押鍵速度検出手段 103 鍵制動力制御手段 104 ファジー推論手段

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 押鍵操作可能な鍵を複数個配設して成る
    鍵群と、 この鍵群のいずれかの鍵が押鍵操作されたことを検出す
    る鍵検出手段と、 この鍵検出手段により押鍵の検出された鍵が上記鍵群の
    どの領域に属するかを検出する押鍵領域検出手段と、 上記押鍵操作された鍵の押鍵速度を検出する押鍵速度検
    出手段と、 上記押鍵領域検出手段により検出された鍵の領域および
    上記押鍵速度検出手段により検出された押鍵速度を入力
    パラメータとして所定のファジールールに従ってファジ
    ー推論を行うファジー推論手段と、 該ファジー推論手段の出力に応じて押鍵操作された鍵に
    対して制動力を付与する鍵制動力制御手段と、を備えた
    ことを特徴とする鍵盤装置。
  2. 【請求項2】 前記鍵制動力制御手段は、前記ファジー
    推論手段の出力に応じて前記鍵に対して付与する制動力
    の演算を行う制動力演算手段と、 該制動力演算手段からの鍵制動信号に基づき、前記鍵に
    対してその押鍵変位の位置ごとに鍵制動力を付与する鍵
    制動力付与手段と、からなることを特徴とする請求項1
    記載の鍵盤装置。
  3. 【請求項3】 前記鍵制動力制御手段は、音色を選択可
    能な音色選択手段を有し、選択された音色に応じて前記
    鍵に付与する制動力を制御することを特徴とする請求項
    1記載の鍵盤装置。
  4. 【請求項4】 前記鍵制動力制御手段は、さらに楽音特
    性制御手段を有し、該楽音特性制御手段は、前記ファジ
    ー推論手段の出力に応じて発生する楽音の特性を制御す
    ることを特徴とする請求項1記載の鍵盤装置。
  5. 【請求項5】 前記鍵盤装置は、さらに前記楽音特性制
    御手段によって制御される特性の楽音を発生する楽音発
    生手段を設けたことを特徴とする請求項4記載の鍵盤装
    置。
JP18034092A 1992-06-15 1992-06-15 鍵盤装置 Expired - Fee Related JP3316517B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18034092A JP3316517B2 (ja) 1992-06-15 1992-06-15 鍵盤装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18034092A JP3316517B2 (ja) 1992-06-15 1992-06-15 鍵盤装置

Publications (2)

Publication Number Publication Date
JPH05346779A true JPH05346779A (ja) 1993-12-27
JP3316517B2 JP3316517B2 (ja) 2002-08-19

Family

ID=16081516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18034092A Expired - Fee Related JP3316517B2 (ja) 1992-06-15 1992-06-15 鍵盤装置

Country Status (1)

Country Link
JP (1) JP3316517B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006243584A (ja) * 2005-03-07 2006-09-14 Yamaha Corp 鍵盤装置及び電子楽器
JP2008170971A (ja) * 2006-12-13 2008-07-24 Yamaha Corp 鍵盤楽器および鍵盤楽器の制御方法
US7667116B2 (en) 2006-09-04 2010-02-23 Yamaha Corporation Key actuating system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102272189B1 (ko) * 2019-10-01 2021-07-02 샤이다 에르네스토 예브계니 산체스 인공지능을 이용하여 소리를 생성하는 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006243584A (ja) * 2005-03-07 2006-09-14 Yamaha Corp 鍵盤装置及び電子楽器
US7667116B2 (en) 2006-09-04 2010-02-23 Yamaha Corporation Key actuating system
JP2008170971A (ja) * 2006-12-13 2008-07-24 Yamaha Corp 鍵盤楽器および鍵盤楽器の制御方法

Also Published As

Publication number Publication date
JP3316517B2 (ja) 2002-08-19

Similar Documents

Publication Publication Date Title
US6018118A (en) System and method for controlling a music synthesizer
JP3316517B2 (ja) 鍵盤装置
US5455380A (en) Electronic musical instrument altering tone sound effects responsive to number of channels or tone range
JPH0720866A (ja) 電子楽器
US4699037A (en) Electronic musical instrument with glide function
US5319152A (en) Chord information output apparatus and automatic accompaniment apparatus
JP3008419B2 (ja) 電子楽器
JP7400925B2 (ja) 電子楽器、方法、プログラム
JPH10124055A (ja) エフェクト制御装置
JP2779880B2 (ja) ハイポジション演奏効果が得られる電子楽器
JP2626211B2 (ja) 電子楽器
JPH06242781A (ja) 電子楽器
JP3602365B2 (ja) 電子楽器
JP3287036B2 (ja) タッチレスポンス装置
JP4218566B2 (ja) 楽音制御装置及びプログラム
JPH04294395A (ja) 電子楽器
JP2000315083A (ja) 電子鍵盤楽器
JPH0738108B2 (ja) 電子楽器の楽音制御方法
JP2839008B2 (ja) 電子楽器
JP2000172253A (ja) 電子楽器
JP3241813B2 (ja) 演奏情報処理装置
JPH07152374A (ja) 電子楽器
JPH06250650A (ja) 電子楽器
JPS6320355B2 (ja)
JPH0720868A (ja) 発音指示装置

Legal Events

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