図面 (/)

技術 タッチ検出装置、方法、およびプログラム、電子楽器

出願人 カシオ計算機株式会社
発明者 池田晃
出願日 2014年8月11日 (5年1ヶ月経過) 出願番号 2014-163686
公開日 2016年3月22日 (3年5ヶ月経過) 公開番号 2016-038544
状態 特許登録済
技術分野 電気楽器
主要キーワード 到達比 ダンパー動作 値カウント 各接点間 逆数演算 タッチ検出装置 押下量 カウンタメモリ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年3月22日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

電子楽器鍵盤タッチ操作を検出する技術に関し、より高精度な押鍵連打検出を実現する。

解決手段

第1、第3カウンタ204、206は、鍵の第1、第2接点115、116間のオン時間、第2、第3接点116、117間のオン時間をそれぞれカウントする。第2カウンタ205は、第1カウンタ204のカウント完了後の時間をカウントし、カウンタメモリ208は、第1、第3カウンタ204、206のカウント時間を示すベロシティカウンタ値と、第2カウンタ205のカウント時間を示す補正時間用カウンタ値を記憶する。コントローラ201は、第1カウンタ204のベロシティカウンタ値が所定閾値と比較して大きければ、到達比回路210が到達時間値と補正時間用カウンタ値の一致を検出時に、カウンタメモリ208からベロシティレジスタ211に読み出したベロシティカウンタ値に応じたタッチ情報を含む発音指示をCPU101に出力する。

概要

背景

通常、電子楽器鍵盤ベロシティ検出は、鍵盤下に設けられ、異なる押下量ストローク)でオンする2つのスイッチ(接点)のオン時間差計測し、これをベロシティ情報として用いる方法が一般的である。第1スイッチのオンで計測を開始し、第2スイッチのオンで計測を完了し、この計測したデータから求められた押鍵の強さに応じて、音源の音色、音量を制御して発音処理を実行する(例えば特許文献1に記載の技術)。

近年では、この2つのスイッチの中間ストローク位置にもう一つスイッチを追加し、ピアノダンパー動作を模した音源制御を行うことができる従来技術も提案されている(例えば特許文献2に記載の技術)。いま、最も浅い位置(鍵に最も近い位置)から第1、第2、第3スイッチと呼ぶと、第2、第3スイッチで押鍵(タッチ)強度を検出する構造自体は変わらないが、第2スイッチと第3スイッチとの間という深い位置での小さいストローク振幅連打を、アコスティックピアノと同様に行うことができる。また、消音は、従来のストローク位置のまま、第1スイッチのオフで行われる。

アコースティックピアノの構造で考えると、第1スイッチがダンパーオン制御消音制御)、第2、第3スイッチで押鍵ベロシティ発音開始タイミングを制御することになり、第1スイッチがオン(=ダンパーが解放)状態のまま、第2、第3スイッチを繰り返しオンオフすることで、アコースティックピアノの連打に近い多様な音色の重なりを表現できる。これは同音連打、トリル演奏に有効であり、現在も利用されている。

概要

電子楽器の鍵盤のタッチ操作を検出する技術に関し、より高精度な押鍵・連打検出を実現する。第1、第3カウンタ204、206は、鍵の第1、第2接点115、116間のオン時間、第2、第3接点116、117間のオン時間をそれぞれカウントする。第2カウンタ205は、第1カウンタ204のカウント完了後の時間をカウントし、カウンタメモリ208は、第1、第3カウンタ204、206のカウント時間を示すベロシティカウンタ値と、第2カウンタ205のカウント時間を示す補正時間用カウンタ値を記憶する。コントローラ201は、第1カウンタ204のベロシティカウンタ値が所定閾値と比較して大きければ、到達比回路210が到達時間値と補正時間用カウンタ値の一致を検出時に、カウンタメモリ208からベロシティレジスタ211に読み出したベロシティカウンタ値に応じたタッチ情報を含む発音指示をCPU101に出力する。

目的

本発明は、より高精度な押鍵・連打検出を実現することを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

押鍵操作に応じて順次オンされる第1、第2、および第3接点を備えた鍵からの、当該第1、第2、または第3接点の夫々のオン検出信号に基づき、前記第1接点がオンされてから前記第2接点がオンされるまでの時間をカウントする第1カウンタと、前記第1カウンタによるカウント完了後にカウントを開始する第2カウンタと、前記第2接点がオンされてから前記第3接点がオンされるまでの時間をカウントする第3カウンタと、前記第1カウンタによりカウントされた値が所定の閾値より大きい場合は、前記第2のカウンタのカウント値が予め設定された到達カウント値となったときに、前記第1のカウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力するとともに、前記第1カウンタによりカウントされた値が前記所定の閾値より小さい場合は、前記第3接点がオンされた後に、前記第3カウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力する制御回路と、を備えるタッチ検出装置

請求項2

前記タッチ検出装置は、前記第3カウンタによるカウント完了後にカウントを開始する第4カウンタを更に備え、前記補正時間カウンタ値は、前記第2または第4カウンタでカウントされた時間を示し、前記制御回路は、前記第1カウンタによりカウントされた値が前記所定の閾値より小さい場合に、前記第3接点がオンされた後さらに前記第4カウンタのカウンタ値が前記到達カウント値となったときに、前記第3カウンタのカウント値に応じたタッチ情報を含む発音指示を出力する、請求項1に記載のタッチ検出装置。

請求項3

請求項1または2のいずれかに記載のタッチ検出装置を備えた電子楽器

請求項4

