特許第6343911号(P6343911)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤマハ株式会社の特許一覧

特許6343911電子楽器、プログラム及び発音音高選択方法
<>
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000002
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000003
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000004
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000005
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000006
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000007
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000008
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000009
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000010
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000011
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000012
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000013
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000014
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000015
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000016
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000017
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000018
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000019
  • 特許6343911-電子楽器、プログラム及び発音音高選択方法 図000020
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6343911
(24)【登録日】2018年6月1日
(45)【発行日】2018年6月20日
(54)【発明の名称】電子楽器、プログラム及び発音音高選択方法
(51)【国際特許分類】
   G10H 1/18 20060101AFI20180611BHJP
【FI】
   G10H1/18 101
【請求項の数】6
【全頁数】30
(21)【出願番号】特願2013-240149(P2013-240149)
(22)【出願日】2013年11月20日
(65)【公開番号】特開2015-99328(P2015-99328A)
(43)【公開日】2015年5月28日
【審査請求日】2016年9月21日
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】100123881
【弁理士】
【氏名又は名称】大澤 豊
(74)【代理人】
【識別番号】100080931
【弁理士】
【氏名又は名称】大澤 敬
(72)【発明者】
【氏名】安良岡 直希
【審査官】 菊池 智紀
(56)【参考文献】
【文献】 特開平4−242293(JP,A)
【文献】 特開平4−51197(JP,A)
【文献】 特開2003−66962(JP,A)
【文献】 特開2000−231384(JP,A)
【文献】 特開2001−209382(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00− 7/12
G10G 1/00− 7/02
(57)【特許請求の範囲】
【請求項1】
それぞれ音高と対応する複数の操作部の操作状態に応じて所定の規則に基づき発音する音高を選択する1又は複数の選択手段と、
前記各選択手段による音高の選択履歴を保存する保存手段と、
前記保存手段が保存する選択履歴が、所定期間内に所定基準以上の頻度で選択する音高の変動があった、という条件を満たした選択手段についての前記所定の規則を、最後に発音開始操作された操作部の音高を選択する後着優先に変更する制御手段とを備えることを特徴とする電子楽器。
【請求項2】
それぞれ音高と対応する複数の操作部の操作状態に応じて所定の規則に基づき発音する音高を選択する1又は複数の選択手段と、
前記各操作部の操作履歴を保存する保存手段と、
前記保存手段が保存する操作履歴中の複数操作が、ある音高の操作部に発音開始操作を行ってから所定時間内に別の音高の操作部に発音停止操作を行う操作を、所定基準以上の頻度で行った、という条件を満たす場合に、該複数操作いずれかの際に選択する音高が変動した選択手段についての前記所定の規則を、最後に発音開始操作された操作部の音高を選択する後着優先に変更する制御手段とを備えることを特徴とする電子楽器。
【請求項3】
コンピュータを、
それぞれ音高と対応する複数の操作部の操作状態に応じて所定の規則に基づき発音する音高を選択する1又は複数の選択手段と、
前記各選択手段による音高の選択履歴を保存する保存手段と、
前記保存手段が保存する選択履歴が、所定期間内に所定基準以上の頻度で選択する音高の変動があった、という条件を満たした選択手段についての前記所定の規則を、最後に発音開始操作された操作部の音高を選択する後着優先に変更する制御手段として機能させるためのプログラム。
【請求項4】
コンピュータを、
それぞれ音高と対応する複数の操作部の操作状態に応じて所定の規則に基づき発音する音高を選択する1又は複数の選択手段と、
前記各操作部の操作履歴を保存する保存手段と、
前記保存手段が保存する操作履歴中の複数操作が、ある音高の操作部に発音開始操作を行ってから所定時間内に別の音高の操作部に発音停止操作を行う操作を、所定基準以上の頻度で行った、という条件を満たす場合に、該複数操作いずれかの際に選択する音高が変動した選択手段についての前記所定の規則を、最後に発音開始操作された操作部の音高を選択する後着優先に変更する制御手段として機能させるためのプログラム。
【請求項5】
発音を指示する複数の操作部の操作状態に応じて1又は複数の選択手段がそれぞれ所定の規則に基づき発音する音高を選択する選択手順と、
前記各選択手順による音高の選択履歴を保存する保存手順と、
前記保存手順で保存した選択履歴が、所定期間内に所定基準以上の頻度で選択する音高の変動があった、という条件を満たした選択手段についての前記所定の規則を、最後に発音開始操作された操作部の音高を選択する後着優先に変更する制御手順とを備えることを特徴とする発音音高選択方法。
【請求項6】
発音を指示する複数の操作部の操作状態に応じて1又は複数の選択手段がそれぞれ所定の規則に基づき発音する音高を選択する選択手順と、
前記各操作部の操作履歴を保存する保存手順と、
前記保存手順で保存した操作履歴中の複数操作が、ある音高の操作部に発音開始操作を行ってから所定時間内に別の音高の操作部に発音停止操作を行う操作を、所定基準以上の頻度で行った、という条件を満たす場合に、該複数操作いずれかの際に選択する音高が変動した選択手段についての前記所定の規則を、最後に発音開始操作された操作部の音高を選択する後着優先に変更する制御手順とを備えることを特徴とする発音音高選択方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数の操作部の操作状態に応じて発音する音高を選択する電子楽器、コンピュータにこのような音高選択機能を実現させるためのプログラム、および、複数の操作部の操作状態に応じて発音する音高を選択する発音音高選択方法に関する。
【背景技術】
【0002】
従来から、電子楽器において、押鍵されている音高の中から予め定めたルールに従って発音すべき音高を選択するアサイナを複数設け、各アサイナが選択した音高を、そのアサイナと対応する音色で発音させることが知られている。
【0003】
そして、この複数のアサイナを用いることにより、例えば1のアサイナに低音側の音高を選択させ、他のアサイナに高音側の音高を選択させるようにルールを定めておけば、自動的に低音側と高音側の音(例えば伴奏とメロディ)を異なる音色で弾き分けることができる。また、ルールの設定によっては、複数のアサイナに同じ音高を選択させ複数パートのユニゾン演奏のような発音を行ったり、複数のアサイナにそれぞれ異なる音高を選択させ複数パートのアンサンブル演奏のような発音を行ったりすることもできる。
このような電子楽器については、例えば特許文献1に記載がある。
【0004】
また、特許文献2には、電子楽器において、押鍵されたノートに、押鍵数に応じた規則で所定数のパートを割り当て、各ノートを、そのノートに割り当てたパートの音色で発音させる電子楽器が開示されている。この電子楽器によれば、押鍵数によらず、常に所定数のパートを発音させることができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第2565069号公報
【特許文献2】特開2010−79179号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上述の複数のアサイナを用いてそれぞれ発音すべき音高を選択する場合において、特許文献1に記載の方式では、必ずしも望ましい発音ができるとは限らなかった。
例えば、レガート演奏を行う場合のように、前の音と次の音を続けて演奏する場合、前の音の鍵を離鍵する前に次の音の鍵を押鍵する場合の発音に不都合があった。
【0007】
図19にこの例を示す。図19において、縦軸が時間、横軸が音高であり、各音高における帯が、その音高の鍵を押鍵している期間を示す。図19の例において、音高n4の鍵が押鍵され、これが離鍵される前に、音高n3の鍵が押鍵されている。そして、その後音高n4の鍵はすぐに離鍵されていることから、この演奏は音高n4の音と音高n3の音を続けて発音させることを意図した演奏であると推測できる。
【0008】
しかしながら、特許文献1に記載の方式では、押鍵操作に応じて各アサイナに発音すべき音高を選択させる一方、離鍵操作の際には、離鍵された鍵と対応する音を発音中の発音チャンネルにキーオフ信号を送るのみである。すなわち、離鍵操作の際には、アサイナによる音高の選択は行わない。
【0009】
従って、例えば初めに音高n4の鍵が(n1及びn2の鍵と同時に)押鍵されるKON1,2,4のタイミングでは、各アサイナは音高n1,n2,n4の3つの鍵が押鍵された状態で発音すべき音高を選択することになる。しかし、音高n3の鍵が押鍵されるKON3のタイミングでは、各アサイナは、音高n1〜n4の4つの鍵が押鍵されている状態で音高の選択を行うこととなってしまう。また、その後すぐに音高n4の鍵が離鍵されるKOFF4のタイミングでは、単に音高n4について発音している音を消音することになる。
【0010】
このため、KON1,2,4からKON3の期間と、KOFF4以降の期間とでは、押鍵されている鍵の音高順と、各アサイナが選択する音高との関係がずれてしまう可能性がある。すなわち、演奏操作からは、音高n4の音と音高n3の音とは続けて発音させる意図が推測できるのに、これらの音高の音を異なる音色で発音してしまい、不自然な発音となってしまう可能性がある。
【0011】
特許文献2には、複数のアサイナを用いる方式とは異なるものの、このようなレガート演奏時に発音が不自然とならないようにするためのミスレガート処理について記載されている。このミスレガート処理は、発音中の最新ノートのノートオンからミスレガート判定時間以内にノートオフがあった場合に、その時点でノートへのパートの割り当てと発音をやり直すというものである。
【0012】
このようにすれば、図19のような演奏操作がなされた場合に、KON3からKOFF4までの期間がミスレガート判定時間以内であれば、KOFF4のタイミングで割り当てをやり直すことができ、KOFF4以降は音高n1〜n3の3つの押鍵と対応した発音を行うことができる。
【0013】
しかしながら、KOFF4のタイミングで割り当てをやり直すとすると、音高n3に複数のパートを割り当てる場合に、音高n3の1回の押鍵について、KON3で発音開始するパートと、KOFF4で発音開始するパートとがあることになってしまう。このため、若干ずれたタイミングで2つの音が発音されることになり、聴感上好ましくない。この点は、音高が素早く入れ替わる(1回の押鍵の時間が短い、又は短時間に連続して発音がある)演奏を行う場合に特に顕著である。
【0014】
この発明は、このような事情に鑑みてなされたものであり、連続した演奏操作が一部分重なってなされた場合でも、聴感への悪影響を抑えつつ、演奏者の演奏操作の意図に合った発音を容易に行えるようにすることを目的とする。
【課題を解決するための手段】
【0015】
上記の目的を達成するため、この発明の電子楽器は、それぞれ音高と対応する複数の操作部の操作状態に応じて所定の規則に基づき発音する音高を選択する1又は複数の選択手段と、上記各選択手段による音高の選択履歴を保存する保存手段と、上記保存手段が保存する選択履歴が、所定期間内に所定基準以上の頻度で選択する音高の変動があった、という条件を満たした選択手段についての上記所定の規則を、最後に発音開始操作された操作部の音高を選択する後着優先に変更する制御手段とを設けたものである。
【0016】
また、この発明の別の電子楽器は、それぞれ音高と対応する複数の操作部の操作状態に応じて所定の規則に基づき発音する音高を選択する1又は複数の選択手段と、上記各操作部の操作履歴を保存する保存手段と、上記保存手段が保存する操作履歴中の複数操作が、ある音高の操作部に発音開始操作を行ってから所定時間内に別の音高の操作部に発音停止操作を行う操作を、所定基準以上の頻度で行った、という条件を満たす場合に、その複数操作いずれかの際に選択する音高が変動した選択手段についての上記所定の規則を、最後に発音開始操作された操作部の音高を選択する後着優先に変更する制御手段とを設けたものである。
この発明は、装置として実現する他、プログラム、方法、システム、その他任意の形態で実現することができる。
【発明の効果】
【0017】
以上のようなこの発明の電子楽器、プログラム及び発音音高選択方法によれば、連続した演奏操作が一部分重なってなされた場合でも、聴感への悪影響を抑えつつ、演奏者の演奏操作の意図に合った発音を容易に行えるようにすることができる。
【図面の簡単な説明】
【0018】
図1】本発明の第1実施形態である電子楽器のハードウェア構成を示すブロック図である。
図2図1に示した電子楽器における、アサイナを用いた発音制御に関連する機能の機能ブロック図である。
図3】アサイナに設定する、発音音高選択規則の例を示す図である。
図4】選択履歴テーブルの例を示す図である。
図5図1に示した電子楽器におけるアサイナによる音高選択の例を示す図である。
図6図1に示した電子楽器においてCPUが実行する処理を示すフローチャートである。
図7図6に示した速弾き判定処理のフローチャートである。
図8図6に示した発音割り当て処理のフローチャートである。
図9図1に示した電子楽器においてCPUが実行する別の処理を示すフローチャートである。
図10】第1実施形態の比較例における音高選択の例を示す図である。
図11】第2実施形態の電子楽器における、アサイナを用いた発音制御に関連する機能を示す、図2と対応する機能ブロック図である。
図12】操作履歴テーブルの例を示す図である。
図13】レガート履歴テーブルの例を示す図である。
図14】第2実施形態の電子楽器におけるアサイナによる音高選択の例を示す図である。
図15】第2実施形態の電子楽器においてCPUが実行する処理を示すフローチャートである。
図16】第2実施形態の比較例における音高選択の例を示す図である。
図17】第2実施形態の別の比較例における音高選択の例を示す図である。
図18】アサイナに設定する発音音高選択規則の変形例を示す図である。
図19】電子楽器における演奏操作の例を示す図である。
【発明を実施するための形態】
【0019】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
〔第1実施形態:図1乃至図9
図1は、本発明の一実施形態である電子楽器のハードウェア構成を示すブロック図である。
図1に示すように、電子楽器10は、CPU11、ROM12、RAM13、記憶装置14、通信インタフェース(I/F)15、検出回路16、表示回路17、音源回路18を備え、これらをシステムバス19により接続している。また、電子楽器10は、CPU11に接続するタイマ21、検出回路16に接続する演奏操作子22及び設定操作子23、表示回路17に接続するディスプレイ24、音源回路18に接続するDAC(デジタルアナログ変換回路)25及びサウンドシステム26も備える。
【0020】
そして、CPU11が、RAM13をワークエリアとしてROM12又は記憶装置14に記憶された所要のプログラムを実行することにより、電子楽器10全体を制御し、演奏操作の検出、演奏操作子の操作状態に応じた発音音高の選択、その選択に従った発音の制御等の各種機能を実現する。CPU11に接続されるタイマ21は、基本クロック信号、割り込み処理タイミング等をCPU11に供給する。
なお、ROM12には、上記のプログラムの他、音色に対応する波形データや自動演奏データ、自動伴奏データ(伴奏スタイルデータ)などの各種データファイル、各種パラメータ及び各種テーブル等も記憶する。
【0021】
RAM13は、フラグ、レジスタ、各種パラメータ等を記憶するCPU11のワークエリアの他、再生バッファ等のバッファ領域としても用いる。
記憶装置14は、ハードディスク、半導体メモリ等の記録媒体とその駆動装置の組み合わせの少なくとも1つで構成される。
通信I/F15は、サーバ、音響機器、外部コントローラ等の外部装置と通信を行うためのインタフェースであり、有線、無線を問わず、任意の規格の通信手段を用いて構成することができる。例えば、USB(Universal Serial Bus)やMIDI(Musical Instrument Digital Interface)_I/Fを用いることが考えられる。
【0022】
検出回路16は、演奏操作子22及び設定操作子23をシステムバス19に接続するためのインタフェースである。
演奏操作子22は、検出回路16に接続され、ユーザの演奏動作に従い、演奏情報(演奏データ)を供給する。演奏操作子22は、ユーザの演奏操作を受け付けるための、それぞれ音高と対応する複数の操作部を備える。そして、該ユーザの操作部に対する操作開始タイミング及び終了タイミングを、それぞれユーザが操作した操作部に対応する音高の情報を含むキーオンデータ及びキーオフデータとして、検出回路16を通じてCPU11に供給する。また、演奏操作子22は、ユーザの演奏操作に応じてベロシティ値等の各種パラメータを供給することも可能である。なお、本実施例では、鍵盤型の演奏操作子22を備え、上記各操作部が鍵であるとして説明するが、これに限るものではない。
【0023】
また、設定操作子23は、例えば、ボタン、スライダ、ロータリーエンコーダ、文字入力用キーボード、マウス等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。また、設定操作子23は、ディスプレイ24上に表示されるGUI(Graphical User Interface)に対する操作を行うためのポインティングデバイスや、ディスプレイ24に積層したタッチパネルでもよい。
いずれにせよ、ユーザは、設定操作子23を用いて、各種入力及び設定、選択をすることができる。
【0024】
表示回路17は、ディスプレイ24をシステムバス19に接続するためのインタフェースである。
ディスプレイ24は、電子楽器10の設定のための各種情報や、電子楽器10の動作状態等を表示するための表示手段であり、例えば液晶表示装置や発光ダイオード(LED)等により構成することができる。
【0025】
音源回路18は、CPU11からの発音指示に応じて、複数の発音ch(チャンネル)でそれぞれ楽音信号(デジタル波形データ)を生成する機能を備える。CPU11からの発音指示には、音色、音高、音量等の指定が含まれる。CPU11は、演奏操作子22の演奏操作を検出した場合に、アサイナの機能により、押鍵中の鍵の音高から、各アサイナと対応する発音を行わせる音高を選択し、その選択に従った発音を音源回路18に指示する。その詳細については後述する。
【0026】
なお、音源回路18は、記憶装置14、ROM12又はRAM13等に記録された波形データ、オーディオデータ、自動伴奏データ、自動演奏データ又は、通信I/F15に接続された外部機器等から供給される演奏信号、MIDI信号、フレーズ波形データ等に応じて楽音信号を生成することも可能である。また、音源回路18は、生成した楽音信号に各種音楽的効果を付加する機能も備える。
【0027】
そして、音源回路18は、生成した楽音信号をDAC25に出力する。DAC25はこの楽音信号をアナログ音響信号に変換し、DAC25に接続されているサウンドシステム26に供給する。サウンドシステム26は、アンプ、スピーカを含む発音手段であり、DAC25から供給されるアナログ音響信号を、発音出力する。DAC25及びサウンドシステム26は、電子楽器10の外部にあってもよい。
以上の電子楽器10において、特徴的な点は、アサイナの動作に関する点である。そこで、次にアサイナの動作についてより具体的に説明する。
【0028】
図2に、電子楽器10における、アサイナを用いた発音制御に関連する機能の機能ブロック図を示す。
図2に示すように、電子楽器10は、発音指示受付部31、操作状態検出部32、割当制御部33、楽音生成部34、選択履歴保存部35、後着優先設定部36、出力部37を備える。これらのうち、発音指示受付部31の機能は演奏操作子22及び検出回路16により実現され、楽音生成部34の機能は音源回路18により実現され、出力部37の機能はサウンドシステム26により実現される。他の各部の機能はCPU11により実現される。
【0029】
そして、発音指示受付部31は、ユーザによる発音指示操作を受け付ける機能を備える。例えば、演奏操作子22である鍵盤がいずれかの鍵の押鍵操作(発音開始操作)を受け付けると、発音指示受付部31はこれを検出し、操作状態検出部32に対し、押鍵操作があったこと及び押鍵された鍵の音高であるノートナンバを示す操作信号であるキーオンデータを送信する。離鍵操作(発音停止操作)を受け付けた場合には、同様に離鍵操作があったことを及びその鍵のノートナンバを示すキーオフデータを送信する。
【0030】
なお、以下の説明において、押鍵のように発音開始を指示するための操作を「キーオン操作」、離鍵のように発音停止を指示するための操作を「キーオフ操作」と呼ぶことにする。また、キーオン操作からキーオフ操作までの状態を、「操作中」と呼ぶことにする。鍵盤の鍵で言えば、「押鍵中」がこれに該当する。ただし、発音開始の指示があった場合でも、必ずしも実際に発音が開始されるとは限らない。一定の音高について発音を行わない設定を可能としたり、同時発音数に制限を設けたりすることがあり得るためである。
【0031】
操作状態検出部32は、発音指示受付部31から送信される操作信号に基づき、現在の演奏操作子22の操作状態(ここでは鍵盤なので押鍵状態)を検出する。より具体的には、操作中の(鍵の)音高を求める。この押鍵状態は、例えば、キーオンデータに含まれるノートナンバを操作中の音高のリストに追加し、キーオフデータに含まれるノートナンバを操作中の音高のリストから削除することにより求めることができる。
【0032】
そして、操作状態検出部32は、キーオンデータを受信した場合には、検出した操作状態の情報を割当制御部33に供給し、発音する音高の選択を行わせる。具体的な供給先は、割当制御部33が備える第1アサイナAS−1から第nアサイナAS−nまでのn個のアサイナのうち、機能が有効になっているアサイナである。
【0033】
なお、人が演奏を行う場合には、同時に複数の鍵の操作を行ったつもりでも、寸分違わず同じタイミングでその操作を行うことは困難である。そこで、複数の操作のタイミング差が同時操作とみなせる程度の所定閾値(例えば15〜30ミリ秒程度)以内であれば、それらの操作は同時に行われたものとみなして取り扱うことが望ましい。ここではこの取り扱いをするとして説明する。ある鍵のキーオン操作と別の鍵のキーオフ操作が同時に行われることもあり得る。
さらに、操作状態検出部32は、キーオフデータを受信した場合に、楽音生成部34に対し、キーオフ操作が行われた音高の発音を停止させる機能も備える。
また、操作状態検出部32は、キーオンデータを受信した場合に、後着優先設定部36に対し、その旨を伝達する機能も備える。
【0034】
次に、割当制御部33は、1又は複数(ここではn個とする)のアサイナAS−1〜AS−nを備える(アサイナの個体を特定する必要がない場合は符号「AS」を用いる)。これらの各アサイナASはそれぞれ、操作状態検出部32からキーオン操作に応じて供給される演奏操作子22の操作状態の情報に応じて、操作中(押鍵中)の音高の中から、楽音生成部34に発音させる音高(ノート)を選択する選択手段である。この選択は、アサイナ毎に設定される規則に従って行う。
【0035】
図3に、アサイナに設定する規則の例を示す。
図3は、4つのアサイナを用いる場合の例であり、各アサイナに設定する規則は、「対象押鍵」及び「優先方式」の項目からなる。「説明」の項目は、これらの項目の情報により定められる規則の内容の理解を助けるための説明であり、選択処理には用いない。
【0036】
対象押鍵の項目は、押鍵中の音高のうちどの範囲を選択の対象として考慮するかを定める項目である。「全押鍵」は、押鍵中の音高全てを考慮することを示す。「低音側X音」は、押鍵中の音高のうち低音側からX個の音高のみ考慮することを示す。ただし、押鍵数がX未満の場合には、押鍵中の音高全てを考慮する。また、図3には示していないが、同様に「高音側X音」の設定も可能である。
【0037】
優先方式の項目は、選択の対象として考慮する音高の中で、発音する音高をどのように選択するかを定める項目である。「高音優先」は、考慮する音高の中で最も高い音高を選択することを示す。「低音優先」は、考慮する音高の中で最も低い音高を選択することを示す。
【0038】
以上から、第1アサイナについては、押鍵中の音高全てのうち最も高い音高を選択する規則が設定されていることがわかる。
第2アサイナについては、押鍵数が3以下であれば、その押鍵の中で最も高い音高を選択することになる。押鍵数が4以上であれば、低音側3音の中で最も高い音高、すなわち下から3番目の音高を選択することになる。
第3アサイナについては、同様に、押鍵数が2以下であれば、その押鍵の中で最も高い音高を、押鍵数が3以上であれば、下から2番目の音高を選択することになる。
第4アサイナについては、押鍵中の音高全てのうち最も低い音高を選択する規則が設定されていることがわかる。
図にないアサイナについては機能が無効化されていると考えればよい。
【0039】
各アサイナASは、以上の規則に従い発音する音高を選択すると、楽音生成部34に対し、その選択した音高の楽音を発音開始するよう要求する。また、各アサイナASには対応する音色T1〜Tnが設定されており、楽音をその対応する音色で発音するよう要求する。なお、アサイナASには対応するパートを設定し、音色はパートに対応付けて設定することも可能である。この場合、アサイナASと音色とは、パートを介して対応付けられることになり、アサイナAS−nに対応付けられたパートを第nパートと表す。
また、各アサイナASは、ある音高を選択している状態で別の音高を選択した場合に、楽音生成部34に対し、その時選択していた音高の楽音を発音停止するよう要求する。
【0040】
なお、各アサイナASは、自身が最後に選択した音高がどの音高であるかの情報を、次に別の音高を選択するまで、保持しておく。そして、音高の選択を行った場合でも、選択した音高が前回選択した音高と変わらず、かつその音高が今回キーオン操作された音高でない(以前から操作中であった)音高である場合、楽音生成部34に対する発音の要求を行わないようにするとよい。この場合、該当のアサイナASが今回選択した音高については、今回検出されたキーオン操作とは関係なく、以前のキーオン操作に応じて開始した発音を継続することが望ましいと考えられるためである。
【0041】
また、割当制御部33は、各アサイナASが選択する音高が変動する度に、その情報を、その変動が起こった時刻の情報と共に選択履歴保存部35に供給して保存させる。ここで、「選択する音高が変動する」とは、楽音生成部34に対する発音の要求を行う必要があるような音高の選択がなされたことを指す。すなわち、前回と異なる音高を選択したり、前回と同じ音高であっても今回キーオンされた音高を選択したりした場合が該当する。後者の場合、該当の音高は一旦キーオフされてから再度キーオンされているはずであり、この場合は、音高の選択が一旦解除されてから再度選択した、と捉えることができる。
【0042】
なお、この例では説明を簡単にするため各アサイナが音高を1つ選択するものとして説明するが、複数の音高を選択可能な規則を設定することも可能である。高音優先で2音を選択する、等である。
また、複数のアサイナが同じ音高を選択しても問題ない。この場合、選択された音高について、複数の音色で発音することになる。
【0043】
楽音生成部34は、m個の発音chTC1〜TCmを備える(発音chの個体を特定する必要がない場合は符号「TC」を用いる)。そして、アサイナASから発音開始の要求を受けると、発音中でない発音chを検索し、発見した発音chTCにて、発音開始要求で指定された音高及び音色の楽音の音響信号を生成(発音)させる。なお、図2では、アサイナASと発音chTCの間を線で結んでいるがこれらの間に固定的な対応関係があるわけではない。
【0044】
また、楽音生成部34は、操作状態検出部32から特定の音高の発音を停止するよう指示された場合に、発音chTCの中からその音高の発音を行っているものを検索し、その発音chに発音を停止させる機能も備える。また、いずれかのアサイナASから特定の音高の発音を停止するよう指示された場合には、発音chTCの中から、要求元のアサイナASに対応付けられたパートでその音高の発音を行っているものを検索し、その発音chに発音を停止させる機能も備える。これらの停止には、リリース状態への移行も含まれる。
そして、楽音生成部34は、各発音chTCが生成した音響信号をミキシングして出力部37に供給し、楽音の出力を行わせる。
【0045】
次に、選択履歴保存部35は、割当制御部33から供給される、各アサイナASによる音高選択の変動及びその発生時刻の情報を、音高の選択履歴として保存する機能を備える保存手段である。
図4に、選択履歴保存部35が選択履歴の保存に用いる選択履歴テーブルの例を示す。
図4に示すように、選択履歴テーブルは、割当制御部33において有効になっているアサイナについて、そのアサイナがどのタイミングでどの音高を選択したかを時系列的に記録するためのテーブルである。
【0046】
図4の例では、第1アサイナは時刻KON1に音高nm1を選択し、時刻KON2に音高nm2を選択し、時刻KON3に音高nm3を選択したことが登録されている。なお、選択解除の時刻を登録することは必須ではないが、登録しても構わない。また、キーオン操作に応じてアサイナASが音高の選択を行っても、音高の選択に変動がない場合にはその音高の選択を選択履歴に登録しないことは、上述の通りである。
この点については、具体的な演奏操作及びその操作に応じた音高選択の例を用いて後に詳述する。また、操作履歴テーブルは、例えばRAM13に保存すればよい。しかし、電子楽器10の外部のものも含め、任意の記憶手段に保存することができる。
【0047】
図2の説明に戻る。
後着優先設定部36は、適当なタイミング(例えばキーオン操作を検出したタイミング)で選択履歴保存部35が保存している選択履歴を参照し、その選択履歴が所定の条件を満たしたアサイナASについて、そのアサイナASが用いる音高選択の規則を後着優先とすることを設定する機能を備える制御手段である。この後着優先は、図3に示した対象押鍵と優先方式の双方を置き換えるものである。そして、後着優先を用いることとしたアサイナASは、図3に設定されている規則によらず、押鍵中の全ての鍵の中で最後にキーオン操作された鍵の音高を選択するようになる。
【0048】
また、ここでは、「所定の条件」として、「所定期間内に所定基準以上の頻度で選択する音高の変動があった」を用いている。この条件を満たすアサイナASは、音高が素早く入れ替わる(1回の押鍵の時間が短い)演奏に係るキーオン操作があった音高を継続的に選択していると考えられる。このような演奏を行う場合、意図しなくても、前の鍵の離鍵が次の鍵の押鍵より遅くなり、図19を用いて説明した音高n3と音高n4のように、押鍵タイミングが一部重複してしまうことが起こりやすい。
【0049】
そこで、このような演奏に係る発音を担うアサイナASに後着優先の規則を使用させることにより、押鍵タイミングの重複有無に関わらず、キーオン操作のタイミングで確実に発音を開始させることができる。また、複数のアサイナASが異なる規則に基づき同じキーオン操作に係る音高を選択する場合でも、アサイナAS毎に発音開始タイミングがずれることがない。
【0050】
なお、上記の所定期間としては例えば800ミリ秒、頻度の所定基準は例えばこの所定時間内に4回とすることが考えられる。テンポ150の八分音符長が200ミリ秒であり、この程度以上の頻度で音高の入れ替わりがあると、アサイナAS毎の発音開始タイミングのズレが目立つためである。
【0051】
また、一旦後着優先を用いる設定をしたアサイナASの音高選択規則を図3に示したものに戻す条件も、別途設定しておく。例えば、後着優先を用いる設定をしてから所定時間経過した場合に元に戻す、後着優先を用いる設定をしたアサイナASが(キーオフ操作等により)いずれの音高も選択しない状態となった場合に元に戻す、等が考えられる。
または、該当のアサイナASの操作履歴が、後着優先を用いる設定をする際に用いた所定の条件を満たさなくなった場合に元に戻すことも考えられる。選択する音高の頻度が所定基準を下回った、等である。これは、適当なタイミングで各アサイナASについて所定の条件を満たすか否か判断し、満たす場合に後着優先を用いる設定を行い、満たさない場合に後着優先を用いず本来の規則を用いる設定を行うことに該当する。
【0052】
なお、選択履歴保存部35は、後着優先設定部36が後着優先を用いる設定をしたか否かに関わらず選択履歴の保存を続ける(ただし、上記所定期間よりも前の履歴については削除してもよい)。従って、音高選択規則を元に戻した場合でも、その時点の選択履歴が上記所定の条件に該当する場合には、すぐに再度後着優先を用いる設定がなされることになる。
【0053】
次に、図5を用いて、選択履歴保存部35及び後着優先設定部36の機能を考慮した、電子楽器10におけるアサイナASによる音高選択の例について説明する。
図5において、図19と同様、縦軸が時間、横軸が音高であり、各音高における帯が、その音高の鍵を押鍵している期間を示す。また、帯の中に示した矢印は、各アサイナがその音高を選択し、対応する発音を行っているかを示す。矢印の根元が発音開始、先端が発音停止のタイミングを示す。
また、矢印T1は、KON3を基準とした、後着優先設定部36が用いる「所定時間」を示す。なお、図5の例においては、図示の都合上、後着優先設定部36が用いる頻度の所定基準は、この所定時間内に2回の音高変動とする。
【0054】
図5の例では、初めのKON1のタイミングでは、n1,n2,nm1の3つの音高の鍵が同時に押鍵される。その後、音高n1及びn2の鍵はずっと押鍵状態であり、その間に、音高nm1〜nm5の鍵が順次押鍵される。また、音高nm1の離鍵から音高nm2の押鍵には少し間隔が空き、他の押鍵は押鍵タイミングが一部重複する。
【0055】
この場合において、KON1のタイミングでは、n1,n2,nm1の3つの音高の鍵が押鍵中の状態で各アサイナASは図3に示した規則に従い発音する音高を選択する。その結果、第1アサイナAS−1及び第2アサイナAS−2は最高音のnm1を、第3アサイナAS−3は下から2番目のn2を、第4アサイナAS−4は最低音のn1を選択し、楽音生成部34に発音を開始させる。
そして、選択履歴保存部35は、図4の選択履歴テーブルの1行目のように、時刻KON1及びその時に第1〜第4アサイナが選択した音高の情報を保存する。
【0056】
次のKOFF1のタイミングでは、音高nm1の鍵の離鍵に応じて音高nm1を選択していた第1アサイナAS−1及び第2アサイナAS−2が音高nm1の選択を解除し、楽音生成部34に発音を停止させる。
【0057】
次のKON2のタイミングでは、音高nm2の鍵が押鍵される。この時点ではどのアサイナも過去に音高選択を1回しか行っていないので、後着優先を設定すべき「所定の条件」には該当しない。従って、n1,n2,nm2の3つの音高の鍵が押鍵中の状態で、各アサイナASは図3に示した規則に従い発音する音高を選択する。その結果、第1アサイナAS−1及び第2アサイナAS−2は最高音のnm2を、第3アサイナAS−3及び第4アサイナAS−4はそれまでと同じくn2及びn1をそれぞれ選択する。
【0058】
そして、選択履歴保存部35は、図4の選択履歴テーブルの2行目のように、このときに音高の選択の変動があった第1アサイナAS−1及び第2アサイナAS−2について、時刻KON2及びその時に選択した音高の情報を保存する。また、第1アサイナAS−1及び第2アサイナAS−2は楽音生成部34に該当音高の発音を開始させる。第3アサイナAS−3及び第4アサイナAS−4については、音高の選択に変動がない(新たな発音も開始しない)ため、履歴の追加は行わない。
【0059】
次のKON3のタイミングでは、音高nm3の鍵が押鍵される。この時点では、第1アサイナAS−1及び第2アサイナAS−2は、矢印T1で示す所定期間内に選択音高が2回変動しているため、後着優先を設定すべき「所定の条件」に該当する。一方、第3アサイナAS−3及び第4アサイナAS−4は、所定期間内の選択音高の変動が新規選択時の1回のみであるため、「所定の条件」に該当しない。そこで、後着優先設定部36は、第1アサイナAS−1及び第2アサイナAS−2についてのみ、後着優先の規則を用いる設定を行う。
【0060】
そして、KON3のタイミングでは、n1,n2,nm2,nm3の4つの音高の鍵が押鍵中の状態で各アサイナASが発音する音高を選択することになる。ここで、第1アサイナAS−1及び第2アサイナAS−2は、後着優先で選択を行うため、最後に押鍵された音高nm3を選択し、楽音生成部34に、前に選択していた音高nm2の発音を停止させると共に、新たに選択した音高nm3の発音を開始させる。第3アサイナAS−3及び第4アサイナAS−4は、図3に示した規則に従い音高の選択を行い、それまでと同じくn2及びn1をそれぞれ選択する。
【0061】
そして、選択履歴保存部35は、図4の選択履歴テーブルの3行目のように、このときに音高の選択の変動があった第1アサイナAS−1及び第2アサイナAS−2について、時刻KON3及びその時に選択した音高の情報を保存する。なお、図4には、このKON3のタイミングにおける選択履歴テーブルの状態を示している。第3アサイナAS−3及び第4アサイナAS−4については、音高の選択に変動がないため、履歴の追加及び発音の開始は行わない。
【0062】
次のKOFF2のタイミングでは、音高nm2の鍵が離鍵されるが、この時点で音高nm2を選択しているアサイナはないため、この離鍵は各アサイナの音高選択に影響を及ぼさない。
【0063】
以後、KOFF5のタイミングまで、第1アサイナAS−1及び第2アサイナAS−2について、それぞれのキーオン(KON4、KON5)において、直前の所定期間T1の間に選択音高が基準回数以上変動する条件が満たされているため、音高選択規則を元に戻す条件が成立せず、後着優先が維持される。
この場合、第1アサイナAS−1及び第2アサイナAS−2は、KON4のタイミングにおける音高nm4の鍵の押鍵、KON5のタイミングにおける音高nm4の鍵の押鍵に応じて、それぞれ音高nm4及び音高nm5を選択し、楽音生成部34に、それまで選択していた音高の発音を停止させると共に新たに選択した音高の発音を開始させる。
第3アサイナAS−3及び第4アサイナAS−4については、選択する音高がずっと変わらないため、図5の例では後着優先を設定すべき「所定の条件」を満たすことはない。
【0064】
このように、電子楽器10においては、選択履歴保存部35及び後着優先設定部36の機能により、図5における音高nm2〜nm5のように一部期間の重なった押鍵操作がなされ、かつ複数のアサイナASがその押鍵に係る音高を選択すべき場合において、当該複数のアサイナASに押鍵のタイミングで同時にその押鍵に係る音高を選択させることができる。従って、図19を用いて説明したように、押鍵毎に音色が変わったり、パート毎に発音開始タイミングがずれたりすることなく、聴感への悪影響を抑え、かつ演奏者の演奏操作の意図に合った発音を、容易に行うことができる。
【0065】
なお、常に後着優先を用いるとすると、図3に示したアサイナの設定を全く無視することになってしまい、これでは演奏者の意図に合った演奏にはならない。そこで、上記のように「所定の条件」を基準に、後着優先を設定することが効果的なアサイナ及びそのタイミングを判別して、後着優先の設定を行うことが有効である。
また、「所定の条件」の設定によっては(例えば頻度の所定基準を所定時間内に4回の音高変動とした場合)、何回かの押鍵については音色の変化や発音タイミングのずれが生じてしまう可能性もあるが、それでも、後着優先の設定を行わない場合に比べれば、聴感への悪影響を抑え、かつ演奏者の演奏操作の意図に合った発音が可能である。
【0066】
次に、図2に示した機能のうち、CPU11が担う機能を実現するためにCPU11が実行する処理について説明する。
図6乃至図8は、そのうちキーオンデータ及び/又はキーオフデータ受信時の処理のフローチャートである。
CPU11は、検出回路16からキーオンデータ及び/又はキーオフデータを受信した場合に、所要のプログラムを実行することにより図6のフローチャートに示す処理を開始する。なお、所定閾値以内のタイミング差で行われた操作を同時操作とみなすことは上述の通りである。
【0067】
図6の処理において、CPU11はまず、検出した操作にキーオン操作が含まれているか否か判断する(S11)。複数の操作を同時に検出した場合、その中に1つでもキーオン操作があればYesとなる。
そして、Yesの場合、CPU11は、検出した操作の中にキーオフ操作があれば(S12のYes)、そのキーオフ操作に係る音高の発音停止を、楽音生成部34に指示する(S13)。その後、後着優先設定部36の機能と対応する、図7に示す速弾き判定処理を行う(S14)。
【0068】
図7の処理において、CPU11はまず、変数nに1を代入する(S21)。そして、選択履歴保存部35が保存した選択履歴を参照し、直近の所定期間内に第nアサイナが選択する音高が所定基準以上の頻度で変動しているか否か判断する(S22)。すなわち、第nアサイナAS−nによる音高の選択履歴が、音高の選択規則を後着優先とすべき「所定の条件」を満たしているか否か判断する。
【0069】
そして、ステップS22でYesであれば、第nアサイナAS−nについて後着優先フラグをセットする(S23)。このフラグは、該当のアサイナについて音高の選択規則を後着優先とすることを示すフラグである。ステップS22でNoであれば、フラグを変更せずに次の処理に進む。
いずれの場合も、CPU11は次に、現在処理したアサイナが最後のアサイナであるか否か判断し(S24)、最後でなければnを1加算して(S25)、ステップS22に戻って処理を繰り返す。
【0070】
ステップS24でYesの場合、全てのアサイナに関する処理が終了したことがわかるため、図7の処理を終了して元の処理に戻る。
ここでは、図6のステップS15に戻る。そして、CPU11は、アサイナASによる、キーオン操作に応じた発音音高の選択を行うべく、全アサイナASについて発音割り当てフラグを立てて(S15)、図8に示す発音割り当て処理に進む(S16)。
【0071】
図8の処理において、CPU11はまず、変数nに1を代入する(S31)。そして、第nアサイナAS−nに発音割り当てフラグがセットされているか否か判断する(S32)。
ここでセットされていれば、CPU11は次に、第nアサイナに後着優先フラグがセットされているか否か判断する(S33)。ここでNoであれば、CPU11は、第nアサイナAS−nについて設定されている規則に従い、操作中の鍵の音高の中から発音する音高を選択する(S34)。一方、ステップS33でYesであれば、CPU11は、後着優先の規則に従い、操作中の鍵の音高の中から発音する音高を選択する(S35)。
【0072】
そして、いずれの場合も、第nアサイナAS−nと対応する第nパートが、ステップS34又はS35で選択した音高で発音中であるか否か判断する(S36)。ここでNoであれば、その選択した音高は、音高の選択状態を変動させるものであり、音高の選択履歴を記録すると共に新たな発音を開始すべきことがわかる。
従って、CPU11は、選択した音高及びそのタイミングを図4に示した選択履歴テーブルに保存する(S37)。また、選択した音高で第nアサイナAS−nと対応する第nパートの発音を開始するよう、楽音生成部34に指示する(S38)。この場合、発音に用いる音色は、第nパートについて設定されている音色である。
【0073】
ステップS36でYesであれば、今回の選択は音高の選択状態を変動させるものでなく、音高の選択履歴の記録及び新たな発音開始は必要ないことがわかる。そこで、ステップS37及びS38を飛ばして次の処理へ進む。
また、ステップS32でNoの場合、第nアサイナについては音高の選択は行わないので、そのままステップS39に進む。
【0074】
以上のステップS32乃至S38が、アサイナAS1つ分の処理である。その後、CPU11は、現在処理したアサイナが最後のアサイナであるか否か判断し(S39)、最後でなければnを1加算して(S40)、ステップS32に戻って処理を繰り返す。
ステップS39でYesの場合、全てのアサイナに関する処理が終了したことがわかるため、図8の処理を終了して元の処理に戻る。ここでは、図6のステップS16に戻るので、CPU11はそのまま処理を終了する。なお、ステップS15からS16に進んだ場合は、発音割り当て処理において、全アサイナと対応する音高選択及び発音指示を行うことになる。
【0075】
なお、図8の処理を始める前に、初めに全アサイナの発音割り当てフラグを確認し、フラグのあるアサイナについてのみステップS33乃至S38を実行するようにしてもよい。この場合、フラグのあるアサイナがなければ、発音割り当て処理自体をスキップできる。
【0076】
一方、図6のステップS12でNoの場合、すなわち検出した操作がキーオフ操作のみであった場合、CPU11は、そのキーオフ操作に係る音高の発音停止を、楽音生成部34に指示する(S17)。
その後、処理は図8の発音割り当て処理に進む(S16)。しかし、いずれのアサイナについても発音割り当てフラグは立っていないため、選択履歴の記録や発音開始を行うことなく、処理を終了する。従ってこの場合、上記のように発音割り当て処理自体をスキップしてもよい。
以上の処理により、図5を用いて説明したような発音が可能となる。
【0077】
次に、図9に、後着優先フラグの解除に係る処理のフローチャートを示す。
CPU11は、適当なタイミングで図9のフローチャートに示す処理を開始する。このタイミングは、一定時間毎、図7の処理を実行するタイミング等、任意でよい。
なお、第1実施形態においては、後着優先フラグの解除条件として「後着優先を用いる設定をする際に用いた所定の条件を満たさなくなった」を用いることが好ましい。そして、この解除条件を用いる場合には、図7の処理を実行するタイミングで図9の処理も実行することが好ましい。
【0078】
図9の処理において、CPU11はまず、変数nに1を代入する(S51)。そして、第nアサイナAS−nに後着優先フラグが立っているか否か判断する(S52)。ここでYesの場合、第nアサイナAS−nについて後着優先フラグの解除条件(後着優先をやめて元の規則に戻す条件)が成立しているか否か判断する(S53)。ここで用いる条件の具体例については上述した通りである。
【0079】
そして、ステップS53でもYesであれば、CPU11は第nアサイナAS−nについて後着優先フラグを解除し、以後は当該アサイナに設定された規則により音高を選択するようにする(S54)。
ステップS52でNoの場合には、第nアサイナAS−nについてここで検討すべき事項はないので、ステップS53及びS54をスキップしてステップS55に進む。
ステップS53でNoの場合には、後着優先フラグを解除する必要はないので、ステップS54をスキップしてステップS55に進む。
【0080】
いずれの場合も、CPU11は次に、現在処理したアサイナが最後のアサイナであるか否か判断し(S55)、最後でなければnを1加算して(S56)、ステップS52に戻って処理を繰り返す。
ステップS55でYesの場合、全てのアサイナに関する処理が終了したことがわかるため、図9の処理を終了する。
以上の処理により、CPU11は、後着優先を用いる設定をしたアサイナASについて、適当なタイミングで音高選択の規則を元に戻すことができる。
【0081】
〔第1実施形態の比較例:図10
次に、後着優先を用いることの効果について、図10の比較例を用いて説明する。
図10に示すのは、第1実施形態と同じアサイナを用い、後着優先設定部36がないとして、図5の場合と同じ鍵操作があった場合における各アサイナASによる音高選択の例を示す図である。
この場合、KON2のタイミングまでは、各アサイナASによる音高選択は、図5の場合と同じである。
【0082】
しかし、KON3のタイミングにおいては、n1,n2,nm2,nm3の4つの音高の鍵が押鍵中の状態で、全てのアサイナASが図3に示した規則に従い音高の選択を行う。従って、第1アサイナAS−1は最高音のnm3を、第2アサイナAS−2は下から3番目のnm2を、第3アサイナAS−3は下から2番目のn2を、第4アサイナAS−4は最低音のn1をそれぞれ選択する。
この場合、第1アサイナAS−1は選択する音高がnm2からnm3へ変動するため、楽音生成部34に新たな発音を開始させるが、他のアサイナは選択する音高が変動しないため、新たな発音の開始は行わない。
【0083】
次のKOFF2のタイミングでは、音高nm2の鍵が離鍵され、楽音生成部34は音高nm2を選択している第2アサイナAS−2の発音を停止する。この時点で、第2アサイナAS−2と対応する発音は行われなくなってしまう。
【0084】
次のKON4のタイミングにおいては、音高nm4の鍵が押鍵され、n1,n2,nm3,nm4の4つの音高の鍵が押鍵中の状態で、全てのアサイナASが図3に示した規則に従い音高の選択を行う。従って、第1アサイナAS−1は最高音のnm4を、第2アサイナAS−2は下から3番目のnm3を、第3アサイナAS−3は下から2番目のn2を、第4アサイナAS−4は最低音のn1をそれぞれ選択する。
【0085】
この場合、第1アサイナAS−1は選択する音高がnm3からnm4へ変動するため、楽音生成部34に新たな発音を開始させる。第2アサイナAS−2も、新たに音高nm3を選択するため、楽音生成部34に新たな発音を開始させる。
しかし、第2アサイナAS−2の発音は、直後のKOFF3のタイミングで音高nm3の鍵が離鍵された時に停止されてしまう。次の音高nm5の押鍵及び音高nm4の離鍵の際にも同様なことが起こる。
【0086】
このように、後着優先設定部36の機能を備えない場合、図10に示したような一部重なった押鍵操作があると、押鍵されている鍵の音高順と、各アサイナが選択する音高との関係がずれてしまう。すなわち、演奏操作からは、音高nm1から音高nm5までの音を続けて発音させる意図が推測できるのに、これらの音高の音を異なる音色で発音してしまい、不自然な発音となってしまう。この例では、音高nm1と音高nm2については第1アサイナAS−1及び第2アサイナAS−2の音色で発音する一方、音高nm3から音高nm5については、実質的にアサイナAS−1の音色のみで発音することになる。
【0087】
これに対し、後着優先設定部36の機能を用いることにより、このような問題が発生せず、音高nm1から音高nm5までの押鍵が一部重なったり間が空いたりしても、押鍵毎に音色が変わったり、パート毎に発音開始タイミングがずれたりすることのない発音が可能となることは、上述の通りである。
【0088】
〔第2実施形態:図11乃至図15
次に、この発明の第2実施形態の電子楽器について説明する。
この第2実施形態は、音高の選択履歴が所定の条件を満たしたアサイナについて音高の選択規則を後着優先に変更することに代えて、演奏操作子の操作履歴中に所定の条件を満たす操作を検出した場合に、その操作の際に選択する音高が変動したアサイナについて音高の選択規則を後着優先に変更するようにした点が第1の実施形態と異なるのみである。そこで、この相違点についてのみ説明し、第1実施形態と同じ又は対応する構成には、第1実施形態と同じ符号を用いる。
【0089】
第2実施形態の電子楽器10は、ハードウェアは図1に示した第1実施形態のものと共通である。
図11に、第2実施形態の電子楽器10における、図2と対応する機能ブロック図を示す。
図11に示す通り、第2実施形態の電子楽器10は、第1実施形態における選択履歴保存部35に代えて操作履歴保存部38を備え、さらにキーオフリトリガー制御部39を備える。また、後着優先設定部36がアサイナの音高選択規則を後着優先とする条件も異なる。
【0090】
電子楽器10において、操作状態検出部32は、演奏操作子22の操作を検出する度に、その操作内容及び操作タイミングの情報を操作履歴保存部38に供給し、操作内容の履歴を保存させる。操作履歴保存部38は、操作状態検出部32から供給される操作内容及び操作タイミングの情報を、時系列的に演奏操作子22の操作履歴として保存する機能を備える保存手段である。
【0091】
図12に、操作履歴保存部38が操作履歴の保存に用いる操作履歴テーブルの例を示す。
図12に示すように、操作履歴テーブルは、演奏操作子22に対してなされた操作の内容と、その時刻とを対応付けて登録するテーブルである。
なお、同時に複数の操作がなされた場合には、同じ時刻に複数の操作を登録してよい。また、時刻は、図12では符号で示しているが、順序だけでなく具体的な時刻(所定の基準時刻からの経過時間でもよい)を登録する。
この操作履歴テーブルは、例えばRAM13に保存すればよい。しかし、電子楽器10の外部のものも含め、任意の記憶手段に保存することができる。
【0092】
図11の説明に戻ると、操作状態検出部32は、演奏操作子22のキーオフ操作を検出すると、これをキーオフリトリガー制御部39に通知する。
そして、キーオフリトリガー制御部39は、この通知があった場合に、操作履歴保存部38が作成した操作履歴テーブルの情報に基づき、今回のキーオフ操作に応じて割当制御部33に発音音高の選択を行わせる必要があるか否か判断する機能を備える。そして、行わせる必要があると判断した場合、割当制御部33に発音音高の選択を行うよう指示する。
このように、キーオフ操作に応じてアサイナASに発音音高を選択させることを、「キーオフリトリガー」と呼ぶことにする。
【0093】
なお、キーオフリトリガーは、あるノートがキーオフ操作により消音することによって発音数が減少してしまうのを防ぐために行う。典型的には、図19におけるn4とn3のように、2つの音を続けて演奏する意図と考えられるのに、前の鍵と後の鍵の操作期間が若干重複してしまっている場合に対応できる。
この場合、KON3のタイミングで各アサイナASが発音する音高を選択した後、KOFF4のタイミングで音高n4の発音を停止させると、KON3のタイミングで音高n4を選択したアサイナASと対応する発音は、ただちに消えてしまうことになる。しかし、KON3のタイミングでは確定できないものの、図19に示した操作では、KON3のタイミングで音高n4の鍵がキーオフ操作されていないのは、その部分で音を増やし、その後減らしたいためではないと考えられる。従って、そもそもKON3のタイミングでアサイナASが音高の選択を行う場合に、音高n4を考慮すべきではなかったと言える。
【0094】
そこで、キーオフリトリガー制御部39には、音高n4の鍵がキーオフ操作されるKOFF4のタイミングで、n4とn3の操作期間の重複が、音の重複を意図したものであるのか否かを、所定の条件に従って判断する機能を設けている。また、重複を意図したものでないと判断した場合、アサイナASに、n4の離鍵後の操作状態に従って、再度発音する音高を選択させる(キーオフリトリガーを行う)機能を設けている。
【0095】
ただし、このとき音高の選択を行わせるのは、離鍵に応じて発音を停止した音高(図4の例ではn4)を選択していたアサイナASのみである。他のアサイナASが選択した音高は、KON3のタイミングで既に発音を開始しており、KOFF4のタイミングで音高の選択が変更されると、短時間で音高が変わる不自然な演奏になってしまうためである。
【0096】
キーオフリトリガーを行う場合、キーオフリトリガー制御部39は、音高を指定して、割当制御部33に発音する音高の再選択を指示すればよい。割当制御部33は、この指示に応じて、指定された音高を選択しているアサイナASを検索し、音高の選択を行わせるアサイナASを決定する。検索には、アサイナASが保持している、選択した音高の情報を用いる。決定したアサイナASにおける音高の選択及び楽音生成部34への発音開始要求の処理は、操作状態検出部32からの指示に応じた選択の場合と同様である。
【0097】
ところで、この実施形態では、キーオフリトリガー制御部39は、あるキーオフ操作がレガート奏法に係る操作であると判断した場合に、そのキーオフ操作に応じて割当制御部33に発音音高の選択を行わせる必要があると判断するようにしている。
そして、レガート奏法は、ある鍵を押鍵した直後に前に押鍵していた鍵を離鍵する奏法であることから、例えば、ある音高のキーオン操作があってから所定時間内に別の音高のキーオフ操作があった場合に、そのキーオフ操作がレガート奏法に係る操作であるとすることができる。これは、キーオフ操作のタイミングを基準に考えれば、直近のキーオン操作から今回のキーオフ操作までが所定時間以内である、という条件である。
【0098】
また、レガート奏法の場合、前に押鍵していた鍵を離鍵する時点で次に押鍵した鍵が離鍵されていることは通常ないため、この点を条件に加えてもよい。すなわち、今回のキーオフ操作の時点で、上記直近のキーオン操作に係る鍵が操作中である、という条件である。
キーオフリトリガー制御部39は、図12の操作履歴テーブルを参照し、以上の条件によりあるキーオフ操作がレガート奏法に係る操作であると判断した場合に、上述のキーオフリトリガーを行う。
【0099】
また、キーオフリトリガー制御部39は、後着優先設定部36が後述の条件に従って後着優先を設定すべきアサイナASを把握できるようにするため、図13に示すようなレガート履歴テーブルを作成する。
【0100】
図13に示すように、レガート履歴テーブルには、時刻、キーオフ操作、直前キーオン操作、レガート判定結果、およびアサイナ毎の選択音高変動有無の項目が含まれる。
これらのうち、時刻及びキーオフ操作の項目には、操作履歴テーブルに含まれる各キーオフ操作の時刻及び操作内容を登録する。
直近キーオンの項目には、登録したキーオフ操作の前に行われた直近のキーオン操作を登録する。
レガート判定結果の項目には、登録したキーオフ操作及びキーオン操作がレガート演奏に係る操作であったか否かを登録する。「○」がレガート、「×」がレガートでない、である。なお、ここまでの4つの項目は、演奏操作子22の操作内容の履歴であると考えることができる。
【0101】
選択音高変動の項目には、登録したキーオフ操作又はキーオン操作に応じて、該当のアサイナが選択する音高が変動したか否かを登録する。「○」が変動あり、「×」が変動なしである。キーオフリトリガー制御部39によるレガート奏法か否かの判定は、キーオフ操作の際に行うが、実際にはキーオフ操作と直前のキーオン操作の組み合わせがレガート奏法の演奏操作である。従って、これらのいずれかに応じてあるアサイナ選択する音高が変動していれば、そのアサイナは、レガート奏法の演奏に係る発音を担うアサイナであると考えることができる。
【0102】
一方、後着優先設定部36は、適当なタイミング(例えばキーオフ操作を検出したタイミング)で図13のレガート履歴テーブルを参照し、その操作履歴中に所定の条件を満たす操作を検出した場合に、その操作の際に選択する音高が変動したアサイナASについて、そのアサイナASが用いる音高選択の規則を、第1実施形態の場合と同様な後着優先とすることを設定する機能を備える制御手段である。
【0103】
また、ここでは、「所定の条件」として、「ある音高のキーオン操作を行ってから所定時間内に別の音高のキーオフ操作を行う操作(すなわちレガート奏法に係る演奏操作)を、所定基準以上の頻度で行った」を用いている。
このようにレガート奏法の操作が頻繁に(又は続けて)行われる場合、以後も一定程度レガート奏法が続く可能性が高いと考えられる。そこで、レガート奏法の演奏に係る発音を担うアサイナASに後着優先の規則を使用させることにより、押鍵タイミングの重複有無に関わらず、キーオン操作のタイミングで確実に発音を開始させることができる。また、複数のアサイナASが異なる規則に基づき同じキーオン操作に係る音高を選択する場合でも、アサイナAS毎に発音開始タイミングがずれることがない。
【0104】
なお、レガート奏法の演奏に係る発音を担うアサイナASは、レガート奏法の演奏操作がなされた際にそれに応じて選択する音高が変化したアサイナASであると考えることができる。演奏操作があっても選択する音高が変化しないアサイナASは、その間ずっと押鍵がなされている等、レガート奏法の演奏操作と無関係に発音しているアサイナASであると考えられるためである。
【0105】
また、上記の頻度の所定基準は、ここでは、「レガート奏法に係るキーオフ操作が所定回数(2回)連続してあった」とする。しかし、所定回数を2回以外としたり、直前のキーオフ操作n回のうちm回がレガート奏法であるとしてm/nが所定値(例えば0.7)以上、レガート奏法に係るキーオフ操作が所定時間内に所定回数以上あった等、他の条件を採用したりすることもできる。
また、一旦後着優先を用いる設定をしたアサイナASの音高選択規則を図3に示したものに戻す解除条件については、第1実施形態の場合と同様である。ただし、好ましい解除条件は第1の実施形態の場合と異なり、この点については後述する。
【0106】
次に、図14を用いて、後着優先設定部36、操作履歴保存部38及びキーオフリトリガー制御部39の機能を考慮した、電子楽器10におけるアサイナASによる音高選択の例について説明する。
図14は、図5と対応する図であり、表記法は図5と同じである。また、矢印T2は、KOFF1及びKOFF2を基準とした、キーオフリトリガー制御部39が用いる「所定時間」を示す。
【0107】
図5の例では、初めのKON1のタイミングでは、n1,n2,nm1の3つの音高の鍵が同時に押鍵される。その後、音高n1及びn2の鍵はずっと押鍵状態であり、その間に、音高nm1〜nm5の鍵が、押鍵タイミングが一部重複するように順次押鍵される。
この場合において、KON1のタイミングでは、n1,n2,nm1の3つの音高の鍵が押鍵中の状態で各アサイナASは図3に示した規則に従い発音する音高を選択する。その結果、第1アサイナAS−1及び第2アサイナAS−2は最高音のnm1を、第3アサイナAS−3は下から2番目のn2を、第4アサイナAS−4は最低音のn1を選択し、楽音生成部34に発音を開始させる。
そして、操作履歴保存部38は、図12の操作履歴テーブルの1行目のように、時刻KON1及びその時になされた操作の情報を保存する。
【0108】
次のKON2のタイミングでは、音高nm2の鍵が押鍵される。そして、n1,n2,nm1,nm2の4つの音高の鍵が押鍵中の状態で、各アサイナASは図3に示した規則に従い発音する音高を選択する。その結果、第1アサイナAS−1は最高音のnm2を、第2アサイナAS−2、第3アサイナAS−3及び第4アサイナAS−4はそれまでと同じくnm1、n2及びn1をそれぞれ選択する。従って、音高選択が変動した第1アサイナAS−1のみが、選択した音高の発音を楽音生成部34に開始させる。
また、操作履歴保存部38は、図12の操作履歴テーブルの2行目のように、時刻KON2及びその時になされた操作の情報を保存する。
【0109】
次のKOFF1のタイミングでは、音高nm1の鍵の離鍵に応じて第2アサイナAS−2が音高nm1の選択を解除し、楽音生成部34に発音を停止させる。また、操作履歴保存部38は、図12の操作履歴テーブルの3行目のように、時刻KOFF1及びその時になされた操作の情報を保存する。
【0110】
一方、キーオフリトリガー制御部39は、直近の音高nm2の鍵の押鍵操作から今回の音高nm1の鍵の離鍵操作まで所定時間T2以内であり、かつその離鍵操作の時点で音高nm2の鍵が押鍵中であることから、音高nm1の鍵の離鍵操作はレガート奏法に係る操作であると判断する。そして、直前まで音高nm2を選択していた第2アサイナAS−2についてキーオフリトリガーを行うことを決定する。
そして、キーオフリトリガーの動作において、第2アサイナAS−2は、n1,n2,nm2の3つの音高の鍵が押鍵中の状態で、図3に示した規則に従い発音する音高を選択する。その結果、第2アサイナAS−2は最高音のnm2選択し、その発音を楽音生成部34に開始させる。
【0111】
また、キーオフリトリガー制御部39は、図13に示したレガート履歴テーブルの1行目のように、時刻KOFF1の離鍵操作に応じたレガート奏法の判定結果、直前の押鍵操作時も含めて各アサイナによる音高選択に変動があったか否か等を保存する。
また、この時点ではレガート奏法に係る操作を1回検出したのみであるので、「所定の条件」に該当せず、後着優先設定部36は後着優先を用いる設定を行わない。
【0112】
次のKON3のタイミングでは、音高nm3の鍵が押鍵される。そして、n1,n2,nm2,nm3の4つの音高の鍵が押鍵中の状態で、各アサイナASは図3に示した規則に従い発音する音高を選択する。その結果、第1アサイナAS−1は最高音のnm3を、第2アサイナAS−2、第3アサイナAS−3及び第4アサイナAS−4はそれまでと同じくnm2、n2及びn1をそれぞれ選択する。従って、音高選択が変動した第1アサイナAS−1のみが、選択した音高の発音を楽音生成部34に開始させる。
また、操作履歴保存部38は、図12の操作履歴テーブルの4行目のように、時刻KON3及びその時になされた操作の情報を保存する。
【0113】
次のKOFF2のタイミングでは、音高nm2の鍵の離鍵に応じて第2アサイナAS−2が音高nm2の選択を解除し、楽音生成部34に発音を停止させる。また、操作履歴保存部38は、図12の操作履歴テーブルの5行目のように、時刻KOFF2及びその時になされた操作の情報を保存する。
一方、キーオフリトリガー制御部39は、直近の音高nm3の鍵の押鍵操作から今回の音高nm2の鍵の離鍵操作まで所定時間T2以内であり、かつその離鍵操作の時点で音高nm3の鍵が押鍵中であることから、音高nm2の鍵の離鍵操作はレガート奏法に係る操作であると判断する。そして、直前まで音高nm2を選択していた第2アサイナAS−2についてキーオフリトリガーを行うことを決定する。
【0114】
そして、キーオフリトリガーの動作において、第2アサイナAS−2は、n1,n2,nm3の3つの音高の鍵が押鍵中の状態で、図3に示した規則に従い発音する音高を選択する。その結果、第2アサイナAS−2は最高音のnm3選択し、その発音を楽音生成部34に開始させる。
また、キーオフリトリガー制御部39は、図13に示したレガート履歴テーブルに、その2行目のように各種データを保存する。
【0115】
また、これでレガート奏法に係る操作が2回続いたため、後着優先を設定すべき「所定の条件」に該当する。そこで、後着優先設定部36は、レガート履歴テーブルを参照し、これまでの2回のレガート奏法に係る操作で選択音高が変動している第1アサイナAS−1及び第2アサイナAS−2について、後着優先の規則を用いる設定を行う。
【0116】
次のKON4のタイミングでは、音高nm4の鍵が押鍵される。そして、n1,n2,nm3,nm4の4つの音高の鍵が押鍵中の状態で、第3アサイナAS−3及び第4アサイナAS−4は図3に示した規則に従い発音する音高を選択する。その結果、第3アサイナAS−3及び第4アサイナAS−4はそれまでと同じくn2及びn1をそれぞれ選択する。また、第1アサイナAS−1及び第2アサイナAS−2は後着優先で最後に押鍵操作された音高nm4を選択する。
【0117】
このため、第1アサイナAS−1と第2アサイナAS−2において音高選択が変動し、選択した音高の発音を楽音生成部34に開始させる。
また、操作履歴保存部38は、図12の操作履歴テーブルの末行のように、時刻KON4及びその時になされた操作の情報を保存する。図12には、この時点における操作履歴テーブルの状態を示している。
次の押鍵操作であるKON5の音高nm5の鍵の押鍵操作についても、同様に第1アサイナAS−1と第2アサイナAS−2において音高選択が変動し、選択した音高の発音を楽音生成部34に開始させる。
【0118】
また、KOFF3における音高nm3の鍵の離鍵操作とKOFF4における音高nm4の鍵の離鍵操作もレガート奏法に係る離鍵操作であるとすると、これらのタイミングでも、レガート奏法に係る操作が2回以上続いており、後着優先を設定すべき「所定の条件」に該当する。しかしながら、レガート奏法に係る操作で選択音高が変動している第1アサイナAS−1及び第2アサイナAS−2については、既に後着優先の規則を用いる設定が行われているため、後着優先設定部36は、いずれのアサイナASにも新たに後着優先の規則を用いる設定は行わない。第1アサイナAS−1及び第2アサイナAS−2については、後着優先を解除する条件が満たされておらず、後着優先のままであるとする。
【0119】
このように、電子楽器10においては、後着優先設定部36、操作履歴保存部38及びキーオフリトリガー制御部39の機能により、図5における音高nm1〜nm5のように一部期間の重なった押鍵操作がなされ、かつ複数のアサイナASがその押鍵に係る音高を選択すべき場合において、当該複数のアサイナASに押鍵のタイミングで同時にその押鍵に係る音高を選択させることができる。
従って、図19を用いて説明したように、押鍵毎に音色が変わったり、パート毎に発音開始タイミングがずれたりすることなく、聴感への悪影響を抑え、かつ演奏者の演奏操作の意図に合った発音を、容易に行うことができる。
【0120】
なお、KON2及びKON3のタイミングでは、まだ後着優先の規則を用いる設定がなされていないため、第1アサイナAS−1の音色と第2アサイナAS−2の音色とで発音開始タイミングが若干ずれている。KON4及びKON5のタイミングでは、後着優先の規則を用いる設定がなされたことにより、このずれが是正されている。
【0121】
なお、第2実施形態では、演奏操作がレガート奏法に係るものであるか否かを直接判別するため、後着優先設定部36が用いる「所定の条件」に時間を考慮することが必須でない。従って、時間を考慮しない条件を用いれば、レガート奏法での演奏がゆっくりなされた場合でも、これを適切に識別し、後着優先の規則を用いる設定を行うことができる。
【0122】
次に、図11に示した機能のうち、CPU11が担う機能を実現するためにCPU11が実行する処理について説明する。
図15は、そのうちキーオンデータ及び/又はキーオフデータ受信時の処理のフローチャートである。
CPU11は、検出回路16からキーオンデータ及び/又はキーオフデータを受信した場合に、所要のプログラムを実行することにより図15のフローチャートに示す処理を開始する。なお、所定閾値以内のタイミング差で行われた操作を同時操作とみなすことは上述の通りである。
【0123】
図15の処理において、CPU11はまず検出した操作及びその時刻を、図12に示した操作履歴テーブルに保存する(S61)。次に、検出した操作にキーオン操作が含まれていれば(S62のYes)、アサイナASによる、キーオン操作に応じた発音音高の選択を行うべく、全アサイナASについて発音割り当てフラグを立てる(S63)。ステップS62でNoの場合は、ステップS63はスキップする。
【0124】
次に、CPU11は、検出した操作にキーオフ操作が含まれているか否か判断する(S64)。そして、ここでYesであれば、検出したキーオフ操作に係る音高の発音停止を、楽音生成部34に指示する(S65)。キーオフ操作が複数あった場合には、その全ての発音停止を指示する。
【0125】
次に、CPU11は、直近のキーオン操作から今回のキーオフ操作まで所定時間以内で、かつ、該当のキーオン操作をされた鍵がまだ操作中であるか否か判断する(S66)。これは、今回のキーオフ操作がレガート奏法に係る操作であるか否かの判断であり、図12の操作履歴テーブルを参照することによって判断される。ここでYesであれば、CPU11は、キーオフ操作がされた音高を選択しているアサイナASについて発音割り当てフラグをセットする(S67)。これは、ステップS65で停止する前に上記音高Nの発音を行っていたパートと対応するアサイナASについて、発音割り当てフラグをセットするということもできる。
【0126】
これらのステップS66及びS67の処理は、キーオフリトリガー機能に係る処理である。キーオフ操作を複数検出した場合には、各キーオフ操作についてこれらの処理を実行する。ステップS66でNoの場合には、ステップS67をスキップしてステップS68に進む。
【0127】
また、CPU11は次に、図13に示したレガート履歴テーブルに、今回のキーオフ操作、直近のキーオン操作及びレガート演奏操作の検出結果(ステップS66の判断結果)を保存する(S68)。
その後、CPU11は、第1の実施形態の場合と同様、図8に示した発音割り当て処理を実行する。ただし、第2実施形態においてはステップS37の処理は実行不要である。この発音割り当て処理においては、ステップS63又はS67で発音割り当てフラグをセットした各アサイナについて、発音音高の選択及び、必要に応じて発音開始の処理を行う。
ステップS64でNoの場合には、ステップS65乃至S68をスキップしてステップS69に進む。
【0128】
次に、CPU11は再度、検出した操作にキーオフ操作が含まれているか否か判断する(S70)。そして、ここでYesであれば、図13に示したレガート履歴テーブルに、各アサイナの選択音高変動有無を登録する(S71)。これは、ステップS68で登録した今回のキーオフ操作又は直近のキーオン操作の際に各アサイナの選択音高に変動があったか否かを登録するものである。従って、キーオン操作に応じた変動の有無は、キーオン操作に応じて図15の処理を行った際に後で参照できるように保存しておき、ステップS71においては、ステップS69における選択結果と、その保存しておいた変動有無とを参照して、変動有無の保存を行えばよい。
【0129】
その後、CPU11は、直近に所定基準以上の頻度でレガート演奏操作があったか否かをアサイナ毎に判断する(S72)。すなわち、レガート履歴テーブル(及び操作履歴テーブル)に保存されている操作履歴が、音高の選択規則を後着優先とすべき「所定の条件」を満たしているか否か判断する。ここでYesである場合、レガート演奏操作に際に音高選択が変動したアサイナに後着優先フラグをセットし(S73)、処理を終了する。
【0130】
なお、ステップS73におけるアサイナの特定の際には、ステップS72の判断を行う際に参照した範囲のレガート演奏操作において、全て、あるいは所定割合以上の操作で変動していることを基準とすればよい。例えば、ステップS72で「レガート演奏操作が2回続けてなされた」を基準とするのであれば、直前2回のキーオフ操作がレガート演奏に係る操作であるか否かを参照するので、これらの操作の際に音高選択が変動したアサイナを特定すればよい。
ステップS72でNoの場合、ステップS73をスキップして処理を終了する。
ステップS70でNoの場合、ステップS71乃至S73をスキップして処理を終了する。
以上の処理により、図14を用いて説明したような発音が可能となる。
【0131】
なお、第2実施形態では、後着優先フラグを解除する解除条件として、「キーオフ操作があった時にステップS72の条件が満たされなかった」を用いるとよい。この解除条件を用いたフラグ解除の処理は、図15の処理でステップS72でNoの場合に行ってもよいし、キーオフ操作をトリガに図9の処理を実行し、ステップS53の判断結果に従って行ってもよい。
また、上記のS72の条件に加え、最後に後着優先が設定されてから一定時間が経過したとき、等の時間的な条件を用いることも好ましい。この時間的な条件については、図9の処理を定期的に起動して判定するとよい。
【0132】
〔第2実施形態の比較例:図16図17
次に、後着優先を用いることの効果について、図16及び図17の比較例を用いて説明する。
図16に示すのは、第2実施形態と同じアサイナを用い、後着優先設定部36及びキーオフリトリガー制御部39がないとして、図14の場合と同じ鍵操作があった場合における各アサイナASによる音高選択の例を示す図である。
【0133】
この場合、KON2のタイミングまでは、各アサイナASによる音高選択は、図14の場合と同じである。
しかし、KOFF1のタイミングにおいては、キーオフリトリガーを行わないため、単に、第2アサイナAS−2が音高nm1の選択を解除し、楽音生成部34に発音を停止させるのみである。従って、第2アサイナAS−2と対応する発音はここで一旦停止してしまうことになる。
【0134】
KON3のタイミングでは、第2アサイナAS−2は、n1,n2,nm2,nm3の4つの音高の鍵が押鍵中の状態で、図3に示した規則に従い音高の選択を行い、下から3番目のnm2を選択して楽音生成部34に発音を開始させる。しかし、この発音はすぐにKOFF2のタイミングで停止される。
【0135】
選択規則が後着優先になることもないため、以後も、第2アサイナAS−2と対応する発音は、離鍵操作の直前で開始し、離鍵時にすぐに停止する、ということを繰り返すことになる。すなわち、演奏操作からは、音高nm1から音高nm5までの音を続けて発音させる意図が推測できるのに、nm2以降の押鍵については、実質的に第2アサイナAS−2と対応する音が発音されないこととなり、音高nm1とは異なる音になってしまい、演奏者の意図に沿った発音ができないと考えられる。
【0136】
図17に示すのは、第2実施形態と同じアサイナを用い、後着優先設定部36がないとして、図14の場合と同じ鍵操作があった場合における各アサイナASによる音高選択の例を示す図である。
この場合、KOFF2のタイミングまで、各アサイナASによる音高選択は図14の場合と同じである。図16の例と比べれば、キーオフリトリガーを行っているため、各音高の押鍵について、第1アサイナAS−1及び第2アサイナAS−2と対応する音の発音を行うことができ、演奏者の意図に沿った発音となっている。
【0137】
しかし、KON4のタイミング以降も、第2アサイナAS−2の音高選択規則が後着優先となることがないため、第2アサイナAS−2は、前の鍵の離鍵操作のタイミングでキーオフリトリガーを行って、次に押鍵された鍵の音高を選択する。このため、第1アサイナAS−1と対応する音と第2アサイナAS−2と対応する音とでは、発音開始及び終了のタイミングに若干ずれが生じ、これが聴感に悪影響を与える。
【0138】
これに対し、後着優先設定部36の機能を用いることにより、このような問題が発生せず、音高nm1から音高nm5までの押鍵がレガート奏法により一部重なったとしても、押鍵毎に音色が変わったり、パート毎に発音開始タイミングがずれたりすることのない発音が可能となることは、上述の通りである。
【0139】
〔変形例:図18
以上で実施形態の説明を終了するが、装置の構成、演奏操作子を始めとする操作子の構成、処理に用いるデータの構成、具体的な処理の手順等が上述の実施形態で説明したものに限られないことはもちろんである。
【0140】
例えば、後着優先設定部36が所定の条件に基づき後着優先の使用を設定するか否かを判断するタイミングは、上述した実施形態のものに限られない。上述した実施形態においては、キーオン又はキーオフの操作が行われたタイミングでこの判断を行うようにしたが、これらの操作と無関係なタイミングで判断を行うことも妨げられない。もちろん、キーオン操作かキーオフ操作かを問わず、何らかの操作が行われたタイミングで常に判断を行うようにしてもよい。
【0141】
また、第2実施形態においてある操作がレガート奏法の操作か否かを判定する基準は上述した実施形態のものに限られない。例えば、ある音高Mのキーオン、音高Mのキーオン以前から操作されていた別の音高Nのキーオフの順で操作があり、音高Mのキーオン時点で音高Mと音高Nとの間に押鍵中の鍵がない、というような、時間を考慮しない基準を用いることも考えられる。
【0142】
また、図15の処理において、発音割り当て処理(S69)よりも後で後着優先フラグのセットを行っていたため、後着優先フラグのトリガとなったキーオフ操作のタイミングでの発音の際には、(既に後着優先フラグがセットされていない限り)後着優先での音高選択ができなかった。
この構成でも特に問題はない。しかし、トリガとなったキーオフ操作のタイミングでの発音の際にも後着優先での音高選択を行いたい場合には、以下の対応が考えられる。
【0143】
すなわち、ステップS69の時点ではステップS72の判定を行うための、各アサイナによる選択音高を仮に決定しておき、ステップS72の判定に応じた後着優先フラグの設定を反映させた状態で、改めて各アサイナが実際に発音する音高を選択することが考えられる。
このようにすれば、キーオン操作とキーオフ操作が同時に行われた場合でも、キーオフ操作に応じて後着優先フラグがセットされればそれを同時のキーオン操作に応じた発音に直ちに反映させることができ、より迅速に音高選択規則の切り替えを行うことができる。
【0144】
また、上述した各実施形態では後着優先設定部36やキーオフリトリガー制御部39を割当制御部33と別に設ける例について説明したが、割当制御部33の各アサイナASが後着優先設定部36やキーオフリトリガー制御部39の機能を備えていてもよい。この場合、各アサイナASが、図7図15等を用いて説明したように、所定の条件に基づき後着優先の使用やキーオフリトリガーの要否を判定し、必要と判断した場合に、音高選択規則を後着優先に変更したり、キーオフリトリガーの処理を行ったりするようにすればよい。
【0145】
また、各アサイナについて設定する音高選択の規則につき、図18に示すように、押鍵数毎に異なる挙動を示すものとしてもよい。図18では第2アサイナと第3アサイナについて押鍵数4までしか規則を規定していないが、5以上の場合について規定してもよい。
【0146】
また、上述した実施形態では、演奏操作子が鍵盤であり、発音開始指示を押鍵操作により、発音停止指示を離鍵操作により行う例について説明した。しかし、演奏操作子の形態はこれに限られない。他の楽器の形状はもちろん、マトリクス状に操作部を配置したパッドなど、伝統的な楽器と全く異なる形状のユーザインタフェースを備える装置にもこの発明は適用可能である。この場合、発音開始指示及び発音停止指示は、そのユーザインタフェースの特性に応じた操作方法で受け付けることになる。
【0147】
また、電子楽器10が演奏操作子を内蔵している必要もない。通信I/F15に接続された外部のコントローラから、演奏操作子の操作内容を示す演奏データを取得し、その演奏データに基づいて電子楽器10が各操作部の操作状態を把握することも考えられる。
また、汎用コンピュータのキーボードや、タッチパネルに表示したGUI(グラフィカルユーザインタフェース)を、演奏操作子として用いることも考えられる。この場合において、汎用コンピュータに図2等に示した各部の機能を実現させることにより、電子楽器として機能させることができる。また、いずれの場合でも、図2等に示した各部の機能を、複数の装置に分散して設け、それらを協働させて電子楽器10の機能を実現させることもできる。
【0148】
この発明の実施形態であるプログラムは、1のコンピュータに、または複数のコンピュータを協働させて、図2等に示した各部(特に後着優先設定部36)の機能を実現させるためのプログラムである。
そして、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
【0149】
このようなプログラムは、はじめからコンピュータに備えるROMや他の不揮発性記憶媒体(フラッシュメモリ,EEPROM等)などに格納しておいてもよい。しかし、メモリカード、CD、DVD、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、上述した各手順を実行させることができる。
【0150】
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
また、以上説明してきた実施形態及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
【産業上の利用可能性】
【0151】
以上の説明から明らかなように、この発明によれば、連続した演奏操作が一部分重なってなされた場合でも、聴感への悪影響を抑えつつ、演奏者の演奏操作の意図に合った発音を容易に行えるようにすることができる。
従って、この発明を適用することにより、電子楽器の利便性を向上させることができる。
【符号の説明】
【0152】
10:電子楽器、11:CPU、12:ROM、13:RAM、14:記憶装置、15:通信I/F、16:検出回路、17:表示回路、18:音源回路、19:システムバス、21:タイマ、22:演奏操作子、23:設定操作子、24:ディスプレイ、25:DAC、26:サウンドシステム、31:発音指示受付部、32:操作状態検出部、33:割当制御部、34:楽音生成部、35:選択履歴保存部、36:後着優先設定部、37:出力部、38:操作履歴保存部、39:キーオフリトリガー制御部、AS:アサイナ、TC:発音ch
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19