JP2023176066A - 電子楽器、鍵スキャン方法及び鍵スキャンプログラム - Google Patents
電子楽器、鍵スキャン方法及び鍵スキャンプログラム Download PDFInfo
- Publication number
- JP2023176066A JP2023176066A JP2022088146A JP2022088146A JP2023176066A JP 2023176066 A JP2023176066 A JP 2023176066A JP 2022088146 A JP2022088146 A JP 2022088146A JP 2022088146 A JP2022088146 A JP 2022088146A JP 2023176066 A JP2023176066 A JP 2023176066A
- Authority
- JP
- Japan
- Prior art keywords
- key
- detection
- line
- priority
- scan
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 132
- 238000001514 detection method Methods 0.000 claims abstract description 130
- 238000003780 insertion Methods 0.000 claims description 9
- 230000037431 insertion Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 122
- 230000008859 change Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 14
- 239000000758 substrate Substances 0.000 description 4
- 238000003825 pressing Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 102100023927 Asparagine synthetase [glutamine-hydrolyzing] Human genes 0.000 description 1
- 101100380329 Homo sapiens ASNS gene Proteins 0.000 description 1
- 101100048480 Vaccinia virus (strain Western Reserve) UNG gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H1/00—Details of electrophonic musical instruments
- G10H1/18—Selecting circuits
- G10H1/182—Key multiplexing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H1/00—Details of electrophonic musical instruments
- G10H1/18—Selecting circuits
- G10H1/22—Selecting circuits for suppressing tones; Preference networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H1/00—Details of electrophonic musical instruments
- G10H1/32—Constructional details
- G10H1/34—Switch arrangements, e.g. keyboards or mechanical switches specially adapted for electrophonic musical instruments
- G10H1/344—Structural association with individual keys
- G10H1/346—Keys with an arrangement for simulating the feeling of a piano key, e.g. using counterweights, springs, cams
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/221—Keyboards, i.e. configuration of several keys or key-like input devices relative to one another
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/265—Key design details; Special characteristics of individual keys of a keyboard; Key-like musical input devices, e.g. finger sensors, pedals, potentiometers, selectors
- G10H2220/271—Velocity sensing for individual keys, e.g. by placing sensors at different points along the kinematic path for individual key velocity estimation by delay measurement between adjacent sensor signals
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/265—Key design details; Special characteristics of individual keys of a keyboard; Key-like musical input devices, e.g. finger sensors, pedals, potentiometers, selectors
- G10H2220/275—Switching mechanism or sensor details of individual keys, e.g. details of key contacts, hall effect or piezoelectric sensors used for key position or movement sensing purposes; Mounting thereof
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/265—Key design details; Special characteristics of individual keys of a keyboard; Key-like musical input devices, e.g. finger sensors, pedals, potentiometers, selectors
- G10H2220/275—Switching mechanism or sensor details of individual keys, e.g. details of key contacts, hall effect or piezoelectric sensors used for key position or movement sensing purposes; Mounting thereof
- G10H2220/285—Switching mechanism or sensor details of individual keys, e.g. details of key contacts, hall effect or piezoelectric sensors used for key position or movement sensing purposes; Mounting thereof with three contacts, switches or sensor triggering levels along the key kinematic path
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
【課題】鍵の状態の検出の回数を必要最小限にしつつも、違和感が抑制された楽音の出力を実現できる電子楽器、鍵スキャン方法及び鍵スキャンプログラムを提供すること。【解決手段】押鍵途中または離鍵途中の鍵2aXの属するスキャンラインが優先ラインに設定され、スキャン順SSに対して設定された優先ラインが挿入される。これにより、1回のスキャン順SSに基づくスキャンラインの検出において、押鍵途中または離鍵途中の鍵2aXが属するスキャンラインの検出が複数回行われるので、押鍵途中または離鍵途中の鍵2aXが検出される頻度を高めることができる。これにより、当該鍵2aXに対応する楽音を詳細に制御できるので、当該楽音に対するユーザHの違和感を抑制できる。また、優先ラインのみがスキャン順SSに挿入されるので、鍵2aXが検出される回数の増加を必要最小限にすることができる。【選択図】図5
Description
本発明は、電子楽器、鍵スキャン方法及び鍵スキャンプログラムに関するものである。
特許文献1には、複数の白鍵31w及び黒鍵31b(以下「鍵」と略す)のそれぞれに第1~4鍵スイッチ群41~44が設けられ、これら第1~4鍵スイッチ群41~44のオン・オフ状態に応じて発音やベロシティの制御を行う電子鍵盤楽器が開示されている。第1~4鍵スイッチ群41~44は、それぞれ鍵の押鍵時に順にオンとなるように配置される。これら複数の鍵が、鍵に対応する音階に応じて15個のブロックに区分され、第1~4鍵スイッチ群41~44の状態の取得が、ブロック単位で順次実行される。
具体的には、まず各ブロックの第1,2鍵スイッチ群41,42の状態が取得され、ある鍵の第1,2鍵スイッチ群41,42が共にオンとなった場合、その鍵の第1鍵スイッチ群41がオンになった時刻と第2鍵スイッチ群42がオンになった時刻との時間差が更に経過した後に、その鍵の属するブロックの第3,4鍵スイッチ群43,44の状態の取得が開始される。これにより、常に全ての鍵の第1~4鍵スイッチ群41~44を取得することなく、押鍵または離鍵している鍵の状態が取得できるので、電子鍵盤楽器の処理負荷を軽減できる。
しかしながら、特許文献1においては、第1,2鍵スイッチ群41,42がオンになってから第3,4鍵スイッチ群43,44の状態の取得が開始されるまで、上記の時間差分のタイムラグを要する。これによって、第1,2鍵スイッチ群41,42がオンになった直後では、第1,2鍵スイッチ群41,42の取得と第3,4鍵スイッチ群43,44の取得とにタイムラグが生じる。これによって、第1~4鍵スイッチ群41~44がオンになるタイミングに応じて算出されるベロシティが実際に鍵を押鍵する速度よりも遅く算出されるため、かかるベロシティに応じて出力される楽音に電子鍵盤楽器を演奏するユーザが違和感を覚えてしまう虞がある。
本発明は、上述した問題点を解決するためになされたものであり、鍵の状態の検出の回数を必要最小限にしつつも、違和感が抑制された楽音の出力を実現できる電子楽器、鍵スキャン方法及び鍵スキャンプログラムを提供することを目的とする。
この目的を達成するために本発明の電子楽器は、複数の鍵と、前記鍵ごとに複数設けられる検出部によって、当該鍵の押鍵または離鍵の状態を検出する検出手段と、前記検出手段によって検出された前記鍵の状態に応じて楽音を制御する楽音制御手段と、を備えたものであり、前記検出手段による前記鍵の状態の検出を前記鍵ごとに順次実行するスキャン手段と、前記検出手段による検出結果に基づき押鍵途中または離鍵途中の前記鍵を取得する動作鍵取得手段と、前記スキャン手段において、前記動作鍵取得手段で取得された鍵の、前記検出手段による状態の検出を優先させる優先手段と、を備えている。
本発明の鍵スキャン方法は、複数の鍵と、前記鍵ごとに複数設けられる検出部とを備えた電子楽器で実行される方法であり、前記検出部によって、前記鍵の押鍵または離鍵の状態を検出する検出ステップと、前記検出ステップによって検出された前記鍵の状態に応じて楽音を制御する楽音制御ステップと、前記検出ステップによる前記鍵の状態の検出を前記鍵ごとに順次実行するスキャンステップと、前記検出ステップによる検出結果に基づき押鍵途中または離鍵途中の前記鍵を取得する動作鍵取得ステップと、前記スキャンステップにおいて、前記動作鍵取得ステップで取得された鍵の、前記検出ステップによる状態の検出を優先させる優先ステップと、を備えている。
また本発明の鍵スキャンプログラムは、複数の鍵および前記鍵ごとに複数設けられる検出部を有する鍵盤を備えたコンピュータに、前記鍵の状態を順次検出する処理を実行させるプログラムであり、前記検出部によって、前記鍵の押鍵または離鍵の状態を検出する検出ステップと、前記検出ステップによって検出された前記鍵の状態に応じて楽音を制御する楽音制御ステップと、前記検出ステップによる前記鍵の状態の検出を前記鍵ごとに順次実行するスキャンステップと、前記検出ステップによる検出結果に基づき押鍵途中または離鍵途中の前記鍵を取得する動作鍵取得ステップと、前記スキャンステップにおいて、前記動作鍵取得ステップで取得された鍵の、前記検出ステップによる状態の検出を優先させる優先ステップと、を前記コンピュータに実行させるものである。
以下、好ましい実施例について、添付図面を参照して説明する。まず、図1を参照して本実施形態の電子ピアノ1の概要を説明する。図1は、電子ピアノ1の正面斜視図である。なお、図1では、鍵盤2を鍵盤テーブル30から取り外した状態を図示している。図1の矢印U方向、矢印D方向、矢印F方向、矢印B方向、矢印L方向、矢印R方向は、それぞれ電子ピアノ1の上方向、下方向、前方向、後方向、左方向、右方向を示しており、図2,3も同様とする。
電子ピアノ1は、ユーザHの演奏に基づいた楽音や、MIDI(Musical Instrument Digital Interface)規格の楽曲データに基づいて楽音を発音する電子楽器である。図1に示すように、電子ピアノ1には、主に鍵盤2と、その鍵盤2を支持する鍵盤テーブル30と、電子ピアノ1の各種設定を行う設定キー4と、各種設定の設定状態等が表示されるLCD5とが配設される。
鍵盤2は、ユーザHの演奏による演奏情報を取得するための入力装置である。鍵盤2には、鍵盤テーブル30に鍵盤2を固定するための一対の支持部材40と、それら一対の支持部材40に支持されるベース部材50と、そのベース部材50に支持される鍵2a1~2a88とが設けられる。ユーザHによる鍵2a1~2a88の押鍵または離鍵に応じたMIDI規格の演奏情報がCPU10(図7参照)へ出力され、楽音として出力される。
支持部材40は、鍵盤2の前後にそれぞれ設けられる。支持部材40には、ベース部材50の前端および後端部分がそれぞれ固定され、ベース部材50の上面に鍵2a1~2a88が支持される。
次に、図2,3を参照して電子ピアノ1の詳細構成について説明する。図2は、図1のII-II線における電子ピアノ1の断面図であり、図3は、図2のIII部分を拡大した電子ピアノ1の部分拡大断面図である。なお、鍵2a1~2a88に対し、それらをベース部材50により回転可能に軸支(支持)する構造、それらの回転をガイドする構造、及び、鍵2a1~2a88の押鍵または離鍵を検出する構造は、鍵2a1~2a88で実質的に同一である。よって、以下においては、鍵2a1における構造についてのみ説明し、鍵2a2~2a88の構造の説明は省略する。
図2に示すように、電子ピアノ1には、ベース部材50の回転軸51回りに回転可能に軸支されるハンマー80と、そのハンマー80の回転状態から鍵2a1の押鍵または離鍵の状態を検出する後述の第1センサ2d1等が設けられる基板2b1とが設けられる。
ベース部材50の後端側の上面に、鍵2a1の後端部分が回転軸52回りに回転可能に軸支され、鍵2a1の前後方向略中央部分の下面からは下方に突出する突出部2c1が形成される。突出部2c1は、鍵2a1の回転に伴う回転力をハンマー80に伝達するための部位であり、突出部2c1の先端がハンマー80に当接される。
ハンマー80は、鍵2a1の押鍵時に押鍵の感触を付与するための質量ものであり、ハンマー80と突出部2c1との当接部分よりも後方側に位置する回転軸51にハンマー80が軸支される。鍵2a1が押鍵されると、鍵2a1の突出部2c1がハンマー80の上面に沿って摺動することでハンマー80が回転軸51回りに回転する。そのハンマー80の回転に伴う反力により、鍵2a1を押鍵した際の感触がユーザHに付与される。また、鍵2a1を押鍵した際に、ハンマー80の回転の加速度が基板2b1上の第1センサ2d1等で検出されることにより、押鍵時の押鍵情報が検出される。
図3に示すように、基板2b1には、その上面に配置される第1センサ2d1、第2センサ2e1及び第3センサ2f1と、カバー90とが設けられる。第1センサ2d1、第2センサ2e1及び第3センサ2f1は、それぞれ鍵2a1の押鍵または離鍵を検出するためのセンサである。カバー90は、これら第1センサ2d1等が収容される空間Sを有し第1センサ2d1等を被覆した状態で基板2b1に固定される。
そのカバー90の内面には、可動接点91a,91b,91cが設けられる。可動接点91aは、カバー90において第1センサ2d1と対応するように設けられ、可動接点91bは、カバー90において第2センサ2e1と対応するように設けられ、可動接点91cは、カバー90において第3センサ2f1と対応するように設けられる。
更に第1センサ2d1、第2センサ2e1及び第3センサ2f1と可動接点91a~91cとは、離鍵されていた鍵2a1が押鍵された場合に、まず最初に第1センサ2d1と可動接点91aとが当接し、次に第2センサ2e1と可動接点91bとが当接し、最後に第3センサ2f1と可動接点91cとが当接するように配置される。
第1センサ2d1と可動接点91aとが当接されている場合に第1センサ2d1はオンを検出し、これらの当接が解除されている場合に第1センサ2d1はオフを検出する。同様に、第2センサ2e1と可動接点91bとが当接されている場合に第2センサ2e1はオンを、これらの当接が解除されている場合は第2センサ2e1はオフを検出する。また第3センサ2f1と可動接点91cとが当接されている場合に第3センサ2f1はオンを検出し、これらの当接が解除されている場合に第3センサ2f1はオフを検出する。第1センサ2d1~第3センサ2f1がオンまたはオフになるタイミングに応じて、鍵2a1の押鍵または離鍵や押鍵途中または離鍵途中の状態が検出され、検出された状態に応じて鍵2a1に対応する楽音が制御される。
以下、鍵2a1~2a88を区別しない場合は「鍵2aX」といい、第1センサ2d1~2d88を区別しない場合は「第1センサ2dX」といい、同様に第2センサ2e1~2e88を区別しない場合は「第2センサ2eX」といい、第3センサ2f1~2f88を区別しない場合は「第3センサ2fX」という。更に、第1センサ2dX、第2センサ2eX及び第3センサ2fXをまとめて「センサ2dX~2fX」等と略す。
鍵1a2~2a88にそれぞれ対応する第1センサ2d1~2d88等は、定期的にそれらのオフ・オン状態が検出され、検出されたオフ・オン状態により鍵2a1~2a88に対応する楽音の制御に用いられる。図4,5を参照して、本実施形態の第1センサ2d1~2d88等の検出手法を説明する。
図4(a)は、スキャンラインを模式的に表す図である。本実施形態では、鍵2a1~鍵2a88のそれぞれに対応する第1センサ2d1~2d88、第2センサ2e1~2e88及び第3センサ2f1~2f88を、第1ライン~第11ラインの11個の「スキャンライン」に区分して、そのスキャンラインごとに順次、スキャンラインに属するセンサ2dX~2fXの状態の検出が行われる。
具体的には、図4(a)に示すように、鍵2a1、鍵2a12、鍵2a23、・・・、鍵2a67、鍵2a78の8つの鍵2aXに対応する、センサ2d1~2f1、センサ2d12~2f12、センサ2d23~2f23、・・・、センサ2d67~2f67,センサ2d78~2f78が第1ラインに設定される。また、鍵2a2、鍵2a13、・・・、鍵2a79の8つの鍵2aXに対応するセンサ2d2~2f2、センサ2d13~2f13、・・・、センサ2d79~2f79が第2ラインに設定され、以下同様に第3ライン~第11ラインが設定される。
このように設定された第1ライン~第11ラインを順次切替え、そのスキャンラインに属するセンサ2dX~2fXのオフ・オン状態が検出される。具体的には、スキャンラインを第1ライン、第2ライン、第3ライン、・・・、第11ラインと順番に切替え、それぞれのスキャンラインに属する鍵2aXのセンサ2dX~2fXのオン・オフ状態が検出される。第11ラインのセンサ2dX~2fXのオフ・オン状態の検出が完了したら、また第1ラインのセンサ2dX~2fXのオフ・オン状態の検出が開始される。以下、スキャンライン(第1ライン等)に属するセンサ2dX~2fXのオン・オフ状態の検出のことを、単に「スキャンライン(第1ライン等)の検出」という。
このように、88個の鍵2aXを、8個鍵2aXずつの11個のスキャンラインに区分し、スキャンラインごとにまとめてセンサ2dX~2fXのオン・オフ状態を検出することで、88個の鍵2aに対応するセンサ2dX~2fXを鍵2aごとに順次検出する場合と比較して、単位時間当たりにセンサ2dX~2fXのオン・オフ状態が検出される頻度(回数)を向上させることができる。
また、スキャンラインごとに、スキャンラインに属する鍵2aXのセンサ2dX~2fXの状態を検出する制御装置(図示せず)を設け、制御装置を図7で後述のCPU10に接続することで、全てのセンサ2dX~2fXからのオン・オフ状態が通信される信号線、即ち264本の信号線をCPU10に接続する必要がない。これにより、CPU10を搭載する回路基板(図示せず)をコンパクトに形成できるので、電子ピアノ1の製造コストを低減できる。
また、第1ラインが鍵2a1、鍵2a12、鍵2a23、・・・、鍵2a67、鍵2a78に対応するセンサ2dX~2fXにより設定され、第2ラインが鍵2a2、鍵2a13、鍵2a79に対応するセンサ2dX~2fXにより設定されるように、各スキャンラインが、鍵盤2において特定の範囲の連続した鍵2aX(例えば、鍵2a1、鍵2a2、鍵2a3・・・)ではなく、飛び飛びの鍵2aXによって構成される。
よって、1つのスキャンラインの検出により、鍵盤2上の特定の範囲の鍵2aXのみが検出されるのが抑制され、鍵盤2上の広範囲の鍵2aXを検出できる。これにより、ユーザHの鍵2aXの演奏操作に応じてレスポンス良くセンサ2dX~2fXの状態を検出できるので、かかる演奏操作に応じて出力される楽音の違和感を抑制できる。
このようなスキャンラインごとの検出において、押鍵途中または離鍵途中の鍵2aXが属するスキャンラインの検出が更に優先される。図4(b)及び図5を参照して、スキャンラインの検出を優先させる手法を説明する。
図4(b)は、タイムスロットデータTDを模式的に表す図である。本実施形態では、検出を行うスキャンラインの順番がタイムスロットデータTDで管理される。タイムスロットデータTDには、検出を行う順番を表すタイムスロットの番号(TS1~T21)と、そのタイムスロットで検出されるスキャンラインであるスキャン対象と、そのスキャン対象の検出を行うかの条件である実行条件とが設定される。
スキャン対象には、上記した第1ライン~第11ラインの他に、優先ラインが設定される。本実施形態において「優先ライン」とは、押鍵途中または離鍵途中である鍵2aXが属するスキャンラインのことをいう。本実施形態では、優先ラインとして第1優先ラインL1と第2優先ラインL2との2つの優先ラインが設けられる。
タイムスロットデータTDには、第1ライン~第11ラインが、第1ライン~第11ラインの順番で設定され、第1ライン~第11ラインのそれぞれの間に第1優先ラインL1と第2優先ラインL2とが挿入される。具体的には、タイムスロットTS1,TS3,TS5,TS7,TS9,TS11,TS13,TS15,TS17,TS19,TS21に第1ライン~第11ラインがそれぞれ設定される。また、タイムスロットTS2,TS6,TS10,TS14,TS18には、第1優先ラインL1が設定され、タイムスロットTS4,TS8,TS12,TS16,TS20には、第2優先ラインL2が設定される。
即ちタイムスロットデータTDの、第1ラインと第2ラインとの間、第3ラインと第4ラインとの間、・・・、第9ラインと第10ラインとの間に、それぞれ第1優先ラインL1が挿入される。また、タイムスロットデータTDの、第2ラインと第3ラインとの間、第4ラインと第5ラインとの間、・・・、第10ラインと第11ラインとの間の後に、それぞれ第2優先ラインL2が挿入される。
タイムスロットデータTDにおいて、第1ライン~第11ラインの間に第1優先ラインL1及び第2優先ラインL2が挿入される位置(挿入位置)が予め設定されることで、後述のスキャン順SSに対する第1優先ラインL1又は第2優先ラインL2の挿入を容易に行うことができる。
このように、タイムスロットデータTDの各タイムスロットに設定される第1ライン~第11ラインと、第1優先ラインL1及び第2優先ラインL2とに該当するスキャンラインの検出を行うかが、それぞれのタイムスロットに設定される実行条件に合致するかで判断される。
実行条件のうち、第1優先ラインL1又は第2優先ラインL2に対応するものは、第1ライン~第11ラインのいずれかが第1優先ラインL1又は第2優先ラインL2に設定済みであるかが設定される。ここで、本実施形態において、第1優先ラインL1又は第2優先ラインL2には、属する鍵2aXのいずれかが押鍵途中または離鍵途中であるスキャンラインが設定される。一方で、実行条件のうち第1ライン~第11ラインに対応するものは、それぞれが第1優先ラインL1及び第2優先ラインL2のいずれにも設定されていないかが設定される。
それぞれタイムスロットに設定された実行条件に合致するタイムスロットのスキャンラインの検出が実行され、一方で実行条件に合致しないタイムスロットのスキャンラインの検出が省略されることで、実際にスキャンラインの検出を行うスキャンラインの順番が設定されるスキャン順SSが設定される。図5を参照してスキャン順SSを説明する。
図5(a)は、優先ラインが設定されない場合のスキャン順SSを模式的に表す図であり、図5(b)は、第1優先ラインL1のみが設定された場合のスキャン順SSを模式的に表す図であり、図5(c)は、第1優先ラインL1及び第2優先ラインL2が設定された場合のスキャン順SSを模式的に表す図である。
スキャン順SSには、タイムスロットデータTDにおいて、実行条件に合致したタイムスロット及びそのスキャン対象が設定される。図5(a)に示すように、いずれの優先ラインも設定されない場合、スキャン順SSには、タイムスロットデータTDの各タイムスロットから、第1優先ラインL1及び第2優先ラインL2に該当するタイムスロットを削除したものが設定される。
図5(b)に示すように、優先ラインのうち、第1優先ラインL1のみに第1ラインが設定された場合、スキャン順SSには、タイムスロットデータTDのスキャン対象から、未設定の第2優先ラインL2と、第1優先ラインL1に設定された第1ライン(タイムスロットTS1)とに該当するタイムスロットを削除し、第1優先ラインL1に第1ラインを設定したものが設定される。
図5(c)に示すように、第1優先ラインL1及び第2優先ラインL2にそれぞれ第1ライン及び第8ラインが設定された場合、スキャン順SSには、タイムスロットデータTDから、第1優先ラインL1に設定された第1ライン(タイムスロットTS1)と、第2優先ラインL2に設定された第8ライン(タイムスロットTS15)とを削除し、第1優先ラインL1及び第2優先ラインL2にそれぞれ第1ライン及び第8ラインを設定したものが設定される。
このように設定されたスキャン順SSのスキャンラインの検出が、スキャン順SSの先頭(No.1)のスキャンラインから順次行われ、かかるスキャン順SSに基づくスキャンラインの検出が繰り返し行われる。
図5(b),(c)のように、押鍵途中または離鍵途中の鍵2aXが属するスキャンラインが優先ラインに設定され、スキャン順SSに対して設定された優先ラインが挿入される。これにより、1回のスキャン順SSに基づくスキャンラインの検出において、押鍵途中または離鍵途中の鍵2aXが属するスキャンラインの検出が複数回行われるので、押鍵途中または離鍵途中の鍵2aXが検出される頻度を高めることができる。これにより、当該鍵2aXに対応する楽音を詳細に制御できるので、当該楽音に対するユーザHの違和感を抑制できる。また、優先ラインのみがスキャン順SSに挿入されるので、鍵2aXが検出される回数の増加を必要最小限にすることができる。
図5(b)のスキャン順SSにおいては、第1優先ラインL1が挿入される一方で、第1優先ラインL1に設定された第1ラインに対応するタイムスロットTS1が削除される。これによって、タイムスロットTS1による第1ラインの検出と、タイムスロットTS2による第1優先ラインL1となった第1ラインの検出とが連続して実行されることがない。
同様に、図5(c)のスキャン順SSにおいては、第1優先ラインL1及び第2優先ラインL2が挿入される一方で、第1優先ラインL1に設定された第1ラインに対応するタイムスロットTS1の第1ラインと、第2優先ラインL2に設定された第8ラインに対応するタイムスロットTS15とが削除される。これによって、タイムスロットTS1による第1ラインの検出と、タイムスロットTS2による第1優先ラインL1となった第1ラインの検出とが連続して実行されることがなく、タイムスロットTS15による第8ラインの検出と、タイムスロットTS16による第2優先ラインL2となった第8ラインの検出とが連続して実行されることがない。
よって、1つのスキャン順SSにおいて優先ラインが検出される頻度を高めることができると共に、ある優先ラインの検出とその後の優先ラインの検出とにある程度の時間間隔が設けられるので、優先ラインに属するセンサ2dX~2fXのオン・オフ状態を効率良く検出できる。
次に、図6を参照して電子ピアノ1の機能を説明する。図6は、電子ピアノ1の機能ブロック図である。図6に示す通り、電子ピアノ1は、検出手段100と、楽音制御手段101と、スキャン手段102と、動作鍵取得手段103と、優先手段104とを有する。
検出手段100は、鍵2aXごとに複数設けられるセンサ2dX~2fXによって、当該鍵2aXの押鍵または離鍵の状態を検出する手段であり、図7で後述のCPU10で実現される。楽音制御手段101は、検出手段100によって検出された鍵2aXの状態に応じて楽音を制御する手段であり、また、スキャン手段102は、検出手段100による鍵2aXの状態の検出を鍵2aXごとに順次実行する手段であり、それぞれCPU10で実現される。
動作鍵取得手段103は、検出手段100による検出結果に基づき押鍵途中または離鍵途中の鍵2aXを取得する手段であり、また、優先手段104は、スキャン手段102において、動作鍵取得手段103で取得された鍵2aXの、検出手段100による状態の検出を優先させる手段であり、それぞれCPU10で実現される。
動作鍵取得手段103によって押鍵途中または離鍵途中の鍵2aXが取得され、スキャン手段において順次実行される、検出手段100による状態の検出において、押鍵途中または離鍵途中の鍵2aXの状態の検出が優先される。よって、検出手段100による鍵2aXの検出の増加を必要最小限にしつつも、押鍵途中または離鍵途中で、楽音が変化する可能性のある鍵2aXの状態の検出の頻度を高めることできる。これにより、出力される楽音を詳細に制御でき、当該楽音のユーザHの違和感を抑制することができる。
次に、図7を参照して電子ピアノ1の電気的構成を説明する。図7は、電子ピアノ1の電気的構成を示すブロック図である。図7に示す通り、電子ピアノ1は、CPU10と、フラッシュROM11と、RAM12と、上記した鍵盤2、設定キー4及びLCD5と、音源13と、Digital Signal Processor14(以下「DSP14」と称す)とを有し、それぞれバスライン15を介して接続される。
CPU10は、バスライン15により接続された各部を制御する演算装置である。フラッシュROM11は、CPU10により実行されるプログラムや固定値データ等を格納した書き換え可能な不揮発性の記憶装置であり、制御プログラム11aと、上記したタイムスロットデータTDが記憶されるタイムスロットデータ11bとを含む。CPU10によって制御プログラム11aが実行されると、図8(a)のメイン処理が実行される。
RAM12は、CPU10がプログラムの実行時に各種のワークデータやフラグ等を書き換え可能に記憶するためのメモリであり、上記したスキャン順SSが記憶されるスキャン順メモリ12aと、優先ラインが記憶される優先ラインメモリ12bとを含む。優先ラインメモリ12bには、上記した第1優先ラインL1が記憶される第1優先ライン12b1と第2優先ラインL2が記憶される第2優先ライン12b2とを含む。
音源13は、入力される演奏情報に基づく波形データを出力する装置である。DSP14は、音源13から入力された波形データを演算処理するための演算装置である。DSP14には、デジタルアナログコンバータ(DAC)16が接続され、そのDAC16にはアンプ17が接続され、そのアンプ17にはスピーカ18が接続される。
次に、図8~11を参照して電子ピアノ1のCPU10で実行される処理を説明する。図8(a)は、メイン処理のフローチャートである。メイン処理は、電子ピアノ1の電源が投入された場合に実行される処理である。メイン処理はまず、優先ラインメモリ12bの第1優先ライン12b1及び第2優先ライン12b2を未設定とすることで、優先ラインメモリ12bをリセットする(S1)。
S1の処理の後、後述の通常スキャン処理(S2)を実行し、その通常スキャン処理の後、電子ピアノ1のその他の処理を実行し(S3)、S2以下の処理を繰り返す。S3で行われる処理としては、例えば、設定キー4(図1参照)を介したユーザHの指示により、出力される楽音の音色を変更することが挙げられる。ここで図8(b)を参照して、通常スキャン処理を説明する。
図8(b)は、通常スキャン処理のフローチャートである。通常スキャン処理はまず、タイムスロットデータ11bのタイムスロットデータTDと、優先ラインメモリ12bとに基づきスキャン順SSを設定し、スキャン順メモリ12aに保存する(S10)。S10の処理においては、優先ラインメモリ12bの第1優先ライン12b1及び第2優先ライン12b2が未設定なので、図5(a)のように、タイムスロットデータTDから第1優先ラインL1及び第2優先ラインL2のタイムスロットが削除されたスキャン順SSがスキャン順メモリ12aに保存される。
S10の処理の後、スキャン順メモリ12aのスキャン順SSに基づき各鍵2aXのセンサ2dX~2fXの状態を検出する(S11)。S11の処理の後、ベロシティ処理(S12)を実行する。ここで図8(c)を参照して、ベロシティ処理を説明する。
図8(c)は、ベロシティ処理のフローチャートである。ベロシティ処理は、検出されたセンサ2eX,2fXの状態に基づきベロシティを算出し、算出されたベロシティに基づいて楽音を制御する処理である。上記した図8(a)の通常スキャン処理から実行される他、図9で後述の単一優先スキャン処理や図10で後述の複数優先スキャン処理からも実行される。
ベロシティ処理はまず、第2センサ2eXがオン且つ第3センサ2fXがオンになったかを確認する(S20)。具体的にS20の処理では、第2センサ2eXがオンの状態で、第3センサ2fXがオフからオンになったか、又は、第2センサ2eX及び第3センサ2fXが共にオフからオンになったかが確認される。
S20の処理において、第2センサ2eXがオン且つ第3センサ2fXがオンになった場合は(S20:Yes)、第2センサ2eXがオフからオンになった時刻と、3センサ2fXがオフからオンになった時刻との時間差から、鍵2aXのベロシティを算出する(S21)。S21の処理の後、算出されたベロシティを用いて該当する鍵2aXの楽音を制御する。具体的には、例えば、算出されたベロシティの大きさに応じて、該当する鍵2aXの楽音の音量の大きさを変更する。
このように本実施形態では、鍵2aXごとに設けられるセンサ2dX~2fXのうち、第2センサ2eX及び第3センサ2fXに基づいてベロシティが算出される。第2センサ2eXがオンである場合は、それに先行する第1センサ2dXがオンであるため、該当する鍵2aXが属するスキャンラインが優先ラインに設定されている。従って、該当する第2センサ2eX及び第3センサ2fXが検出される頻度が高い。
一方で、第1センサ2dXの状態は、優先ラインが設定されないスキャン順SS(図5(a)参照)でも検出されることもあるため、検出される頻度が優先ラインによって検出される第2センサ2eX及び第3センサ2fXがよりも低い場合も存在する。このように、検出される頻度が高い第2センサ2eX及び第3センサ2fXの状態に基づくことで、ベロシティが算出される頻度も高くなるので、より該当する鍵2aXの押鍵や離鍵の動作に追従したベロシティを出力することができる。
また例えば、押鍵された鍵2aXを離鍵し、完全に離鍵される前に再度押鍵するような場合、一連の動作では鍵2aXが完全に離鍵されないので、第1センサ2dXの状態は離鍵している最中においてもオンである。従って、ベロシティの算出に第1センサ2dXの状態を考慮してしまうと、離鍵によるベロシティは、オンである第1センサ2dXが影響してその大きさが十分に小さくならない。よって離鍵により楽音の音量が十分下がらないため、その後の再度押鍵により楽音の音量が離鍵の前の状態に戻っても、ユーザHには再度出力(再発音)されているように聞こえない虞がある。
そこで、ベロシティの算出から第1センサ2dXの状態を除外することで、先の離鍵によって第2センサ2eX及び第3センサ2fXが共にオフになるので、ベロシティを十分小さく算出できる。かかるベロシティと先の離鍵の前後のベロシティとの差が大きくなり、楽音の音量の変化が大きくなるので、離鍵および再度の押鍵による楽音の再発音を適切に行うことができる。
S20の処理において、第2センサ2eXがオン且つ第3センサ2fXがオンになっていない場合(S20:No)、又は、S22の処理の後、ベロシティ処理を終了する。
図8(b)に戻る。S12のベロシティ処理の後、第1センサ2dXがオン且つ第3センサ2fXがオフになった鍵2aXがあるかを確認する(S13)。S13の処理では、第3センサ2fXがオフの状態で、第1センサ2dXがオフからオンになったか、即ち該当する鍵2aXの押鍵がされているか、又は、第1センサ2dXがオンの状態で、第3センサ2fXがオンからオフになったか、即ち該当する鍵2aXの離鍵がされているかが確認される。言い換えると、該当する鍵2aXが押鍵途中または離鍵途中かが確認される。
S13の処理において、第1センサ2dXがオン且つ第3センサ2fXがオフになった鍵2aXがない場合は(S13:No)、S11以下の処理を繰り返す。一方でS13の処理において、第1センサ2dXがオン且つ第3センサ2fXがオフになった鍵2aXがある場合は(S13:Yes)、該当する鍵2aXが属するスキャンラインを優先ラインメモリ12bの第1優先ライン12b1に保存する(S14)。S14の処理の後、単一優先スキャン処理(S15)を実行し、通常スキャン処理を終了する。ここで図9を参照して、単一優先スキャン処理を説明する。
図9は、単一優先スキャン処理のフローチャートである。単一優先スキャン処理は、優先ラインとして第1優先ラインL1のみが設定された場合に実行される処理であり、上記した図8(a)の通常スキャン処理から実行される他、図11(a)で後述の第1優先ライン変更処理や図11(b)で後述の第2優先ライン変更処理からも実行される。
単一優先スキャン処理はまず、タイムスロットデータ11bのタイムスロットデータTDと、優先ラインメモリ12bとに基づきスキャン順SSを設定し、スキャン順メモリ12aに保存する(S30)。S30の処理においては、優先ラインメモリ12bの第1優先ライン12b1にスキャンラインが設定されている一方で、第2優先ライン12b2が未設定なので、図5(b)のように、タイムスロットデータTDから第2優先ラインL2のタイムスロットと、第1優先ラインL1に該当するスキャンラインのタイムスロットとが削除されたスキャン順SSがスキャン順メモリ12aに保存される。
S30の処理の後、スキャン順メモリ12aのスキャン順SSに基づき各鍵2aXのセンサ2dX~2fXの状態を検出する(S31)。S31の処理の後、図8(c)で上記したS12のベロシティ処理を実行する。S12のベロシティ処理の後、S31の処理による、第1優先ラインL1のセンサ2dX~2fXの状態の検出が一通り完了したかを確認する(S32)。
S32の処理において、第1優先ラインL1のセンサ2dX~2fXの状態の検出が一通り完了した場合は(S32:Yes)、第1優先ラインL1に属する各鍵2aXの第1センサ2dXと第3センサ2fXとの状態が同一であるかを確認する(S33)。S33の処理においては、第1優先ラインL1に属する鍵2aXに該当する第1センサ2dXと第3センサ2fXとの状態が同一、即ち第1優先ラインL1に属する鍵2aXの押鍵または離鍵が完了したかが確認される。
S33の処理おいて、第1優先ラインL1に属する各鍵2aXの第1センサ2dXと第3センサ2fXとの状態が同一である場合は(S33:Yes)、該当するスキャンラインに属する鍵2aXの押鍵または離鍵が完了し、該当するスキャンラインを検出する頻度を高くする必要がないため、優先ラインメモリ12bの第1優先ライン12b1を削除し、第1優先ライン12b1を未設定の状態にする(S34)。
S34の処理の後、図8(b)で上記したS2の通常スキャン処理を行う。これにより、鍵2aXの押鍵または離鍵が完了したスキャンラインが第1優先ラインL1から外され、優先ラインが設定されていないスキャン順SSによるセンサ2dX~2fXの状態の検出が実行される。
S33の処理において、第1優先ラインL1に属する鍵2aXに該当する第1センサ2dXと第3センサ2fXとの状態が同一ではない場合は(S33:No)、第1優先ラインL1が設定されてから一定時間(例えば20ミリ秒)が経過したかを確認する(S35)。S35の処理において、第1優先ラインL1が設定されてから一定時間(例えば20ミリ秒)が経過した場合は(S35:Yes)、上記のS34の処理およびS12のベロシティ処理を実行する。
即ち設定されてから一定時間が経過した第1優先ラインL1には、継続して押鍵または離鍵されている鍵2aXが含まれる。かかる鍵2aXは、ゆっくり押鍵または離鍵がされているため、第1優先ラインL1による頻度の高い検出を行わずとも、図5(a)のような優先ラインが設定されないスキャン順SSによっても押鍵途中または離鍵途中の状態を追従できる。そこで、設定されてから一定時間が経過した第1優先ラインL1を削除することで、第1優先ラインL1だったスキャンラインの押鍵途中または離鍵途中の状態を適切に検出できると共に、そのスキャンライン以外のスキャンラインを優先ラインに設定することができる。
S32の処理において、第1優先ラインL1のセンサ2dX~2fXの状態の検出が一通り完了していない場合は(S32:No)、第1優先ラインL1以外のスキャンラインにおけるセンサ2dX~2fXの状態の検出が、一通り完了している場合である。かかる場合に、第1優先ラインL1以外のスキャンラインで第1センサ2dXがオン且つ第3センサ2fXがオフになった鍵2aXがあるかを確認する(S36)。
S36の処理もS13の処理と同様に、第1優先ラインL1以外のスキャンラインにおいて、第3センサ2fXがオフの状態で、第1センサ2dXがオフからオンになったか、即ち該当する鍵2aXの押鍵がされているか、又は、第1センサ2dXがオンの状態で、第3センサ2fXがオンからオフになったか、即ち該当する鍵2aXの離鍵がされているかが確認される。
S36の処理において、第1優先ラインL1以外のスキャンラインで第1センサ2dXがオン且つ第3センサ2fXがオフになった鍵2aXがある場合は(S36:Yes)、該当する鍵2aXが属するスキャンラインを優先ラインメモリ12bの第2優先ライン12b2に保存する(S37)。S37の処理の後、S38の複数優先スキャン処理を実行する。なお、複数優先スキャン処理は図10,11で後述する。
S35の処理において、第1優先ラインL1が設定されてから一定時間が経過していない場合(S35:No)、又は、S36の処理において、第1優先ラインL1以外のスキャンラインで第1センサ2dXがオン且つ第3センサ2fXがオフになった鍵2aXがない場合は(S36:No)、S31以下の処理を繰り返す。
S34の処理の後に実行されるS2の通常スキャン処理の後、又は、S38の複数優先スキャン処理の後、単一優先スキャン処理を終了する。
次に図10,11を参照して、S38の複数優先スキャン処理を説明する。図10は、複数優先スキャン処理のフローチャートである。複数優先スキャン処理は、優先ラインとして第1優先ラインL1及び第2優先ラインL2の両方が設定された場合に実行される処理である。
複数優先スキャン処理はまず、タイムスロットデータ11bのタイムスロットデータTDと、優先ラインメモリ12bとに基づきスキャン順SSを設定し、スキャン順メモリ12aに保存する(S50)。S50の処理においては、優先ラインメモリ12bの第1優先ライン12b1及び第2優先ライン12b2のそれぞれスキャンラインが設定されているので、図5(c)のように、タイムスロットデータTDから、第1優先ラインL1及び第2優先ラインL2に該当するスキャンラインのタイムスロットが削除されたスキャン順SSがスキャン順メモリ12aに保存される。
S50の処理の後、スキャン順メモリ12aのスキャン順SSに基づき各鍵2aXのセンサ2dX~2fXの状態を検出する(S51)。S51の処理の後、図8(c)で上記したS12のベロシティ処理を実行する。S12のベロシティ処理の後、S51の処理による、第1優先ラインL1のセンサ2dX~2fXの状態の検出が一通り完了したかを確認する(S52)。S52の処理において、第1優先ラインL1のセンサ2dX~2fXの状態の検出が一通り完了した場合は(S52:Yes)、第1優先ライン変更処理(S53)を実行する。図11(a)を参照して第1優先ライン変更処理を説明する。
図11(a)は、第1優先ライン変更処理のフローチャートである。第1優先ライン変更処理はまず、第1優先ラインL1に属する各鍵2aXの第1センサ2dXと第3センサ2fXとの状態が同一であるかを確認する(S70)。S70の処理は、図9で上記したS33の処理と同様の処理なので、詳細な説明は省略する。
S70の処理において、第1優先ラインL1に属する各鍵2aXの第1センサ2dXと第3センサ2fXとの状態が同一である場合は(S70:Yes)、現状の第1優先ラインL1を削除し、現状の第2優先ラインL2を第1優先ラインL1にするため、まず、優先ラインメモリ12bの第2優先ライン12b2を第1優先ライン12b1に上書き(コピー)する(S71)。S71の処理の後、優先ラインメモリ12bの第1優先ライン12b1を削除し、第1優先ライン12b1を未設定の状態にする(S72)。S72の処理の後、図9で上記したS15の単一優先スキャン処理を実行し、第1優先ライン変更処理を終了する。
一方でS70の処理において、第1優先ラインL1に属する各鍵2aXの第1センサ2dXと第3センサ2fXとの状態が同一ではない場合は(S70:No)、第1優先ラインL1が設定されてから一定時間が経過したかを確認する(S73)。S73の処理も、 図9で上記したS35の処理と同様の処理なので、詳細な説明は省略する。
S73の処理において、第1優先ラインL1が設定されてから一定時間が経過した場合は(S73:Yes)、S71以下の処理を実行し、第1優先ラインL1が設定されてから一定時間が経過していない場合は(S73:No)、図10のS51以下(即ち図10における「<1>」以下)の処理を繰り返す。
図10に戻る。S52の処理において、第1優先ラインL1のセンサ2dX~2fXの状態の検出が一通り完了していない場合は(S52:No)、第1優先ラインL1以外のスキャンラインにおけるセンサ2dX~2fXの状態の検出が、一通り完了している場合である。かかる場合に、第2優先ラインL2のセンサ2dX~2fXの状態の検出が一通り完了したかを確認する(S54)。S54の処理において、第2優先ラインL2のセンサ2dX~2fXの状態の検出が一通り完了した場合は(S54:Yes)、第2優先ライン変更処理(S55)を実行する。図11(b)を参照して、第2優先ライン変更処理を説明する。
図11(b)は、第2優先ライン変更処理のフローチャートである。第2優先ライン変更処理はまず、第2優先ラインL2に属する各鍵2aXの第1センサ2dXと第3センサ2fXとの状態が同一であるかを確認する(S80)。
S80の処理において、第2優先ラインL2に属する各鍵2aXの第1センサ2dXと第3センサ2fXとの状態が同一である場合は(S80:Yes)、優先ラインメモリ12bの第2優先ライン12b2を削除し、第2優先ライン12b2を未設定の状態にする(S81)。S81の処理の後、図9で上記したS15の単一優先スキャン処理を実行して、第2優先ライン変更処理を終了する。これにより、鍵2aXの押鍵または離鍵が完了したスキャンラインが第2優先ラインL2から削除され、第1優先ラインL1のみが設定されたスキャン順SSによるセンサ2dX~2fXの状態の検出が実行される。
一方でS80の処理において、第2優先ラインL2に属する各鍵2aXの第1センサ2dXと第3センサ2fXとの状態が同一ではない場合は(S80:No)、第2優先ラインL2が設定されてから一定時間が経過したかを確認する(S82)。
S82の処理において、第2優先ラインL2が設定されてから一定時間が経過した場合は(S82:Yes)、S81以下の処理を実行し、第2優先ラインL2が設定されてから一定時間が経過していない場合は(S82:No)、図10のS51以下(即ち図10における「<1>」以下)の処理を繰り返す。
図10に戻る。S54の処理において、第2優先ラインL2のセンサ2dX~2fXの状態の検出が一通り完了していない場合は(S54:Yes)、第1優先ラインL1及び第2優先ラインL2以外のスキャンラインにおけるセンサ2dX~2fXの状態の検出が、一通り完了している場合である。かかる場合に、S56のその他ライン変更処理を実行する。図11(c)を参照して、その他ライン変更処理を説明する。
図11(c)は、その他ライン変更処理のフローチャートである。その他ライン変更処理はまず、第1優先ラインL1及び第2優先ラインL2以外のスキャンラインで第1センサ2dXがオン且つ第3センサ2fXがオフになった鍵2aXがあるかを確認する(S90)。S90の処理もS13,S36の処理と同様に、及び第2優先ラインL2以外のスキャンラインにおいて、第3センサ2fXがオフの状態で、第1センサ2dXがオフからオンになったか、即ち該当する鍵2aXの押鍵がされているか、又は、第1センサ2dXがオンの状態で、第3センサ2fXがオンからオフになったか、即ち該当する鍵2aXの離鍵がされているかが確認される。
S90の処理において、第1優先ラインL1及び第2優先ラインL2以外のスキャンラインで第1センサ2dXがオン且つ第3センサ2fXがオフになった鍵2aXがある場合は(S90:Yes)、優先ラインメモリ12bの第2優先ライン12b2を第1優先ライン12b1に上書き(コピー)する(S91)。S91の処理の後、優先ラインメモリ12bの第1優先ライン12b1に、第1センサ2dXがオン且つ第3センサ2fXがオフになった鍵2aXが属するスキャンラインを保存する(S92)。
これにより、第1優先ラインL1及び第2優先ラインL2のうち、最も古く優先ラインに設定された第1優先ラインL1が削除され、その代わりに、第1センサ2dXがオン且つ第3センサ2fXがオフになった鍵2aXが属するスキャンラインが、新たに優先スキャンに設定される。
即ち最も古く優先ラインに設定された第1優先ラインL1にも、継続して押鍵または離鍵されている鍵2aXが含まれている。かかる鍵2aXは、ゆっくり押鍵または離鍵がされているため、第1優先ラインL1による頻度の高い検出を行わずとも、タイムスロットTS1,TS3等の第1ライン~第11ラインの通常の検出によって押鍵途中または離鍵途中の状態を追従できる。そこで、最も古く優先ラインに設定された第1優先ラインL1を削除することで、第1優先ラインL1だったスキャンラインの押鍵途中または離鍵途中の状態を適切に検出できると共に、新たに優先ラインとなったスキャンラインを検出する頻度を高めることができる。
S90の処理において、第1優先ラインL1及び第2優先ラインL2以外のスキャンラインで第1センサ2dXがオン且つ第3センサ2fXがオフになった鍵2aXがない場合(S90:No)、又は、S92の処理の後、図10のS51以下(即ち図10における「<1>」以下)の処理を繰り返す。
図10に戻る。S53の第1優先ライン変更処理、S55の第2優先ライン変更処理、または、S56のその他ライン変更処理の後、複数優先スキャン処理を終了する。
以上、上記実施形態に基づき説明したが、種々の改良変更が可能であることは容易に推察できるものである。
上記実施形態では、1つのスキャンラインに属する鍵2aXの数は8個としたが、これに限られない。1つのスキャンラインに属する鍵2aXの数を11個以上としても良いし、11個以下としても良い。特に、1つのスキャンラインに含まれる鍵2aXの数を1つとし、鍵2aXごとに状態の検出を行っても良い。この場合、優先ラインも鍵2aXごとに設定すれば良い。
また、スキャンラインを音楽的に共通の意味のある鍵2aXの集合から構成しても良い。例えば、ある「ド」から次の「シ」までのように、同一のオクターブに対応する鍵2aXを1つのスキャンラインとして構成しても良いし、「ド・ミ・ソ」のような和音を構成する音に対応する鍵2aXを1つのスキャンラインとして構成しても良い。
上記実施形態では、優先ラインを第1優先ラインL1と第2優先ラインL2との2つとしたが、これに限られない。優先ラインは1つでも良いし、3つ以上でも良い。また、優先ラインの数は固定されているものに限られず、優先ラインの数を可変としても良い。例えば、鍵盤2で演奏されている曲のテンポに合わせて優先ラインの数を増減させても良い。この場合、鍵盤2で演奏されている曲がスローテンポの場合は優先ラインの数を少なく(例えば1つ)し、アップテンポの場合は優先ラインの数を多く(例えば3つ)すれば良い。
また、優先ラインに、押鍵途中または離鍵途中の鍵2aXが属するスキャンラインが設定されたが、これに限られず、設定キー4を介してユーザHから指定される等した、あるスキャンラインを鍵2aXの押鍵途中または離鍵途中に関わらず、常に優先スキャンラインに固定しても良い。
更に、予めユーザHが演奏する楽曲の楽譜情報(MIDIデータ等)を取得しておき、その楽譜情報に基づき、ユーザHが演奏する場面(タイミング)ごとに押鍵または離鍵される予定の鍵2aXの属するスキャンラインを、順次優先ラインに設定しても良い。
また、優先ラインの設定と共に、あるいは、優先ラインの設定の代わりに、タイムスロットデータTDのタイムスロットTS1,TS3,TS5等の第1ライン~第11ラインのうち、一定時間(例えば3秒間)押鍵または離鍵がされていない鍵2aXが属するスキャンラインが検出される頻度を低下させても良い。この場合、該当するスキャンラインのスキャン順SSへの追加を省略しても良いし、スキャン順SSにおいて該当するスキャンラインの検出を全て省略しても良いし、或いは、該当するスキャンラインの検出を、複数回(例えば2回)のスキャン順SSの検出につき1回のみとしても良い。押鍵または離鍵がされていないスキャンラインの検出が省略されることで、その他のスキャンラインが検出される頻度を高めることができる。
上記実施形態では、図9のS33の処理、図11(a)のS73の処理および図11(b)のS82の処理で、あるスキャンラインが優先ラインに設定されてから一定時間が経過した場合に、そのスキャンラインを優先ラインから除外したが、これに限られない。例えば、図9のS33の処理等を省略し、あるスキャンラインが優先ラインに設定されてから一定時間経過しても、鍵2aXの押鍵または離鍵が完了するまで優先ラインのままとしても良い。
上記実施形態では、タイムスロットデータTDにおいて、第1ライン~第11ラインを順番に配置したが、これに限られず、タイムスロットデータTDにおいて、第1ライン~第11ラインをランダムに配置しても良い。また、タイムスロットデータTDにおける第1ライン~第11ラインの配置を、設定キー4を介してユーザHが指定できるように構成しても良い。
更には、1つのタイムスロットデータTDにおいて、第1ライン~第11ラインを重複して配置しても良い(例えば、タイムスロットデータTDに第1ラインのタイムスロットを2個配置する)。例えば、鍵盤2で演奏されている曲において頻繁に押鍵される鍵2aXが含まれるスキャンラインを、重複してタイムスロットデータTDに配置することで、優先ラインと共に当該鍵2aXが検出される頻度をより高めることができる。
上記実施形態では、タイムスロットデータTDにおいて、優先ラインを第1ライン~第11ラインの間にそれぞれ挿入したが、これに限られない。例えば、タイムスロットデータTDにおいて、優先ラインの第1優先ラインL1と第2優先ラインL2とを連続して配置しても良い。また、タイムスロットデータTDにおける優先ラインの配置を、設定キー4を介してユーザHが指定できるように構成しても良い。
上記実施形態では、電子楽器として電子ピアノ1を例示したが、これに限られず、電子オルガンや電子吹奏楽器等、他の電子楽器に本発明を適用しても良い。また、制御プログラム11aをパーソナル・コンピュータや携帯端末等の情報処理装置で実行できるようにしても良い。この場合、パーソナル・コンピュータ等の情報処理装置に鍵盤2を接続すれば良い。
1 電子ピアノ(電子楽器)
2aX 鍵
2dX 第1センサ(検出部の一部、第1検出部)
2eX 第2センサ(検出部の一部、第2検出部)
2fX 第3センサ(検出部の一部、第3検出部)
11a 制御プログラム(鍵スキャンプログラム)
S11,S31,S51 検出手段、スキャン手段、検出ステップ、スキャンステップ
S21,S22 楽音制御手段、楽音制御ステップ
S13,S36,S90 動作鍵取得手段、動作鍵取得ステップ
S14,S37,S91 優先手段、優先ステップ
2aX 鍵
2dX 第1センサ(検出部の一部、第1検出部)
2eX 第2センサ(検出部の一部、第2検出部)
2fX 第3センサ(検出部の一部、第3検出部)
11a 制御プログラム(鍵スキャンプログラム)
S11,S31,S51 検出手段、スキャン手段、検出ステップ、スキャンステップ
S21,S22 楽音制御手段、楽音制御ステップ
S13,S36,S90 動作鍵取得手段、動作鍵取得ステップ
S14,S37,S91 優先手段、優先ステップ
Claims (12)
- 複数の鍵と、
前記鍵ごとに複数設けられる検出部によって、当該鍵の押鍵または離鍵の状態を検出する検出手段と、
前記検出手段によって検出された前記鍵の状態に応じて楽音を制御する楽音制御手段と、を備えた電子楽器であって、
前記検出手段による前記鍵の状態の検出を前記鍵ごとに順次実行するスキャン手段と、
前記検出手段による検出結果に基づき押鍵途中または離鍵途中の前記鍵を取得する動作鍵取得手段と、
前記スキャン手段において、前記動作鍵取得手段で取得された鍵の、前記検出手段による状態の検出を優先させる優先手段と、を備えていることを特徴とする電子楽器。 - 前記スキャン手段は、前記検出手段によって状態を検出する前記鍵の順番であるスキャン順に、前記検出手段による前記鍵の状態の検出を実行するものであり、
前記優先手段は、前記スキャン順に対して、前記動作鍵取得手段で取得された鍵を挿入することで、前記検出手段による当該鍵の状態の検出を優先させるものであることを特徴とする請求項1記載の電子楽器。 - 前記優先手段は、前記スキャン順における所定の前記鍵の位置である挿入位置に、前記動作鍵取得手段で取得された鍵を挿入するものであることを特徴とする請求項2記載の電子楽器。
- 前記優先手段は、前記スキャン順の挿入位置の前または後に、前記動作鍵取得手段で取得された鍵が存在する場合、前記スキャン順の挿入位置に当該鍵を挿入すると共に、前記スキャン順から前記挿入位置の前または後における当該鍵を削除するものであることを特徴とする請求項3記載の電子楽器。
- 前記優先手段は、前記動作鍵取得手段で取得された複数の鍵を、順次前記スキャン順に対して挿入するものであり、前記スキャン順に挿入された前記鍵の数が所定数以上となった場合に、最も古く挿入された前記鍵を前記スキャン順の挿入位置から削除することを特徴とする請求項3又は4に記載の電子楽器。
- 前記優先手段は、前記動作鍵取得手段で取得された複数の鍵を、順次前記スキャン順に対して挿入するものであり、前記鍵が前記スキャン順の挿入位置に挿入されてから所定時間が経過した場合に、当該鍵を前記スキャン順の挿入位置から削除することを特徴とする請求項3又は4に記載の電子楽器。
- 複数の前記鍵が、所定数ごとにスキャンラインに区分され、
前記検出手段は、前記スキャンラインごとに当該スキャンラインに属する鍵の状態の検出するものであり、
前記スキャン手段は、前記検出手段による状態の検出を、前記スキャンラインごとに順次実行するものであり、
前記優先手段は、前記動作鍵取得手段で取得された鍵が属するスキャンラインの前記検出手段による状態の検出を優先させるものであることを特徴とする請求項1記載の電子楽器。 - 前記検出部は、前記鍵の押鍵または離鍵の段階に応じて順次オン又はオフされるように少なくとも3つ配置され、
複数の前記検出部のうち、離鍵された前記鍵を押下した場合に、当該鍵の位置が最も浅い段階でオンになるものを第1検出部とし、当該鍵の位置が2番目に浅い段階でオンになるものを第2検出部とし、当該鍵の位置が3番目に浅い段階でオンになるものを第3検出部とし、
前記動作鍵取得手段は、前記第1検出部がオン且つ前記第3検出部がオフとなった前記鍵を、押鍵途中または離鍵途中の前記鍵として取得するものであることを特徴とする請求項1記載の電子楽器。 - 前記楽音制御手段は、前記第2検出部または前記第2検出部よりも前記鍵の位置が深い段階でオンとなる検出部の状態に応じて、対応する前記鍵の楽音を制御するものであることを特徴とする請求項8記載の電子楽器。
- 前記楽音制御手段は、前記第2検出部または前記第2検出部よりも前記鍵の位置が深い段階でオンとなる検出部がオンになるタイミングに応じて、前記鍵の楽音におけるベロシティを算出するものであることを特徴とする請求項9記載の電子楽器。
- 複数の鍵と、前記鍵ごとに複数設けられる検出部とを備えた電子楽器で実行される鍵スキャン方法であって、
前記検出部によって、前記鍵の押鍵または離鍵の状態を検出する検出ステップと、
前記検出ステップによって検出された前記鍵の状態に応じて楽音を制御する楽音制御ステップと、
前記検出ステップによる前記鍵の状態の検出を前記鍵ごとに順次実行するスキャンステップと、
前記検出ステップによる検出結果に基づき押鍵途中または離鍵途中の前記鍵を取得する動作鍵取得ステップと、
前記スキャンステップにおいて、前記動作鍵取得ステップで取得された鍵の、前記検出ステップによる状態の検出を優先させる優先ステップと、を備えていることを特徴とする鍵スキャン方法。 - 複数の鍵および前記鍵ごとに複数設けられる検出部を有する鍵盤を備えたコンピュータに、前記鍵の状態を順次検出する処理を実行させる鍵スキャンプログラムであって、
前記検出部によって、前記鍵の押鍵または離鍵の状態を検出する検出ステップと、
前記検出ステップによって検出された前記鍵の状態に応じて楽音を制御する楽音制御ステップと、
前記検出ステップによる前記鍵の状態の検出を前記鍵ごとに順次実行するスキャンステップと、
前記検出ステップによる検出結果に基づき押鍵途中または離鍵途中の前記鍵を取得する動作鍵取得ステップと、
前記スキャンステップにおいて、前記動作鍵取得ステップで取得された鍵の、前記検出ステップによる状態の検出を優先させる優先ステップと、を前記コンピュータに実行させることを特徴とする鍵スキャンプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022088146A JP2023176066A (ja) | 2022-05-31 | 2022-05-31 | 電子楽器、鍵スキャン方法及び鍵スキャンプログラム |
US18/314,787 US20230386441A1 (en) | 2022-05-31 | 2023-05-09 | Electronic musical instrument, key scanning method and non-transitory computer readable medium |
EP23173821.2A EP4287175A1 (en) | 2022-05-31 | 2023-05-17 | Electronic musical instrument, key scanning method and key scanning program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022088146A JP2023176066A (ja) | 2022-05-31 | 2022-05-31 | 電子楽器、鍵スキャン方法及び鍵スキャンプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023176066A true JP2023176066A (ja) | 2023-12-13 |
Family
ID=86386969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022088146A Pending JP2023176066A (ja) | 2022-05-31 | 2022-05-31 | 電子楽器、鍵スキャン方法及び鍵スキャンプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230386441A1 (ja) |
EP (1) | EP4287175A1 (ja) |
JP (1) | JP2023176066A (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1518951A (en) * | 1974-09-05 | 1978-07-26 | Nippon Musical Instruments Mfg | Key assigner |
JPS542710A (en) * | 1977-06-08 | 1979-01-10 | Nippon Gakki Seizo Kk | Single tone priority selector of electronic musical instruments |
JP2016057374A (ja) | 2014-09-08 | 2016-04-21 | ヤマハ株式会社 | 操作子の操作検出装置 |
-
2022
- 2022-05-31 JP JP2022088146A patent/JP2023176066A/ja active Pending
-
2023
- 2023-05-09 US US18/314,787 patent/US20230386441A1/en active Pending
- 2023-05-17 EP EP23173821.2A patent/EP4287175A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230386441A1 (en) | 2023-11-30 |
EP4287175A1 (en) | 2023-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7363944B2 (ja) | 情報処理装置、情報処理方法、情報処理プログラム、及び、電子楽器 | |
JP5041015B2 (ja) | 電子楽器および楽音生成プログラム | |
CN115376476A (zh) | 电子乐器、电子乐器的控制方法以及存储介质 | |
JPH0228696A (ja) | 電子楽器 | |
US11908440B2 (en) | Arpeggiator, recording medium and method of making arpeggio | |
WO2014025041A1 (ja) | 発音割り当てのための装置及び方法 | |
JP2023176066A (ja) | 電子楽器、鍵スキャン方法及び鍵スキャンプログラム | |
JP3383108B2 (ja) | 電子楽器 | |
EP4027330A1 (en) | Arpeggiator and program provided with function of same | |
JP4259533B2 (ja) | 演奏システム、このシステムに用いるコントローラ、およびプログラム | |
JP2565069B2 (ja) | 電子楽器 | |
JPH1039864A (ja) | 電子楽器及びそのディスプレイ装置 | |
JP4268920B2 (ja) | 電子楽器 | |
JP3844286B2 (ja) | 電子楽器の自動伴奏装置 | |
JP4211854B2 (ja) | 合奏システム、コントローラ、およびプログラム | |
US7872189B2 (en) | Electronic musical sound generator | |
US20230035440A1 (en) | Electronic device, electronic musical instrument, and method therefor | |
JP2006039262A (ja) | 効果付与装置及び方法 | |
JP7452501B2 (ja) | 自動演奏装置、電子楽器、演奏システム、自動演奏方法、及びプログラム | |
JP5560574B2 (ja) | 電子楽器および自動演奏プログラム | |
JP4457200B2 (ja) | 電子楽器 | |
JP4218688B2 (ja) | 合奏システム、このシステムに用いるコントローラ及びプログラム | |
CN116438596A (zh) | 信号生成装置、电子乐器、电子键盘装置、电子设备、信号生成方法及程序 | |
JPH02188798A (ja) | 電子楽器 | |
JP5703543B2 (ja) | 電子楽器、方法及びプログラム |