押鍵操作に応じて順次オンされる第1、第2、および第3接点を備えた鍵と、第1カウンタと、第2カウンタと、第3カウンタとを備えたタッチ検出装置で用いられるタッチ検出方法であって、前記タッチ検出装置は、前記第1、第2、または第3接点の夫々のオン検出信号に基づき、前記第1接点がオンされてから前記第2接点がオンされるまでの時間を前記第1カウンタでカウントし、前記第1カウンタによるカウント完了後に前記第2カウンタのカウントを開始させ、前記第2接点がオンされてから前記第3接点がオンされるまでの時間を前記第1カウンタでカウントし、前記第1カウンタによりカウントされた値が所定の閾値より大きい場合は、前記第2のカウンタのカウント値が予め設定された到達カウント値となったときに、前記第1のカウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力し、前記第1カウンタによりカウントされた値が前記所定の閾値より小さい場合は、前記第3接点がオンされた後に、前記第3カウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力する、タッチ検出方法。

請求項5

押鍵操作に応じて順次オンされる第1、第2、および第3接点を備えた鍵と、第1カウンタと、第2カウンタと、第3カウンタとを備えたタッチ検出装置として用いられるコンピュータに、前記第1、第2、または第3接点の夫々のオン検出信号に基づき、前記第1接点がオンされてから前記第2接点がオンされるまでの時間を前記第1カウンタでカウントするステップと、前記第1カウンタによるカウント完了後に前記第2カウンタのカウントを開始させるステップと、前記第2接点がオンされてから前記第3接点がオンされるまでの時間を前記第1カウンタでカウントするステップと、前記第1カウンタによりカウントされた値が所定の閾値より大きい場合は、前記第2のカウンタのカウント値が予め設定された到達カウント値となったときに、前記第1のカウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力するステップと、前記第1カウンタによりカウントされた値が前記所定の閾値より小さい場合は、前記第3接点がオンされた後に、前記第3カウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力するステップと、を実行させるプログラム

技術分野

0001

本発明は、電子楽器鍵盤タッチ操作を検出する装置、方法、およびプログラム、ならびに電子楽器に関する。

背景技術

0002

通常、電子楽器の鍵盤のベロシティ検出は、鍵盤下に設けられ、異なる押下量ストローク)でオンする2つのスイッチ(接点)のオン時間差計測し、これをベロシティ情報として用いる方法が一般的である。第1スイッチのオンで計測を開始し、第2スイッチのオンで計測を完了し、この計測したデータから求められた押鍵の強さに応じて、音源の音色、音量を制御して発音処理を実行する(例えば特許文献1に記載の技術)。

0003

近年では、この2つのスイッチの中間ストローク位置にもう一つスイッチを追加し、ピアノダンパー動作を模した音源制御を行うことができる従来技術も提案されている(例えば特許文献2に記載の技術)。いま、最も浅い位置(鍵に最も近い位置)から第1、第2、第3スイッチと呼ぶと、第2、第3スイッチで押鍵(タッチ)強度を検出する構造自体は変わらないが、第2スイッチと第3スイッチとの間という深い位置での小さいストローク振幅連打を、アコスティックピアノと同様に行うことができる。また、消音は、従来のストローク位置のまま、第1スイッチのオフで行われる。

0004

アコースティックピアノの構造で考えると、第1スイッチがダンパーオン制御消音制御)、第2、第3スイッチで押鍵ベロシティ発音開始タイミングを制御することになり、第1スイッチがオン(=ダンパーが解放)状態のまま、第2、第3スイッチを繰り返しオンオフすることで、アコースティックピアノの連打に近い多様な音色の重なりを表現できる。これは同音連打、トリル演奏に有効であり、現在も利用されている。

先行技術

0005

特開2013−195647号公報
特開2005−43553号公報

発明が解決しようとする課題

0006

アコースティックピアノにおける押鍵動作では、鍵を下限位置まで押し切らずとも第3スイッチより上の位置までを一定速度以上で押すと、ハンマーが鍵と繋がったアクション部からはずれて慣性によって移動し打弦するので、そのような浅い位置に留まる押鍵で発音させることも可能であることが知られている。

0007

しかし、電子鍵盤楽器の従来の技術では、第3スイッチが設けられた位置の深さまで鍵盤が押下されないと押鍵動作とみなされない。そのため演奏者の意図に反して発音させられず、押鍵検出性能と連打性を損なっているという問題点を有していた。

0008

本発明は、より高精度な押鍵・連打検出を実現することを目的とする。

課題を解決するための手段

0009

態様の一例では、押鍵操作に応じて順次オンされる第1、第2、および第3接点を備えた鍵からの、その第1、第2、または第3接点の夫々のオン検出信号に基づき、第1接点がオンされてから第2接点がオンされるまでの時間をカウントする第1カウンタと、第1カウンタによるカウント完了後にカウントを開始する第2カウンタと、第2接点がオンされてから第3接点がオンされるまでの時間をカウントする第3カウンタと、第1カウンタによりカウントされた値が所定の閾値より大きい場合は、第2のカウンタのカウント値が予め設定された到達カウント値となったときに、第1のカウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力するとともに、第1カウンタによりカウントされた値が所定の閾値より小さい場合は、第3接点がオンされた後に、第3カウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力する制御回路と、を備える。

発明の効果

0010

本発明によれば、より高精度な押鍵・連打検出を実現することが可能となる。

図面の簡単な説明

0011

本実施形態に係る電子楽器のハードウェア構成例を示す図である。
本実施形態に係るタッチ検出装置のハードウェア構成例を示す図である。
カウンタメモリデータ構成例を示す図である。
本実施形態によるタッチ検出動作処理の例を示すフローチャートである。
浅い位置の押鍵で発音する場合の本実施形態の動作説明図である。
浅い位置の押鍵で発音しない場合の本実施形態の動作説明図である。
第1、第2接点間のベロシティが閾値を下回ったが押鍵が第3接点まで到達したので発音する場合の本実施形態の動作説明図である。
ベロシティ値が閾値を上回りかつ押鍵が第3接点まで通過する場合の本実施形態の動作説明図である。
本実施形態の動作をまとめた図表である。

