JP2015081926A - 電子楽器、プログラム及び発音音高選択方法 - Google Patents

電子楽器、プログラム及び発音音高選択方法 Download PDF

Info

Publication number
JP2015081926A
JP2015081926A JP2013218057A JP2013218057A JP2015081926A JP 2015081926 A JP2015081926 A JP 2015081926A JP 2013218057 A JP2013218057 A JP 2013218057A JP 2013218057 A JP2013218057 A JP 2013218057A JP 2015081926 A JP2015081926 A JP 2015081926A
Authority
JP
Japan
Prior art keywords
pitch
key
sound generation
musical instrument
electronic musical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013218057A
Other languages
English (en)
Other versions
JP6398173B2 (ja
Inventor
直希 安良岡
Naoki Yasuraoka
直希 安良岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2013218057A priority Critical patent/JP6398173B2/ja
Publication of JP2015081926A publication Critical patent/JP2015081926A/ja
Application granted granted Critical
Publication of JP6398173B2 publication Critical patent/JP6398173B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】 連続した演奏操作が一部分重なってなされた場合でも、演奏者の演奏操作の意図に合った発音を容易に行えるようにする。
【解決手段】 それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する1又は複数のアサイナを設け、各操作部の操作状態の履歴又は各操作部の操作順の情報を保存し、上記操作部のキーオフ操作があった場合に、上記保存した履歴又は操作順の情報に基づきそのキーオフ操作が所定の条件を満たすか否か判断し(S32〜S35)、所定の条件を満たす場合に、キーオフ操作がされた操作部の音高を選択していたアサイナに、そのキーオフ操作後の操作部の操作状態に応じて発音する音高を選択させるようにした(S36)。
【選択図】 図8

Description

この発明は、複数の操作部の操作状態に応じて発音する音高を選択する電子楽器、コンピュータにこのような音高選択機能を実現させるためのプログラム、および、複数の操作部の操作状態に応じて発音する音高を選択する発音音高選択方法に関する。
従来から、電子楽器において、押鍵されている音高の中から予め定めたルールに従って発音すべき音高を選択するアサイナを複数設け、各アサイナが選択した音高を、そのアサイナと対応する音色で発音させることが知られている。
そして、この複数のアサイナを用いることにより、例えば1のアサイナに低音側の音高を選択させ、他のアサイナに高音側の音高を選択させるようにルールを定めておけば、自動的に低音側と高音側の音(例えば伴奏とメロディ)を異なる音色で弾き分けることができる。また、ルールの設定によっては、複数のアサイナに同じ音高を選択させ複数パートのユニゾン演奏のような発音を行ったり、複数のアサイナにそれぞれ異なる音高を選択させ複数パートのアンサンブル演奏のような発音を行ったりすることもできる。
このような電子楽器については、例えば特許文献1に記載がある。
また、特許文献2には、電子楽器において、押鍵されたノートに、押鍵数に応じた規則で所定数のパートを割り当て、各ノートを、そのノートに割り当てたパートの音色で発音させる電子楽器が開示されている。この電子楽器によれば、押鍵数によらず、常に所定数のパートを発音させることができる。
またこれらの他、特許文献3には、電子楽器における、1つの鍵に対応する音しか発音しない所謂モノアサイナに関する技術が開示されている。特許文献3には、モノアサイナの機能を有効にして演奏を行う際に、弾き間違いがあった場合でも発音させたい楽音を容易に再発音させるための手法として、発音中の鍵が離鍵された場合に、押鍵中の鍵のうち、その離鍵された鍵に最も近い鍵に対応する楽音を発音することが記載されている。
特許第2565069号公報 特開2010−79179号公報 特開平5−143073号公報
ところで、上述の複数のアサイナを用いてそれぞれ発音すべき音高を選択する場合において、特許文献1に記載の方式では、必ずしも望ましい発音ができるとは限らなかった。
例えば、レガート演奏を行う場合のように、前の音と次の音を続けて演奏する場合、前の音の鍵を離鍵する前に、次の音の鍵を押鍵する場合の発音に、不都合があった。
図4にこの例を示す。図4において、縦軸が時間、横軸が音高であり、各音高における帯が、その音高の鍵を押鍵している期間を示す。図4の例において、音高n4の鍵が押鍵され、これが離鍵される前に、音高n3の鍵が押鍵されている。そして、その後音高n4の鍵はすぐに離鍵されていることから、この演奏は音高n4の音と音高n3の音を続けて発音させることを意図した演奏であると推測できる。
しかしながら、特許文献1に記載の方式では、押鍵操作に応じて各アサイナに発音すべき音高を選択させる一方、離鍵操作の際には、離鍵された鍵と対応する音を発音中の発音チャンネルにキーオフ信号を送るのみである。すなわち、離鍵操作の際には、アサイナによる音高の選択は行わない。
従って、例えば初めに音高n4の鍵が(n1及びn2の鍵と同時に)押鍵されるKON1,2,4のタイミングでは、各アサイナは音高n1,n2,n4の3つの鍵が押鍵された状態で発音すべき音高を選択することになる。しかし、音高n3の鍵が押鍵されるKON3のタイミングでは、各アサイナは、音高n1〜n4の4つの鍵が押鍵されている状態で音高の選択を行うこととなってしまう。また、その後すぐに音高n4の鍵が離鍵されるKOFF4のタイミングでは、単に音高n4について発音している音を消音することになる。
このため、KON1,2,4からKON3の期間と、KOFF4以降の期間とでは、押鍵されている鍵の音高順と、各アサイナが選択する音高との関係がずれてしまう可能性がある。すなわち、演奏操作からは、音高n4の音と音高n3の音とは続けて発音させる意図が推測できるのに、これらの音高の音を異なる音色で発音してしまい、不自然な発音となってしまう可能性がある。
特許文献2には、複数のアサイナを用いる方式とは異なるものの、このようなレガート演奏時に発音が不自然とならないようにするためのミスレガート処理について記載されている。このミスレガート処理は、発音中の最新ノートのノートオンからミスレガート判定時間以内にノートオフがあった場合に、その時点でノートへのパートの割り当てと発音をやり直すというものである。
このようにすれば、図4のような演奏操作がなされた場合に、KON3からKOFF4までの期間がミスレガート判定時間以内であれば、KOFF4のタイミングで割り当てをやり直すことができ、KOFF4以降は音高n1〜n3の3つの押鍵と対応した発音を行うことができる。
しかしながら、特許文献2のミスレガート処理では、ミスレガート判定時間の設定が難しいという問題がある。すなわち、前の鍵と後の鍵が重複して押鍵される時間がミスレガート判定時間を超えると、前の鍵の離鍵時に再割り当てが行われない。ミスレガート判定時間を短くするほど、レガート演奏操作がこの条件に該当してしまい、レガートと判定されなくなる危険が高くなる。
一方、ミスレガート判定時間を長くしすぎると、レガート演奏ではなく一部音を重ねることを意図した演奏であっても、前の鍵の離鍵時に再割り当てを行ってしまい、却って演奏者の意図と異なる発音になってしまうことが考えられる。
また、特許文献2のミスレガート処理では、再割り当てを、再割り当て時点で押鍵中の全てのノートについて行うようになっている。このため、再割り当ての際に、レガート演奏と関係ない、図4における音高n1及びn2のような音についても意図せずパートの割り当てが変わってしまう可能性があるという問題があった。
なお、このような問題は、電子楽器が鍵盤楽器でない場合であっても、それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する場合には、同様に生じ得るものである。
この発明は、このような事情に鑑みてなされたものであり、連続した演奏操作が一部分重なってなされた場合でも、演奏者の演奏操作の意図に合った発音を容易に行えるようにすることを目的とする。
上記の目的を達成するため、この発明の電子楽器は、それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する1又は複数の選択手段と、上記各操作部の操作状態の履歴又は上記各操作部の操作順の情報を保存する保存手段と、上記操作部の発音停止操作があった場合に、上記保存手段が保存した情報に基づきその発音停止操作が所定の条件を満たすか否か判断し、その所定の条件を満たす場合に、その発音停止操作がされた操作部の音高を選択していた選択手段に、その発音停止操作後の上記複数の操作部の操作状態に応じて発音する音高を選択するよう指示する制御手段とを設けたものである。
このような電子楽器において、上記保存手段が、上記各操作部の操作に応じて、操作状態の履歴又は上記各操作部の操作順の情報として、操作された操作部に対応する音高を時系列的に記録した情報を保存するようにするとよい。
また、上記所定の条件を、その所定の条件を満たすか否かの判断のトリガとなった発音停止操作より前に行われた最後の発音開始操作に対応する音高Mと、その発音停止操作に対応する音高Nとの間にある操作部が、上記最後の発音開始操作の時点で操作されていないこと、とするとよい。
上記所定の条件が、上記音高Mに対応する操作部の発音開始操作は、上記音高Nに対応する操作部の発音停止操作の直前に行われた操作であること、の条件をさらに含むとよい。
上記所定の条件が、上記最後の発音開始操作よりも前に、上記音高Nに対応する操作部の発音開始操作が行われたこと、の条件をさらに含んでもよい。
上記所定の条件が、その所定の条件を満たすか否かの判断のトリガとなった発音停止操作の時点で、上記最後の発音開始操作が行われた操作部が操作中であること、の条件をさらに含んでもよい。
さらに、上記所定の条件が、上記音高Nと上記音高Mとの間の音高差が所定値以内であるという条件も含むとよい。
さらに、上記所定の条件が、上記発音停止操作がレガート演奏によるものであるか否かを判定するための条件であるとよい。
さらに、上記選択手段毎に、上記制御手段による音高の選択指示を有効にするか否かを設定する設定手段を設けるとよい。
この発明は、装置として実現する他、プログラム、方法、システム、その他任意の形態で実現することができる。
以上のようなこの発明の電子楽器、プログラム及び発音音高選択方法によれば、連続した演奏操作が一部分重なってなされた場合でも、演奏者の演奏操作の意図に合った発音を容易に行えるようにすることができる。
本発明の一実施形態である電子楽器のハードウェア構成を示すブロック図である。 図1に示した電子楽器における、アサイナを用いた発音制御に関連する機能の機能ブロック図である。 アサイナに設定する、発音音高選択規則の例を示す図である。 電子楽器において行われる演奏操作の例を示す図である。 操作履歴テーブルの例を示す図である。 図1に示した電子楽器においてCPUが実行する処理を示すフローチャートである。 図6に示した発音割り当て処理のフローチャートである。 図6に示したリトリガー判定処理のフローチャートである。 リトリガー判定処理の効果について説明するための説明図である。 比較例について説明するための図9と対応する説明図である。 別の比較例について説明するための図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も備える。
そして、CPU11が、RAM13をワークエリアとしてROM12又は記憶装置14に記憶された所要のプログラムを実行することにより、電子楽器10全体を制御し、演奏操作の検出、演奏操作子の操作状態に応じた発音音高の選択、その選択に従った発音の制御等の各種機能を実現する。CPU11に接続されるタイマ21は、基本クロック信号、割り込み処理タイミング等をCPU11に供給する。
なお、ROM12には、上記のプログラムの他、音色に対応する波形データや自動演奏データ、自動伴奏データ(伴奏スタイルデータ)などの各種データファイル、各種パラメータ及び各種テーブル等も記憶する。
RAM13は、フラグ、レジスタ、各種パラメータ等を記憶するCPU11のワークエリアの他、再生バッファ等のバッファ領域としても用いる。
記憶装置14は、ハードディスク、半導体メモリ等の記録媒体とその駆動装置の組み合わせの少なくとも1つで構成される。
通信I/F15は、サーバ、音響機器、外部コントローラ等の外部装置と通信を行うためのインタフェースであり、有線、無線を問わず、任意の規格の通信手段を用いて構成することができる。例えば、USB(Universal Serial Bus)やMIDI(Musical Instrument Digital Interface)_I/Fを用いることが考えられる。
検出回路16は、演奏操作子22及び設定操作子23をシステムバス19に接続するためのインタフェースである。
演奏操作子22は、検出回路16に接続され、ユーザの演奏動作に従い、演奏情報(演奏データ)を供給する。演奏操作子22は、ユーザの演奏操作を受け付けるための、それぞれ音高と対応する複数の操作部を備える。そして、該ユーザの操作部に対する操作開始タイミング及び終了タイミングを、それぞれユーザが操作した操作部に対応する音高の情報を含むキーオンデータ及びキーオフデータとして、検出回路16を通じてCPU11に供給する。また、演奏操作子22は、ユーザの演奏操作に応じてベロシティ値等の各種パラメータを供給することも可能である。なお、本実施例では、鍵盤型の演奏操作子22を備え、上記各操作部が鍵であるとして説明するが、これに限るものではない。
また、設定操作子23は、例えば、ボタン、スライダ、ロータリーエンコーダ、文字入力用キーボード、マウス等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。また、設定操作子23は、ディスプレイ24上に表示されるGUI(Graphical User Interface)に対する操作を行うためのポインティングデバイスや、ディスプレイ24に積層したタッチパネルでもよい。
いずれにせよ、ユーザは、設定操作子23を用いて、各種入力及び設定、選択をすることができる。
表示回路17は、ディスプレイ24をシステムバス19に接続するためのインタフェースである。
ディスプレイ24は、電子楽器10の設定のための各種情報や、電子楽器10の動作状態等を表示するための表示手段であり、例えば液晶表示装置や発光ダイオード(LED)等により構成することができる。
音源回路18は、CPU11からの発音指示に応じて、複数の発音ch(チャンネル)でそれぞれ楽音信号(デジタル波形データ)を生成する機能を備える。CPU11からの発音指示には、音色、音高、音量等の指定が含まれる。CPU11は、演奏操作子22の演奏操作を検出した場合に、アサイナの機能により、押鍵中の鍵の音高から、各アサイナと対応する発音を行わせる音高を選択し、その選択に従った発音を音源回路18に指示する。その詳細については後述する。
なお、音源回路18は、記憶装置14、ROM12又はRAM13等に記録された波形データ、オーディオデータ、自動伴奏データ、自動演奏データ又は、通信I/F15に接続された外部機器等から供給される演奏信号、MIDI信号、フレーズ波形データ等に応じて楽音信号を生成することも可能である。また、音源回路18は、生成した楽音信号に各種音楽的効果を付加する機能も備える。
そして、音源回路18は、生成した楽音信号をDAC25に出力する。DAC25はこの楽音信号をアナログ音響信号に変換し、DAC25に接続されているサウンドシステム26に供給する。サウンドシステム26は、アンプ、スピーカを含む発音手段であり、DAC25から供給されるアナログ音響信号を、発音出力する。DAC25及びサウンドシステム26は、電子楽器10の外部にあってもよい。
以上の電子楽器10において、特徴的な点は、アサイナの動作に関する点である。そこで、次にアサイナの動作についてより具体的に説明する。
図2に、電子楽器10における、アサイナを用いた発音制御に関連する機能の機能ブロック図を示す。
図2に示すように、電子楽器10は、発音指示受付部31、操作状態検出部32、割当制御部33、楽音生成部34、操作履歴保存部35、キーオフリトリガー制御部36、出力部37を備える。これらのうち、発音指示受付部31の機能は演奏操作子22及び検出回路16により実現され、楽音生成部34の機能は音源回路18により実現され、出力部37の機能はサウンドシステム26により実現される。他の各部の機能はCPU11により実現される。
そして、発音指示受付部31は、ユーザによる発音指示操作を受け付ける機能を備える。例えば、演奏操作子22である鍵盤がいずれかの鍵の押鍵操作(発音開始操作)を受け付けると、発音指示受付部31はこれを検出し、操作状態検出部32に対し、押鍵操作があったこと及び押鍵された鍵の音高であるノートナンバを示す操作信号であるキーオンデータを送信する。離鍵操作(発音停止操作)を受け付けた場合には、同様に離鍵操作があったことを及びその鍵のノートナンバを示すキーオフデータを送信する。
なお、以下の説明において、押鍵のように発音開始を指示するための操作を「キーオン操作」、離鍵の用に発音停止を指示するための操作を「キーオフ操作」と呼ぶことにする。また、キーオン操作からキーオフ操作までの状態を、「操作中」と呼ぶことにする。鍵盤の鍵で言えば、「押鍵中」がこれに該当する。ただし、発音開始の指示があった場合でも、必ずしも実際に発音が開始されるとは限らない。一定の音高について発音を行わない設定を可能としたり、同時発音数に制限を設けたりすることがあり得るためである。
操作状態検出部32は、発音指示受付部31から送信される操作信号に基づき、現在の演奏操作子22の操作状態(ここでは鍵盤なので押鍵状態)を検出する。より具体的には、操作中の(鍵の)音高を求める。この押鍵状態は、例えば、キーオンデータに含まれるノートナンバを操作中の音高のリストに追加し、キーオフデータに含まれるノートナンバを操作中の音高のリストから削除することにより求めることができる。
そして、操作状態検出部32は、キーオンデータを受信した場合には、検出した操作状態の情報を割当制御部33に供給し、発音する音高の選択を行わせる。具体的な供給先は、割当制御部33が備える第1アサイナAS−1から第nアサイナAS−nまでのn個のアサイナのうち、機能が有効になっているアサイナである。
また、操作状態検出部32は、操作を検出する度に、その操作の内容及びその操作を反映させた操作状態の情報を操作履歴保存部35に供給し、操作内容及び操作状態の履歴を保存させる。
なお、人が演奏を行う場合には、同時に複数の鍵の操作を行ったつもりでも、寸分違わず同じタイミングでその操作を行うことは困難である。そこで、複数の操作のタイミング差が同時操作とみなせる程度の所定閾値(例えば15〜30ミリ秒程度)以内であれば、それらの操作は同時に行われたものとみなして取り扱うことが望ましい。ここではこの取り扱いをするとして説明する。ある鍵のキーオン操作と別の鍵のキーオフ操作が同時に行われることもあり得る。
さらに、操作状態検出部32は、キーオフデータを受信した場合に、楽音生成部34に対し、キーオフ操作が行われた音高の発音を停止させる機能も備える。
さらに、操作状態検出部32は、キーオフデータを受信した場合に、その旨及びその音高をキーオフリトリガー制御部36に通知し、キーオフ操作に応じてアサイナASに発音する音高の選択を行わせる必要があるか否かを判定させる。この点については後述する。
次に、割当制御部33は、1又は複数(ここではn個とする)のアサイナAS−1〜AS−nを備える(アサイナの個体を特定する必要がない場合は符号「AS」を用いる)。これらの各アサイナASはそれぞれ、操作状態検出部32からキーオン操作に応じて供給される演奏操作子22の操作状態の情報に応じて、操作中(押鍵中)の音高の中から、楽音生成部34に発音させる音高(ノート)を選択する選択手段である。この選択は、アサイナ毎に設定される規則に従って行う。
図3に、アサイナに設定する規則の例を示す。
図3は、4つのアサイナを用いる場合の例であり、各アサイナに設定する規則は、「対象押鍵」及び「優先方式」の項目からなる。「説明」の項目は、これらの項目の情報により定められる規則の内容の理解を助けるための説明であり、選択処理には用いない。
対象押鍵の項目は、押鍵中の音高のうちどの範囲を選択の対象として考慮するかを定める項目である。「全押鍵」は、押鍵中の音高全てを考慮することを示す。「低音側X音」は、押鍵中の音高のうち低音側からX個の音高のみ考慮することを示す。ただし、押鍵数がX未満の場合には、押鍵中の音高全てを考慮する。また、図3には示していないが、同様に「高音側X音」の設定も可能である。
優先方式の項目は、選択の対象として考慮する音高の中で、発音する音高をどのように選択するかを定める項目である。「高音優先」は、考慮する音高の中で最も高い音高を選択することを示す。「低音優先」は、考慮する音高の中で最も低い音高を選択することを示す。
以上から、第1アサイナについては、押鍵中の音高全てのうち最も高い音高を選択する規則が設定されていることがわかる。
第2アサイナについては、押鍵数が3以下であれば、その押鍵の中で最も高い音高を選択することになる。押鍵数が4以上であれば、低音側3音の中で最も高い音高、すなわち下から3番目の音高を選択することになる。
第3アサイナについては、同様に、押鍵数が2以下であれば、その押鍵の中で最も高い音高を、押鍵数が3以上であれば、下から2番目の音高を選択することになる。
第4アサイナについては、押鍵中の音高全てのうち最も低い音高を選択する規則が設定されていることがわかる。
図にないアサイナについては機能が無効化されていると考えればよい。
各アサイナASは、以上の規則に従い発音する音高を選択すると、楽音生成部34に対し、その選択した音高の楽音を発音開始するよう要求する。また、各アサイナASには対応する音色T1〜Tnが設定されており、楽音をその対応する音色で発音するよう要求する。なお、アサイナASには対応するパートを設定し、音色はパートに対応付けて設定することも可能である。この場合、アサイナASと音色とは、パートを介して対応付けられることになり、アサイナAS−nに対応付けられたパートを第nパートと表す。
なお、各アサイナASは、自身が最後に選択した音高がどの音高であるかの情報を、次に別の音高を選択するまで保持しておく。そして、音高の選択を行った場合でも、選択した音高が前回と変わらず、かつその音高が今回キーオン操作された音高でない(以前から操作中であった)音高である場合、楽音生成部34に対する発音の要求を行わないようにするとよい。この場合、該当のアサイナASが今回選択した音高については、今回検出されたキーオン操作とは関係なく、以前のキーオン操作に応じて開始した発音を継続することが望ましいと考えられるためである。
また、自身が最後に選択した音高の情報は、キーオフリトリガー制御部36からの指示により、キーオフに応じた音高の選択及び発音指示を行う場合に用いる。この点については後述する。
また、この例では説明を簡単にするため各アサイナが音高を1つ選択するものとして説明するが、複数の音高を選択可能な規則を設定することも可能である。高音優先で2音を選択する、等である。
また、複数のアサイナが同じ音高を選択しても問題ない。この場合、選択された音高について、複数の音色で発音することになる。
楽音生成部34は、m個の発音chTC1〜TCmを備える(発音chの個体を特定する必要がない場合は符号「TC」を用いる)。そして、アサイナASから発音開始の要求を受けると、発音中でない発音chを検索し、発見した発音chTCにて、発音開始要求で指定された音高及び音色の楽音の音響信号を生成(発音)させる。なお、図2では、アサイナASと発音chTCの間を線で結んでいるがこれらの間に固定的な対応関係があるわけではない。
また、楽音生成部34は、操作状態検出部32から特定の音高の発音を停止するよう指示された場合に、発音chTCの中からその音高の発音を行っているものを検索し、その発音chに発音を停止させる機能も備える。この停止には、リリース状態への移行も含まれる。
そして、楽音生成部34は、各発音chTCが生成した音響信号をミキシングして出力部37に供給し、楽音の出力を行わせる。
次に、操作履歴保存部35は、操作状態検出部32から供給される、演奏操作子22の操作内容及び操作状態の情報を、時系列的に履歴として保存する機能を備える保存手段である。
図4に、演奏操作子22の操作内容の例を、図5にこれと対応する履歴を登録した操作履歴テーブルの例を示す。
図4の内容については発明が解決しようとする課題の項で説明したのでここでは再度の説明は省略する。
図5に示すように、操作履歴保存部35が保存する履歴は、各時点における演奏操作子22の操作状態(ここでは押鍵状態)と操作内容の情報を含む。
ここで、操作履歴保存部35は、操作状態検出部32から操作内容及び操作状態の情報を受け取る度に、新たな情報を操作履歴テーブルに追加する。このとき、各時刻は正確に計時する必要はなく、順序が特定されていればよい。そこで図5の例では、時刻の欄に、t(1)から始まってt(2)、t(3)、・・・のように、順序を示す情報を登録している。
押鍵状態の項目には、操作状態検出部32から通知された操作状態の情報が示す、その時点での押鍵中の(鍵の)音高を登録する。このとき、降順でも昇順でも構わないので、音高順に登録するとよい。後で音高の順序の情報を用いるためである。
操作内容の項目には、操作状態検出部32から通知された操作内容の情報を、操作された鍵の音高を用いて登録する。この操作内容の履歴を時系列的に参照することにより、鍵の操作順を把握することができる。
操作履歴保存部35は、図4に示す鍵操作があった場合、まず、KON1,2,4のタイミングで音高n1、n2及びn4の鍵が同時にキーオン操作されたことに対応して、時刻t(1)において押鍵中の音高がn1、n2及びn4であり、この時点の操作内容がn1、n2及びn4のキーオンであることを登録する。
次に、KON3のタイミングで音高n3の鍵がキーオン操作されたことに対応して、次の時刻t(2)において押鍵中の音高がn1、n2、n3及びn4であり、この時点の操作内容がn3のキーオンであることを登録する。以降も同様にKOFF4、KOFF1,2、KOFF3の時点の情報を、時刻t(3)、t(4)及びt(5)の時点情報として登録する。
この操作履歴テーブルは、例えばRAM13に保存すればよい。しかし、電子楽器10の外部のものも含め、任意の記憶手段に保存することができる。
なお、図5に示した押鍵状態と操作内容の情報は、一方が時系列的に参照可能であれば、他方の情報は、上記一方の情報に基づき作成可能である。従って、必ずしも両方の履歴を保存しておく必要はない。また、後述のように、この履歴は、直近の時点から大きく遡って参照するものではないので、記憶容量を圧迫しないよう、適当な数のデータを残して古いものは随時削除してしまって差し支えない。
図2の説明に戻る。
キーオフリトリガー制御部36は、操作状態検出部32からキーオフ操作があった旨を通知された場合に、操作履歴保存部35が作成した操作履歴テーブルの情報に基づき、今回のキーオフ操作に応じて割当制御部33に発音音高の選択を行わせる必要があるか否か判断する機能を備える。そして、行わせる必要があると判断した場合、割当制御部33に発音音高の選択を行うよう指示する。
このように、キーオフ操作に応じてアサイナASに発音音高を選択させることを、「キーオフリトリガー」と呼ぶことにする。
なお、キーオフリトリガーは、あるノートがキーオフ操作により消音することによって発音数が減少してしまうのを防ぐために行う。典型的には、図4におけるn4とn3のように、2つの音を続けて演奏する意図と考えられるのに、前の鍵と後の鍵の操作期間が若干重複してしまっている場合に対応できる。
この場合、KON3のタイミングで各アサイナASが発音する音高を選択した後、KOFF4のタイミングで音高n4の発音を停止させると、KON3のタイミングで音高n4を選択したアサイナASと対応する発音は、ただちに消えてしまうことになる。しかし、KON3のタイミングでは確定できないものの、図4に示した操作では、KON3のタイミングで音高n4の鍵がキーオフ操作されていないのは、その部分で音を増やし、その後減らしたいためではないと考えられる。従って、そもそもKON3のタイミングでアサイナASが音高の選択を行う場合に、音高n4を考慮すべきではなかったと言える。
そこで、キーオフリトリガー制御部36には、音高n4の鍵がキーオフ操作されるKOFF4のタイミングで、n4とn3の操作期間の重複が、音の重複を意図したものであるのか否かを、所定の条件に従って判断する機能を設けている。また、重複を意図したものでないと判断した場合、アサイナASに、n4の離鍵後の操作状態に従って、再度発音する音高を選択させる(キーオフリトリガーを行う)機能を設けている。
ただし、このとき音高の選択を行わせるのは、離鍵に応じて発音を停止した音高(図4の例ではn4)を選択していたアサイナASのみである。他のアサイナASが選択した音高は、KON3のタイミングで既に発音を開始しており、KOFF4のタイミングで音高の選択が変更されると、短時間で音高が変わる不自然な演奏になってしまうためである。
キーオフリトリガーを行う場合、キーオフリトリガー制御部36は、音高を指定して、割当制御部33に発音する音高の再選択を指示すればよい。割当制御部33は、この指示に応じて、指定された音高を選択しているアサイナASを検索し、音高の選択を行わせるアサイナASを決定する。検索には、アサイナASが保持している、選択した音高の情報を用いる。決定したアサイナASにおける音高の選択及び楽音生成部34への発音開始要求の処理は、操作状態検出部32からの指示に応じた選択の場合と同様である。
また、キーオフリトリガー制御部36が上記判断に用いる所定の条件は、例えば、その判断のトリガとなったキーオフ操作が行われた鍵の音高をN(図4の例ではn4)として、音高Nの鍵のキーオン操作、Nと異なる音高M(図4の例ではn3)の鍵のキーオン操作、音高Nの鍵のキーオフ操作の順で操作が行われ、かつ、音高Mの鍵のキーオン操作の時点で、音高Mと音高Nの間の音高の鍵が操作中でない、という条件を満たす音高Mがあること、とすることが考えられる。
上記のうち操作順の条件は、図4の音高n4と音高n3のように、発音指示期間に一部重なりのある操作が行われた、ということを判定するためのものである。
また、音高Mと音高Nの間の音高の鍵が操作中でないという条件(音高順の条件)は、レガート演奏の特性を考慮したものである。すなわち、図4のような操作が行われるのは典型的にはレガート演奏の場合であるが、この場合、続けて押鍵される2つの鍵の間の音高で、押鍵が移行するタイミングに他の鍵が押鍵されることは希である。そこで、間で他の鍵が押鍵されていれば、それはレガート演奏ではなく、音数を変えることを意図した演奏であると解釈し、発音音高の再選択を行わないようにすることが好ましい。
なお、左右の手でメロディと伴奏を演奏する場合にも、たまたま一部の鍵の押鍵期間がレガート演奏に近い形で重なることもあり得る。このような演奏を効率的に見分けるため、音高Mと音高Nの音高差が所定値以内であること、という条件を追加することも考えられる。
レガート演奏の場合、続けて押鍵される2つの鍵の音高が大きく離れることは希であるが、メロディと伴奏であれば、通常は押鍵される鍵の音高はある程度離れていると考えられるためである。
なお、ここで説明した条件は一例であり、他の条件を用いることも考えられる。たとえば、続けて押鍵される2つの鍵の間に他の鍵が押鍵されている場合であってもレガート演奏とみなしてキーオフリトリガーを行ってもよい。キーオフリトリガーを行うための条件設定は、どのような発音をさせたいかという意図に合わせて決めればよい。
次に、図2に示した機能のうち、CPU11が担う機能を実現するためにCPU11が実行する処理について説明する。
図6乃至図8は、その処理のフローチャートである。
CPU11は、検出回路16からキーオンデータ及び/又はキーオフデータを受信した場合に、所要のプログラムを実行することにより図6のフローチャートに示す処理を開始する。なお、所定閾値以内のタイミング差で行われた操作を同時操作とみなすことは上述の通りである。
図6の処理において、CPU11はまず、受信したキーオンデータ及び/又はキーオフデータが示す演奏操作子22の操作内容に基づき、各鍵の押鍵状態の情報を更新すると共に、操作内容及び押鍵状態を、図5の操作履歴テーブルに登録して操作履歴を更新する(S11)。
次に、CPU11は、検出した操作にキーオン操作が含まれているか否か判断する(S12)。複数の操作を同時に検出した場合、その中に1つでもキーオン操作があればYesとなる。
そして、Yesの場合、CPU11は、検出した操作の中にキーオフ操作があれば、そのキーオフ操作に係る音高の発音停止を、楽音生成部34に指示する(S13)。その後、アサイナASによる、キーオン操作に応じた発音音高の選択を行うべく、全アサイナASについて発音割り当てフラグを立てて(S14)、図7に示す発音割り当て処理に進む(S15)。
図7の処理において、CPU11はまず、変数nに1を代入する(S21)。そして、第nアサイナAS−nに発音割り当てフラグがセットされているか否か判断する(S22)。
ここでセットされていれば、CPU11は、第nアサイナAS−nについて設定されている規則に従い、操作中の鍵の音高の中から発音する音高を選択する(S23)。そして、ステップS23で選択した音高で、第nアサイナAS−nと対応する第nパートの発音を開始するよう、楽音生成部34に指示する(S24)。この場合、発音に用いる音色は、第nパートについて設定されている音色である。
以上のステップS23とS24が、アサイナAS1つ分の処理である。その後、CPU11は、現在処理したアサイナが最後のアサイナであるか否か判断し(S25)、最後でなければnを1加算して(S26)、ステップS22に戻って処理を繰り返す。
ステップS22でNoの場合、第nアサイナについては音高の選択は行わないので、そのままステップS25に進む。
ステップS25でNoの場合、全てのアサイナに関する処理が終了したことがわかるため、図7の処理を終了して元の処理に戻る。ここでは、図6のステップS15に戻るので、CPU11はそのまま処理を終了する。なお、ステップS14からS15に進んだ場合は、発音割り当て処理において、全アサイナと対応する音高選択及び発音指示を行うことになる。
なお、図7の処理を始める前に、初めに全アサイナの発音割り当てフラグを確認し、フラグのあるアサイナについてのみステップS23及びS24を実行するようにしてもよい。この場合、フラグのあるアサイナがなければ、発音割り当て処理自体をスキップできる。
一方、図6のステップS12でNoの場合、すなわち検出した操作がキーオフ操作のみであった場合、CPU11は、そのキーオフ操作に係る音高の発音停止を、楽音生成部34に指示する(S16)。その後、図8に示すリトリガー判定処理に進む(S17)。なお、キーオフ操作が複数あった場合には、その各キーオフ操作について、発音停止とリトリガー判定処理を行う。
図8の処理において、CPU11はまず、ステップS11での更新後の操作履歴テーブルにおける最新の時刻を示す値を、変数aに代入する(S31)。図5の操作履歴テーブルが作成される場合において、n4キーオフの時点で図8の処理を行ったとすると、a=3となる(この時点ではt(4)及びt(5)のデータはまだテーブルに登録されていない)。
次に、CPU11は、操作履歴テーブルを参照して、今回検出したキーオフ操作が、所定の条件を満たすか否か判断する(S32〜S35)。この判断に用いる条件は、図2のキーオフリトリガー制御部36の説明で述べた操作順の条件と音高順の条件を、操作履歴テーブルの登録内容と直接対応するようにより具体的なものとした一例である。
ステップS32〜S35では、CPU11は、
i)時刻t(a-1)において検出した操作にキーオンがある、
ii)時刻t(a-1)にキーオン操作された音高Mと、今回キーオフ操作を検出した
音高Nとの間に時刻t(a-1)時点で押鍵中の鍵がない、
iii)時刻t(a-2)において音高Nの鍵が押鍵中、
iv)時刻t(a)において音高Mの鍵が押鍵中、
の全てが成り立つか否か判断する。
音高Nのキーオン→他の音高Mのキーオン→直後に音高Nがキーオフされ音高Mはまだ押鍵中、の場合はレガートと考えられるので、これを判定しているのがi)、iii)及びiv)である。NとMの間の音高に他の押鍵がある場合はレガートと考えにくいので、これを判定しているのがii)である。
そして、全て成り立つ場合、CPU11は、図6のステップS16で停止する前に上記音高Nの発音を行っていたパートと対応するアサイナASについて、発音割り当てフラグをセットして(S36)、元の処理に戻る。ステップS36の処理は、キーオフ操作がされた音高を選択しているアサイナASについて発音割り当てフラグをセットするということもできる。
また、処理は図6のステップS17に戻るので、図6の処理では次に図7の発音割り当て処理に進む(S15)。そして、この発音割り当て処理においては、ステップS36で発音割り当てフラグをセットしたアサイナASについてのみ、ステップS22の判断がYesとなり、発音する音高の選択と発音開始指示を行う。
一方、図8のステップS32〜S35の判断で1つでもNoの場合には、CPU11は、今回のキーオフ操作は所定の条件を満たさないとして、そのまま元の処理に戻る。この場合も次に図7の発音割り当て処理に進むが(S15)、発音割り当てフラグがセットされたアサイナASがないため、発音する音高の選択と発音開始指示を行うことはない。
以上の図6乃至図8の処理が、この発明の発音音高選択方法の実施形態に係る処理である。また、図7の発音割り当て処理が選択手順と、図6のステップS11が保存手順と、図6のステップS12以降が制御手順とそれぞれ対応する。また、図6のステップS12以降の処理において、CPU11は制御手段として機能する。
そして、以上の処理を実行することにより、CPU11は、キーオフ操作に応じてアサイナASに発音する音高の選択と発音開始指示を行わせるべき場合を適切に判別し、これを行わせることができる。そして、このことにより、ユーザの演奏操作の意図に合った発音を行うことができる。また、この発音を行うために、特許文献2におけるミスレガート判定時間のようなパラメータの値の設定に試行錯誤する必要もない。
ただし、図8の処理において、音高Mのキーオンから音高Nのキーオフまでの時間が所定の閾値以下である、といった、時間に関する条件を付加することも妨げられない。図8の処理は、時間制限を一切考慮しなくても問題なく動作するが、時間情報を合わせて用いれば、「運指的にはレガートと同形であるが、時間間隔が非常に長くレガートとは考えられない操作」をレガートと判定しないようにし、判定精度を一層向上させることができる。
なお、図6のステップS12でYesの場合、キーオン操作に応じて必ず全アサイナについて発音音高の選択を行うため、キーオフリトリガーについて考慮する必要がない。リトリガー判定処理を行ってもよいが、その結果如何に関わらず、全アサイナについて発音音高の選択を行うことに変わりはない。
次に、リトリガー判定処理の効果について、図9乃至図11を用いて説明する。
図9は、図4に示した操作に応じて図6乃至図8に示した処理を実行し、図3に示した4つのアサイナにより発音する音高を選択させた場合の、発音の様子を示す図である。図9において、鍵の操作を示す帯の中に示した矢印は、各アサイナの選択に応じた発音を示す。
この場合、初めのKON1,2,4のタイミングでは、n1,n2,n4の3つの音高の鍵が押鍵中の状態で各アサイナASが発音する音高を選択する。その結果、第1アサイナAS−1及び第2アサイナAS−2は最高音のn4を、第3アサイナAS−3は下から2番目のn2を、第4アサイナAS−4は最低音のn1を選択する。
次のKON3のタイミングでは、n1,n2,n3,n4の4つの音高の鍵が押鍵中の状態で各アサイナASが発音する音高を選択する。その結果、第2アサイナAS−2は下から3番目のn3の選択に変わる。他の3つのアサイナの選択は、KON1,2,4のタイミングにおける選択と変わらない。
そして、次のKOFF4のタイミングでは、キーオフ操作された音高n4の発音が停止される。しかし、このときのキーオフ操作は、図8のステップS32〜S35の条件を全て満たす。このため、発音が停止された音高n4を選択していた第1アサイナAS−1に、この時点で押鍵中のn1,n2,n3の3つの音高から、発音する音高を選択させる。その結果、第1アサイナAS−1は最高音のn3を選択する。他のアサイナにはこの時点での選択は行わせないので、KON3のタイミングにおける選択の状態が維持される。
その結果、図9に示すように、音高n3の押鍵に応じて、その前の音高n4の押鍵の時と同じ第1及び第2アサイナAS−1,2と対応する音色T1,T2での発音が可能となる。
次に、図10に、リトリガー判定処理を行わない比較例における、図9と対応する発音の様子を示す。
この場合、KOFF4のタイミングで第1アサイナAS−1が音高n3を選択することがないので、第1アサイナAS−1と対応する音色での発音は、KOFF4のタイミングで停止されたままとなる。このため、音高n3の押鍵と対応する発音は、第2アサイナAS−2と対応する音色T2のみとなる。
従って、音高n3の押鍵と対応する発音は、音高n4の押鍵と対応する発音と異なる音色でなされることになり、演奏者の意図に合わないものとなってしまう。逆に言えば、図8のリトリガー判定処理を行うことにより、このような不具合を防止することができる。
ところで、単にキーオフ操作による発音数の減少を防ぐ目的であれば、レガート演奏であるか否かに関わらずキーオフ操作が行われるたびに常にキーオフリトリガーしてもよいと考えられる。しかし、本願発明では操作状態に応じてキーオフリトリガーを制御するので、常にキーオフリトリガーを行う場合に生じる問題も防止することができる。
ここで、図11に、キーオフリトリガーを常に行うようにした比較例における、図9と対応する発音の様子を示す。ただし、図11の例では、音高n4の離鍵タイミング(KOFF4)が、音高n3の押鍵タイミング(KON3)よりも前であるとしている。
この場合、KOFF4のタイミングで、発音停止された音高n4を選択していた第1アサイナAS−1及び第2アサイナAS−2について発音音高の選択を行うことになる。そして、このタイミングでは音高n3の鍵はまだ押鍵されていないため、押鍵中の音高n1及びn2の中から選択することになり、いずれのアサイナも、最高音の音高n2を選択することになる。
しかし、その後すぐにKON3のタイミングで全アサイナASが発音音高の選択を行うため、第1アサイナAS−1及び第2アサイナAS−2は、この時点の最高音である音高n3を選択する。
このように、キーオフリトリガーを常に行うとすると、スタッカート演奏のように押鍵に間隔が空く場合に、発音音高がめまぐるしく変わってしまうという不都合が生じる。しかし、図8のリトリガー判定処理のように、キーオフ操作が所定の条件を満たした場合のみキーオフリトリガーを行うようにすれば、このような不具合は生じない。
以上で実施形態の説明を終了するが、装置の構成、演奏操作子を始めとする操作子の構成、処理に用いるデータの構成、具体的な処理の手順等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、図6に示したリトリガー判定処理において、ii)の条件のみを考慮するようにしたり、これに加えてi)、iii)及びiv)の条件のうち任意の1又は複数を考慮するようにしたりしてもよい。i)〜iv)の条件を必ずしも全て用いなくても、判定の特性は多少変化するが、レガート演奏を識別することができる。
例えば、図8の処理においてステップS34の判断を省略し、iii)を考慮しないようにすると、2つの鍵が同時に押鍵され、その後一方が離鍵された場合にも、キーオフリトリガーを行うようになる。
また、図8に示したリトリガー判定処理を、図12に示すものにすることが考えられる。
図12の処理において、CPU11はまず、図8のステップS31の場合と同様、操作履歴テーブルにおける最新の時刻を示す値を、変数aに代入する(S41)。また、時刻t(a)の直近でキーオン操作を検出した時刻t(b)と、そのキーオン操作の音高を取得する(音高Mとする)(S42)。
次に、CPU11は、操作履歴テーブルを参照して、今回検出したキーオフ操作が、所定の条件を満たすか否か判断する(S43〜S45)。この判断に用いる条件も、図8の場合と同様、図2のキーオフリトリガー制御部36の説明で述べた押鍵順の条件と音高順の条件を、操作履歴テーブルの登録内容と直接対応するようにより具体的なものとした一例である。
ステップS43〜S45では、CPU11は、
i)時系列が、今回キーオフ操作を検出した音高Nのキーオン操作→時刻t(b)→時刻t(a)の順である、
ii)時刻t(a)において音高Mの鍵が押鍵中、
iii)時刻t(b)において音高Mと音高Nの間に押鍵中の鍵がない、
の全てが成り立つか否か判断する。これらのうちi)とii)が操作順を判定する処理、iii)が音高順を判定する処理である。
すなわち、音高Nのキーオン→他の音高Mのキーオン→音高Mのキーオンの後に音高Nがキーオフされ音高Mはまだ押鍵中、の場合はレガートと考えられるので、これを判定しているのがi)及びii)である。NとMの間の音高に他の押鍵がある場合はレガートと考えにくいので、これを判定しているのがiii)である。
そして、これらが全て成り立つ場合、CPU11は、図8のステップS36の場合と同様、音高Nの発音を行っていたパートと対応するアサイナASについて、発音割り当てフラグをセットして(S46)、元の処理に戻る。
この処理は、図8の処理と比べ、時刻t(a-1)にキーオンがない場合でも、図2のキーオフリトリガー制御部36の説明で述べた操作順の条件と音高順の条件が満たされていれば、発音割り当てフラグのセットを行うようにした点が異なるものである。すなわち、音高Mのキーオン操作と、音高Nのキーオフ操作の間に、たまたま無関係な音高のキーオフ操作があっても、その無関係なキーオフ操作を無視できるようにしたものである。
この処理を採用することにより、レガート演奏の検出漏れを減らすことができる。ただし、伴奏の操作とメロディ演奏の操作とがたまたま図12のi〜iiiの条件を満たしてしまう可能性も無視できない。このため、必要に応じて、音高Mと音高Nとの音高差が所定値以内である場合のみ発音割り当てフラグのセットを行う等の対策を講じることが好ましい。
なお、図12に示したリトリガー判定処理においても、図8の場合と同様、iii)の条件のみを考慮するようにしたり、これに加えてi)及びii)の条件のうち任意の1又は複数を考慮するようにしたりしてもよい。i)〜iii)の条件を必ずしも全て用いなくても、判定の特性は多少変化するが、レガート演奏を識別することができる。
また、アサイナ毎に、キーオフリトリガーを有効にするか否かを設定できるようにしてもよい。そして、リトリガー判定処理を図8に示したものに代えて図13に示すものとし、ステップS35の後ろにステップSAを追加して、発音割り当てフラグを立てようとするアサイナについてキーオフリトリガーを有効にする設定がなされている場合に、発音割り当てフラグを立てるようにすることが考えられる。
図8等のリトリガー判定処理は、レガート演奏が行われた際に演奏者の意図に沿った発音を行うためには有効である。また、短時間に多くのキーオン操作、キーオフ操作が行われる、いわゆる早弾きの演奏の場合にも有効である。短期間にキーオン操作とキーオフ操作が繰り返されるため、前の音をキーオフする前に次の音をキーオンする状態が発生しやすく、つまり意図せずともレガート演奏と同様な操作となりやすいためである。
しかし、リトリガー判定処理では、それ以外の演奏の際にも同じ基準でキーオフリトリガーの要否を判定するため、演奏の内容によっては、却って演奏者の意図に合わない発音となってしまう可能性もある。例えば、レガート演奏を用いない伴奏パートの演奏の際には、キーオフリトリガーはあまり必要ないと考えられる。
このため、キーオフリトリガーを有効に活用できる演奏を行う予定のパートと対応するアサイナについてキーオフリトリガーを有効に設定し、そうでないパートと対応するアサイナについてはキーオフリトリガーを無効に設定できるようにすることにより、一層演奏者の意図に沿った発音が可能となる。
また、図6乃至図8の処理において、図6のステップS12でNoの場合に、キーオフ操作に係る音高を発音しているパートと対応するアサイナについて発音割り当てフラグを立て、図8の処理において、ステップS32乃至S35のいずれかでNoとなった場合にフラグをクリアするようにしてもよい。
また、上述した実施形態ではキーオフリトリガー制御部36を割当制御部33と別に設ける例について説明したが、割当制御部33の各アサイナASがキーオフリトリガー制御部36の機能を備えていてもよい。この場合、操作状態検出部32がキーオフデータを受信した場合に、キーオンデータの場合と同様に割当制御部33の各アサイナASにその操作の情報を通知するとよい。そして、各アサイナASが、自身が選択している音高についてのキーオフ操作を通知された場合に、図8等を用いて説明したように操作履歴テーブルを参照して所定の条件に基づきキーオフリトリガーの要否を判定し、必要と判断した場合に、図7のステップS23及びS24のようにリトリガーの処理を行うようにすればよい。
また、上述した実施形態では、演奏操作子が鍵盤であり、発音開始指示を押鍵操作により、発音停止指示を離鍵操作により行う例について説明した。しかし、演奏操作子の形態はこれに限られない。他の楽器の形状はもちろん、マトリクス状に操作部を配置したパッドなど、伝統的な楽器と全く異なる形状のユーザインタフェースを備える装置にもこの発明は適用可能である。この場合、発音開始指示及び発音停止指示は、そのユーザインタフェースの特性に応じた操作方法で受け付けることになる。
また、電子楽器10が演奏操作子を内蔵している必要もない。通信I/F15に接続された外部のコントローラから、演奏操作子の操作内容を示す演奏データを取得し、その演奏データに基づいて電子楽器10が各操作部の操作状態を把握することも考えられる。
また、汎用コンピュータのキーボードや、タッチパネルに表示したGUI(グラフィカルユーザインタフェース)を、演奏操作子として用いることも考えられる。この場合において、汎用コンピュータに図2に示した各部の機能を実現させることにより、電子楽器として機能させることができる。また、いずれの場合でも、図2に示した各部の機能を、複数の装置に分散して設け、それらを協働させて電子楽器10の機能を実現させることもできる。
この発明の実施形態であるプログラムは、1のコンピュータに、または複数のコンピュータを協働させて、図2に示した各部(特に操作履歴保存部35及びキーオフリトリガー制御部36)の機能を実現させるためのプログラムである。
そして、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるROMや他の不揮発性記憶媒体(フラッシュメモリ,EEPROM等)などに格納しておいてもよい。しかし、メモリカード、CD、DVD、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
また、以上説明してきた実施形態及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
以上の説明から明らかなように、この発明によれば、連続した演奏操作が一部分重なってなされた場合でも、演奏者の演奏操作の意図に合った発音を容易に行えるようにすることができる。
従って、この発明を適用することにより、電子楽器の利便性を向上させることができる。
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:出力部、AS:アサイナ、TC:発音ch

