電子楽器
【課題】押鍵の状態が変化した場合でも、自然な楽音を発生することができる電子楽器を提供する。
【解決手段】(a)はノート1のみが押鍵され、ノート1にパート1〜4を割り当て、(b)はノート1より音高が低いノート2が更に押鍵され、ノート1にパート1,2、ノート2にパート3,4を割り当て、(c)はノート2より音高が低いノート3が更に押鍵され、ノート1にパート1、ノート2にパート2、ノート3にパート3,4を割り当て、(d)はノート3より音高が低いノート4が更に押鍵され、ノート1にパート1、ノート2にパート2、ノート3にパート3、ノート4にパート4を割り当て、(e)はノート数がパート数より多く、ノート4より音高が低いノート5が更に押鍵され、ノート1,2にパート1、ノート3にパート2、ノート4にパート3、ノート5にパート4を割り当てる場合を示す。このようにノートにパートを略均一に割り当てる。
【解決手段】(a)はノート1のみが押鍵され、ノート1にパート1〜4を割り当て、(b)はノート1より音高が低いノート2が更に押鍵され、ノート1にパート1,2、ノート2にパート3,4を割り当て、(c)はノート2より音高が低いノート3が更に押鍵され、ノート1にパート1、ノート2にパート2、ノート3にパート3,4を割り当て、(d)はノート3より音高が低いノート4が更に押鍵され、ノート1にパート1、ノート2にパート2、ノート3にパート3、ノート4にパート4を割り当て、(e)はノート数がパート数より多く、ノート4より音高が低いノート5が更に押鍵され、ノート1,2にパート1、ノート3にパート2、ノート4にパート3、ノート5にパート4を割り当てる場合を示す。このようにノートにパートを略均一に割り当てる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子楽器に関し、特に一つの発音指示に応じて複数の音色の楽音を発生することができる電子楽器に関するものである。
【背景技術】
【0002】
従来より、鍵盤を構成する鍵のうちの複数の鍵が押下された場合に、その押下された複数の鍵それぞれに異なる音色を割り当て、その鍵に割り当てられた複数の音色で、その鍵により指定される音高の楽音を発生する電子楽器が知られている(特許文献1)。
【0003】
また、一つの押鍵に応じて、複数の音色の楽音を同時に発生する電子楽器が知られている。例えば、複数種類の管楽器(トランペットやトロンボーンなど)で同じ音高の音を演奏した楽音をメモリに記憶し、一つの鍵が押下されると、そのメモリに記憶された楽音を読み出して楽音を発生することが行われている。この場合、鍵が一つ押下されると、複数の音色の楽音が同時に発生されて、吹奏楽団によって演奏されているような演奏が行われるが、複数の鍵を押下した場合にも、それぞれの鍵について複数の音色の楽音が発生される。従って、押鍵数が増えるとあたかも演奏者の数が増えたかのような演奏になり不自然であった。
【0004】
そこで、押鍵数が少ない場合には、一つの押鍵に対して複数の音色の楽音を発生し、押鍵数が多い場合には、一つの押鍵に対して、少ない数の音色の楽音を発生するという方式の電子楽器が知られている。
【特許文献1】特開昭57−128397号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の電子楽器では、押鍵の状態に応じて割り当てられる音色が限定的であり、押鍵数が変化した場合には、不自然な演奏になっていた。例えば、一つの鍵が押下された場合に、複数の楽音が発生され、その状態で別の鍵を押下した場合には、それまで発生されていた楽音が停止され、新たな鍵に対応して複数の楽音が発生される。また、同時に複数の鍵が押下された場合には、それぞれの鍵に割り当てられる音色が決定されるが、その状態から新たな押鍵がなされた場合には、新たな押鍵が無視されるなどの不自然な演奏になるという問題点があった。
【0006】
本発明は、上述した問題点を解決するためになされたものであり、押鍵の状態が変化した場合でも、自然な楽音を発生することができる電子楽器を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、請求項1記載の電子楽器は、所定音高の楽音の発生開始を指示する発音指示と、その発音指示により発生した楽音の停止を指示する停止指示とを入力する入力手段と、前記入力手段により入力された発音指示により発生開始を指示された所定音高の楽音に割り当てられ、前記楽音を設定された音色で発生する複数のパートと、
前記入力手段により入力された発音指示により所定音高の楽音の発生開始が指示されると、前記複数のパートのうちの予め定められた数のパートが、発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てられ、発生中の楽音と前記発生開始が指示された楽音とを、それぞれ割り当てられたパートで発生もしくは発生を継続するように制御する発音制御手段とを備えている。
【0008】
請求項2記載の電子楽器は、請求項1記載の電子楽器において、前記発音制御手段は、前記発生中の楽音と前記発生開始が指示された楽音との総数Nと、前記複数のパートのうちの予め定められたパート数PとがN≦Pの場合には、P/Nの整数商a、余りbに対して、b個の楽音にそれぞれ(a+1)個の異なるパートを割り当て、(N−b)個の楽音にそれぞれa個の異なるパートを割り当て、P個のパートがそれぞれ1回ずつ楽音に割り当てられるようにすることで、前記複数のパートのうちの予め定められた数のパートを、前記発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てる。
【0009】
請求項3記載の電子楽器は、請求項2記載の電子楽器において、前記複数のパートのうちの予め定められた数のパートは音高順位を有し、前記発音制御手段は、音高の高い楽音から、割り当てられるべき数のパートを音高順位の高いパートから順に割り当てる。
【0010】
請求項4記載の電子楽器は、請求項1記載の電子楽器において、前記発音制御手段は、前記発生中の楽音と前記発生開始が指示された楽音との総数Nと、前記複数のパートのうちの予め定められたパート数PとがN>Pの場合には、N/Pの整数商a、余りbに対して、b個のパートをそれぞれ(a+1)個の異なる楽音へ割り当て、(P−b)個のパートをそれぞれa個の異なる楽音へ割り当て、N個の楽音にそれぞれ1個のパートが割り当てられるようにすることで、前記複数のパートのうちの予め定められた数のパートを、前記発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てる。
【0011】
請求項5記載の電子楽器は、請求項4記載の電子楽器において、前記複数のパートのうちの予め定められた数のパートは音高順位を有し、前記発音制御手段は、音高順位の高いパートから、音高の高い楽音へ順に割り当てる。
【0012】
請求項6記載の電子楽器は、請求項1から5のいずれかに記載の電子楽器において、前記入力手段により発音指示が入力された第1楽音と、前記第1楽音の発音指示より後に発音指示が入力され、且つ前記第1楽音の停止指示時に発生中の最も新しい楽音である第2楽音とに対して、前記第1楽音の停止指示と前記第2楽音の発音指示との時間差を計時するレガート時間計時手段と、前記第1楽音の停止指示が入力され、且つ前記レガート時間計時手段により計時された前記第1楽音の停止指示と前記第2楽音の発音指示との時間差が所定時間であるミスレガート判定時間以内であるときは、前記第1楽音を停止するとともに、前記複数のパートのうちの予め定められた数のパートを、前記第2楽音を含む発生中の楽音に略均一に割り当てて、前記第2楽音を含む発生中の楽音をそれぞれ割り当てられたパートで発生もしくは発生を継続するように補正するミスレガート補正手段とを備えている。
【0013】
請求項7記載の電子楽器は、請求項1から5のいずれかに記載の電子楽器において、発生中の楽音の発音継続時間を計時する発音継続時間計時手段を備え、前記発音制御手段は、前記入力手段により発音指示が入力されたとき、前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間より長い楽音に対しては、パートの割り当てを変更しない。
【0014】
請求項8記載の電子楽器は、請求項7記載の電子楽器において、前記複数のパートのうちの予め定められた数のパートは音高順位を有し、前記発音制御手段は、前記複数のパートのうちの予め定められた数のパートのうち、前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間より長い楽音に割り当てられているパートを除いた割当可能パートがある場合には、発生中の楽音のうち前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間以内の楽音と、前記発生開始が指示された楽音とに、前記割り当て可能パートを、楽音の音高およびパートの音高順位に従って略均一に割り当て、前記割当可能パートがない場合には、発生中の楽音のうち前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間以内の楽音と、前記発生開始が指示された楽音とに、それぞれの楽音の音高に最も近い音高で発生中の楽音に割り当てられているパートのうち、割当対象の楽音の音高に音高順位が近いパートを割り当てる。
【0015】
請求項9記載の電子楽器は、請求項1から5のいずれかに記載の電子楽器において、前記入力手段により入力された発音指示により楽音の発生開始が指示されてからの経過時間を計時する経過時間計時手段を備え、前記発音制御手段は、前記入力手段により入力された発音指示により楽音の発生開始が指示されると、前記経過時間計時手段により計時された経過時間が所定時間である遅延時間となったら、前記発生開始が指示された楽音の発生を開始する。
【発明の効果】
【0016】
請求項1記載の電子楽器によれば、複数の楽器で構成されたブラスセクションなどの音色を再現する場合は、パート毎に異なる音色を設定することになる。このような音色において、楽音数が変化しても、発音するパートの総数が変化せず各パートが均一に利用されるため、濁りのないバランスのとれた音色で演奏できるという効果がある。
【0017】
請求項2記載の電子楽器によれば、請求項1記載の電子楽器の奏する効果に加え、複数の楽器で構成されたブラスセクションなどの音色において、楽音数がセクションを構成する楽器数以内の場合は、発音するパートの総数が変化せず各パートが均一に利用されるため、濁りのないバランスのとれた音色で演奏できるという効果がある。
【0018】
請求項3記載の電子楽器によれば、請求項2記載の電子楽器の奏する効果に加え、複数の楽器で構成されたブラスセクションなどの音色において、楽音数がセクションを構成する楽器数以内の場合に、高音域を担当すべき楽器は常に和音の高音を発音し、低音域を担当する楽器は常に和音の低音を発音するため、実際のブラスセクションと同様の響きを得ることができるという効果がある。
【0019】
請求項4記載の電子楽器によれば、請求項1記載の電子楽器の奏する効果に加え、複数の楽器で構成されたブラスセクションなどの音色において、楽音数がセクションを構成する楽器数より多い場合でも、特定のパートに偏ることなく、パートが各楽音に均一に割り当てられ、濁りのないバランスのとれた音色で演奏できるという効果がある。
【0020】
請求項5記載の電子楽器によれば、請求項4記載の電子楽器の奏する効果に加え、複数の楽器で構成されたブラスセクションなどの音色において、楽音数がセクションを構成する楽器数より多い場合でも、高音域を担当すべき楽器は常に和音の高音を発音し、低音域を担当する楽器は常に和音の低音を発音するため、実際のブラスセクションと同様の響きを得ることができるという効果がある。
【0021】
請求項6記載の電子楽器によれば、請求項1から5のいずれかに記載の電子楽器の奏する効果に加え、レガート演奏の際、瞬間的に楽音が重なった場合は、パートがそれぞれの楽音に均一に割り当てられるため、レガートの一方の楽音が消音されると、発音しているパート数が減少してしまう問題があったが、このような場合においても、それを補正して、発音するパート数が変化することなく一定の音量を保った演奏を継続することができるという効果がある。
【0022】
請求項7記載の電子楽器によれば、請求項1から5のいずれかに記載の電子楽器の奏する効果に加え、途中で和音の構成音が変化するような場合は、発音中の楽音において、パートの増減や入れ替えが不自然に感じる場合があるが、このような場合においても、不自然な音量や音色変化のない演奏ができるという効果がある。
【0023】
請求項8記載の電子楽器によれば、請求項7記載の電子楽器の奏する効果に加え、途中で和音の構成音が変化するような場合は、発音中の楽音において、パートの増減や入れ替えが不自然に感じる場合があるが、このような場合においても、不自然な音量や音色変化が発生せず、かつ濁りのないバランスのとれた音色で演奏ができるという効果がある。
【0024】
請求項9記載の電子楽器によれば、請求項1から5のいずれかに記載の電子楽器の奏する効果に加え、同タイミングでの和音入力の際に起きる、パートの増減や入れ替えに伴う不自然さを防止し、濁りのないスムーズな発音ができるという効果がある。
【発明を実施するための最良の形態】
【0025】
以下、本発明の好ましい第1実施形態について、添付図面を参照して説明する。図1は、本発明の実施形態における電子楽器1の電気的構成を示すブロック図である。この電子楽器1は、一つの発音指示に応じて複数の音色の楽音を発生することができるものである。
【0026】
図1に示すように、電子楽器1は、CPU2、ROM3、RAM4、操作パネル5、MIDIインターフェース6、音源7、D/A変換器8を主に設けている。CPU2とROM3とRAM4と操作パネル5とMIDIインターフェース6と音源7とはバスラインにより相互に接続されている。
【0027】
音源7の出力は、D/A変換器8に接続され、D/A変換器8の出力は、外部機器であるアンプ21に接続され、アンプ21の出力は、外部機器であるスピーカ22に接続される。一方、MIDIインターフェース6には、外部機器であるMIDI鍵盤20が接続される。
【0028】
CPU2は、ROM3に記憶される制御プログラム3aや固定値データに従って、電子楽器1の各部を制御するものである。CPU2は、タイマ2aを内蔵しタイマ2aは、図示しないクロック信号発信回路が発生するクロック信号を計数することにより、時刻を計時する。このタイマ2aにより計時される時刻により、一つのノートオン情報が入力されてから、次のノートオン情報が入力されるまでの時間であるオンオンタイムや、ノートオン情報が入力されてから、そのノートオン情報に対応するノートオフ情報が入力されるまでの時間であるゲートタイム、ノートオン情報が入力されて音源7に発音の開始を指示した時刻からの時間である発音継続時間などが計時される。
【0029】
なお、ノートオン情報およびノートオフ情報は、MIDIインターフェース6を介してMIDI鍵盤20より入力されるMIDI規格に適合する情報である。また、ノートオン情報とノートオフ情報とを総称してノート情報と称す。
【0030】
ノートオン情報は、MIDI鍵盤20のいずれかの鍵が押下された場合などに送信され、楽音の発生開始を指示する情報であって、ノートオン情報であることを示すステータスと、音高を示すノートナンバと、押鍵速度を示すノートオンベロシティとから構成される。
【0031】
また、ノートオフ情報は、MIDI鍵盤20の鍵が離鍵された場合などに送信され、楽音の発生停止を指示する情報であって、ノートオフ情報であることを示すステータスと、音高を示すノートナンバと、離鍵速度を示すノートオフベロシティとから構成される。
【0032】
ROM3は、書き替え不能なメモリであって、CPU2に実行させる制御プログラムを記憶する制御プログラムメモリ3aや楽器編成を記憶する楽器編成メモリ3bや音高順位メモリ3cが設けられている。制御プログラムメモリ3aに記憶される制御プログラムの詳細については、図8〜10に示すフローチャートを参照して後述する。
【0033】
楽器編成メモリ3bに記憶される楽器編成は、例えば、交響曲を演奏するオーケストラ、協奏曲(ピアノ協奏曲やバイオリン協奏曲など)を演奏する楽器とオーケストラ、弦楽器または管楽器アンサンブル、ビッグバンド、小編成のコンボなどの合奏を行う複数種類の楽器編成がプリセットされたものである。各楽器編成では複数のパートのそれぞれに対応して楽器名などの音色が記憶され、これらのプリセットは、演奏者により選択される。なお、この楽器編成は、予めROM3に記憶されるものとするが、操作子を用いて任意に変更されRAM4に記憶されるようにしてもよい。
【0034】
音高順位メモリ3cには、音源7が発生することができる複数の音色について、音高の順位である音高順位が記憶される。例えば、管楽器を例にとると音高が高い方から低い方にフルート、トランペット、アルトサックス、トロンボーンの順位が記憶されている。モードがユニゾンに設定される場合に、この音高順位に従って入力されたノートに対してパートに付された音色が割り当てられる。なお、この音高順位は、予めROM3に記憶されるものとするが、操作子を用いて任意に変更されRAM4に記憶されるようにしてもよい。
【0035】
RAM4は、書き替え可能なメモリであり、CPU2がROM3に記憶される制御プログラムの実行に当たって、フラグを記憶するフラグメモリ4aと各種のデータを一時的に記憶するためのワークエリア4bとが設けられる。フラグメモリ4aには、モードフラグが記憶される。モードフラグは、電子楽器1においてノートにパートを割り当てる演奏モードがユニゾン1モードであるかユニゾン2モードであるかを示すフラグである。ユニゾン1モードおよびユニゾン2モードについては、後述する。
【0036】
ワークエリア4bには、ノートオン情報が示すノートナンバに対応してそのノートナンバを入力した時刻が記憶される。この記憶された時刻は、次にノートオン情報が入力された時に参照され、直前に入力されたノートオン情報との時間差であるオンオンタイムが取得され、そのオンオンタイムの値に応じてユニゾン1モードまたはユニゾン2モードが設定される。
【0037】
また、ノートオフ情報が入力された時にも参照され、ノートオン情報が入力された時刻からそのノートオン情報のノートナンバと同一のノートナンバのノートオフ情報が入力された時刻までの時間であるゲートタイムが取得される。ゲートタイムが短い場合は、ミスタッチであるか否かが判定されるなどの処理が行われる。
【0038】
また、ワークエリア4bには、ノートマップが設けられる。このノートマップは、各ノートナンバに対応してノートフラグおよび再割当フラグが記憶される。ノートフラグは発音中であるか否かを示すフラグであり、音源7に対して発音開始の指示を行った場合に1に設定され、発音を停止する指示を行った場合には0に設定される。
【0039】
また、再割当フラグはユニゾン2モードにおいて、パートの再割当を行うノートナンバに対して1が設定され、再割当処理を終了した場合に0に設定される。また、ノートナンバに対してパートが割り当てられた場合には、ノートナンバに対応して割り当られたパートを示すパートナンバが記憶される。
【0040】
操作パネル5には、演奏者によって操作される複数の操作子と、その操作子によって設定されたパラメータや、演奏に応じた状態を表示する表示器とが設けられている。
【0041】
主な操作子としては、ポリフォニックモードとユニゾンモードとを切り替えるモードスイッチ、ポリフォニックモードにおける音色を選択する音色選択スイッチ、楽器編成を選択または設定する編成設定操作子がある。
【0042】
ポリフォニックモードは、単一の音色の楽音を発生するモードであり、MIDI鍵盤20から入力された一つのノートオン情報に応じて、音色選択スイッチにより選択された一つの音色の楽音を発生する。
【0043】
ユニゾンモードは、複数の音色の楽音を発生するモードであり、MIDI鍵盤20から入力された一つのノートオン情報に応じて、編成設定操作子により設定された楽器編成の音色のうち1または複数の音色で楽音を発生する。ユニゾンモードには、ユニゾン1モード(以下、単に「ユニゾン1」と略す)とユニゾン2モード(以下、単に「ユニゾン2」と略す)とがある。
【0044】
MIDIインターフェース6は、MIDI規格に適合する情報であるMIDI情報の通信を行うインターフェースであり、近年はUSBインターフェースが使用されることもある。このMIDIインターフェース6には、MIDI鍵盤20が接続され、MIDI鍵盤20からノートオン情報やノートオフ情報等を入力し、入力したMIDI情報は、RAM4のワークエリア4bに記憶される。
【0045】
MIDI鍵盤20は、複数の白鍵、黒鍵を設け、いずれかの鍵が押下された場合は、その鍵に対応するノートオン情報を出力し、鍵が離された場合は、その鍵に対応するノートオフ情報を出力する。
【0046】
音源7は、ピアノやトランペットなどの複数の音色の楽音波形を記憶し、CPU2からの楽音の発生を指示する情報に応じて記憶されている楽音波形を読み出し、指示に応じた音高、音量、音色の楽音を発生する。音源7により出力された楽音信号は、D/A変換器8によってアナログ信号に変換されて出力される。
【0047】
D/A変換器8には、アンプ21が接続され、D/A変換器8により変換されたアナログ信号はアンプ21により増幅され、アンプ21に接続されたスピーカ22により放音される。
【0048】
次に、図2を参照してユニゾン1について説明する。図2は、ユニゾン1を説明するためのグラフである。ユニゾン1は、一つの鍵が押鍵されると所定の複数のパートの楽音がその鍵により指定される音高で発音し、且つ後着優先のモノフォニックな動作を行うモードである。このモードでは、複数パートによる厚みのある単旋律のユニゾン演奏が可能となる。
【0049】
以下の説明では一例として楽器編成は4つのパートで構成され、パート1にはトランペット、パート2にはクラリネット、パート3にはアルトサックス、パート4にはトロンボーンがそれぞれ割り当てられ、音高順位は、音高が高い方からパート1、パート2、パート3、パート4の順に設定されているとして説明する。
【0050】
図2において、図2(a)は押鍵状態を示すグラフであり、図2(b)は図2(a)のように押鍵された場合に発生される楽音の状態を示すグラフである。図2(a)および図2(b)は、横軸を時間とし、縦軸を音高(ノートナンバ)として示している。図2(a)は、時刻t1に音高n1であるノート1のノートオン情報が、時刻t2に音高n2であるノート2のノートオン情報が、時刻t4に音高n3であるノート3のノートオン情報がそれぞれ入力され、時刻t3にノート1のノートオフ情報が、時刻t5にノート2のノートオフ情報が、時刻t6にノート3のノートオフ情報がそれぞれ入力されたことを示している。
【0051】
上述の通りノートオン情報は、鍵が押下されたことを示す情報であり、ノートオフ情報は、鍵が離されたことを示す情報であって、例えばノート1に対応する鍵は時刻t1に押下され、時刻t3に離されるまで押下され、図2(a)では、それぞれのノートの押下されていた期間を横軸に沿う長方形により示している。
【0052】
図2(b)は、各パートの楽音の発生開始から停止までを横軸に沿う長方形で示すものであり、パート1を無地、パート2を右上から左下方向への斜線、パート3を複数の小ドット、パート4を左上から右下方向への斜線を記載した長方形で示している。
【0053】
図2(b)に示すように、時刻t1に音高n1でパート1〜4の楽音が同時に発生を開始し、時刻t2にその発音を停止すると同時に音高n2でパート1〜4の楽音が同時に発生を開始し、時刻t4にその発音を停止すると同時に音高n3でパート1〜4の楽音が同時に発生を開始し、時刻t6にその発音を停止する。
【0054】
このように、ユニゾン1では、楽器編成により設定される全ての楽器に対応する音色が一つの発音指示に応じて同時に同一音高で、且つ後着優先のモノフォニックな動作で発音される。
【0055】
次に、図3および図4を参照してユニゾン1とユニゾン2との切り替え方法について説明する。図3は、図2と同様に、図3(a)は押鍵状態を、図3(b)は図3(a)に対応する楽音の状態をそれぞれ示すグラフである。図3(a)は、時刻t1に音高n1であるノート1のノートオン情報が、時刻t2に音高n2であるノート2のノートオン情報が、時刻t3にノート1のノートオフ情報が、時刻t4にノート2のノートオフ情報がそれぞれ入力されたことを示している。また、図3(a)は、ノート1の音高n1は、ノート2の音高n2より高いこと、および時刻t1と時刻t2との時間差であるオンオンタイムが重音判定時間JT以内である場合を示している。この重音判定時間JTは例えば50msecに設定される。このようにオンオンタイムが重音判定時間JT以内である場合は、モードがユニゾン1からユニゾン2に切り替えられる。
【0056】
図3(b)に示すように、時刻t1にノート1のノートオン情報を入力すると、モードはユニゾン1であって、音高n1で4つのパートが同時に発音を開始する。次に時刻t2に音高n2であるノート2のノートオン情報を入力すると、オンオンタイムが重音判定時間JT以内であるので、モードがユニゾン2に切り替えられる。ユニゾン2では、押鍵中のノートそれぞれに、楽器編成を構成する複数のパートが音高順位に従って略均一に割り当てられる。
【0057】
すなわち、音高n1で発音している4つのパートのうち、音高順位が高いパート1(音色はトランペット)とパート2(音色はクラリネット)とは、音高n1で発音を継続し、音高順位が低いパート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは音高n1での発音が停止され、音高n2で発音が開始される。
【0058】
時刻t3にノート1のノートオフ情報が入力されると音高n1で発音していたパート1とパート2の楽音が停止され、時刻t4にノート2のノートオフ情報が入力されると音高n2で発音していたパート3とパート4の楽音が停止される。
【0059】
このようにユニゾン1である場合にオンオンタイムが重音判定時間JT以内である場合はユニゾン2に設定され、複数のパートが分割されて複数のノートに対して割り当てられる。ユニゾン2に一度設定されると、以降はオンオンタイムに関係なくユニゾン2のモードが維持され、鍵盤の鍵が全て離鍵されるとユニゾン1に切り替わる。なお、ユニゾン2からユニゾン1に切り替える方法としては、ユニゾン2モード時に押健数が1鍵になった後、次にノートオンが入力された時点でユニゾン1に切り替えてもよい。
【0060】
なお、図3(a)、図3(b)は、まず音高n1のノートオン情報が入力され、次にその音高n1より低い音高である音高n2のノートオン情報が入力された場合を示すものであるが、音高n2の方が音高n1より高い場合は、音高n2のノートオン情報が入力された際に、4つのパートのうち音高順位が高いパート1(音色はトランペット)とパート2(音色はクラリネット)の発音を停止して音高n2で発音を開始し、パート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは、音高n1で発音を継続する。
【0061】
図3(c)、図3(d)は4つのノートオン情報が順次入力された場合を示し、図3(c)は押鍵状態を、図3(d)は図3(c)に対応する楽音の状態をそれぞれ示すグラフである。
【0062】
図3(c)に示すように、時刻t1に音高n1であるノート1のノートオン情報が、時刻t2にノート1より低い音高n2であるノート2のノートオン情報が、時刻t3にノート2より低い音高n3であるノート3のノートオン情報が、時刻t4にノート3より低い音高n4であるノート4のノートオン情報がそれぞれ入力され、時刻t5にノート1のノートオフ情報が、時刻t6にノート3のノートオフ情報が、時刻t7にノート2のノートオフ情報が、時刻t8にノート4のノートオフ情報がそれぞれ入力された場合を示している。ここで時刻t1と時刻t2との時間差であるノート1とノート2とのオンオンタイムが重音判定時間JT以内であるものとする。
【0063】
この場合、図3(d)に示すように時刻t1にノート1のノートオン情報を入力すると音高n1で4つのパートが同時に発音を開始する。次に時刻t2に音高n2であるノート2のノートオン情報を入力すると、ノート1とのオンオンタイムが重音判定時間JT以内であるので、モードがユニゾン2に切り替えられ、音高n1で発音している4つのパートのうち、音高順位が高いパート1(音色はトランペット)とパート2(音色はクラリネット)とは、音高n1で発音を継続し、音高順位が低いパート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは音高n1での発音が停止され、音高n2で発音が開始される。
【0064】
次に、時刻t3に音高n3であるノート3のノートオン情報が入力される。このときノート1およびノート2のノートオフ情報が入力されていないので、ノート2とノート3とのオンオンタイムに関係なくモードはユニゾン2に維持されたままであり、音高n1で発音していたパート1(音色はトランペット)は発音を継続し、パート2(音色はクラリネット)の楽音が停止されて音高n2で発音が開始されるとともに、音高n2で発音していたパート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは音高n2での発音が停止され、音高n3で発音が開始される。
【0065】
次に、時刻t4に音高n4であるノート4のノートオン情報が入力される。このときも、ノート3とノート4とのオンオンタイムに関係なくモードはユニゾン2に維持されたままであり、パート1(音色はトランペット)、パート2(音色はクラリネット)およびパート3(音色はアルトサックス)は発音を継続し、音高n3で発音していたパート4(音色はトロンボーン)は音高n3での発音が停止され、音高n4で発音が開始される。
【0066】
次に、図4を参照してユニゾン2におけるノートへのパートの割り当て方について詳述する。図4は、楽器編成が4つのパートにより構成され、鍵が複数押鍵された場合の押鍵(ノート)に対する割り当て方を示している。音高順位は、パート1が最も高く、パート2、パート3、パート4の順で設定されているものとする。
【0067】
まず図4(a)は、ノート1のみが押鍵された場合を示し、ノート1に対して4つのパートを割り当てることを示している。図4(b)は、ノート1に加え、ノート1より音高が低いノート2が押鍵された場合を示し、図3(a)、図3(b)に示す場合と同様に、ノート1には、パート1とパート2とを割り当て、ノート2には、パート3とパート4とを割り当てることを示している。
【0068】
図4(c)は、ノート1、ノート2に加え、ノート2より音高が低いノート3が押鍵された場合を示し、ノート1にはパート1を、ノート2にはパート2を、ノート3にはパート3とパート4とをそれぞれ割り当てる場合を示している。この図4(c)ではノート3に2つのパートを割り当てるものとしているが、ノート1にパート1とパート2とを割り当て、ノート2にパート3を、ノート3にパート4を割り当てる、または、ノート1にパート1を割り当て、ノート2にパート2とパート3とを、ノート3にパート4を割り当てるようにしてもよい。
【0069】
図4(d)は、ノートの数とパートの数とが同数である場合であって、ノート1〜ノート3に加え、ノート3より音高が低いノート4が押鍵された場合は、ノート1にパート1を、ノート2にパート2を、ノート3にパート3を、ノート4にパート4をそれぞれ割り当てることを示している。
【0070】
図4(e)、図4(f)は、パート数より押鍵数(ノート数)の方が多い場合の割り当て方について説明する図であって、図4(e)は、ノート1〜ノート4に加え、ノート4より音高が低いノート5が押鍵された場合を示し、ノート1とノート2とにパート1を、ノート3にパート2を、ノート4にパート3を、ノート5にパート4をそれぞれ割り当てることを示している。
【0071】
図4(f)は、ノート1〜ノート5に加え、ノート5より音高が低いノート6が押鍵された場合を示し、ノート1とノート2とにパート1を、ノート3とノート4とにパート2を、ノート5にパート3を、ノート6にパート4をそれぞれ割り当てることを示している。
【0072】
このようにユニゾン2では押健中のノートに対して、複数のパートが音高順位に従って略均一に割り当てられる。このため、押健数によって発音パート数が極端に変化することもなく、一定した厚みの楽音が得られる。また、パート数以上にノート数が増えた場合でも、押鍵が無視されることがなく、発音が特定の楽器に偏らないように、最適なパートが発音され、音高順位に従ったバランスのとれた響きが得られる。
【0073】
次にユニゾン2において、押鍵中のノートに音高順位に従って略均一にパートを割り当てる仕組みについて説明する。
【0074】
押鍵ノート数<=パート数の場合は、各押鍵ノート毎に、割り当てるパートの数(PartCnt)を求める。「パート数÷ノート数」の商をa、余りをbとすると、b個のノートのPartCntをa+1、それ以外のノートのPartCntをaとすればよい。具体的には例えば、各押鍵ノートのうち、音高が高い方からb番目までのノートのPartCntをa+1、それ以外のノートのPartCntをaとする。あるいは、各押鍵ノートのうち、音高が低い方からb番目までのノートのPartCntをa+1、それ以外のノートのPartCntをaとしてもよい。あるいは、音高に関わらず、重複することなくランダムに選択されたb番目までのノートのPartCntをa+1、それ以外のノートのPartCntをaとしてもよい。各ノートのPartCntが決まったら、音高の高いノートから順に、PartCnt個のパートを音高順位の高いものから順に割り当てていく。なお、各パートは1回しか割り当てられないものとする。
【0075】
押鍵ノート数>パート数の場合は、各パート毎に、割り当て可能回数(AssignCnt)を求める。「ノート数÷パート数」の商をa、余りをbとすると、b個のパートのAssignCntをa+1、それ以外のパートのAssignCntをaとすればよい。具体的には例えば、各パートのうち、音高順位が高い方からb番目までのパートのAssignCntをa+1、それ以外のパートのAssignCntはaとする。あるいは、各パートのうち、音高順位が低い方からb番目までのパートのAssignCntをa+1、それ以外のパートのAssignCntをaとしてもよい。あるいは、音高順位に関わらず、重複することなくランダムに選択されたb番目までのパートのAssignCntをa+1、それ以外のパートのAssignCntをaとしてもよい。各パートのAssignCntが決まったら、1個の押鍵ノートに対し、1個のパートを割り当てる。この際、音高順位の最も高いパートを割り当て対象パートとし、このパートを音高の高いノートから順に割り当てていく。各パートはAssignCnt回割り当てることができ、AssignCnt回割り当てたら、次に音高順位の高いパートを割り当て対象パートとし、同様にAssignCnt回割り当てる。
【0076】
以上のように、ノート数やパート数に関わらず、押鍵ノートに対してパートを略均一にバランスよく割り当てることができる。
【0077】
次に、図5を参照してミスタッチが行われた場合の処理であるミスタッチ処理について説明する。ミスタッチとは、間違った鍵を押下することであるが、ここでは、鍵を押下する際に誤って他の鍵を押下し、その誤って押下されている時間が短い場合を指す。
【0078】
図5(a)は、時刻t1に音高がn1であるノート1のノートオン情報が入力され、続いて時刻t2に音高がn2であるノート2のノートオン情報が入力され、その直後である時刻t3にノート1のノートオフ情報が入力された場合を示している。ここで、時刻t1から時刻t2までのオンオンタイムが重音判定時間JT以内であるとする。
【0079】
図5(b)は、図5(a)に示すようにノート情報が入力され、ミスタッチ処理を行わない場合に、音源により発音される楽音の様子を示すグラフであって、時刻t1の時点では、モードがユニゾン1であるので、音高n1であるノート1のノートオン情報に対応して、4つのパートが音高n1で発音が開始される。次に、時刻t2に音高n2であるノート2のノートオン情報が入力され、時刻t1から時刻t2までのオンオンタイムが重音判定時間JT以内であるので、モードがユニゾン2に変更される。従って、音高n1で発音されている4つのパートのうち、パート1とパート2とは音高n1での発音を継続し、パート3とパート4とは時刻t2に音高n1での発音が停止され、音高n2で発音が開始される。
【0080】
しかし、その直後である時刻t3にノート1のノートオフ情報が入力されると、パート1とパート2とは音高n1での発音を停止するが、ノート1のゲートタイムが所定の時間であるミスタッチ判定時間MT以内である場合は、ノート1はミスタッチであると判定し、時刻t3に停止したパート1とパート2との発音を音高n2で再開するとよい。これをミスタッチ処理と呼ぶ。このミスタッチ判定時間MTは例えば100msecに設定される。
【0081】
図5(c)は、このミスタッチが発生してミスタッチ処理を行った場合に、音源により発音される楽音の様子を示すグラフである。即ち、時刻t3で、パート1とパート2とを音高n2で発音を開始するとともに、モードをユニゾン1に戻す。この処理により、意図しないミスタッチを行ってユニゾン2に移行しても、すぐに演奏者が意図するユニゾン1に復帰することができる。なお、このミスタッチ処理は、ゲートタイムがミスタッチ判定時間MT以内であるという条件に加え、押鍵数が2鍵から1鍵に減少した場合であることと、その2鍵の音高差が5半音以内であること、その2鍵のオンオンタイムが重音判定時間JT以内であること等をミスタッチと判定するための条件としてもよい。本願実施形態では、上記全ての条件を満たしたときにミスタッチと判定し、ミスタッチ処理を行うようにしている。
【0082】
押鍵数が2鍵から1鍵に減少したことをミスタッチと判定するための一つの条件とするのは、それが典型的なミスタッチの演奏例だからである。また、その2鍵の音高差が5半音以内であることをミスタッチと判定するための一つの条件とするのは、押下しようとする鍵と離れている鍵が短く押下された場合は、ミスタッチではなく意図された押鍵と考えられるからである。また、その2鍵のオンオンタイムが重音判定時間JT以内であることをミスタッチと判定するための一つの条件とするのは、オンオンタイムが重音判定時間JTより長い場合は、ミスタッチではなく意図された押鍵と考えられるからである。
【0083】
図6は、オンオンタイムが重音判定時間JT以内であることをミスタッチと判定するための一つの条件とする理由を説明するためのグラフである。図6(a)は押鍵状態を、図6(b)は図6(a)に対応する楽音の状態をそれぞれ示すグラフである。ここでは仮にモードがユニゾン2であるとする。図6(a)に示すように時刻t1に音高n1であるノート1のノートオン情報と音高n2であるノート2のノートオン情報とが入力され、時刻t2にノート1のノートオフ情報が入力される。この時刻t1から時刻t2までの時間であるノート1のゲートタイムは、ミスタッチ判定時間MTより長いものとする。次に、時刻t3に音高がn3であるノート3のノートオン情報が入力され、次に、時刻t4にノート3のノートオフ情報が入力される。この時刻t3から時刻t4までの時間であるノート3のゲートタイムは、ミスタッチ判定時間MT以内であるとする。そして、時刻t5にノート2のノートオフ情報が入力される。
【0084】
この場合、図6(b)に示すように、時刻t1に音高n1でパート1とパート2との発音が開始されるとともに、音高n2でパート3とパート4との発音が開始される。次に、時刻t2にパート1とパート2との発音が停止され、時刻t3に音高n3でパート1とパート2との発音が開始される。そして、時刻t4にパート1とパート2との発音が停止される。この時、ノート3のゲートタイムがミスタッチ判定時間MT以内であるので、ゲートタイムだけをミスタッチの判定対象としていれば、図6(b)に示すように、時刻t4でパート1とパート2とが音高n2で再度発音されることになる。しかし、この場合は、ノート3のノートオン情報を入力した時刻に近接してノートオン情報が入力されていないので、ノート3はミスタッチではないと考えられる。よって、オンオンタイムが重音判定時間JT以内であることをミスタッチと判定するための一つの条件とすることで、ノート3はミスタッチではないと判定し、時刻t4ではパート1とパート2とを再発音しないようにすると好適である。
【0085】
また、ゲートタイムがミスタッチ判定時間MT以内である場合であっても、ノートオフ情報が入力された時刻の直前に他のノートのノートオフ情報が入力された場合も、ミスタッチであると判定しない方がよい。これは例えば、和音でスタッカート演奏が行われ、複数のノートオフ情報がほぼ同時に入力された場合であり、ミスタッチではないからである。このほぼ同時とみなす時間である複数のノートオフ情報が入力された時間差は、例えば100msecとする。
【0086】
次に、図7を参照してミスレガート処理について説明する。レガート演奏とは、滑らかに音をつなぐ奏法であって、鍵盤で演奏する場合には、先に押鍵していた鍵を離鍵する前に次の鍵を押鍵する奏法である。従って、先に押鍵されていたノートのノートオフ情報が入力される前に次のノートのノートオン情報が入力された場合に、レガート演奏が行われたと判断することが行われている。そして、レガート演奏が行われた場合と、レガート演奏ではなく先に押鍵されていたノートのノートオフ情報が入力された後に次のノートのノートオン情報が入力された場合とで、楽音の発生態様を異ならせるといったことが行われている。
【0087】
モードがユニゾン2である場合に、このレガート演奏が行われた場合は、発音されるパートが減少するという問題が発生する。図7は、このレガート演奏が行われた場合の問題点と、その対策であるミスレガート処理とについて説明するためのグラフである。(a)は押鍵状態を、(b)はミスレガート処理を行わない場合の(a)に対応する楽音状態を、(c)はミスレガート処理を施した場合の楽音状態をそれぞれ示すグラフである。
【0088】
図7(a)に示すように、音高n3であるノート1が入力された後、時刻t1に音高n3より高い音高n1であるノート2のノートオン情報が入力され、次に時刻t2に音高n1より低く音高n3より高い音高n2であるノート3のノートオン情報が入力され、時刻t2の直後である時刻t3にノート2のノートオフ情報が入力される。この時刻t2から時刻t3までの時間は、所定時間であるミスレガート判定時間LT以内であるものとする。そして、時刻t4にノート3のノートオフ情報が入力される。このミスレガート判定時間LTは例えば60msecに設定される。
【0089】
この場合、モードがユニゾン2であって、図7(b)に示すようにノート1のノートオン情報の入力に応じてパート3とパート4とが音高n3で発音されているものとする。そして、時刻t1に音高n1であるノート2のノートオン情報が入力されると、パート1とパート2とが音高n1で発音が開始される。
【0090】
次に、時刻t2に音高n2であるノート3のノートオン情報が入力されると、音高順位が高いパート1は音高n1で発音が継続され、音高順位が低いパート2は音高n1での発音が停止され、音高n2で発音が開始される。その直後である時刻t3にノート2のノートオフ情報が入力されると、パート1は音高n1での発音が停止され、パート2のみが音高n2での発音を継続することになる。しかしながら、演奏者は、レガート演奏を行ったのであって、発音されるパート数を減少させる意図はないと考えられる。そこで、このようにレガート演奏が行われた場合は、図7(c)に示すように、時刻t3に音高n2でパート1の発音を再開し、発音するパート数が減少しないようにする。これをミスレガート処理と呼ぶ。このようにすることで、ユニゾン2でのレガート演奏による意図しない音ヤセを防止することができる。
【0091】
次に、図8〜図10のフローチャートを参照してCPU2に実行させる処理について説明する。まず、図8に示すユニゾン処理について説明する。図8は、電子楽器1におけるユニゾン処理を示すフローチャートである。このユニゾン処理は、ユニゾンモードに設定されたとき起動され、ユニゾンモードが停止されるまで繰り返し行われる処理である。
【0092】
このユニゾン処理では、まず、初期設定を行う(S1)。初期設定としては、RAM4のフラグメモリ4aに記憶されるモードフラグを0に設定し、モードをユニゾン1とし、ノートマップに記憶される全てのノートフラグを0に設定する。また、CPU2に内蔵されるタイマ2aが時刻の計時を開始するように設定する。
【0093】
次に、MIDIインターフェース6に入力された未処理のMIDI情報が有るか否かを判断し(S2)、未処理のMIDI情報が有れば(S2:Yes)、その情報はノートオン情報であるか否かを判断する(S3)。未処理のMIDI情報がなければ(S2:No)、新たなMIDI情報を入力するまで待機する。
【0094】
その情報がノートオン情報であれば(S3:Yes)、タイマ2aが計時する現在時刻をワークエリア4bにノート情報に対応して記憶する(S4)。
【0095】
次に、モードフラグが0に設定されているか否かを判断し(S5)、モードフラグが0に設定されていれば(S5:Yes)、音源7において、いずれかの楽音を発音しているか否かを判断する(S6)。この判断は、ワークエリア4bに記憶されるノートマップに記憶されるノートフラグを参照することにより行われる。ノートマップは、音源7に対して発音開始の指示を行った場合にノートに対応するノートフラグがセットされ、そのノートについて発音を停止する指示を行った場合には、そのノートフラグがリセットされる。
【0096】
いずれかの楽音が発音中であれば(S6:Yes)、直前のノートオン情報が入力された時刻をワークエリア4bから検出し、現在時刻との時間差であるオンオンタイムを算出し、そのオンオンタイムが重音判定時間JT以内であるか否かを判断する(S7)。オンオンタイムが重音判定時間JT以内であれば(S7:Yes)、モードフラグを1に設定する(S8)。
【0097】
S5の判断処理においてモードフラグが0ではなく1と判断された場合(S5:No)、またはS8の処理を終了した場合は、ユニゾン2での割り当て処理を行う(S9)。この割り当て処理については、図9を参照して後述する。S9の処理を終了した場合は、S2の処理に戻る。
【0098】
S7の判断処理においてオンオンタイムが重音判定時間JT以内でなければ(S7:No)、ユニゾン1モードであるので、発音中の全パートの楽音を停止するように音源7に指示する(S10)。この指示は、ノートマップを参照し、ノートフラグが1に設定されているノートを停止するように指示する情報を音源7に送信することにより行われる。そして、そのノートフラグを0に設定し、そのノートに対応して記憶されているパートナンバをクリアする。
【0099】
S6の判断処理において発音中でないと判断された場合(S6:No)、またはS10の処理を終了した場合は、入力されたノートオン情報に含まれるノートナンバに対応する音高で楽器編成の全てのパートが発音を開始するように音源7に指示し、ノートマップのそのノートナンバに対応するノートフラグを1に設定し(S11)、S2の処理に戻る。
【0100】
一方、S3の判断処理においてMIDI情報がノートオン情報でなければ(S3:No)、その情報がノートオフ情報であるか否かを判断する(S21)。その情報がノートオフ情報であれば(S21:Yes)、音源7にそのノートオフ情報が示すノートナンバに対応する音高の楽音を停止するように指示し、ノートマップのそのノートナンバに対応するノートフラグを0に設定し、そのノートに対応して記憶されているパートナンバをクリアする(S22)。次に、モードフラグが0に設定されているか否かを判断し(S23)、モードフラグが0でなく1に設定されていれば(S23:No)、補正処理を行う(S24)。この補正処理は、ミスタッチ処理やミスレガート処理であり、図10を参照して後述する。
【0101】
S24の補正処理を終了した場合は、ノートマップを参照し、全てのノートフラグが0に設定され、全鍵が離鍵されたか否かを判断する(S25)。全鍵が離鍵された場合は(S25:Yes)、モードフラグを0に設定し(S26)、S2の処理に戻る。S23の判断処理においてモードフラグが0である場合(S23:Yes)、またはS25の判断処理でいずれかの鍵がオフではない場合(S25:No)は、S2の処理に戻る。なお、S25の判断処理において、ノートマップを参照し、押鍵数が1か否かを判断し(S25)、押鍵数が1の場合は(S25:Yes)、モードフラグを0に設定し(S26)、S2の処理に戻るようにしてもよい。
【0102】
S21の判断処理において未処理の情報がノートオフ情報でなければ(S21:No)、その情報に対応する処理を行い(S27)、S2の処理に戻る。
【0103】
次に、図9を参照して、ユニゾン2での割り当て処理について説明する。図9(a)は、割り当て処理を示すフローチャートであり、この割り当て処理の中で行われる発音処理を図9(b)に示す。割り当て処理では、まず初期設定として各ノートナンバに対応してノートマップに記憶される再割当フラグを全て0に設定する(S31)。次に、ノートマップに記憶されるノートフラグを参照し、ノートフラグが1であるノートナンバと、今回のノートオン情報が示すノートナンバに対応する再割当フラグを1に設定する(S32)。
【0104】
そして、再割当フラグが1に設定されたノートに対して、図4を参照して説明したようにノートナンバと各パートの音高順位に従ってパートを割り当てる(S33)。この処理により発音中のノートと新たなノートに対してパートの再割当が行われ、発音中のノートおよび新たなノートのノートナンバに割り当てられたパートを示すパートナンバが、RAM4のワークエリア4bに一時記憶され、次に発音処理が行われる(S34)。この発音処理は図9(b)に示す処理である。発音処理を終了した場合は、ユニゾン処理に戻る。
【0105】
次に、図9(b)を参照して発音処理について説明する。図9(b)は、発音処理を示すフローチャートである。発音処理では、まず再割当フラグが1に設定されているいずれかのノートナンバを選択する(S41)。ノートナンバが最も大きいもの、あるいは最も小さいものを選択してもよい。次に、その選択されたノートナンバに対してS33の処理により割り当てられたパート以外のパートが発音中であるか否か判断する(S42)。この判断は、ワークエリア4bに、今回、その選択されたノートナンバに対応して一時記憶されたパートと、ノートマップにその選択されたノートナンバに対応して記憶されているパートとを比較することにより行われ、ノートマップに記憶されているが、ワークエリア4bに一時記憶されないパートが、今回割り当てられたパート以外で発音中のパートに該当する。
【0106】
その発音中のパートがあれば(S42:Yes)、そのパートについて発音を停止するように音源7に指示し、ノートマップのその選択されたノートに対応して記憶されているパートナンバをクリアする(S43)。
【0107】
S43の処理を行った場合、または選択されたノートナンバに割り当てられたパート以外に発音中のパートがない場合は(S42:No)、その選択されたノートナンバに対して割り当てられたパートが発音中であるか否かを判断し(S44)、発音中でなければ(S44:No)発音を開始するように音源7に指示し、そのノートナンバに対応するノートフラグを1に設定するとともに、割り当てられたパートを示すパートナンバをノートナンバに対応してノートマップに記憶する(S45)。
【0108】
S45の処理を行った場合、または選択されたノートナンバに割り当てられたパートが発音中である場合は(S44:Yes)、そのノートナンバに対応する再割当フラグを0に設定し(S46)、ノートマップにおいて、再割当フラグが1に設定されているノートナンバがあるか否かを判断する(S47)。再割当フラグが1に設定されているノートナンバがあれば(S47:Yes)、S41の処理に戻り、再割当フラグが1に設定されているノートナンバがなければ(S47:No)、この発音処理を終了する。
【0109】
次に、図10を参照して補正処理について説明する。図10は、補正処理を示すフローチャートである。この補正処理では、まずノートオン情報が入力された時刻からノートオフ情報が入力された時刻までの時間であるゲートタイムがミスタッチ判定時間MT以内であるか否かを判断する(S51)。そのゲートタイムがミスタッチ判定時間MT以内であれば(S51:Yes)、次に押鍵数が2鍵から1鍵に変化したか否かを判断する(S52)。具体的には、ノートマップを参照し、発音中のノートが1つであるか否かを判断し、1つであれば、押鍵数が2鍵から1鍵に変化したものと判断する。押鍵数が2鍵から1鍵に変化した場合は(S52:Yes)、更にその2鍵の音高差を算出し、その音高差が5半音以内であるか否かを判断する(S53)。この2鍵の音高差は、今回入力されたノートオフ情報のノートナンバと、ノートマップを参照することにより検出される発音中のノートのノートナンバとの差の絶対値を取ることにより算出される。
【0110】
その音高差が5半音以内であれば(S53:Yes)、ノートオフ情報に対応するノートと発音中のノートとのオンオンタイムを算出し、そのオンオンタイムが重音判定時間JT以内であるか否かを判断する(S54)。そのオンオンタイムが重音判定時間JT以内であれば(S54:Yes)、ミスタッチが行われたと判断し、モードフラグを0に設定してモードをユニゾン1に設定する(S55)。そして、発音中のノートと同じ音高で、発音中のノートに割り当てられていないパートの音色で発音を開始するように音源7に指示する(S56)。
【0111】
一方、S51の判断処理において、ゲートタイムがミスタッチ判定時間MT以内でない場合(S51:No)、またはS52の判断処理において押鍵数が2鍵から1鍵に変化したのではない場合(S52:No)、またはS53の判断処理において2鍵の音高差が5半音以内でない場合(S53:No)、またはS54の判断処理においてオンオンタイムが重音判定時間JT以内でない場合は(S54:No)、ノートオフされたノートのノートオフ情報が入力された時刻と現在発音中の最も新しいノートのノートオン情報が入力された時刻との時間差であるレガート時間を算出し、そのレガート時間がミスレガート判定時間LT以内であるか否かを判断する(S57)。
【0112】
レガート時間がミスレガート判定時間LT以内であれば(S57:Yes)、次に現在発音中の最も新しいノートとのオンオンタイムを算出し、そのオンオンタイムが重音判定時間JT以内であるかを判定する(S58)。そのオンオンタイムが重音判定時間JT以内でなければ(S58:No)、ミスレガート演奏が行われたと判断し、図4あるいは後述する図12の方法で、発音中のノートに対してパートの再割当を行い、新たに割り当てられたパートの発音を開始するように音源7に指示する(S59)。これは具体的には、後述する図13の割り当て処理のフローチャートからステップS69の処理を除いた割り当て処理を行うことになる。S56の処理を終了した場合はユニゾン処理に戻る。
【0113】
オンオンタイムが重音判定時間JT以内であれば(S58:Yes)、スタッカートによる和音演奏が行われたものとして、再割当を行わない。また、S57の判断処理においてレガート時間がミスレガート判定時間LT以内でなければ(S57:No)、ミスレガート演奏ではないと判断し、この補正処理からユニゾン処理に戻る。
【0114】
以上、第1実施形態について説明したように、本発明による電子楽器1は、オンオンタイムが重音判定時間JT以内である場合にユニゾン1からユニゾン2に切り替えられる。よって、一つの鍵が押下された場合にはモードがユニゾン1に設定され、楽器編成を構成する全パートが同じ音高で発音され、複数の鍵が重音判定時間JT以内に押された場合はユニゾン2に設定されて楽器編成を構成する複数のパートが複数の押鍵に分割されて割り当てられる。よって、和音のように複数の鍵が同時に押下された場合に、パート数が増えることなく自然な楽音を発生することができるという効果がある。
【0115】
また、ノートオフ情報が入力された際に、そのノートのゲートタイムがミスタッチ判定時間MT以内であれば、意図しないミスタッチであると判断され、ユニゾン2への設定をユニゾン1に戻し、発音が停止されたパートが再発音されるので、ミスタッチを行った場合でも自然な楽音を発生することができるという効果がある。
【0116】
また、ユニゾン2においてレガート演奏を行った場合には、新たなノートオン情報を入力した直後に、発音中のノートのノートオフ情報が入力されるため、そのノートオフ情報が入力されたノートに割り当てられていたパートの発音が停止されることになるが、ミスレガート演奏であると判定された場合は、その停止されたパートが、発音中のノートに再割当されるので、パート数が変化しないユニゾン演奏を行うことができ、意図しない音ヤセを防止するという効果がある。
【0117】
次に、第2実施形態について説明する。第1実施形態では、モードがユニゾン2である場合に、新たなノートオン情報が入力されると使用されていないパートの有無に拘わらず、再割当を行い、すでに発音を開始したパートの発音を停止して、音高を変えて再度発音を開始するため、不自然な音切れが発生することがあった。第2実施形態では、発音の停止と再発生をできるだけ少なくし、より自然な楽音を発生するようにするものである。
【0118】
その方法として、新たな押鍵が行われた場合、すでに押鍵されて発音中であるノートの発音継続時間を取得し、その発音継続時間が所定時間である再割当判定時間STより長いノートについては、再割当の対象としないものとする。この再割当判定時間STは重音判定時間JTより長い時間であって例えば80msecなどに設定される。
【0119】
図11は、この処理の一例を示すものであって、図3(c)、図3(d)に対応するグラフである。即ち、図11(a)は図3(c)と同様な押鍵状態を示し、図11(b)は第2実施形態における楽音の状態を示している。
【0120】
図11(a)は、時刻t1に音高n1であるノート1のノートオン情報が、時刻t2にノート1より低い音高n2であるノート2のノートオン情報が、時刻t3にノート2より低い音高n3であるノート3のノートオン情報が、時刻t4にノート3より低い音高n4であるノート4のノートオン情報がそれぞれ入力され、時刻t5にノート1のノートオフ情報が、時刻t6にノート3のノートオフ情報が、時刻t7にノート2のノートオフ情報が、時刻t8にノート4のノートオフ情報がそれぞれ入力された場合を示している。ここで時刻t1と時刻t2との時間差であるノート1とノート2とのオンオンタイムが重音判定時間JT以内であり、且つ時刻t2におけるノート1の発音継続時間は再割当判定時間ST以内であるものとする。また、時刻t3におけるノート1、ノート2の発音継続時間も再割当判定時間ST以内であり、時刻t4におけるノート1、ノート2、ノート3の発音継続時間は再割当判定時間STより長いものとする。
【0121】
この場合、図11(b)に示すように、時刻t1にノート1のノートオン情報を入力すると音高n1で4つのパートが同時に発音を開始する。次に時刻t2に音高n2であるノート2のノートオン情報を入力すると、ノート1とのオンオンタイムが重音判定時間JT以内であるので、モードがユニゾン2に切り替えられる。そして、ノート1の発音継続時間が再割当判定時間ST以内であるので、ノート1は、再割当の対象となり、音高n1で発音している4つのパートのうち、音高順位が高いパート1(音色はトランペット)とパート2(音色はクラリネット)とは、音高n1で発音を継続し、音高順位が低いパート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは音高n1での発音が停止され、音高n2で発音が開始される。
【0122】
次に、時刻t3に音高n3であるノート3のノートオン情報が入力される。このときノート1およびノート2のノートオフ情報が入力されていないので、ノート2とノート3とのオンオンタイムに関係なくモードはユニゾン2に維持されたままであるとともに、ノート1、ノート2の発音継続時間が再割当判定時間ST以内であるので、ノート1およびノート2は、再割当の対象となり、音高n1で発音していたパート1(音色はトランペット)は発音を継続し、パート2(音色はクラリネット)の楽音が停止されて音高n2で発音が開始されるともに音高n2で発音していたパート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは音高n2での発音が停止され、音高n3で発音が開始される。
【0123】
次に、時刻t4に音高n4であるノート4のノートオン情報が入力される。このときも、ノート3とノート4とのオンオンタイムに関係なくモードはユニゾン2に維持されたままであるが、ノート1、ノート2、ノート3の発音継続時間が再割当判定時間STより長いので、ノート1〜3は、再割当の対象とはならず、ノート1〜3に割り当てられているパートの発音は継続される。そして、新たな押鍵であるノート4には、ノート4の音高n4がノート1〜3の音高n1、n2、n3より低いので、音高順位が最も低いパートであるパート4(音色はトロンボーン)が割り当てられる。
【0124】
次に、図12を参照して、第2実施形態における割り当て方について説明する。この割り当て方は、未使用のパートがある場合と未使用のパートがない場合との割り当て方が異なる。モードがユニゾン2であって複数のノートが押鍵中である場合に、一部の鍵が離鍵されてノートオフ情報が入力されると、そのノートに割り当てられていたパートは、未使用のパートとなる。例えば、図3(b)に示すように、時刻t3に音高n1であるノート1のノートオフ情報が入力されると、ノート1に割り当てられていたパート1とパート2とは、発音が停止され未使用となる。
【0125】
図12は、第2実施形態における割り当て方を説明するための模式図であり、図4と同様に、楽器編成が4つのパートにより構成され、音高順位は、パート1が最も高く、パート2、パート3、パート4の順で設定されているものとする。また、上述の通り、発音継続時間が再割当判定時間STより長いノートについては、再割当の対象とはしないものとし、図12では、再割当の対象としないノートとそのノートに割り当てられているパートとを網掛けで示す。
【0126】
図12(a)は、未使用であるパートが存在する場合の例を示すもので、ノート1にはパート1とパート2とが割り当てられていて、ノート1の発音継続時間が再割当判定時間STより長く、再割当の対象ではない。また、パート3とパート4とは未使用である状態を示している。
【0127】
この図12(a)の状態において、新たにノート2が押鍵された場合が図12(b)である。ノート2の音高はノート1の音高より低く、パート3およびパート4は、パート1およびパート2より音高順位が低いので、図12(b)に示すように、新たに押鍵されたノート2には、未使用のパートであるパート3とパート4とが割り当てられる。割り当てられた直後は、再割当の対象となるのでノート2、パート3およびパート4は、網掛けを施さない白地の長方形で示している。
【0128】
ノート2の音高がノート1の音高より低い場合は、このように未使用で且つ音高順位が低いパートを割り当てればよい。同様に、ノート2の音高がノート1の音高より高く、未使用のパートの音高順位が高い場合は、ノート2に未使用のパートを割り当てればよい。
【0129】
図12(c)は、図12(b)の状態においてノート2より音高が低いノート3が、ノート2のノートオン時刻から再割当判定時間ST以内に押鍵された場合を示す。この場合は、未使用のパートはないが、ノート2の発音継続時間は再割当判定時間ST以内であるので、ノート2は再割当の対象となり、パート3、パート4は割当可能パートとなる。よって、ノート2と新たに押鍵されたノート3とに、それまでノート2に割り当てられていたパート3、パート4が再割当される。具体的には、パートの音高順位に従って、ノート2にはパート3が、ノート3にはパート4がそれぞれ再割当される。
【0130】
また、図12(d)に示すように、新たなノート3の音高がノート1の音高より高く、ノート1、ノート2ともに再割当の対象ではなくて、且つ割当可能パートがない場合は、ノート3には、音高順位が最も高いパート1を割り当てる。また、図12(e)に示すように、新たなノート3の音高がノート1の音高より低く、ノート2の音高より高く、ノート1、ノート2ともに再割当の対象ではなくて、且つ割当可能パートがない場合は、ノート3には、音高順位が近いパート2(またはパート3のいずれか)を割り当てる。
【0131】
次に、図13を参照して第2実施形態における割り当て処理について説明する。図13は、第2実施形態における割り当て処理を示すフローチャートである。この割り当て処理は第1実施形態における割り当て処理である図9(a)に代わる処理である。この処理では、RAM4に記憶されるノートマップに各ノートナンバに対応して未処理フラグが記憶される。この未処理フラグは、この割り当て処理を開始した直後に、ノートフラグと同一に設定される。即ち、ノートフラグが1であるノートナンバに対応する未処理フラグが1に設定され、ノートフラグが0であるノートナンバに対応する未処理フラグは0に設定され、1に設定された未処理フラグは、再割当の対象となるか否かの判定処理が終了した場合に0に設定される。
【0132】
また、RAM4のワークエリア4bにパートフラグが記憶される。このパートフラグは、各パートに対応して設けられ、パートがノートに割り当てられて発音を開始した場合に1に設定され、発音が停止されると0に設定される。複数のノートに対して割り当てられた場合は、すべてのノートが停止された場合に0に設定される。なお、第2実施形態における他の構成および処理は、第1の実施形態と同一である。
【0133】
図13に示すように、この割り当て処理では、まず各パートフラグおよび各再割当フラグを0に設定する(S61)。次に、発音中のノートに対応する未処理フラグを1に、発音中ではないノートに対応する未処理フラグを0に設定する(S62)。なお、この処理は、ノートフラグをコピーすることにより行われる。
【0134】
次に、未処理フラグが1に設定されているノートをいずれか1つ選択する(S63)。この選択は、例えば、ノートナンバが最も大きいもの、あるいは最も小さいものを選択するようにしてもよい。
【0135】
次に、その選択されたノートの発音継続時間が所定時間である再割当判定時間ST以内であるか否かを判断する(S64)。発音継続時間が再割当判定時間ST以内であれば(S64:Yes)、そのノートに対応する再割当フラグを1として再割当の対象とし(S65)、再割当判定時間ST以内でなければ(S64:No)、そのノートに割り当てられているパートのパートフラグを1に設定する(S66)。
【0136】
S65またはS66の処理を終了した場合は、未処理フラグを0に設定し(S67)、未処理フラグが1に設定されているノートがあるか否かを判断する(S68)。未処理フラグが1に設定されているノートがあれば(S68:Yes)、S63の処理に戻り、未処理フラグが1に設定されているノートがなければ(S68:No)、新たなノートに対応する再割当フラグを1に設定する(S69)。
【0137】
次に、割当可能パートがあるか否かを判断し(S70)、割当可能パートがあれば(S70:Yes)、再割当フラグが1に設定されているノート群に対して、音高に従い均等に割当可能パートを割り当てる(S71)。この割当可能パートとはパートフラグが0に設定されているパートである。具体的には、ノートオンからの発音継続時間が再割当判定時間STより長いノートに割り当てられているパート以外のパートを表している。割当可能パートがなければ(S70:No)、再割当フラグが1に設定されているノートに対して、そのノートの音高に最も近い音高で発音中のノートに割り当てられているパートのうち、再割当フラグが1に設定されているノートの音高に音高順位が近いパートを割り当てる(S72)。S71またはS72の処理を終了した場合は、図9(b)に示す発音処理を行って、ユニゾン処理に戻る。
【0138】
以上のように第2実施形態では、発音中のノートの発音継続時間が再割当判定時間STより長い場合は、その発音中のノートは十分長く鳴っていると判断して再割当の対象としない。従って、その発音中のノートに割り当てられているパートが消音されることがないので、不自然な音切れを回避し、自然な楽音を発生することができるという効果がある。
【0139】
なお、上記第1実施形態では、ノートオン情報を入力した際、オンオンタイムが重音判定時間JT以内であれば、パートの再割当が発生する。従って、一部のパートは、発音を開始した直後に停止され、音高が変更されて再発音される。そのために楽音が濁ったように感じられることがある。そこで、ノートオン情報を入力した際に、所定の遅延時間d後に発音を開始するようにする。このようにすると、その遅延時間d内に他のノートオン情報が入力され、そのノートに対してパートが割り当てられても、先にノートオンしたノートは遅延中でまだ発音していないので、発音開始直後に停止されるようなことが起こらず、楽音の濁りを防止することができる。
【0140】
図14は、このように楽音の濁りを防止する方法を示すグラフである。図14(a)は押鍵状態を、図14(b)は遅延時間dを設けない場合の楽音状態を、図14(c)は遅延時間dを設けた場合の楽音状態をそれぞれ示すグラフである。
【0141】
図14(a)は、時刻t1に音高n1であるノート1のノートオン情報が入力され、時刻t2にノート1の音高n1より低い音高n2であるノート2のノートオン情報が入力され、時刻t3にノート1の音高n1より低くノート2の音高n2より高い音高n3であるノート3のノートオン情報が入力され、時刻t4にノート2のノートオフ情報が、時刻t5にノート1のノートオフ情報が、時刻t6にノート3のノートオフ情報がそれぞれ入力されたことを示している。また時刻t1と時刻t2との時間差であるオンオンタイムが重音判定時間JT以内である場合を示している。
【0142】
この場合、図14(b)に示すように遅延時間dを設けない場合は、時刻t1に音高n1で4つのパートが同時に発音を開始し、時刻t2にノート2のノートオン情報が入力されるとオンオンタイムが重音判定時間JT以内であるのでモードがユニゾン1からユニゾン2に切り替えられ、音高n1で発音していたパート3とパート4との楽音の発生が停止され、音高n2でパート3とパート4との楽音の発生が開始される。次に、時刻t3にノート3のノートオン情報が入力されるとモードがユニゾン2であって、音高n1で発音していたパート2の楽音の発生が停止され、音高n3でパート2の楽音の発生が開始される。
【0143】
図14(c)は遅延時間dを設けた場合であり、時刻t1から遅延時間dの計時を開始し、全パートであるパート1〜パート4の発音の開始を遅延時間dだけ遅らせる。次に、この遅延時間d以内である時刻t2にノート2のノートオン情報が入力されるとオンオンタイムが重音判定時間JT以内であるのでモードがユニゾン1からユニゾン2に切り替えられ、パート3とパート4とはノート2に割り当てられるが、パート3とパート4とは発音の開始が時刻t2から遅延時間dだけ遅延される。
【0144】
時刻t1から遅延時間dが経過したとき、パート1とパート2とが音高n1で発音が開始され、時刻t3にノート3のノートオン情報が入力されると、音高n1で発音していたパート2が停止され、ノート3にパート2が割り当てられ、遅延時間dが設定される。そして時刻t2から遅延時間dが経過するとパート3とパート4とが音高n2で発音が開始され、時刻t3から遅延時間dが経過するとパート2が音高n3で発音が開始される。
【0145】
このように遅延時間dを設けることにより、時刻t1に発音開始したパート3とパート4との楽音が、その直後の時刻t2で停止され、音高が変更されて再発音されるといった現象を抑制することができ、楽音の濁りを防止することができる。
【0146】
この方法を実施するために音源7には、次の機能を備える。発音の開始指示を入力した時から遅延時間dを計時し、遅延時間dの経過後に発音を開始する。この遅延時間d内に発音を停止する指示を入力した場合は、遅延時間dの計時を中止し、発音を開始しないようにする。
【0147】
このように発音を開始するまでに遅延時間dを設けることで、その遅延時間dの間に新たなノートオン情報が入力されても、再割当により楽音が発音開始直後に停止して楽音が濁るといった現象を抑制することができる。
【0148】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【0149】
例えば、上記実施形態では、音源7は電子楽器1に内蔵され、CPU2とのバスに接続されるものとしたが、MIDIインターフェース6を介して外部に接続される外部音源としてもよい。
【0150】
なお、上記実施形態では、音源7における楽音を発生する方式については、特に言及しないが、各楽器の波形を記憶し、その波形を読み出すことにより所望の音色の楽音を発生する方式や、矩形波などの基本的な波形を変調することにより発生する方式を用いることができる。
【図面の簡単な説明】
【0151】
【図1】本発明における第1実施形態の電子楽器の電気的構成を示すブロック図である。
【図2】ユニゾン1を説明するためのグラフであり、(a)は押鍵状態を示し、(b)は(a)の押鍵に応じて発音される楽音の状態を示すものである。
【図3】ユニゾン2を説明するためのグラフであり、(a)(b)は押鍵状態を示し、(c)は(a)の、(d)は(b)の押鍵に応じて発音される楽音の状態を示すものである。
【図4】ユニゾン2におけるノートに対するパートの割り当て方を示す模式図である。
【図5】ミスタッチ処理を説明するためのグラフであって、(a)は押鍵状態を、(b)はミスタッチ処理を行わない場合の楽音の状態を、(c)はミスタッチ処理を行った場合の楽音の状態をそれぞれ示す。
【図6】オンオンタイムが重音判定時間JT以内であることをミスタッチと判定するための一つの条件とする理由を説明するためのグラフであり、(a)は押鍵状態を、(b)は(a)に対応する楽音の状態をそれぞれ示す。
【図7】ミスレガート処理を説明するためのグラフであり、(a)は押鍵状態を、(b)はミスレガート処理を行わない場合の楽音の状態を、(c)はミスレガート処理を行った場合の楽音の状態をそれぞれ示す。
【図8】ユニゾン処理を示すフローチャートである。
【図9】割り当て処理を示すフローチャートである。
【図10】補正処理を示すフローチャートである。
【図11】第2実施形態における割り当て方を示すグラフであり、(a)は押鍵状態を示し、(b)は(a)の押鍵に応じて発音される楽音の状態を示すものである。
【図12】第2実施形態におけるユニゾン2において、新たな押鍵がなされた場合のノートに対するパートの割り当て方を示す模式図である。
【図13】第2実施形態における割り当て処理を示すフローチャートである。
【図14】楽音の濁りを防止するための処理を説明するためのグラフであって、(a)は押鍵状態を、(b)は遅延時間を設けない場合の楽音の状態を、(c)は遅延時間を設けた場合の楽音の状態をそれぞれ示す。
【符号の説明】
【0152】
1 電子楽器
2 CPU(発音制御手段の一部)
2a タイマ(レガート時間計時手段、発音継続時間計時手段、経過時間計時手段 の一部)
6 MIDIインターフェース(入力手段の一例)
7 音源(パート)
S24 ミスレガート補正手段の一例
【技術分野】
【0001】
本発明は、電子楽器に関し、特に一つの発音指示に応じて複数の音色の楽音を発生することができる電子楽器に関するものである。
【背景技術】
【0002】
従来より、鍵盤を構成する鍵のうちの複数の鍵が押下された場合に、その押下された複数の鍵それぞれに異なる音色を割り当て、その鍵に割り当てられた複数の音色で、その鍵により指定される音高の楽音を発生する電子楽器が知られている(特許文献1)。
【0003】
また、一つの押鍵に応じて、複数の音色の楽音を同時に発生する電子楽器が知られている。例えば、複数種類の管楽器(トランペットやトロンボーンなど)で同じ音高の音を演奏した楽音をメモリに記憶し、一つの鍵が押下されると、そのメモリに記憶された楽音を読み出して楽音を発生することが行われている。この場合、鍵が一つ押下されると、複数の音色の楽音が同時に発生されて、吹奏楽団によって演奏されているような演奏が行われるが、複数の鍵を押下した場合にも、それぞれの鍵について複数の音色の楽音が発生される。従って、押鍵数が増えるとあたかも演奏者の数が増えたかのような演奏になり不自然であった。
【0004】
そこで、押鍵数が少ない場合には、一つの押鍵に対して複数の音色の楽音を発生し、押鍵数が多い場合には、一つの押鍵に対して、少ない数の音色の楽音を発生するという方式の電子楽器が知られている。
【特許文献1】特開昭57−128397号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の電子楽器では、押鍵の状態に応じて割り当てられる音色が限定的であり、押鍵数が変化した場合には、不自然な演奏になっていた。例えば、一つの鍵が押下された場合に、複数の楽音が発生され、その状態で別の鍵を押下した場合には、それまで発生されていた楽音が停止され、新たな鍵に対応して複数の楽音が発生される。また、同時に複数の鍵が押下された場合には、それぞれの鍵に割り当てられる音色が決定されるが、その状態から新たな押鍵がなされた場合には、新たな押鍵が無視されるなどの不自然な演奏になるという問題点があった。
【0006】
本発明は、上述した問題点を解決するためになされたものであり、押鍵の状態が変化した場合でも、自然な楽音を発生することができる電子楽器を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、請求項1記載の電子楽器は、所定音高の楽音の発生開始を指示する発音指示と、その発音指示により発生した楽音の停止を指示する停止指示とを入力する入力手段と、前記入力手段により入力された発音指示により発生開始を指示された所定音高の楽音に割り当てられ、前記楽音を設定された音色で発生する複数のパートと、
前記入力手段により入力された発音指示により所定音高の楽音の発生開始が指示されると、前記複数のパートのうちの予め定められた数のパートが、発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てられ、発生中の楽音と前記発生開始が指示された楽音とを、それぞれ割り当てられたパートで発生もしくは発生を継続するように制御する発音制御手段とを備えている。
【0008】
請求項2記載の電子楽器は、請求項1記載の電子楽器において、前記発音制御手段は、前記発生中の楽音と前記発生開始が指示された楽音との総数Nと、前記複数のパートのうちの予め定められたパート数PとがN≦Pの場合には、P/Nの整数商a、余りbに対して、b個の楽音にそれぞれ(a+1)個の異なるパートを割り当て、(N−b)個の楽音にそれぞれa個の異なるパートを割り当て、P個のパートがそれぞれ1回ずつ楽音に割り当てられるようにすることで、前記複数のパートのうちの予め定められた数のパートを、前記発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てる。
【0009】
請求項3記載の電子楽器は、請求項2記載の電子楽器において、前記複数のパートのうちの予め定められた数のパートは音高順位を有し、前記発音制御手段は、音高の高い楽音から、割り当てられるべき数のパートを音高順位の高いパートから順に割り当てる。
【0010】
請求項4記載の電子楽器は、請求項1記載の電子楽器において、前記発音制御手段は、前記発生中の楽音と前記発生開始が指示された楽音との総数Nと、前記複数のパートのうちの予め定められたパート数PとがN>Pの場合には、N/Pの整数商a、余りbに対して、b個のパートをそれぞれ(a+1)個の異なる楽音へ割り当て、(P−b)個のパートをそれぞれa個の異なる楽音へ割り当て、N個の楽音にそれぞれ1個のパートが割り当てられるようにすることで、前記複数のパートのうちの予め定められた数のパートを、前記発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てる。
【0011】
請求項5記載の電子楽器は、請求項4記載の電子楽器において、前記複数のパートのうちの予め定められた数のパートは音高順位を有し、前記発音制御手段は、音高順位の高いパートから、音高の高い楽音へ順に割り当てる。
【0012】
請求項6記載の電子楽器は、請求項1から5のいずれかに記載の電子楽器において、前記入力手段により発音指示が入力された第1楽音と、前記第1楽音の発音指示より後に発音指示が入力され、且つ前記第1楽音の停止指示時に発生中の最も新しい楽音である第2楽音とに対して、前記第1楽音の停止指示と前記第2楽音の発音指示との時間差を計時するレガート時間計時手段と、前記第1楽音の停止指示が入力され、且つ前記レガート時間計時手段により計時された前記第1楽音の停止指示と前記第2楽音の発音指示との時間差が所定時間であるミスレガート判定時間以内であるときは、前記第1楽音を停止するとともに、前記複数のパートのうちの予め定められた数のパートを、前記第2楽音を含む発生中の楽音に略均一に割り当てて、前記第2楽音を含む発生中の楽音をそれぞれ割り当てられたパートで発生もしくは発生を継続するように補正するミスレガート補正手段とを備えている。
【0013】
請求項7記載の電子楽器は、請求項1から5のいずれかに記載の電子楽器において、発生中の楽音の発音継続時間を計時する発音継続時間計時手段を備え、前記発音制御手段は、前記入力手段により発音指示が入力されたとき、前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間より長い楽音に対しては、パートの割り当てを変更しない。
【0014】
請求項8記載の電子楽器は、請求項7記載の電子楽器において、前記複数のパートのうちの予め定められた数のパートは音高順位を有し、前記発音制御手段は、前記複数のパートのうちの予め定められた数のパートのうち、前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間より長い楽音に割り当てられているパートを除いた割当可能パートがある場合には、発生中の楽音のうち前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間以内の楽音と、前記発生開始が指示された楽音とに、前記割り当て可能パートを、楽音の音高およびパートの音高順位に従って略均一に割り当て、前記割当可能パートがない場合には、発生中の楽音のうち前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間以内の楽音と、前記発生開始が指示された楽音とに、それぞれの楽音の音高に最も近い音高で発生中の楽音に割り当てられているパートのうち、割当対象の楽音の音高に音高順位が近いパートを割り当てる。
【0015】
請求項9記載の電子楽器は、請求項1から5のいずれかに記載の電子楽器において、前記入力手段により入力された発音指示により楽音の発生開始が指示されてからの経過時間を計時する経過時間計時手段を備え、前記発音制御手段は、前記入力手段により入力された発音指示により楽音の発生開始が指示されると、前記経過時間計時手段により計時された経過時間が所定時間である遅延時間となったら、前記発生開始が指示された楽音の発生を開始する。
【発明の効果】
【0016】
請求項1記載の電子楽器によれば、複数の楽器で構成されたブラスセクションなどの音色を再現する場合は、パート毎に異なる音色を設定することになる。このような音色において、楽音数が変化しても、発音するパートの総数が変化せず各パートが均一に利用されるため、濁りのないバランスのとれた音色で演奏できるという効果がある。
【0017】
請求項2記載の電子楽器によれば、請求項1記載の電子楽器の奏する効果に加え、複数の楽器で構成されたブラスセクションなどの音色において、楽音数がセクションを構成する楽器数以内の場合は、発音するパートの総数が変化せず各パートが均一に利用されるため、濁りのないバランスのとれた音色で演奏できるという効果がある。
【0018】
請求項3記載の電子楽器によれば、請求項2記載の電子楽器の奏する効果に加え、複数の楽器で構成されたブラスセクションなどの音色において、楽音数がセクションを構成する楽器数以内の場合に、高音域を担当すべき楽器は常に和音の高音を発音し、低音域を担当する楽器は常に和音の低音を発音するため、実際のブラスセクションと同様の響きを得ることができるという効果がある。
【0019】
請求項4記載の電子楽器によれば、請求項1記載の電子楽器の奏する効果に加え、複数の楽器で構成されたブラスセクションなどの音色において、楽音数がセクションを構成する楽器数より多い場合でも、特定のパートに偏ることなく、パートが各楽音に均一に割り当てられ、濁りのないバランスのとれた音色で演奏できるという効果がある。
【0020】
請求項5記載の電子楽器によれば、請求項4記載の電子楽器の奏する効果に加え、複数の楽器で構成されたブラスセクションなどの音色において、楽音数がセクションを構成する楽器数より多い場合でも、高音域を担当すべき楽器は常に和音の高音を発音し、低音域を担当する楽器は常に和音の低音を発音するため、実際のブラスセクションと同様の響きを得ることができるという効果がある。
【0021】
請求項6記載の電子楽器によれば、請求項1から5のいずれかに記載の電子楽器の奏する効果に加え、レガート演奏の際、瞬間的に楽音が重なった場合は、パートがそれぞれの楽音に均一に割り当てられるため、レガートの一方の楽音が消音されると、発音しているパート数が減少してしまう問題があったが、このような場合においても、それを補正して、発音するパート数が変化することなく一定の音量を保った演奏を継続することができるという効果がある。
【0022】
請求項7記載の電子楽器によれば、請求項1から5のいずれかに記載の電子楽器の奏する効果に加え、途中で和音の構成音が変化するような場合は、発音中の楽音において、パートの増減や入れ替えが不自然に感じる場合があるが、このような場合においても、不自然な音量や音色変化のない演奏ができるという効果がある。
【0023】
請求項8記載の電子楽器によれば、請求項7記載の電子楽器の奏する効果に加え、途中で和音の構成音が変化するような場合は、発音中の楽音において、パートの増減や入れ替えが不自然に感じる場合があるが、このような場合においても、不自然な音量や音色変化が発生せず、かつ濁りのないバランスのとれた音色で演奏ができるという効果がある。
【0024】
請求項9記載の電子楽器によれば、請求項1から5のいずれかに記載の電子楽器の奏する効果に加え、同タイミングでの和音入力の際に起きる、パートの増減や入れ替えに伴う不自然さを防止し、濁りのないスムーズな発音ができるという効果がある。
【発明を実施するための最良の形態】
【0025】
以下、本発明の好ましい第1実施形態について、添付図面を参照して説明する。図1は、本発明の実施形態における電子楽器1の電気的構成を示すブロック図である。この電子楽器1は、一つの発音指示に応じて複数の音色の楽音を発生することができるものである。
【0026】
図1に示すように、電子楽器1は、CPU2、ROM3、RAM4、操作パネル5、MIDIインターフェース6、音源7、D/A変換器8を主に設けている。CPU2とROM3とRAM4と操作パネル5とMIDIインターフェース6と音源7とはバスラインにより相互に接続されている。
【0027】
音源7の出力は、D/A変換器8に接続され、D/A変換器8の出力は、外部機器であるアンプ21に接続され、アンプ21の出力は、外部機器であるスピーカ22に接続される。一方、MIDIインターフェース6には、外部機器であるMIDI鍵盤20が接続される。
【0028】
CPU2は、ROM3に記憶される制御プログラム3aや固定値データに従って、電子楽器1の各部を制御するものである。CPU2は、タイマ2aを内蔵しタイマ2aは、図示しないクロック信号発信回路が発生するクロック信号を計数することにより、時刻を計時する。このタイマ2aにより計時される時刻により、一つのノートオン情報が入力されてから、次のノートオン情報が入力されるまでの時間であるオンオンタイムや、ノートオン情報が入力されてから、そのノートオン情報に対応するノートオフ情報が入力されるまでの時間であるゲートタイム、ノートオン情報が入力されて音源7に発音の開始を指示した時刻からの時間である発音継続時間などが計時される。
【0029】
なお、ノートオン情報およびノートオフ情報は、MIDIインターフェース6を介してMIDI鍵盤20より入力されるMIDI規格に適合する情報である。また、ノートオン情報とノートオフ情報とを総称してノート情報と称す。
【0030】
ノートオン情報は、MIDI鍵盤20のいずれかの鍵が押下された場合などに送信され、楽音の発生開始を指示する情報であって、ノートオン情報であることを示すステータスと、音高を示すノートナンバと、押鍵速度を示すノートオンベロシティとから構成される。
【0031】
また、ノートオフ情報は、MIDI鍵盤20の鍵が離鍵された場合などに送信され、楽音の発生停止を指示する情報であって、ノートオフ情報であることを示すステータスと、音高を示すノートナンバと、離鍵速度を示すノートオフベロシティとから構成される。
【0032】
ROM3は、書き替え不能なメモリであって、CPU2に実行させる制御プログラムを記憶する制御プログラムメモリ3aや楽器編成を記憶する楽器編成メモリ3bや音高順位メモリ3cが設けられている。制御プログラムメモリ3aに記憶される制御プログラムの詳細については、図8〜10に示すフローチャートを参照して後述する。
【0033】
楽器編成メモリ3bに記憶される楽器編成は、例えば、交響曲を演奏するオーケストラ、協奏曲(ピアノ協奏曲やバイオリン協奏曲など)を演奏する楽器とオーケストラ、弦楽器または管楽器アンサンブル、ビッグバンド、小編成のコンボなどの合奏を行う複数種類の楽器編成がプリセットされたものである。各楽器編成では複数のパートのそれぞれに対応して楽器名などの音色が記憶され、これらのプリセットは、演奏者により選択される。なお、この楽器編成は、予めROM3に記憶されるものとするが、操作子を用いて任意に変更されRAM4に記憶されるようにしてもよい。
【0034】
音高順位メモリ3cには、音源7が発生することができる複数の音色について、音高の順位である音高順位が記憶される。例えば、管楽器を例にとると音高が高い方から低い方にフルート、トランペット、アルトサックス、トロンボーンの順位が記憶されている。モードがユニゾンに設定される場合に、この音高順位に従って入力されたノートに対してパートに付された音色が割り当てられる。なお、この音高順位は、予めROM3に記憶されるものとするが、操作子を用いて任意に変更されRAM4に記憶されるようにしてもよい。
【0035】
RAM4は、書き替え可能なメモリであり、CPU2がROM3に記憶される制御プログラムの実行に当たって、フラグを記憶するフラグメモリ4aと各種のデータを一時的に記憶するためのワークエリア4bとが設けられる。フラグメモリ4aには、モードフラグが記憶される。モードフラグは、電子楽器1においてノートにパートを割り当てる演奏モードがユニゾン1モードであるかユニゾン2モードであるかを示すフラグである。ユニゾン1モードおよびユニゾン2モードについては、後述する。
【0036】
ワークエリア4bには、ノートオン情報が示すノートナンバに対応してそのノートナンバを入力した時刻が記憶される。この記憶された時刻は、次にノートオン情報が入力された時に参照され、直前に入力されたノートオン情報との時間差であるオンオンタイムが取得され、そのオンオンタイムの値に応じてユニゾン1モードまたはユニゾン2モードが設定される。
【0037】
また、ノートオフ情報が入力された時にも参照され、ノートオン情報が入力された時刻からそのノートオン情報のノートナンバと同一のノートナンバのノートオフ情報が入力された時刻までの時間であるゲートタイムが取得される。ゲートタイムが短い場合は、ミスタッチであるか否かが判定されるなどの処理が行われる。
【0038】
また、ワークエリア4bには、ノートマップが設けられる。このノートマップは、各ノートナンバに対応してノートフラグおよび再割当フラグが記憶される。ノートフラグは発音中であるか否かを示すフラグであり、音源7に対して発音開始の指示を行った場合に1に設定され、発音を停止する指示を行った場合には0に設定される。
【0039】
また、再割当フラグはユニゾン2モードにおいて、パートの再割当を行うノートナンバに対して1が設定され、再割当処理を終了した場合に0に設定される。また、ノートナンバに対してパートが割り当てられた場合には、ノートナンバに対応して割り当られたパートを示すパートナンバが記憶される。
【0040】
操作パネル5には、演奏者によって操作される複数の操作子と、その操作子によって設定されたパラメータや、演奏に応じた状態を表示する表示器とが設けられている。
【0041】
主な操作子としては、ポリフォニックモードとユニゾンモードとを切り替えるモードスイッチ、ポリフォニックモードにおける音色を選択する音色選択スイッチ、楽器編成を選択または設定する編成設定操作子がある。
【0042】
ポリフォニックモードは、単一の音色の楽音を発生するモードであり、MIDI鍵盤20から入力された一つのノートオン情報に応じて、音色選択スイッチにより選択された一つの音色の楽音を発生する。
【0043】
ユニゾンモードは、複数の音色の楽音を発生するモードであり、MIDI鍵盤20から入力された一つのノートオン情報に応じて、編成設定操作子により設定された楽器編成の音色のうち1または複数の音色で楽音を発生する。ユニゾンモードには、ユニゾン1モード(以下、単に「ユニゾン1」と略す)とユニゾン2モード(以下、単に「ユニゾン2」と略す)とがある。
【0044】
MIDIインターフェース6は、MIDI規格に適合する情報であるMIDI情報の通信を行うインターフェースであり、近年はUSBインターフェースが使用されることもある。このMIDIインターフェース6には、MIDI鍵盤20が接続され、MIDI鍵盤20からノートオン情報やノートオフ情報等を入力し、入力したMIDI情報は、RAM4のワークエリア4bに記憶される。
【0045】
MIDI鍵盤20は、複数の白鍵、黒鍵を設け、いずれかの鍵が押下された場合は、その鍵に対応するノートオン情報を出力し、鍵が離された場合は、その鍵に対応するノートオフ情報を出力する。
【0046】
音源7は、ピアノやトランペットなどの複数の音色の楽音波形を記憶し、CPU2からの楽音の発生を指示する情報に応じて記憶されている楽音波形を読み出し、指示に応じた音高、音量、音色の楽音を発生する。音源7により出力された楽音信号は、D/A変換器8によってアナログ信号に変換されて出力される。
【0047】
D/A変換器8には、アンプ21が接続され、D/A変換器8により変換されたアナログ信号はアンプ21により増幅され、アンプ21に接続されたスピーカ22により放音される。
【0048】
次に、図2を参照してユニゾン1について説明する。図2は、ユニゾン1を説明するためのグラフである。ユニゾン1は、一つの鍵が押鍵されると所定の複数のパートの楽音がその鍵により指定される音高で発音し、且つ後着優先のモノフォニックな動作を行うモードである。このモードでは、複数パートによる厚みのある単旋律のユニゾン演奏が可能となる。
【0049】
以下の説明では一例として楽器編成は4つのパートで構成され、パート1にはトランペット、パート2にはクラリネット、パート3にはアルトサックス、パート4にはトロンボーンがそれぞれ割り当てられ、音高順位は、音高が高い方からパート1、パート2、パート3、パート4の順に設定されているとして説明する。
【0050】
図2において、図2(a)は押鍵状態を示すグラフであり、図2(b)は図2(a)のように押鍵された場合に発生される楽音の状態を示すグラフである。図2(a)および図2(b)は、横軸を時間とし、縦軸を音高(ノートナンバ)として示している。図2(a)は、時刻t1に音高n1であるノート1のノートオン情報が、時刻t2に音高n2であるノート2のノートオン情報が、時刻t4に音高n3であるノート3のノートオン情報がそれぞれ入力され、時刻t3にノート1のノートオフ情報が、時刻t5にノート2のノートオフ情報が、時刻t6にノート3のノートオフ情報がそれぞれ入力されたことを示している。
【0051】
上述の通りノートオン情報は、鍵が押下されたことを示す情報であり、ノートオフ情報は、鍵が離されたことを示す情報であって、例えばノート1に対応する鍵は時刻t1に押下され、時刻t3に離されるまで押下され、図2(a)では、それぞれのノートの押下されていた期間を横軸に沿う長方形により示している。
【0052】
図2(b)は、各パートの楽音の発生開始から停止までを横軸に沿う長方形で示すものであり、パート1を無地、パート2を右上から左下方向への斜線、パート3を複数の小ドット、パート4を左上から右下方向への斜線を記載した長方形で示している。
【0053】
図2(b)に示すように、時刻t1に音高n1でパート1〜4の楽音が同時に発生を開始し、時刻t2にその発音を停止すると同時に音高n2でパート1〜4の楽音が同時に発生を開始し、時刻t4にその発音を停止すると同時に音高n3でパート1〜4の楽音が同時に発生を開始し、時刻t6にその発音を停止する。
【0054】
このように、ユニゾン1では、楽器編成により設定される全ての楽器に対応する音色が一つの発音指示に応じて同時に同一音高で、且つ後着優先のモノフォニックな動作で発音される。
【0055】
次に、図3および図4を参照してユニゾン1とユニゾン2との切り替え方法について説明する。図3は、図2と同様に、図3(a)は押鍵状態を、図3(b)は図3(a)に対応する楽音の状態をそれぞれ示すグラフである。図3(a)は、時刻t1に音高n1であるノート1のノートオン情報が、時刻t2に音高n2であるノート2のノートオン情報が、時刻t3にノート1のノートオフ情報が、時刻t4にノート2のノートオフ情報がそれぞれ入力されたことを示している。また、図3(a)は、ノート1の音高n1は、ノート2の音高n2より高いこと、および時刻t1と時刻t2との時間差であるオンオンタイムが重音判定時間JT以内である場合を示している。この重音判定時間JTは例えば50msecに設定される。このようにオンオンタイムが重音判定時間JT以内である場合は、モードがユニゾン1からユニゾン2に切り替えられる。
【0056】
図3(b)に示すように、時刻t1にノート1のノートオン情報を入力すると、モードはユニゾン1であって、音高n1で4つのパートが同時に発音を開始する。次に時刻t2に音高n2であるノート2のノートオン情報を入力すると、オンオンタイムが重音判定時間JT以内であるので、モードがユニゾン2に切り替えられる。ユニゾン2では、押鍵中のノートそれぞれに、楽器編成を構成する複数のパートが音高順位に従って略均一に割り当てられる。
【0057】
すなわち、音高n1で発音している4つのパートのうち、音高順位が高いパート1(音色はトランペット)とパート2(音色はクラリネット)とは、音高n1で発音を継続し、音高順位が低いパート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは音高n1での発音が停止され、音高n2で発音が開始される。
【0058】
時刻t3にノート1のノートオフ情報が入力されると音高n1で発音していたパート1とパート2の楽音が停止され、時刻t4にノート2のノートオフ情報が入力されると音高n2で発音していたパート3とパート4の楽音が停止される。
【0059】
このようにユニゾン1である場合にオンオンタイムが重音判定時間JT以内である場合はユニゾン2に設定され、複数のパートが分割されて複数のノートに対して割り当てられる。ユニゾン2に一度設定されると、以降はオンオンタイムに関係なくユニゾン2のモードが維持され、鍵盤の鍵が全て離鍵されるとユニゾン1に切り替わる。なお、ユニゾン2からユニゾン1に切り替える方法としては、ユニゾン2モード時に押健数が1鍵になった後、次にノートオンが入力された時点でユニゾン1に切り替えてもよい。
【0060】
なお、図3(a)、図3(b)は、まず音高n1のノートオン情報が入力され、次にその音高n1より低い音高である音高n2のノートオン情報が入力された場合を示すものであるが、音高n2の方が音高n1より高い場合は、音高n2のノートオン情報が入力された際に、4つのパートのうち音高順位が高いパート1(音色はトランペット)とパート2(音色はクラリネット)の発音を停止して音高n2で発音を開始し、パート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは、音高n1で発音を継続する。
【0061】
図3(c)、図3(d)は4つのノートオン情報が順次入力された場合を示し、図3(c)は押鍵状態を、図3(d)は図3(c)に対応する楽音の状態をそれぞれ示すグラフである。
【0062】
図3(c)に示すように、時刻t1に音高n1であるノート1のノートオン情報が、時刻t2にノート1より低い音高n2であるノート2のノートオン情報が、時刻t3にノート2より低い音高n3であるノート3のノートオン情報が、時刻t4にノート3より低い音高n4であるノート4のノートオン情報がそれぞれ入力され、時刻t5にノート1のノートオフ情報が、時刻t6にノート3のノートオフ情報が、時刻t7にノート2のノートオフ情報が、時刻t8にノート4のノートオフ情報がそれぞれ入力された場合を示している。ここで時刻t1と時刻t2との時間差であるノート1とノート2とのオンオンタイムが重音判定時間JT以内であるものとする。
【0063】
この場合、図3(d)に示すように時刻t1にノート1のノートオン情報を入力すると音高n1で4つのパートが同時に発音を開始する。次に時刻t2に音高n2であるノート2のノートオン情報を入力すると、ノート1とのオンオンタイムが重音判定時間JT以内であるので、モードがユニゾン2に切り替えられ、音高n1で発音している4つのパートのうち、音高順位が高いパート1(音色はトランペット)とパート2(音色はクラリネット)とは、音高n1で発音を継続し、音高順位が低いパート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは音高n1での発音が停止され、音高n2で発音が開始される。
【0064】
次に、時刻t3に音高n3であるノート3のノートオン情報が入力される。このときノート1およびノート2のノートオフ情報が入力されていないので、ノート2とノート3とのオンオンタイムに関係なくモードはユニゾン2に維持されたままであり、音高n1で発音していたパート1(音色はトランペット)は発音を継続し、パート2(音色はクラリネット)の楽音が停止されて音高n2で発音が開始されるとともに、音高n2で発音していたパート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは音高n2での発音が停止され、音高n3で発音が開始される。
【0065】
次に、時刻t4に音高n4であるノート4のノートオン情報が入力される。このときも、ノート3とノート4とのオンオンタイムに関係なくモードはユニゾン2に維持されたままであり、パート1(音色はトランペット)、パート2(音色はクラリネット)およびパート3(音色はアルトサックス)は発音を継続し、音高n3で発音していたパート4(音色はトロンボーン)は音高n3での発音が停止され、音高n4で発音が開始される。
【0066】
次に、図4を参照してユニゾン2におけるノートへのパートの割り当て方について詳述する。図4は、楽器編成が4つのパートにより構成され、鍵が複数押鍵された場合の押鍵(ノート)に対する割り当て方を示している。音高順位は、パート1が最も高く、パート2、パート3、パート4の順で設定されているものとする。
【0067】
まず図4(a)は、ノート1のみが押鍵された場合を示し、ノート1に対して4つのパートを割り当てることを示している。図4(b)は、ノート1に加え、ノート1より音高が低いノート2が押鍵された場合を示し、図3(a)、図3(b)に示す場合と同様に、ノート1には、パート1とパート2とを割り当て、ノート2には、パート3とパート4とを割り当てることを示している。
【0068】
図4(c)は、ノート1、ノート2に加え、ノート2より音高が低いノート3が押鍵された場合を示し、ノート1にはパート1を、ノート2にはパート2を、ノート3にはパート3とパート4とをそれぞれ割り当てる場合を示している。この図4(c)ではノート3に2つのパートを割り当てるものとしているが、ノート1にパート1とパート2とを割り当て、ノート2にパート3を、ノート3にパート4を割り当てる、または、ノート1にパート1を割り当て、ノート2にパート2とパート3とを、ノート3にパート4を割り当てるようにしてもよい。
【0069】
図4(d)は、ノートの数とパートの数とが同数である場合であって、ノート1〜ノート3に加え、ノート3より音高が低いノート4が押鍵された場合は、ノート1にパート1を、ノート2にパート2を、ノート3にパート3を、ノート4にパート4をそれぞれ割り当てることを示している。
【0070】
図4(e)、図4(f)は、パート数より押鍵数(ノート数)の方が多い場合の割り当て方について説明する図であって、図4(e)は、ノート1〜ノート4に加え、ノート4より音高が低いノート5が押鍵された場合を示し、ノート1とノート2とにパート1を、ノート3にパート2を、ノート4にパート3を、ノート5にパート4をそれぞれ割り当てることを示している。
【0071】
図4(f)は、ノート1〜ノート5に加え、ノート5より音高が低いノート6が押鍵された場合を示し、ノート1とノート2とにパート1を、ノート3とノート4とにパート2を、ノート5にパート3を、ノート6にパート4をそれぞれ割り当てることを示している。
【0072】
このようにユニゾン2では押健中のノートに対して、複数のパートが音高順位に従って略均一に割り当てられる。このため、押健数によって発音パート数が極端に変化することもなく、一定した厚みの楽音が得られる。また、パート数以上にノート数が増えた場合でも、押鍵が無視されることがなく、発音が特定の楽器に偏らないように、最適なパートが発音され、音高順位に従ったバランスのとれた響きが得られる。
【0073】
次にユニゾン2において、押鍵中のノートに音高順位に従って略均一にパートを割り当てる仕組みについて説明する。
【0074】
押鍵ノート数<=パート数の場合は、各押鍵ノート毎に、割り当てるパートの数(PartCnt)を求める。「パート数÷ノート数」の商をa、余りをbとすると、b個のノートのPartCntをa+1、それ以外のノートのPartCntをaとすればよい。具体的には例えば、各押鍵ノートのうち、音高が高い方からb番目までのノートのPartCntをa+1、それ以外のノートのPartCntをaとする。あるいは、各押鍵ノートのうち、音高が低い方からb番目までのノートのPartCntをa+1、それ以外のノートのPartCntをaとしてもよい。あるいは、音高に関わらず、重複することなくランダムに選択されたb番目までのノートのPartCntをa+1、それ以外のノートのPartCntをaとしてもよい。各ノートのPartCntが決まったら、音高の高いノートから順に、PartCnt個のパートを音高順位の高いものから順に割り当てていく。なお、各パートは1回しか割り当てられないものとする。
【0075】
押鍵ノート数>パート数の場合は、各パート毎に、割り当て可能回数(AssignCnt)を求める。「ノート数÷パート数」の商をa、余りをbとすると、b個のパートのAssignCntをa+1、それ以外のパートのAssignCntをaとすればよい。具体的には例えば、各パートのうち、音高順位が高い方からb番目までのパートのAssignCntをa+1、それ以外のパートのAssignCntはaとする。あるいは、各パートのうち、音高順位が低い方からb番目までのパートのAssignCntをa+1、それ以外のパートのAssignCntをaとしてもよい。あるいは、音高順位に関わらず、重複することなくランダムに選択されたb番目までのパートのAssignCntをa+1、それ以外のパートのAssignCntをaとしてもよい。各パートのAssignCntが決まったら、1個の押鍵ノートに対し、1個のパートを割り当てる。この際、音高順位の最も高いパートを割り当て対象パートとし、このパートを音高の高いノートから順に割り当てていく。各パートはAssignCnt回割り当てることができ、AssignCnt回割り当てたら、次に音高順位の高いパートを割り当て対象パートとし、同様にAssignCnt回割り当てる。
【0076】
以上のように、ノート数やパート数に関わらず、押鍵ノートに対してパートを略均一にバランスよく割り当てることができる。
【0077】
次に、図5を参照してミスタッチが行われた場合の処理であるミスタッチ処理について説明する。ミスタッチとは、間違った鍵を押下することであるが、ここでは、鍵を押下する際に誤って他の鍵を押下し、その誤って押下されている時間が短い場合を指す。
【0078】
図5(a)は、時刻t1に音高がn1であるノート1のノートオン情報が入力され、続いて時刻t2に音高がn2であるノート2のノートオン情報が入力され、その直後である時刻t3にノート1のノートオフ情報が入力された場合を示している。ここで、時刻t1から時刻t2までのオンオンタイムが重音判定時間JT以内であるとする。
【0079】
図5(b)は、図5(a)に示すようにノート情報が入力され、ミスタッチ処理を行わない場合に、音源により発音される楽音の様子を示すグラフであって、時刻t1の時点では、モードがユニゾン1であるので、音高n1であるノート1のノートオン情報に対応して、4つのパートが音高n1で発音が開始される。次に、時刻t2に音高n2であるノート2のノートオン情報が入力され、時刻t1から時刻t2までのオンオンタイムが重音判定時間JT以内であるので、モードがユニゾン2に変更される。従って、音高n1で発音されている4つのパートのうち、パート1とパート2とは音高n1での発音を継続し、パート3とパート4とは時刻t2に音高n1での発音が停止され、音高n2で発音が開始される。
【0080】
しかし、その直後である時刻t3にノート1のノートオフ情報が入力されると、パート1とパート2とは音高n1での発音を停止するが、ノート1のゲートタイムが所定の時間であるミスタッチ判定時間MT以内である場合は、ノート1はミスタッチであると判定し、時刻t3に停止したパート1とパート2との発音を音高n2で再開するとよい。これをミスタッチ処理と呼ぶ。このミスタッチ判定時間MTは例えば100msecに設定される。
【0081】
図5(c)は、このミスタッチが発生してミスタッチ処理を行った場合に、音源により発音される楽音の様子を示すグラフである。即ち、時刻t3で、パート1とパート2とを音高n2で発音を開始するとともに、モードをユニゾン1に戻す。この処理により、意図しないミスタッチを行ってユニゾン2に移行しても、すぐに演奏者が意図するユニゾン1に復帰することができる。なお、このミスタッチ処理は、ゲートタイムがミスタッチ判定時間MT以内であるという条件に加え、押鍵数が2鍵から1鍵に減少した場合であることと、その2鍵の音高差が5半音以内であること、その2鍵のオンオンタイムが重音判定時間JT以内であること等をミスタッチと判定するための条件としてもよい。本願実施形態では、上記全ての条件を満たしたときにミスタッチと判定し、ミスタッチ処理を行うようにしている。
【0082】
押鍵数が2鍵から1鍵に減少したことをミスタッチと判定するための一つの条件とするのは、それが典型的なミスタッチの演奏例だからである。また、その2鍵の音高差が5半音以内であることをミスタッチと判定するための一つの条件とするのは、押下しようとする鍵と離れている鍵が短く押下された場合は、ミスタッチではなく意図された押鍵と考えられるからである。また、その2鍵のオンオンタイムが重音判定時間JT以内であることをミスタッチと判定するための一つの条件とするのは、オンオンタイムが重音判定時間JTより長い場合は、ミスタッチではなく意図された押鍵と考えられるからである。
【0083】
図6は、オンオンタイムが重音判定時間JT以内であることをミスタッチと判定するための一つの条件とする理由を説明するためのグラフである。図6(a)は押鍵状態を、図6(b)は図6(a)に対応する楽音の状態をそれぞれ示すグラフである。ここでは仮にモードがユニゾン2であるとする。図6(a)に示すように時刻t1に音高n1であるノート1のノートオン情報と音高n2であるノート2のノートオン情報とが入力され、時刻t2にノート1のノートオフ情報が入力される。この時刻t1から時刻t2までの時間であるノート1のゲートタイムは、ミスタッチ判定時間MTより長いものとする。次に、時刻t3に音高がn3であるノート3のノートオン情報が入力され、次に、時刻t4にノート3のノートオフ情報が入力される。この時刻t3から時刻t4までの時間であるノート3のゲートタイムは、ミスタッチ判定時間MT以内であるとする。そして、時刻t5にノート2のノートオフ情報が入力される。
【0084】
この場合、図6(b)に示すように、時刻t1に音高n1でパート1とパート2との発音が開始されるとともに、音高n2でパート3とパート4との発音が開始される。次に、時刻t2にパート1とパート2との発音が停止され、時刻t3に音高n3でパート1とパート2との発音が開始される。そして、時刻t4にパート1とパート2との発音が停止される。この時、ノート3のゲートタイムがミスタッチ判定時間MT以内であるので、ゲートタイムだけをミスタッチの判定対象としていれば、図6(b)に示すように、時刻t4でパート1とパート2とが音高n2で再度発音されることになる。しかし、この場合は、ノート3のノートオン情報を入力した時刻に近接してノートオン情報が入力されていないので、ノート3はミスタッチではないと考えられる。よって、オンオンタイムが重音判定時間JT以内であることをミスタッチと判定するための一つの条件とすることで、ノート3はミスタッチではないと判定し、時刻t4ではパート1とパート2とを再発音しないようにすると好適である。
【0085】
また、ゲートタイムがミスタッチ判定時間MT以内である場合であっても、ノートオフ情報が入力された時刻の直前に他のノートのノートオフ情報が入力された場合も、ミスタッチであると判定しない方がよい。これは例えば、和音でスタッカート演奏が行われ、複数のノートオフ情報がほぼ同時に入力された場合であり、ミスタッチではないからである。このほぼ同時とみなす時間である複数のノートオフ情報が入力された時間差は、例えば100msecとする。
【0086】
次に、図7を参照してミスレガート処理について説明する。レガート演奏とは、滑らかに音をつなぐ奏法であって、鍵盤で演奏する場合には、先に押鍵していた鍵を離鍵する前に次の鍵を押鍵する奏法である。従って、先に押鍵されていたノートのノートオフ情報が入力される前に次のノートのノートオン情報が入力された場合に、レガート演奏が行われたと判断することが行われている。そして、レガート演奏が行われた場合と、レガート演奏ではなく先に押鍵されていたノートのノートオフ情報が入力された後に次のノートのノートオン情報が入力された場合とで、楽音の発生態様を異ならせるといったことが行われている。
【0087】
モードがユニゾン2である場合に、このレガート演奏が行われた場合は、発音されるパートが減少するという問題が発生する。図7は、このレガート演奏が行われた場合の問題点と、その対策であるミスレガート処理とについて説明するためのグラフである。(a)は押鍵状態を、(b)はミスレガート処理を行わない場合の(a)に対応する楽音状態を、(c)はミスレガート処理を施した場合の楽音状態をそれぞれ示すグラフである。
【0088】
図7(a)に示すように、音高n3であるノート1が入力された後、時刻t1に音高n3より高い音高n1であるノート2のノートオン情報が入力され、次に時刻t2に音高n1より低く音高n3より高い音高n2であるノート3のノートオン情報が入力され、時刻t2の直後である時刻t3にノート2のノートオフ情報が入力される。この時刻t2から時刻t3までの時間は、所定時間であるミスレガート判定時間LT以内であるものとする。そして、時刻t4にノート3のノートオフ情報が入力される。このミスレガート判定時間LTは例えば60msecに設定される。
【0089】
この場合、モードがユニゾン2であって、図7(b)に示すようにノート1のノートオン情報の入力に応じてパート3とパート4とが音高n3で発音されているものとする。そして、時刻t1に音高n1であるノート2のノートオン情報が入力されると、パート1とパート2とが音高n1で発音が開始される。
【0090】
次に、時刻t2に音高n2であるノート3のノートオン情報が入力されると、音高順位が高いパート1は音高n1で発音が継続され、音高順位が低いパート2は音高n1での発音が停止され、音高n2で発音が開始される。その直後である時刻t3にノート2のノートオフ情報が入力されると、パート1は音高n1での発音が停止され、パート2のみが音高n2での発音を継続することになる。しかしながら、演奏者は、レガート演奏を行ったのであって、発音されるパート数を減少させる意図はないと考えられる。そこで、このようにレガート演奏が行われた場合は、図7(c)に示すように、時刻t3に音高n2でパート1の発音を再開し、発音するパート数が減少しないようにする。これをミスレガート処理と呼ぶ。このようにすることで、ユニゾン2でのレガート演奏による意図しない音ヤセを防止することができる。
【0091】
次に、図8〜図10のフローチャートを参照してCPU2に実行させる処理について説明する。まず、図8に示すユニゾン処理について説明する。図8は、電子楽器1におけるユニゾン処理を示すフローチャートである。このユニゾン処理は、ユニゾンモードに設定されたとき起動され、ユニゾンモードが停止されるまで繰り返し行われる処理である。
【0092】
このユニゾン処理では、まず、初期設定を行う(S1)。初期設定としては、RAM4のフラグメモリ4aに記憶されるモードフラグを0に設定し、モードをユニゾン1とし、ノートマップに記憶される全てのノートフラグを0に設定する。また、CPU2に内蔵されるタイマ2aが時刻の計時を開始するように設定する。
【0093】
次に、MIDIインターフェース6に入力された未処理のMIDI情報が有るか否かを判断し(S2)、未処理のMIDI情報が有れば(S2:Yes)、その情報はノートオン情報であるか否かを判断する(S3)。未処理のMIDI情報がなければ(S2:No)、新たなMIDI情報を入力するまで待機する。
【0094】
その情報がノートオン情報であれば(S3:Yes)、タイマ2aが計時する現在時刻をワークエリア4bにノート情報に対応して記憶する(S4)。
【0095】
次に、モードフラグが0に設定されているか否かを判断し(S5)、モードフラグが0に設定されていれば(S5:Yes)、音源7において、いずれかの楽音を発音しているか否かを判断する(S6)。この判断は、ワークエリア4bに記憶されるノートマップに記憶されるノートフラグを参照することにより行われる。ノートマップは、音源7に対して発音開始の指示を行った場合にノートに対応するノートフラグがセットされ、そのノートについて発音を停止する指示を行った場合には、そのノートフラグがリセットされる。
【0096】
いずれかの楽音が発音中であれば(S6:Yes)、直前のノートオン情報が入力された時刻をワークエリア4bから検出し、現在時刻との時間差であるオンオンタイムを算出し、そのオンオンタイムが重音判定時間JT以内であるか否かを判断する(S7)。オンオンタイムが重音判定時間JT以内であれば(S7:Yes)、モードフラグを1に設定する(S8)。
【0097】
S5の判断処理においてモードフラグが0ではなく1と判断された場合(S5:No)、またはS8の処理を終了した場合は、ユニゾン2での割り当て処理を行う(S9)。この割り当て処理については、図9を参照して後述する。S9の処理を終了した場合は、S2の処理に戻る。
【0098】
S7の判断処理においてオンオンタイムが重音判定時間JT以内でなければ(S7:No)、ユニゾン1モードであるので、発音中の全パートの楽音を停止するように音源7に指示する(S10)。この指示は、ノートマップを参照し、ノートフラグが1に設定されているノートを停止するように指示する情報を音源7に送信することにより行われる。そして、そのノートフラグを0に設定し、そのノートに対応して記憶されているパートナンバをクリアする。
【0099】
S6の判断処理において発音中でないと判断された場合(S6:No)、またはS10の処理を終了した場合は、入力されたノートオン情報に含まれるノートナンバに対応する音高で楽器編成の全てのパートが発音を開始するように音源7に指示し、ノートマップのそのノートナンバに対応するノートフラグを1に設定し(S11)、S2の処理に戻る。
【0100】
一方、S3の判断処理においてMIDI情報がノートオン情報でなければ(S3:No)、その情報がノートオフ情報であるか否かを判断する(S21)。その情報がノートオフ情報であれば(S21:Yes)、音源7にそのノートオフ情報が示すノートナンバに対応する音高の楽音を停止するように指示し、ノートマップのそのノートナンバに対応するノートフラグを0に設定し、そのノートに対応して記憶されているパートナンバをクリアする(S22)。次に、モードフラグが0に設定されているか否かを判断し(S23)、モードフラグが0でなく1に設定されていれば(S23:No)、補正処理を行う(S24)。この補正処理は、ミスタッチ処理やミスレガート処理であり、図10を参照して後述する。
【0101】
S24の補正処理を終了した場合は、ノートマップを参照し、全てのノートフラグが0に設定され、全鍵が離鍵されたか否かを判断する(S25)。全鍵が離鍵された場合は(S25:Yes)、モードフラグを0に設定し(S26)、S2の処理に戻る。S23の判断処理においてモードフラグが0である場合(S23:Yes)、またはS25の判断処理でいずれかの鍵がオフではない場合(S25:No)は、S2の処理に戻る。なお、S25の判断処理において、ノートマップを参照し、押鍵数が1か否かを判断し(S25)、押鍵数が1の場合は(S25:Yes)、モードフラグを0に設定し(S26)、S2の処理に戻るようにしてもよい。
【0102】
S21の判断処理において未処理の情報がノートオフ情報でなければ(S21:No)、その情報に対応する処理を行い(S27)、S2の処理に戻る。
【0103】
次に、図9を参照して、ユニゾン2での割り当て処理について説明する。図9(a)は、割り当て処理を示すフローチャートであり、この割り当て処理の中で行われる発音処理を図9(b)に示す。割り当て処理では、まず初期設定として各ノートナンバに対応してノートマップに記憶される再割当フラグを全て0に設定する(S31)。次に、ノートマップに記憶されるノートフラグを参照し、ノートフラグが1であるノートナンバと、今回のノートオン情報が示すノートナンバに対応する再割当フラグを1に設定する(S32)。
【0104】
そして、再割当フラグが1に設定されたノートに対して、図4を参照して説明したようにノートナンバと各パートの音高順位に従ってパートを割り当てる(S33)。この処理により発音中のノートと新たなノートに対してパートの再割当が行われ、発音中のノートおよび新たなノートのノートナンバに割り当てられたパートを示すパートナンバが、RAM4のワークエリア4bに一時記憶され、次に発音処理が行われる(S34)。この発音処理は図9(b)に示す処理である。発音処理を終了した場合は、ユニゾン処理に戻る。
【0105】
次に、図9(b)を参照して発音処理について説明する。図9(b)は、発音処理を示すフローチャートである。発音処理では、まず再割当フラグが1に設定されているいずれかのノートナンバを選択する(S41)。ノートナンバが最も大きいもの、あるいは最も小さいものを選択してもよい。次に、その選択されたノートナンバに対してS33の処理により割り当てられたパート以外のパートが発音中であるか否か判断する(S42)。この判断は、ワークエリア4bに、今回、その選択されたノートナンバに対応して一時記憶されたパートと、ノートマップにその選択されたノートナンバに対応して記憶されているパートとを比較することにより行われ、ノートマップに記憶されているが、ワークエリア4bに一時記憶されないパートが、今回割り当てられたパート以外で発音中のパートに該当する。
【0106】
その発音中のパートがあれば(S42:Yes)、そのパートについて発音を停止するように音源7に指示し、ノートマップのその選択されたノートに対応して記憶されているパートナンバをクリアする(S43)。
【0107】
S43の処理を行った場合、または選択されたノートナンバに割り当てられたパート以外に発音中のパートがない場合は(S42:No)、その選択されたノートナンバに対して割り当てられたパートが発音中であるか否かを判断し(S44)、発音中でなければ(S44:No)発音を開始するように音源7に指示し、そのノートナンバに対応するノートフラグを1に設定するとともに、割り当てられたパートを示すパートナンバをノートナンバに対応してノートマップに記憶する(S45)。
【0108】
S45の処理を行った場合、または選択されたノートナンバに割り当てられたパートが発音中である場合は(S44:Yes)、そのノートナンバに対応する再割当フラグを0に設定し(S46)、ノートマップにおいて、再割当フラグが1に設定されているノートナンバがあるか否かを判断する(S47)。再割当フラグが1に設定されているノートナンバがあれば(S47:Yes)、S41の処理に戻り、再割当フラグが1に設定されているノートナンバがなければ(S47:No)、この発音処理を終了する。
【0109】
次に、図10を参照して補正処理について説明する。図10は、補正処理を示すフローチャートである。この補正処理では、まずノートオン情報が入力された時刻からノートオフ情報が入力された時刻までの時間であるゲートタイムがミスタッチ判定時間MT以内であるか否かを判断する(S51)。そのゲートタイムがミスタッチ判定時間MT以内であれば(S51:Yes)、次に押鍵数が2鍵から1鍵に変化したか否かを判断する(S52)。具体的には、ノートマップを参照し、発音中のノートが1つであるか否かを判断し、1つであれば、押鍵数が2鍵から1鍵に変化したものと判断する。押鍵数が2鍵から1鍵に変化した場合は(S52:Yes)、更にその2鍵の音高差を算出し、その音高差が5半音以内であるか否かを判断する(S53)。この2鍵の音高差は、今回入力されたノートオフ情報のノートナンバと、ノートマップを参照することにより検出される発音中のノートのノートナンバとの差の絶対値を取ることにより算出される。
【0110】
その音高差が5半音以内であれば(S53:Yes)、ノートオフ情報に対応するノートと発音中のノートとのオンオンタイムを算出し、そのオンオンタイムが重音判定時間JT以内であるか否かを判断する(S54)。そのオンオンタイムが重音判定時間JT以内であれば(S54:Yes)、ミスタッチが行われたと判断し、モードフラグを0に設定してモードをユニゾン1に設定する(S55)。そして、発音中のノートと同じ音高で、発音中のノートに割り当てられていないパートの音色で発音を開始するように音源7に指示する(S56)。
【0111】
一方、S51の判断処理において、ゲートタイムがミスタッチ判定時間MT以内でない場合(S51:No)、またはS52の判断処理において押鍵数が2鍵から1鍵に変化したのではない場合(S52:No)、またはS53の判断処理において2鍵の音高差が5半音以内でない場合(S53:No)、またはS54の判断処理においてオンオンタイムが重音判定時間JT以内でない場合は(S54:No)、ノートオフされたノートのノートオフ情報が入力された時刻と現在発音中の最も新しいノートのノートオン情報が入力された時刻との時間差であるレガート時間を算出し、そのレガート時間がミスレガート判定時間LT以内であるか否かを判断する(S57)。
【0112】
レガート時間がミスレガート判定時間LT以内であれば(S57:Yes)、次に現在発音中の最も新しいノートとのオンオンタイムを算出し、そのオンオンタイムが重音判定時間JT以内であるかを判定する(S58)。そのオンオンタイムが重音判定時間JT以内でなければ(S58:No)、ミスレガート演奏が行われたと判断し、図4あるいは後述する図12の方法で、発音中のノートに対してパートの再割当を行い、新たに割り当てられたパートの発音を開始するように音源7に指示する(S59)。これは具体的には、後述する図13の割り当て処理のフローチャートからステップS69の処理を除いた割り当て処理を行うことになる。S56の処理を終了した場合はユニゾン処理に戻る。
【0113】
オンオンタイムが重音判定時間JT以内であれば(S58:Yes)、スタッカートによる和音演奏が行われたものとして、再割当を行わない。また、S57の判断処理においてレガート時間がミスレガート判定時間LT以内でなければ(S57:No)、ミスレガート演奏ではないと判断し、この補正処理からユニゾン処理に戻る。
【0114】
以上、第1実施形態について説明したように、本発明による電子楽器1は、オンオンタイムが重音判定時間JT以内である場合にユニゾン1からユニゾン2に切り替えられる。よって、一つの鍵が押下された場合にはモードがユニゾン1に設定され、楽器編成を構成する全パートが同じ音高で発音され、複数の鍵が重音判定時間JT以内に押された場合はユニゾン2に設定されて楽器編成を構成する複数のパートが複数の押鍵に分割されて割り当てられる。よって、和音のように複数の鍵が同時に押下された場合に、パート数が増えることなく自然な楽音を発生することができるという効果がある。
【0115】
また、ノートオフ情報が入力された際に、そのノートのゲートタイムがミスタッチ判定時間MT以内であれば、意図しないミスタッチであると判断され、ユニゾン2への設定をユニゾン1に戻し、発音が停止されたパートが再発音されるので、ミスタッチを行った場合でも自然な楽音を発生することができるという効果がある。
【0116】
また、ユニゾン2においてレガート演奏を行った場合には、新たなノートオン情報を入力した直後に、発音中のノートのノートオフ情報が入力されるため、そのノートオフ情報が入力されたノートに割り当てられていたパートの発音が停止されることになるが、ミスレガート演奏であると判定された場合は、その停止されたパートが、発音中のノートに再割当されるので、パート数が変化しないユニゾン演奏を行うことができ、意図しない音ヤセを防止するという効果がある。
【0117】
次に、第2実施形態について説明する。第1実施形態では、モードがユニゾン2である場合に、新たなノートオン情報が入力されると使用されていないパートの有無に拘わらず、再割当を行い、すでに発音を開始したパートの発音を停止して、音高を変えて再度発音を開始するため、不自然な音切れが発生することがあった。第2実施形態では、発音の停止と再発生をできるだけ少なくし、より自然な楽音を発生するようにするものである。
【0118】
その方法として、新たな押鍵が行われた場合、すでに押鍵されて発音中であるノートの発音継続時間を取得し、その発音継続時間が所定時間である再割当判定時間STより長いノートについては、再割当の対象としないものとする。この再割当判定時間STは重音判定時間JTより長い時間であって例えば80msecなどに設定される。
【0119】
図11は、この処理の一例を示すものであって、図3(c)、図3(d)に対応するグラフである。即ち、図11(a)は図3(c)と同様な押鍵状態を示し、図11(b)は第2実施形態における楽音の状態を示している。
【0120】
図11(a)は、時刻t1に音高n1であるノート1のノートオン情報が、時刻t2にノート1より低い音高n2であるノート2のノートオン情報が、時刻t3にノート2より低い音高n3であるノート3のノートオン情報が、時刻t4にノート3より低い音高n4であるノート4のノートオン情報がそれぞれ入力され、時刻t5にノート1のノートオフ情報が、時刻t6にノート3のノートオフ情報が、時刻t7にノート2のノートオフ情報が、時刻t8にノート4のノートオフ情報がそれぞれ入力された場合を示している。ここで時刻t1と時刻t2との時間差であるノート1とノート2とのオンオンタイムが重音判定時間JT以内であり、且つ時刻t2におけるノート1の発音継続時間は再割当判定時間ST以内であるものとする。また、時刻t3におけるノート1、ノート2の発音継続時間も再割当判定時間ST以内であり、時刻t4におけるノート1、ノート2、ノート3の発音継続時間は再割当判定時間STより長いものとする。
【0121】
この場合、図11(b)に示すように、時刻t1にノート1のノートオン情報を入力すると音高n1で4つのパートが同時に発音を開始する。次に時刻t2に音高n2であるノート2のノートオン情報を入力すると、ノート1とのオンオンタイムが重音判定時間JT以内であるので、モードがユニゾン2に切り替えられる。そして、ノート1の発音継続時間が再割当判定時間ST以内であるので、ノート1は、再割当の対象となり、音高n1で発音している4つのパートのうち、音高順位が高いパート1(音色はトランペット)とパート2(音色はクラリネット)とは、音高n1で発音を継続し、音高順位が低いパート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは音高n1での発音が停止され、音高n2で発音が開始される。
【0122】
次に、時刻t3に音高n3であるノート3のノートオン情報が入力される。このときノート1およびノート2のノートオフ情報が入力されていないので、ノート2とノート3とのオンオンタイムに関係なくモードはユニゾン2に維持されたままであるとともに、ノート1、ノート2の発音継続時間が再割当判定時間ST以内であるので、ノート1およびノート2は、再割当の対象となり、音高n1で発音していたパート1(音色はトランペット)は発音を継続し、パート2(音色はクラリネット)の楽音が停止されて音高n2で発音が開始されるともに音高n2で発音していたパート3(音色はアルトサックス)とパート4(音色はトロンボーン)とは音高n2での発音が停止され、音高n3で発音が開始される。
【0123】
次に、時刻t4に音高n4であるノート4のノートオン情報が入力される。このときも、ノート3とノート4とのオンオンタイムに関係なくモードはユニゾン2に維持されたままであるが、ノート1、ノート2、ノート3の発音継続時間が再割当判定時間STより長いので、ノート1〜3は、再割当の対象とはならず、ノート1〜3に割り当てられているパートの発音は継続される。そして、新たな押鍵であるノート4には、ノート4の音高n4がノート1〜3の音高n1、n2、n3より低いので、音高順位が最も低いパートであるパート4(音色はトロンボーン)が割り当てられる。
【0124】
次に、図12を参照して、第2実施形態における割り当て方について説明する。この割り当て方は、未使用のパートがある場合と未使用のパートがない場合との割り当て方が異なる。モードがユニゾン2であって複数のノートが押鍵中である場合に、一部の鍵が離鍵されてノートオフ情報が入力されると、そのノートに割り当てられていたパートは、未使用のパートとなる。例えば、図3(b)に示すように、時刻t3に音高n1であるノート1のノートオフ情報が入力されると、ノート1に割り当てられていたパート1とパート2とは、発音が停止され未使用となる。
【0125】
図12は、第2実施形態における割り当て方を説明するための模式図であり、図4と同様に、楽器編成が4つのパートにより構成され、音高順位は、パート1が最も高く、パート2、パート3、パート4の順で設定されているものとする。また、上述の通り、発音継続時間が再割当判定時間STより長いノートについては、再割当の対象とはしないものとし、図12では、再割当の対象としないノートとそのノートに割り当てられているパートとを網掛けで示す。
【0126】
図12(a)は、未使用であるパートが存在する場合の例を示すもので、ノート1にはパート1とパート2とが割り当てられていて、ノート1の発音継続時間が再割当判定時間STより長く、再割当の対象ではない。また、パート3とパート4とは未使用である状態を示している。
【0127】
この図12(a)の状態において、新たにノート2が押鍵された場合が図12(b)である。ノート2の音高はノート1の音高より低く、パート3およびパート4は、パート1およびパート2より音高順位が低いので、図12(b)に示すように、新たに押鍵されたノート2には、未使用のパートであるパート3とパート4とが割り当てられる。割り当てられた直後は、再割当の対象となるのでノート2、パート3およびパート4は、網掛けを施さない白地の長方形で示している。
【0128】
ノート2の音高がノート1の音高より低い場合は、このように未使用で且つ音高順位が低いパートを割り当てればよい。同様に、ノート2の音高がノート1の音高より高く、未使用のパートの音高順位が高い場合は、ノート2に未使用のパートを割り当てればよい。
【0129】
図12(c)は、図12(b)の状態においてノート2より音高が低いノート3が、ノート2のノートオン時刻から再割当判定時間ST以内に押鍵された場合を示す。この場合は、未使用のパートはないが、ノート2の発音継続時間は再割当判定時間ST以内であるので、ノート2は再割当の対象となり、パート3、パート4は割当可能パートとなる。よって、ノート2と新たに押鍵されたノート3とに、それまでノート2に割り当てられていたパート3、パート4が再割当される。具体的には、パートの音高順位に従って、ノート2にはパート3が、ノート3にはパート4がそれぞれ再割当される。
【0130】
また、図12(d)に示すように、新たなノート3の音高がノート1の音高より高く、ノート1、ノート2ともに再割当の対象ではなくて、且つ割当可能パートがない場合は、ノート3には、音高順位が最も高いパート1を割り当てる。また、図12(e)に示すように、新たなノート3の音高がノート1の音高より低く、ノート2の音高より高く、ノート1、ノート2ともに再割当の対象ではなくて、且つ割当可能パートがない場合は、ノート3には、音高順位が近いパート2(またはパート3のいずれか)を割り当てる。
【0131】
次に、図13を参照して第2実施形態における割り当て処理について説明する。図13は、第2実施形態における割り当て処理を示すフローチャートである。この割り当て処理は第1実施形態における割り当て処理である図9(a)に代わる処理である。この処理では、RAM4に記憶されるノートマップに各ノートナンバに対応して未処理フラグが記憶される。この未処理フラグは、この割り当て処理を開始した直後に、ノートフラグと同一に設定される。即ち、ノートフラグが1であるノートナンバに対応する未処理フラグが1に設定され、ノートフラグが0であるノートナンバに対応する未処理フラグは0に設定され、1に設定された未処理フラグは、再割当の対象となるか否かの判定処理が終了した場合に0に設定される。
【0132】
また、RAM4のワークエリア4bにパートフラグが記憶される。このパートフラグは、各パートに対応して設けられ、パートがノートに割り当てられて発音を開始した場合に1に設定され、発音が停止されると0に設定される。複数のノートに対して割り当てられた場合は、すべてのノートが停止された場合に0に設定される。なお、第2実施形態における他の構成および処理は、第1の実施形態と同一である。
【0133】
図13に示すように、この割り当て処理では、まず各パートフラグおよび各再割当フラグを0に設定する(S61)。次に、発音中のノートに対応する未処理フラグを1に、発音中ではないノートに対応する未処理フラグを0に設定する(S62)。なお、この処理は、ノートフラグをコピーすることにより行われる。
【0134】
次に、未処理フラグが1に設定されているノートをいずれか1つ選択する(S63)。この選択は、例えば、ノートナンバが最も大きいもの、あるいは最も小さいものを選択するようにしてもよい。
【0135】
次に、その選択されたノートの発音継続時間が所定時間である再割当判定時間ST以内であるか否かを判断する(S64)。発音継続時間が再割当判定時間ST以内であれば(S64:Yes)、そのノートに対応する再割当フラグを1として再割当の対象とし(S65)、再割当判定時間ST以内でなければ(S64:No)、そのノートに割り当てられているパートのパートフラグを1に設定する(S66)。
【0136】
S65またはS66の処理を終了した場合は、未処理フラグを0に設定し(S67)、未処理フラグが1に設定されているノートがあるか否かを判断する(S68)。未処理フラグが1に設定されているノートがあれば(S68:Yes)、S63の処理に戻り、未処理フラグが1に設定されているノートがなければ(S68:No)、新たなノートに対応する再割当フラグを1に設定する(S69)。
【0137】
次に、割当可能パートがあるか否かを判断し(S70)、割当可能パートがあれば(S70:Yes)、再割当フラグが1に設定されているノート群に対して、音高に従い均等に割当可能パートを割り当てる(S71)。この割当可能パートとはパートフラグが0に設定されているパートである。具体的には、ノートオンからの発音継続時間が再割当判定時間STより長いノートに割り当てられているパート以外のパートを表している。割当可能パートがなければ(S70:No)、再割当フラグが1に設定されているノートに対して、そのノートの音高に最も近い音高で発音中のノートに割り当てられているパートのうち、再割当フラグが1に設定されているノートの音高に音高順位が近いパートを割り当てる(S72)。S71またはS72の処理を終了した場合は、図9(b)に示す発音処理を行って、ユニゾン処理に戻る。
【0138】
以上のように第2実施形態では、発音中のノートの発音継続時間が再割当判定時間STより長い場合は、その発音中のノートは十分長く鳴っていると判断して再割当の対象としない。従って、その発音中のノートに割り当てられているパートが消音されることがないので、不自然な音切れを回避し、自然な楽音を発生することができるという効果がある。
【0139】
なお、上記第1実施形態では、ノートオン情報を入力した際、オンオンタイムが重音判定時間JT以内であれば、パートの再割当が発生する。従って、一部のパートは、発音を開始した直後に停止され、音高が変更されて再発音される。そのために楽音が濁ったように感じられることがある。そこで、ノートオン情報を入力した際に、所定の遅延時間d後に発音を開始するようにする。このようにすると、その遅延時間d内に他のノートオン情報が入力され、そのノートに対してパートが割り当てられても、先にノートオンしたノートは遅延中でまだ発音していないので、発音開始直後に停止されるようなことが起こらず、楽音の濁りを防止することができる。
【0140】
図14は、このように楽音の濁りを防止する方法を示すグラフである。図14(a)は押鍵状態を、図14(b)は遅延時間dを設けない場合の楽音状態を、図14(c)は遅延時間dを設けた場合の楽音状態をそれぞれ示すグラフである。
【0141】
図14(a)は、時刻t1に音高n1であるノート1のノートオン情報が入力され、時刻t2にノート1の音高n1より低い音高n2であるノート2のノートオン情報が入力され、時刻t3にノート1の音高n1より低くノート2の音高n2より高い音高n3であるノート3のノートオン情報が入力され、時刻t4にノート2のノートオフ情報が、時刻t5にノート1のノートオフ情報が、時刻t6にノート3のノートオフ情報がそれぞれ入力されたことを示している。また時刻t1と時刻t2との時間差であるオンオンタイムが重音判定時間JT以内である場合を示している。
【0142】
この場合、図14(b)に示すように遅延時間dを設けない場合は、時刻t1に音高n1で4つのパートが同時に発音を開始し、時刻t2にノート2のノートオン情報が入力されるとオンオンタイムが重音判定時間JT以内であるのでモードがユニゾン1からユニゾン2に切り替えられ、音高n1で発音していたパート3とパート4との楽音の発生が停止され、音高n2でパート3とパート4との楽音の発生が開始される。次に、時刻t3にノート3のノートオン情報が入力されるとモードがユニゾン2であって、音高n1で発音していたパート2の楽音の発生が停止され、音高n3でパート2の楽音の発生が開始される。
【0143】
図14(c)は遅延時間dを設けた場合であり、時刻t1から遅延時間dの計時を開始し、全パートであるパート1〜パート4の発音の開始を遅延時間dだけ遅らせる。次に、この遅延時間d以内である時刻t2にノート2のノートオン情報が入力されるとオンオンタイムが重音判定時間JT以内であるのでモードがユニゾン1からユニゾン2に切り替えられ、パート3とパート4とはノート2に割り当てられるが、パート3とパート4とは発音の開始が時刻t2から遅延時間dだけ遅延される。
【0144】
時刻t1から遅延時間dが経過したとき、パート1とパート2とが音高n1で発音が開始され、時刻t3にノート3のノートオン情報が入力されると、音高n1で発音していたパート2が停止され、ノート3にパート2が割り当てられ、遅延時間dが設定される。そして時刻t2から遅延時間dが経過するとパート3とパート4とが音高n2で発音が開始され、時刻t3から遅延時間dが経過するとパート2が音高n3で発音が開始される。
【0145】
このように遅延時間dを設けることにより、時刻t1に発音開始したパート3とパート4との楽音が、その直後の時刻t2で停止され、音高が変更されて再発音されるといった現象を抑制することができ、楽音の濁りを防止することができる。
【0146】
この方法を実施するために音源7には、次の機能を備える。発音の開始指示を入力した時から遅延時間dを計時し、遅延時間dの経過後に発音を開始する。この遅延時間d内に発音を停止する指示を入力した場合は、遅延時間dの計時を中止し、発音を開始しないようにする。
【0147】
このように発音を開始するまでに遅延時間dを設けることで、その遅延時間dの間に新たなノートオン情報が入力されても、再割当により楽音が発音開始直後に停止して楽音が濁るといった現象を抑制することができる。
【0148】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【0149】
例えば、上記実施形態では、音源7は電子楽器1に内蔵され、CPU2とのバスに接続されるものとしたが、MIDIインターフェース6を介して外部に接続される外部音源としてもよい。
【0150】
なお、上記実施形態では、音源7における楽音を発生する方式については、特に言及しないが、各楽器の波形を記憶し、その波形を読み出すことにより所望の音色の楽音を発生する方式や、矩形波などの基本的な波形を変調することにより発生する方式を用いることができる。
【図面の簡単な説明】
【0151】
【図1】本発明における第1実施形態の電子楽器の電気的構成を示すブロック図である。
【図2】ユニゾン1を説明するためのグラフであり、(a)は押鍵状態を示し、(b)は(a)の押鍵に応じて発音される楽音の状態を示すものである。
【図3】ユニゾン2を説明するためのグラフであり、(a)(b)は押鍵状態を示し、(c)は(a)の、(d)は(b)の押鍵に応じて発音される楽音の状態を示すものである。
【図4】ユニゾン2におけるノートに対するパートの割り当て方を示す模式図である。
【図5】ミスタッチ処理を説明するためのグラフであって、(a)は押鍵状態を、(b)はミスタッチ処理を行わない場合の楽音の状態を、(c)はミスタッチ処理を行った場合の楽音の状態をそれぞれ示す。
【図6】オンオンタイムが重音判定時間JT以内であることをミスタッチと判定するための一つの条件とする理由を説明するためのグラフであり、(a)は押鍵状態を、(b)は(a)に対応する楽音の状態をそれぞれ示す。
【図7】ミスレガート処理を説明するためのグラフであり、(a)は押鍵状態を、(b)はミスレガート処理を行わない場合の楽音の状態を、(c)はミスレガート処理を行った場合の楽音の状態をそれぞれ示す。
【図8】ユニゾン処理を示すフローチャートである。
【図9】割り当て処理を示すフローチャートである。
【図10】補正処理を示すフローチャートである。
【図11】第2実施形態における割り当て方を示すグラフであり、(a)は押鍵状態を示し、(b)は(a)の押鍵に応じて発音される楽音の状態を示すものである。
【図12】第2実施形態におけるユニゾン2において、新たな押鍵がなされた場合のノートに対するパートの割り当て方を示す模式図である。
【図13】第2実施形態における割り当て処理を示すフローチャートである。
【図14】楽音の濁りを防止するための処理を説明するためのグラフであって、(a)は押鍵状態を、(b)は遅延時間を設けない場合の楽音の状態を、(c)は遅延時間を設けた場合の楽音の状態をそれぞれ示す。
【符号の説明】
【0152】
1 電子楽器
2 CPU(発音制御手段の一部)
2a タイマ(レガート時間計時手段、発音継続時間計時手段、経過時間計時手段 の一部)
6 MIDIインターフェース(入力手段の一例)
7 音源(パート)
S24 ミスレガート補正手段の一例
【特許請求の範囲】
【請求項1】
所定音高の楽音の発生開始を指示する発音指示と、その発音指示により発生した楽音の停止を指示する停止指示とを入力する入力手段と、
前記入力手段により入力された発音指示により発生開始を指示された所定音高の楽音に割り当てられ、前記楽音を設定された音色で発生する複数のパートと、
前記入力手段により入力された発音指示により所定音高の楽音の発生開始が指示されると、前記複数のパートのうちの予め定められた数のパートが、発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てられ、発生中の楽音と前記発生開始が指示された楽音とを、それぞれ割り当てられたパートで発生もしくは発生を継続するように制御する発音制御手段とを備えていることを特徴とする電子楽器。
【請求項2】
前記発音制御手段は、前記発生中の楽音と前記発生開始が指示された楽音との総数Nと、前記複数のパートのうちの予め定められたパート数PとがN≦Pの場合には、P/Nの整数商a、余りbに対して、b個の楽音にそれぞれ(a+1)個の異なるパートを割り当て、(N−b)個の楽音にそれぞれa個の異なるパートを割り当て、P個のパートがそれぞれ1回ずつ楽音に割り当てられるようにすることで、前記複数のパートのうちの予め定められた数のパートを、前記発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てることを特徴とする請求項1記載の電子楽器。
【請求項3】
前記複数のパートのうちの予め定められた数のパートは音高順位を有し、
前記発音制御手段は、音高の高い楽音から、割り当てられるべき数のパートを音高順位の高いパートから順に割り当てることを特徴とする請求項2記載の電子楽器。
【請求項4】
前記発音制御手段は、前記発生中の楽音と前記発生開始が指示された楽音との総数Nと、前記複数のパートのうちの予め定められたパート数PとがN>Pの場合には、N/Pの整数商a、余りbに対して、b個のパートをそれぞれ(a+1)個の異なる楽音へ割り当て、(P−b)個のパートをそれぞれa個の異なる楽音へ割り当て、N個の楽音にそれぞれ1個のパートが割り当てられるようにすることで、前記複数のパートのうちの予め定められた数のパートを、前記発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てることを特徴とする請求項1記載の電子楽器。
【請求項5】
前記複数のパートのうちの予め定められた数のパートは音高順位を有し、
前記発音制御手段は、音高順位の高いパートから、音高の高い楽音へ順に割り当てることを特徴とする請求項4記載の電子楽器。
【請求項6】
前記入力手段により発音指示が入力された第1楽音と、前記第1楽音の発音指示より後に発音指示が入力され、且つ前記第1楽音の停止指示時に発生中の最も新しい楽音である第2楽音とに対して、前記第1楽音の停止指示と前記第2楽音の発音指示との時間差を計時するレガート時間計時手段と、
前記第1楽音の停止指示が入力され、且つ前記レガート時間計時手段により計時された前記第1楽音の停止指示と前記第2楽音の発音指示との時間差が所定時間であるミスレガート判定時間以内であるときは、前記第1楽音を停止するとともに、前記複数のパートのうちの予め定められた数のパートを、前記第2楽音を含む発生中の楽音に略均一に割り当てて、前記第2楽音を含む発生中の楽音をそれぞれ割り当てられたパートで発生もしくは発生を継続するように補正するミスレガート補正手段とを備えていることを特徴とする請求項1から5のいずれかに記載の電子楽器。
【請求項7】
発生中の楽音の発音継続時間を計時する発音継続時間計時手段を備え、
前記発音制御手段は、前記入力手段により発音指示が入力されたとき、前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間より長い楽音に対しては、パートの割り当てを変更しないことを特徴とする請求項1から5のいずれかに記載の電子楽器。
【請求項8】
前記複数のパートのうちの予め定められた数のパートは音高順位を有し、
前記発音制御手段は、前記複数のパートのうちの予め定められた数のパートのうち、前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間より長い楽音に割り当てられているパートを除いた割当可能パートがある場合には、発生中の楽音のうち前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間以内の楽音と、前記発生開始が指示された楽音とに、前記割り当て可能パートを、楽音の音高およびパートの音高順位に従って略均一に割り当て、前記割当可能パートがない場合には、発生中の楽音のうち前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間以内の楽音と、前記発生開始が指示された楽音とに、それぞれの楽音の音高に最も近い音高で発生中の楽音に割り当てられているパートのうち、割当対象の楽音の音高に音高順位が近いパートを割り当てることを特徴とする請求項7記載の電子楽器。
【請求項9】
前記入力手段により入力された発音指示により楽音の発生開始が指示されてからの経過時間を計時する経過時間計時手段を備え、
前記発音制御手段は、前記入力手段により入力された発音指示により楽音の発生開始が指示されると、前記経過時間計時手段により計時された経過時間が所定時間である遅延時間となったら、前記発生開始が指示された楽音の発生を開始することを特徴とする請求項1から5のいずれかに記載の電子楽器。
【請求項1】
所定音高の楽音の発生開始を指示する発音指示と、その発音指示により発生した楽音の停止を指示する停止指示とを入力する入力手段と、
前記入力手段により入力された発音指示により発生開始を指示された所定音高の楽音に割り当てられ、前記楽音を設定された音色で発生する複数のパートと、
前記入力手段により入力された発音指示により所定音高の楽音の発生開始が指示されると、前記複数のパートのうちの予め定められた数のパートが、発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てられ、発生中の楽音と前記発生開始が指示された楽音とを、それぞれ割り当てられたパートで発生もしくは発生を継続するように制御する発音制御手段とを備えていることを特徴とする電子楽器。
【請求項2】
前記発音制御手段は、前記発生中の楽音と前記発生開始が指示された楽音との総数Nと、前記複数のパートのうちの予め定められたパート数PとがN≦Pの場合には、P/Nの整数商a、余りbに対して、b個の楽音にそれぞれ(a+1)個の異なるパートを割り当て、(N−b)個の楽音にそれぞれa個の異なるパートを割り当て、P個のパートがそれぞれ1回ずつ楽音に割り当てられるようにすることで、前記複数のパートのうちの予め定められた数のパートを、前記発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てることを特徴とする請求項1記載の電子楽器。
【請求項3】
前記複数のパートのうちの予め定められた数のパートは音高順位を有し、
前記発音制御手段は、音高の高い楽音から、割り当てられるべき数のパートを音高順位の高いパートから順に割り当てることを特徴とする請求項2記載の電子楽器。
【請求項4】
前記発音制御手段は、前記発生中の楽音と前記発生開始が指示された楽音との総数Nと、前記複数のパートのうちの予め定められたパート数PとがN>Pの場合には、N/Pの整数商a、余りbに対して、b個のパートをそれぞれ(a+1)個の異なる楽音へ割り当て、(P−b)個のパートをそれぞれa個の異なる楽音へ割り当て、N個の楽音にそれぞれ1個のパートが割り当てられるようにすることで、前記複数のパートのうちの予め定められた数のパートを、前記発生中の楽音と前記発生開始が指示された楽音とに略均一に割り当てることを特徴とする請求項1記載の電子楽器。
【請求項5】
前記複数のパートのうちの予め定められた数のパートは音高順位を有し、
前記発音制御手段は、音高順位の高いパートから、音高の高い楽音へ順に割り当てることを特徴とする請求項4記載の電子楽器。
【請求項6】
前記入力手段により発音指示が入力された第1楽音と、前記第1楽音の発音指示より後に発音指示が入力され、且つ前記第1楽音の停止指示時に発生中の最も新しい楽音である第2楽音とに対して、前記第1楽音の停止指示と前記第2楽音の発音指示との時間差を計時するレガート時間計時手段と、
前記第1楽音の停止指示が入力され、且つ前記レガート時間計時手段により計時された前記第1楽音の停止指示と前記第2楽音の発音指示との時間差が所定時間であるミスレガート判定時間以内であるときは、前記第1楽音を停止するとともに、前記複数のパートのうちの予め定められた数のパートを、前記第2楽音を含む発生中の楽音に略均一に割り当てて、前記第2楽音を含む発生中の楽音をそれぞれ割り当てられたパートで発生もしくは発生を継続するように補正するミスレガート補正手段とを備えていることを特徴とする請求項1から5のいずれかに記載の電子楽器。
【請求項7】
発生中の楽音の発音継続時間を計時する発音継続時間計時手段を備え、
前記発音制御手段は、前記入力手段により発音指示が入力されたとき、前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間より長い楽音に対しては、パートの割り当てを変更しないことを特徴とする請求項1から5のいずれかに記載の電子楽器。
【請求項8】
前記複数のパートのうちの予め定められた数のパートは音高順位を有し、
前記発音制御手段は、前記複数のパートのうちの予め定められた数のパートのうち、前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間より長い楽音に割り当てられているパートを除いた割当可能パートがある場合には、発生中の楽音のうち前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間以内の楽音と、前記発生開始が指示された楽音とに、前記割り当て可能パートを、楽音の音高およびパートの音高順位に従って略均一に割り当て、前記割当可能パートがない場合には、発生中の楽音のうち前記発音継続時間計時手段により計時された発音継続時間が所定時間である再割当判定時間以内の楽音と、前記発生開始が指示された楽音とに、それぞれの楽音の音高に最も近い音高で発生中の楽音に割り当てられているパートのうち、割当対象の楽音の音高に音高順位が近いパートを割り当てることを特徴とする請求項7記載の電子楽器。
【請求項9】
前記入力手段により入力された発音指示により楽音の発生開始が指示されてからの経過時間を計時する経過時間計時手段を備え、
前記発音制御手段は、前記入力手段により入力された発音指示により楽音の発生開始が指示されると、前記経過時間計時手段により計時された経過時間が所定時間である遅延時間となったら、前記発生開始が指示された楽音の発生を開始することを特徴とする請求項1から5のいずれかに記載の電子楽器。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−79179(P2010−79179A)
【公開日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願番号】特願2008−250239(P2008−250239)
【出願日】平成20年9月29日(2008.9.29)
【出願人】(000116068)ローランド株式会社 (175)
【Fターム(参考)】
【公開日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願日】平成20年9月29日(2008.9.29)
【出願人】(000116068)ローランド株式会社 (175)
【Fターム(参考)】
[ Back to top ]