実施例

0012

以下、図面に基づいて、本発明の実施形態に係るタッチ検出装置を説明する。

0013

図1は、本発明の実施形態に係るタッチ検出装置113が適用された電子楽器100のハードウェア構成例を示すブロック図である。
図1において、電子楽器100は、CPU101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、バス104と、入出力インタフェース105と、入力部106と、出力部107と、記憶部108と、MIDI(Musical Instrument Digital Interface)インタフェース部19と、ドライブ110と、タッチ検出装置113と、を備えている。

0014

CPU101は、ROM102に記録されているプログラム、または、記憶部108からRAM103にロードされたプログラムに従って各種の処理を実行する。例えばCPU101は、タッチ検出装置113から送信された発音情報(詳細については後述する)に基づいて発音するための制御、すなわち発音制御を実行する。RAM103には、CPU101が各種の処理を実行する上において必要なデータ等が適宜記憶される。

0015

CPU101、ROM102、RAM103、および後述するタッチ検出装置113は、バス104を介して相互に接続されている。このバス104にはまた、入出力インタフェース105も接続されている。入出力インタフェース105には、入力部106、出力部107、記憶部108、MIDIインタフェース部109、およびドライブ110が接続されている。

0016

入力部106は、複数種類の音が夫々対応付けられた複数の鍵(例えば、88個の鍵)を有するMIDIキーボードを含む。電子楽器100において、複数の鍵に対応づけられた複数種類の音は、ノートナンバにより識別される。この鍵の押離鍵操作は、後述するタッチ検出装置113に検出される。

0017

具体的には、入力部106は、複数の鍵毎に設けられ、押鍵操作に応じて、順次オンされる第1接点115、第2接点116、および第3接点117が、マトリクス状に接続された鍵スイッチマトリクス114を備える。すなわち、最も浅い位置(鍵に最も近い位置)から第1接点115、第2接点116、第3接点117の順に配置される。

0018

鍵スイッチマトリクス114は、タッチ検出装置113から送信されたコモン側スイッチ入力信号(KC)に応じて、オンされた第1接点115、第2接点116、または第3接点117を検出する。そして、鍵スイッチマトリクス114は、オンされた第1接点115を示す第1接点オン信号、オンされた第2接点116を示す第2接点オン信号、またはオンされた第3接点117を示す第3接点オン信号をタッチ検出装置113に送信する。

0019

一方、鍵スイッチマトリクス114は、鍵が押切られた状態からの離鍵操作に応じて、第3接点117、第2接点116、第1接点115の順にオフされたことを検出する。そして、鍵スイッチマトリクス114は、第1接点115、第2接点116、または第3接点117がそれぞれオフされたことを示す第1接点オフ信号、第2接点オフ信号、または第3接点オフ信号を、それぞれタッチ検出装置113に送信する。

0020

また、入力部106は、各種情報を入力するためのスイッチを備えている。そして、入力部106は、ユーザによって入力された各種情報をCPU101に出力する。

0021

出力部107は、ディスプレイや、スピーカおよびD/A変換回路等を有しており、画像や音声を出力する。

0022

記憶部108は、ハードディスクあるいはDRAM(Dynamic Random Access Memory)等で構成され、電子楽器100の制御のための各種プログラムを記憶する。

0023

MIDIインタフェース部109は、楽音を発生する音源112と発音制御部としてのCPU101とを接続するインタフェースである。音源112は、入力部106の複数の鍵に夫々対応付けられた複数種類の音を識別するノートナンバに対応付けた音源データを記憶し、CPU101の制御により、音源データを読み出し楽音を出力する。

0024

ドライブ110には、半導体メモリ(SDメモリコンパクトフラッシュメモリ等)、磁気ディスク光ディスク、あるいは光磁気ディスク等よりなる、リムーバブルメディア111が適宜装着される。ドライブ110によってリムーバブルメディア111から読み出されたプログラムは、必要に応じて記憶部108にインストールされる。また、リムーバブルメディア111は、記憶部108に記憶されている各種データも、記憶部108と同様に記憶することができる。

0025

次に、図2を参照して、本実施形態に係るタッチ検出装置113のハードウェアの構成について説明する。図2は、本実施形態に係るタッチ検出装置113のハードウェア構成例を示すブロック図である。タッチ検出装置113は、制御回路としてのコントローラ201と、イベントフラグセット回路202(以下、「EVフラグセット回路202」とも呼ぶ)と、ステータス更新回路203と、第1カウンタ用加算器図2中では「第1カウンタ」と表記)204と、第2カウンタ用加算器(図2中では「第2カウンタ」と表記)205と、第3カウンタ用加算器(図2中では「第3カウンタ」と表記)206と、第4カウンタ用加算器(図2中では「第4カウンタ」と表記)207と、カウンタメモリ208と、到達時間メモリ208と、到達比較回路210と、ベロシティレジスタ211と、ノートナンバレジスタ212と、を備える。

0026

コントローラ201は、図1の鍵スイッチマトリクス114の第1接点115、第2接点116、または第3接点117と接続され、第1接点オン信号、第2接点オン信号、または第3接点オン信号を受信する。また、コントローラ201は、タッチ検出装置113におけるその他のハードウェアを制御し、発音制御部としてのCPU101による発音の契機となる発音情報を生成し、バス104を介して発音制御部に送信する。

0027

本実施形態において、「発音情報」は、CPU101の処理に対する割り込み情報、入力部106の鍵が押下された場合におけるその鍵のノートナンバ、および鍵の押下の強さを示すタッチ情報としてのベロシティ値を含む。発音制御部としてのCPU101は、発音情報を受信したときには、音源112と協働して、当該発音情報に含まれるノートナンバに対応する音を、ベロシティに応じた強さで発音する制御を実行する。

0028