Claims (11)

  1. それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する1又は複数の選択手段と、
    前記各操作部の操作状態の履歴又は前記各操作部の操作順の情報を保存する保存手段と、
    前記操作部の発音停止操作があった場合に、前記保存手段が保存した情報に基づき該発音停止操作が所定の条件を満たすか否か判断し、該所定の条件を満たす場合に、該発音停止操作がされた操作部の音高を選択していた選択手段に、該発音停止操作後の前記複数の操作部の操作状態に応じて発音する音高を選択するよう指示する制御手段とを備えることを特徴とする電子楽器。
  2. 請求項1に記載の電子楽器であって、
    前記保存手段は、前記各操作部の操作に応じて、操作状態の履歴又は前記各操作部の操作順の情報として、操作された操作部に対応する音高を時系列的に記録した情報を保存することを特徴とする電子楽器。
  3. 請求項1又は2に記載の電子楽器であって、
    前記所定の条件は、該所定の条件を満たすか否かの判断のトリガとなった発音停止操作より前に行われた最後の発音開始操作に対応する音高Mと、該発音停止操作に対応する音高Nとの間にある操作部が、前記最後の発音開始操作の時点で操作されていないこと、であることを特徴とする電子楽器。
  4. 請求項3に記載の電子楽器であって、
    前記所定の条件は、前記音高Mに対応する操作部の発音開始操作は、前記音高Nに対応する操作部の発音停止操作の直前に行われた操作であること、の条件をさらに含むことを特徴とする電子楽器。
  5. 請求項3又は4に記載の電子楽器であって、
    前記所定の条件は、前記最後の発音開始操作よりも前に、前記音高Nに対応する操作部の発音開始操作が行われたこと、の条件をさらに含むことを特徴とする電子楽器。
  6. 請求項3乃至5のいずれか一項に記載の電子楽器であって、
    前記所定の条件は、該所定の条件を満たすか否かの判断のトリガとなった発音停止操作の時点で、前記最後の発音開始操作が行われた操作部が操作中であること、の条件をさらに含むことを特徴とする電子楽器。
  7. 請求項3乃至6のいずれか一項に記載の電子楽器であって、
    前記所定の条件が、さらに、前記音高Nと前記音高Mとの間の音高差が所定値以内であるという条件も含むことを特徴とする電子楽器。
  8. 請求項1乃至7のいずれか一項に記載の電子楽器であって、
    前記所定の条件は、前記発音停止操作がレガート演奏によるものであるか否かを判定するための条件であることを特徴とする電子楽器。
  9. 請求項1乃至8のいずれか一項に記載の電子楽器であって、
    前記選択手段毎に、前記制御手段による音高の選択指示を有効にするか否かを設定する設定手段を備えたことを特徴とする電子楽器。
  10. コンピュータを、
    それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する1又は複数の選択手段と、
    前記各操作部の操作状態の履歴又は前記各操作部の操作順の情報を保存する保存手段と、
    前記操作部の発音停止操作があった場合に、前記保存手段が保存した情報に基づき該発音停止操作が所定の条件を満たすか否か判断し、該所定の条件を満たす場合に、該発音停止操作がされた操作部の音高を選択していた選択手段に、該発音停止操作後の前記複数の操作部の操作状態に応じて発音する音高を選択するよう指示する制御手段として機能させるためのプログラム。
  11. 発音を指示する複数の操作部の操作状態に応じて1又は複数の選択手段がそれぞれ発音する音高を選択する選択手順と、
    前記各操作部の操作状態の履歴又は前記各操作部の操作順の情報を保存する保存手順と、
    前記操作部の発音停止操作があった場合に、前記保存手段が保存した情報に基づき該発音停止操作が所定の条件を満たすか否か判断し、該所定の条件を満たす場合に、該発音停止操作がなされた操作部の音高を選択していた選択手段に、該発音停止操作後の前記複数の操作部の操作状態に応じて発音する音高を選択するよう指示する制御手順とを備えることを特徴とする発音音高選択方法。