また、コントローラ201は、鍵スイッチマトリクス114にコモン側スイッチ入力信号(KC)を送信し、鍵スイッチマトリクス114から、第1接点オン信号、第2接点オン信号、または第3接点オン信号を受信する。

0029

また、コントローラ201は、カウンタメモリ208中の後述するイベントフラグ(以下、「EVフラグ」とも呼ぶ)およびステータスフラグ(以下、「STフラグ」とも呼ぶ)に応じて、タッチ検出装置113を構成する上記回路や加算器を制御する。コントローラ201は、これらEVフラグおよびSTフラグの値を、カウンタメモリ208に記憶し、適宜参照するとともに、EVフラグセット回路202およびステータス更新回路203を制御して更新させる。

0030

図3は、図2のカウンタメモリ208のデータ構成例を示す図である。カウンタメモリ208は、複数の鍵の夫々対応した複数のアドレス、具体的には本実施形態では88個の鍵の夫々に対応した0番から87番までの88個のアドレスを有する。各アドレスには、対応付けられた鍵におけるEVフラグの値、STフラグの値、ベロシティカウンタ値、および補正時間用カウンタ値が記憶されている。

0031

詳細は後述するが、ベロシティカウンタ値(以下、「VC値」とも呼ぶ)は図2の第1カウンタ用加算器204または第3カウンタ用加算器206により加算され、補正時間用カウンタ値(以下、「TC値」とも呼ぶ)は図2の第2カウンタ用加算器205または第4カウンタ用加算器207により加算される。また、各アドレスには、鍵に対応付けられたノートナンバ(図示せず)が記憶されている。VC値およびTC値ともに、VC0〜VC7およびTC0〜TC7のそれぞれ8ビットの記憶領域を有する。

0032

EVフラグとしては、“0”又は“1”を取り得る。EVの値“0”は、いずれの鍵も押鍵又は離鍵されていない状態であることを示す。EVの値“1”は、いずれかの鍵が押鍵又は離鍵されている状態であることを示す。

0033

STフラグの値としては、“0”、“1”、“2”、“3又は“4”を取り得る。STフラグの値“0”は、押鍵待ち状態であることを示す。STフラグの値“1”は、後述するバイアス時間をカウント中であることを示す。STフラグの値“2”は、後述するベロシティ測定値をカウント中であることを示す。STフラグの値“3”は、後述する補正時間用カウンタ値をカウント中であることを示す。STフラグの値“4”は、離鍵待ちの状態であることを示す。

0034

EVフラグセット回路202は、コントローラ201の制御により、図2中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ208に記憶されたEVフラグの値を更新する。

0035

ステータス更新回路203は、コントローラ201の制御により、図2中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ208に記憶されたSTフラグの値を更新する。

0036

第1カウンタ用加算器204は、鍵スイッチマトリクス114の鍵ごとに、第1接点115のオンを契機とするコントローラ201によるカウント開始指示の後、第2接点116がオンされるまで、図2中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ208中のVC値を定期的なタイマ割込みに従って順次加算(カウントアップ)する。また、第1カウンタ用加算器204は、鍵スイッチマトリクス114の鍵ごとに、コントローラ201の制御により、カウンタメモリ208中のVC値をリセットする。

0037

同様に、第3カウンタ用加算器206は、鍵スイッチマトリクス114の鍵ごとに、第2接点116のオンを契機とするコントローラ201によるカウント開始指示の後、第3接点117がオンされるまで、図2中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ208中のVC値を定期的なタイマ割込みに従って順次加算(カウントアップ)する。また、第3カウンタ用加算器206は、鍵スイッチマトリクス114の鍵ごとに、コントローラ201の制御により、カウンタメモリ208中のVC値をリセットする。

0038

ここで、カウンタメモリ208中のVC値は、STフラグの値“1”のときはバイアス時間を示し、STフラグの値“2”のときはベロシティ測定値を示す。すなわち、ベロシティ測定値は、第1接点115または第2接点116がオンされてから第2接点116または第3接点117がオンされるまでの時間から、予め設定されたバイアス時間が除外された時間を示す値である。

0039

第2カウンタ用加算器205は、鍵スイッチマトリクス114の鍵ごとに、第2接点116のオンおよびベロシティ値が閾値より大きいことを契機とするコントローラ201によるカウント開始指示の後、到達比較回路210でカウンタメモリ208中のTC値の現在値と到達時間メモリ208の設定値との一致が検出されるまで、図2中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ208中のTC値を定期的なタイマ割込みに従って順次加算(カウントアップ)する。また、第2カウンタ用加算器205は、鍵スイッチマトリクス114の鍵ごとに、コントローラ201の制御により、カウンタメモリ208中のTC値をリセットする。

0040

同様に、第4カウンタ用加算器207は、鍵スイッチマトリクス114の鍵ごとに、第3接点117のオンを契機とするコントローラ201によるカウント開始指示の後、到達比較回路210でカウンタメモリ208中のTC値の現在値と到達時間メモリ208の設定値との一致が検出されるまで、図2中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ208中のTC値を定期的なタイマ割込みに従って順次加算(カウントアップ)する。また、第4カウンタ用加算器207は、鍵スイッチマトリクス114の鍵ごとに、コントローラ201の制御により、カウンタメモリ208中のTC値をリセットする。

0041

到達時間メモリ208は、鍵スイッチマトリクス114の鍵ごとに、コントローラ201により確定されたベロシティ測定値に応じて、予め設定された第2カウンタ用加算器205または第4カウンタ用加算器207による加算終了時間を示す到達時間値を記憶する。この到達時間値は、鍵ごとに、第2接点116または第3接点117のオンによってベロシティ値が確定したときに、コントローラ201によって算出され、到達時間メモリ208に設定される。

0042

到達比較回路210は、鍵スイッチマトリクス114の鍵ごとに、到達時間メモリ208に記憶された到達時間値とカウンタメモリ208中のTC値の現在値とを比較し、到達時間値とTC値とが一致した時に、その鍵の一致信号をコントローラ201に送信する。

0043

図4は、図2のハードウェア構成例を有する図1のタッチ検出装置113によるタッチ検出動作処理の例を示すフローチャートである。この処理は、タッチ検出装置113内のコントローラ201が特には図示しないタッチ検出動作処理プログラムを実行する動作として実現される。コントローラ201は、鍵スイッチマトリクス114の鍵ごとにそのタッチ状態を繰り返しスキャンするごとに、タッチ検出動作処理プログラムを呼び出して実行することにより、現在スキャンしている鍵についてのタッチ状態を検出する。

0044

どの鍵も押鍵されていない初期状態では、図3に示されるカウンタメモリ208中の全ての鍵に対応する記憶領域において、EVフラグは押鍵、離鍵イベントが発生してないことを示す値“0”にリセットされ、STフラグは押鍵の状態を示す値“0”にリセットされ、VC値およびTC値はオール“0”にリセットされる。

0045

タッチ検出動作処理が起動されるとまず、コントローラ201は、鍵スイッチマトリクス114の現在スキャン中の鍵から第1接点オン信号を受信したか否かを判定することにより、第1接点115がオフからオンに変化したか否かを判定する(ステップS401)。

0046

コントローラ201は、第1接点オン信号を受信した場合(ステップS401の判定がYESの場合)、つまり第1接点115がオフからオンに変化した場合は、現在スキャン中の鍵のノートナンバをノートナンバレジスタ212に格納する。なお、複数の鍵が同時に押鍵されることを考慮してノートナンバレジスタ212は、複数鍵分のノートナンバを記憶できるように構成してよい。そして、コントローラ201は、EVフラグセット回路202に、カウンタメモリ208中の現在スキャン中の鍵に対応するEVフラグの値を、押鍵または離鍵イベントの発生を示す値“1”にセットさせる。また、コントローラ201は、ステータス更新回路203に、カウンタメモリ208中の現在スキャン中の鍵に対応するSTフラグの値を、押鍵バイアスカウント中を示す値“1”にセットさせる。さらに、コントローラ201は、第1カウンタ用加算器204に、カウンタメモリ208中の現在スキャン中の鍵に対応するVC値をリセットさせ、加算動作カウント動作)を開始させる。STフラグが“1”の場合、VC値は、バイアス時間を示す。このバイアス時間は、第1接点115でのタッチ検出の不安定動作を除去するためにカウントされる。詳細なフローチャートは省略するが、コントローラ201は、カウンタメモリ208中の現在スキャン中の鍵に対応するVC値がバイアス時間として予め設定された所定値となった場合には、ステータス更新回路203に、カウンタメモリ208中の現在スキャン中の鍵に対応するSTフラグの値を、ベロシティカウント中を示す値“2”にセットさせる。さらに、コントローラ201は、第1カウンタ用加算器204に、カウンタメモリ208中の現在スキャン中の鍵に対応するVC値をリセットさせ、加算動作(カウント動作)を再度開始させる。これにより、第1接点115でのタッチ検出後、バイアス時間分を除いてベロシティが計測されることになる。以上のようにして、コントローラ201は、第1接点オン信号を受信した場合、カウンタメモリ208中の現在スキャン中の鍵に対応するVC値カウント(以下これを「VC1カウント」と呼ぶ)を開始する(以上、図4のステップS402)。その後、コントローラ201は、現在スキャン中の鍵に対するタッチ検出動作処理を終了する。これ以後、第1カウンタ用加算器204は、第2接点116がオンされるまで、カウンタメモリ208中のVC値(VC1カウント値)を定期的なタイマ割込みに従ってカウントアップさせる。

0047

コントローラ201は、第1接点オン信号を受信しなかった場合(ステップS401の判定がNOの場合)、つまり第1接点115がオフからオンに変化する以外の状態の場合は鍵スイッチマトリクス114の現在スキャン中の鍵から第2接点オン信号を受信したか否かを判定することにより、第2接点116がオフからオンに変化したか否かを判定する(ステップS403)。

0048

コントローラ201は、第2接点オン信号を受信した場合(ステップS403の判定がYESの場合)、つまり第2接点116がオフからオンに変化する以外の状態の場合は、現在スキャン中の鍵に対応するVC1カウントを確定させる(ステップS404)。具体的には、コントローラ201は、カウンタメモリ208中の現在スキャン中の鍵に対応するVC値に対して反転処理逆数演算)を実行することによりベロシティ値(この値を「VC1」とする)を算出し、そのVC1値をベロシティレジスタ211に格納する。すなわち、現在スキャン中の鍵において、第1接点115がオンされてから第2接点116がオンされるまでの時間長に反比例する値が、VC1値としてベロシティレジスタ211に格納される。なお、ノートナンバレジスタ212の各記憶アドレスとベロシティレジスタ211の各記憶アドレスは対応つけられており、ベロシティレジスタ211中のどのベロシティ値がどのノートナンバであるかを識別できるものとする。

0049

続いて、コントローラ201は、VC1値が所定の閾値αよりも大きいか否かを判定する(ステップS405)。

0050