JP2013218057A 2013-10-21 2013-10-21 電子楽器、プログラム及び発音音高選択方法 Active JP6398173B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013218057A JP6398173B2 (ja) 2013-10-21 2013-10-21 電子楽器、プログラム及び発音音高選択方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013218057A JP6398173B2 (ja) 2013-10-21 2013-10-21 電子楽器、プログラム及び発音音高選択方法

Publications (2)

Publication Number Publication Date
JP2015081926A true JP2015081926A (ja) 2015-04-27
JP6398173B2 JP6398173B2 (ja) 2018-10-03

Family

ID=53012575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013218057A Active JP6398173B2 (ja) 2013-10-21 2013-10-21 電子楽器、プログラム及び発音音高選択方法

Country Status (1)

Country Link
JP (1) JP6398173B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009063602A (ja) * 2007-09-04 2009-03-26 Roland Corp 電子楽器
JP2010079179A (ja) * 2008-09-29 2010-04-08 Roland Corp 電子楽器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009063602A (ja) * 2007-09-04 2009-03-26 Roland Corp 電子楽器
JP2010079179A (ja) * 2008-09-29 2010-04-08 Roland Corp 電子楽器

Also Published As

Publication number Publication date
JP6398173B2 (ja) 2018-10-03

Similar Documents