VC1>αではない場合(ステップS405の判定がNOの場合)には、現在スキャン中の鍵についてはさらに第2接点116から第3接点117までの押鍵動作を監視するために、コントローラ201は、ステータス更新回路203に、カウンタメモリ208中の現在スキャン中の鍵に対応するSTフラグの値を、押鍵バイアスカウント中を示す値“1”にセットさせる。さらに、コントローラ201は、第3カウンタ用加算器206に、カウンタメモリ208中の現在スキャン中の鍵に対応するVC値をリセットさせ、加算動作(カウント動作)を開始させる。ステップS402の場合と同様に、STフラグが“1”の場合、VC値は、バイアス時間を示す。このバイアス時間は、第2接点116でのタッチ検出の不安定動作を除去するためにカウントされる。詳細なフローチャートは省略するが、コントローラ201は、カウンタメモリ208中の現在スキャン中の鍵に対応するVC値がバイアス時間として予め設定された所定値となった場合には、ステータス更新回路203に、カウンタメモリ208中の現在スキャン中の鍵に対応するSTフラグの値を、ベロシティカウント中を示す値“2”にセットさせる。さらに、コントローラ201は、第3カウンタ用加算器206に、カウンタメモリ208中の現在スキャン中の鍵に対応するVC値をリセットさせ、加算動作(カウント動作)を再度開始させる。これにより、第2接点116でのタッチ検出後、バイアス時間分を除いてベロシティが計測されることになる。以上のようにして、コントローラ201は、第2接点オン信号を受信しかつVC1>αではない場合、すなわち現在スキャン中の鍵がそれほど強く押鍵されていない場合には、さらに第2接点116から第3接点117までの押鍵動作を監視するために、カウンタメモリ208中の現在スキャン中の鍵に対応するVC値カウント(以下これを「VC2カウント」と呼ぶ)を開始する(以上、図4のステップS406)。その後、コントローラ201は、現在スキャン中の鍵に対するタッチ検出動作処理を終了する。これ以後、第3カウンタ用加算器206は、第3接点116がオンされるまで、カウンタメモリ208中のVC値(VC2カウント値)を定期的なタイマ割込みに従ってカウントアップさせる。

0051

VC1>αではある場合(ステップS405の判定がYESの場合)には、アコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦する動作をシミュレートするために、コントローラ201は、ステータス更新回路203に、カウンタメモリ208中の現在スキャン中の鍵に対応するSTフラグの値を、押鍵補正時間カウント中を示す値“3”にセットさせる。次に、コントローラ201は、到達時間メモリ208に到達時間値をセットする。この到達時間値は、アコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦するまでの時間をシミュレートするものである。コントローラ201は、この到達時間を、ステップS404の処理で確定したVC1値の速度で第2接点116から規定の下限ストロークの位置まで移動する時間として算出する。さらに、コントローラ201は、第2カウンタ用加算器205に、カウンタメモリ208中の現在スキャン中の鍵に対応するTC値をリセットさせ、加算動作(カウント動作)を開始させる。以上のようにして、コントローラ201は、第2接点オン信号を受信しかつVC1>αである場合、すなわち現在スキャン中の鍵が強く押鍵された場合には、アコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦する動作をシミュレートするために、カウンタメモリ208中の現在スキャン中の鍵に対応するTC値カウント(以下これを「TC1カウント」と呼ぶ)を開始する(以上、図4のステップS407)。その後、コントローラ201は、現在スキャン中の鍵に対するタッチ検出動作処理を終了する。これ以後、第2カウンタ用加算器205は、到達比較回路210が現在スキャン中の鍵に対するTC値と到達時間メモリ208中の到達時間値との一致を検出するまで、カウンタメモリ208中のTC値(TC1カウント値)を定期的なタイマ割込みに従ってカウントアップさせる。

0052

コントローラ201は、第2接点オン信号を受信しなかった場合(ステップS403の判定がNOの場合)、つまり第2接点116がオフからオンに変化する以外の状態の場合は、鍵スイッチマトリクス114の現在スキャン中の鍵から第3接点オン信号を受信したか否かを判定することにより、第3接点117がオフからオンに変化したか否かを判定する(ステップS408)。

0053

コントローラ201は、第3接点オン信号を受信した場合(ステップS408の判定がYESの場合)、つまり第3接点117がオフからオンに変化した場合は、現在スキャン中の鍵に対応するVC2カウントを確定させる。具体的には、コントローラ201は、カウンタメモリ208中の現在スキャン中の鍵に対応するVC値に対して反転処理(逆数演算)を実行することによりベロシティ値(この値を「VC2」とする)を算出し、そのVC2値をベロシティレジスタ211に格納する。すなわち、現在スキャン中の鍵において、第2接点116がオンされてから第3接点117がオンされるまでの時間長に反比例する値が、VC2値としてベロシティレジスタ211に格納される。また、コントローラ201は、ステータス更新回路203に、カウンタメモリ208中の現在スキャン中の鍵に対応するSTフラグの値を、押鍵補正時間カウント中を示す値“3”にセットさせる。次に、コントローラ201は、到達時間メモリ208に到達時間値をセットする。コントローラ201は、この到達時間を、確定したVC2値の速度で第3接点117から規定の下限ストロークの位置まで移動する時間として算出する。さらに、コントローラ201は、第4カウンタ用加算器207に、カウンタメモリ208中の現在スキャン中の鍵に対応するTC値をリセットさせ、加算動作(カウント動作)を開始させる。以上のようにして、コントローラ201は、第3接点オン信号を受信した場合には、アコースティックピアノの押鍵動作をシミュレートするために、カウンタメモリ208中の現在スキャン中の鍵に対応するTC値カウント(以下これを「TC2カウント」と呼ぶ)を開始する(以上、図4のステップS409)。その後、コントローラ201は、現在スキャン中の鍵に対するタッチ検出動作処理を終了する。これ以後、第4カウンタ用加算器207は、到達比較回路210が現在スキャン中の鍵に対するTC値と到達時間メモリ208中の到達時間値との一致を検出するまで、カウンタメモリ208中のTC値(TC2カウント値)を定期的なタイマ割込みに従ってカウントアップさせる。

0054

コントローラ201は、第3接点オン信号を受信しなかった場合(ステップS408の判定がNOの場合)、つまり第3接点117がオフからオンに変化する以外の状態の場合は、鍵スイッチマトリクス114の現在スキャン中の鍵について、到達比較回路210がカウンタメモリ208中のTC値と到達時間メモリ208中の到達時間値との一致を検出したか否かを判定する(ステップS410)。

0055

現在スキャン中の鍵について、到達比較回路210が一致を検出した場合(ステップS410の判定がYESの場合)、コントローラ201は、その鍵に対応するノートナンバーとベロシティ値をノートナンバレジスタ212およびベロシティレジスタ211から読み出す。コントローラ201は、イベント割込信号図2の中の「割込みEV」)によって図1のCPU101に割込み通知を行うことにより、ノートナンバおよびベロシティ値からなる発音情報をCPU101に転送発音指示を行う(ステップS411)。最後に、コントローラ201は、現在スキャンしている鍵について、カウンタメモリ208中のSTフラグに、離鍵待ちを示す値“4”をセットする。その後、コントローラ201は、現在スキャン中の鍵に対するタッチ検出動作処理を終了する。これに対してCPU101は、タッチ検出装置113内のコントローラ201から通知された発音情報に基づく楽音の発音指示を、音源112に対して行う。

0056

コントローラ201は、第3接点オン信号を受信しなかった場合(ステップS410の判定がNOの場合)、コントローラ201は、現在スキャン中の鍵に対するタッチ検出動作処理をそのまま終了する。

0057

以上説明した押鍵時のタッチ検出動作処理に対して、離鍵時の消音動作処理については、本発明には関連しないのでその詳細は省略する。離鍵時の概略の動作として、コントローラ201は、現在スキャンしている鍵について、カウンタメモリ208中のSTフラグに離鍵待ちを示す値“4”が格納されている場合に、鍵スイッチマトリクス114から第1接点115がオフされたことを示す第1接点オフ信号を受信した場合に、コントローラ201は、離鍵処理を実行する。例えば、コントローラ201は、その鍵に対応するノートナンバーをノートナンバレジスタ212から読み出す。コントローラ201は、イベント割込信号(図2の中の「割込みEV」)によって図1のCPU101に割込み通知を行うことにより、上記ノートナンバを含む消音情報をCPU101に転送し消音指示を行う。最後に、コントローラ201は、現在スキャンしている鍵について、カウンタメモリ208中のSTフラグに、押鍵待ちを示す値“0”をセットする。これに対してCPU101は、タッチ検出装置113内のコントローラ201から通知された消音情報に基づく楽音の消音指示を、音源112に対して行う。なお、コントローラ201は、第3接点117、第2接点116、第1接点115の順に離鍵されるときの各接点間の時間長に基づいて、押鍵時と同様のベロシティ値を算出し、それを離鍵時のベロシティ値としてCPU101に送り、CPU101が音源112に対して離鍵時のベロシティ制御を行うようにしてもよい。

0058

以上のタッチ検出動作処理に基づく本実施形態の動作例について、以下に説明する。図5は、浅い位置の押鍵で発音する場合の本実施形態の動作説明図である。鍵が第1接点115と第2接点116は通過したが第3接点117までは到達しておらず、第1カウンタ用加算器204により第1接点115と第2接点116の間で計測されたベロシティVC1が閾値αより大きい場合、アコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦する状態に相当するとみなされる。この場合、図4のステップS403→S404→S405→S407の制御処理によって、第1接点115と第2接点116の間で計測されたVC1値に基づいて推定された下限ストローク位置までの到達時間が、第2カウンタ用加算器205によってカウントされる(TC1カウント)。このカウントによってカウンタメモリ208内のTC値が到達時間に一致した時点で、図4のステップS410→S411の制御処理によって、VC1値をベロシティ値とするノートオンイベントが発生する。また、第1接点115のオフで、ノートオフ(ダンパーオン)のイベントが発生する。

0059

このようにして、本実施形態によれば、アコースティックピアノにおいて鍵を下限位置まで押し切らずともベロシティ値が強ければハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦することによって発音が行われる動作をシミュレートすることが可能となり、より高精度な押鍵・連打検出を実現することが可能となる。

0060

図6は、浅い位置の押鍵で発音しない場合の本実施形態の動作説明図である。鍵が第1接点115および第2接点116は通過したが第3接点117までは到達しておらず、第1カウンタ用加算器204により第1接点115と第2接点116の間で計測されたベロシティVC1が閾値α以下である場合である。この場合、図4のステップS403→S404→S405→S406の処理によって、第2カウンタ用加算器205によるTC1カウントは動作を開始せず、第3カウンタ用加算器206によるVC2カウントが開始されるが、打弦が第3接点117までは到達せずに第2接点116、第1接点115の順にオフとなる。このため、図4のステップS410の判定はYESとならず、ノートオンは発生せず、従って、ノートオフも発生しない。

0061

すなわち、アコースティックピアノにおいて鍵を下限位置まで押し切らずかつベロシティ値が弱ければハンマーは鍵盤と繋がったアクション部からはずれずに打弦は行われず発音が行われないという動作をシミュレートすることが可能となる。

0062

図7は、第1接点115と第2接点116の間のVC1値が閾値α以下であったが、押鍵が第3接点117まで到達したので発音する場合の本実施形態の動作説明図である。鍵が第1接点115および第2接点116は通過した時点で、第1カウンタ用加算器204により第1接点115と第2接点116の間で計測されたベロシティVC1が閾値α以下であり、図4のステップS403→S404→S405→S406の処理によって、第2カウンタ用加算器205によるTC1カウントは動作を開始せず、第3カウンタ用加算器206によるVC2カウントが開始される。こ状態で、押鍵が第3接点117を通過すると、図4のステップS408→S409の制御処理によって、第2接点116と第3接点117の間で計測されたVC2値に基づいて推定された下限ストローク位置までの到達時間が、第4カウンタ用加算器207によってカウントされる(TC2カウント)。このカウントによってカウンタメモリ208内のTC値が到達時間に一致した時点で、図4のステップS410→S411の制御処理によって、VC2値をベロシティ値とするノートオンイベントが発生する。また、第1接点115のオフで、ノートオフ(ダンパーオン)のイベントが発生する。