Publication Publication Date Title
US20090069916A1 (en) Patch time out for use in a media application
JP6260191B2 (ja) 電子楽器、プログラム及び発音音高選択方法
WO2018088382A1 (ja) 鍵盤楽器
JP5879996B2 (ja) 音信号生成装置及びプログラム
US9384717B2 (en) Tone generation assigning apparatus and method
US11417303B2 (en) Musical sound data reproduction device and musical sound data reproduction method
JP4379291B2 (ja) 電子音楽装置及びプログラム
JP4787258B2 (ja) 音色記憶装置、音色記憶方法、音色記憶のためのコンピュータプログラム
CN113140201B (zh) 伴奏音生成装置、电子乐器、伴奏音生成方法及伴奏音生成程序
JP6398173B2 (ja) 電子楽器、プログラム及び発音音高選択方法
JP6357772B2 (ja) 電子楽器、プログラム及び発音音高選択方法
JP6399155B2 (ja) 電子楽器、プログラム及び発音音高選択方法
JP6343911B2 (ja) 電子楽器、プログラム及び発音音高選択方法
JP2015125389A (ja) 電子楽器、プログラム及び発音音高選択方法
JP6149890B2 (ja) 楽音生成装置および楽音生成プログラム
JP6194589B2 (ja) 音楽データ再生装置および音楽データ再生方法を実現するためのプログラム
JP5692275B2 (ja) 電子楽器
JP2015125391A (ja) 電子楽器、プログラム及び発音音高選択方法
US20230035440A1 (en) Electronic device, electronic musical instrument, and method therefor
JP6102975B2 (ja) 楽音生成装置、楽音生成プログラム及び電子楽器
JP2015114639A (ja) 電子楽器、プログラム及び楽音信号生成方法
JP5568866B2 (ja) 楽音信号生成装置
JP5983624B6 (ja) 発音割り当てのための装置及び方法
JP4585023B2 (ja) 電子楽器
JPH0816163A (ja) 楽音発生装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180820

R151 Written notification of patent or utility model registration

Ref document number: 6398173

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151