0063

図8は、VC1値が閾値αを上回りかつ押鍵が第3接点117まで通過する場合の本実施形態の動作説明図である。この場合は、図5と同じ動作が実行される。図5で説明したように、この場合もアコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦する状態に相当するとみなされるため、図4のステップS403→S404→S405→S407の制御処理により、第2カウンタ用加算器205によるTC1カウントが開始され、第3カウンタ用加算器206によるVC2カウントは開始されない。従って、第3接点117のタッチ状態は無視される。この結果、図5の場合と同様に、カウンタメモリ208内のTC値が到達時間に一致した時点で、図4のステップS410→S411の制御処理によって、VC1値をベロシティ値とするノートオンイベントが発生する。また、第1接点115のオフで、ノートオフ(ダンパーオン)のイベントが発生する。

0064

図9は、以上の図5から図8までのケース毎の動作をまとめた図表である。第1接点115と第2接点116間で計測されたVC1値が閾値αよりも大きい場合、押鍵が第3接点117に到達しなくても(図5のケース)、到達しても(図8のケース)、第1接点115と第2接点116間で計測されたベロシティ値VC1で発音指示が行われる。これがアコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦する状態に相当する。一方、VC1値が閾値α以下である場合は、押鍵が第3接点117に到達しなければ発音指示は行われず(図6のケース)、到達すれば第2接点116と第3接点117間で計測されたベロシティ値VC2で発音指示が行われる(図7のケース)。

0065

以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
押鍵操作に応じて順次オンされる第1、第2、および第3接点を備えた鍵からの、当該第1、第2、または第3接点の夫々のオン検出信号に基づき、前記第1接点がオンされてから前記第2接点がオンされるまでの時間をカウントする第1カウンタと、
前記第1カウンタによるカウント完了後にカウントを開始する第2カウンタと、
前記第2接点がオンされてから前記第3接点がオンされるまでの時間をカウントする第3カウンタと、
前記第1カウンタによりカウントされた値が所定の閾値より大きい場合は、前記第2のカウンタのカウント値が予め設定された到達カウント値となったときに、前記第1のカウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力するとともに、前記第1カウンタによりカウントされた値が前記所定の閾値より小さい場合は、前記第3接点がオンされた後に、前記第3カウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力する制御回路と、
を備えるタッチ検出装置。
(付記2)
前記タッチ検出装置は、前記第3カウンタによるカウント完了後にカウントを開始する第4カウンタを更に備え、
前記補正時間用カウンタ値は、前記第2または第4カウンタでカウントされた時間を示し、
前記制御回路は、前記第1カウンタによりカウントされた値が前記所定の閾値より小さい場合に、前記第3接点がオンされた後さらに前記第4カウンタのカウンタ値が前記到達カウント値となったときに、前記第3カウンタのカウント値に応じたタッチ情報を含む発音指示を出力する、付記1に記載のタッチ検出装置。
(付記3)
付記1または2のいずれかに記載のタッチ検出装置を備えた電子楽器。
(付記4)
押鍵操作に応じて順次オンされる第1、第2、および第3接点を備えた鍵と、第1カウンタと、第2カウンタと、第3カウンタとを備えたタッチ検出装置で用いられるタッチ検出方法であって、前記タッチ検出装置は、
前記第1、第2、または第3接点の夫々のオン検出信号に基づき、前記第1接点がオンされてから前記第2接点がオンされるまでの時間を前記第1カウンタでカウントし、
前記第1カウンタによるカウント完了後に前記第2カウンタのカウントを開始させ、
前記第2接点がオンされてから前記第3接点がオンされるまでの時間を前記第1カウンタでカウントし、
前記第1カウンタによりカウントされた値が所定の閾値より大きい場合は、前記第2のカウンタのカウント値が予め設定された到達カウント値となったときに、前記第1のカウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力し、
前記第1カウンタによりカウントされた値が前記所定の閾値より小さい場合は、前記第3接点がオンされた後に、前記第3カウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力する、タッチ検出方法。
(付記5)
押鍵操作に応じて順次オンされる第1、第2、および第3接点を備えた鍵と、第1カウンタと、第2カウンタと、第3カウンタとを備えたタッチ検出装置として用いられるコンピュータに、
前記第1、第2、または第3接点の夫々のオン検出信号に基づき、前記第1接点がオンされてから前記第2接点がオンされるまでの時間を前記第1カウンタでカウントするステップと、
前記第1カウンタによるカウント完了後に前記第2カウンタのカウントを開始させるステップと、
前記第2接点がオンされてから前記第3接点がオンされるまでの時間を前記第1カウンタでカウントするステップと、
前記第1カウンタによりカウントされた値が所定の閾値より大きい場合は、前記第2のカウンタのカウント値が予め設定された到達カウント値となったときに、前記第1のカウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力するステップと、
前記第1カウンタによりカウントされた値が前記所定の閾値より小さい場合は、前記第3接点がオンされた後に、前記第3カウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力するステップと、
を実行させるプログラム。

0066

101 CPU
102 ROM
103 RAM
104バス
105入出力インタフェース
106 入力部
107 出力部
108 記憶部
109MIDIインタフェース部
110ドライブ
111リムーバブルメディア
112音源
113タッチ検出装置
114鍵スイッチマトリクス
115 第1接点
116 第2接点
117 第3接点
201コントローラ
202イベントフラグセット回路(EVフラグセット回路)
203ステータス更新回路
204 第1カウンタ用加算器
205 第2カウンタ用加算器
206 第3カウンタ用加算器
207 第4カウンタ用加算器
208 到達時間メモリ
210到達比較回路
211ベロシティレジスタ
212ノートナンバレジスタ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