(57)【要約】【課題】  自然楽器から発生される微妙で複雑な楽音を電子的に発生する。【解決手段】  ＣＰＵ１は、鍵盤６の押鍵によって発生される音高やベロシティを含む楽音情報を入力したときは、プログラムメモリ３から読み出したその楽音情報の音高の倍音成分に対するエンベロープデータおよびレベル値に基づいて、押鍵されていない倍音成分の音高の楽音情報を生成し、押鍵によって入力された楽音情報および生成した倍音成分の楽音情報を音源８に出力して発音させる。  具体的には、ＣＰＵ１は、過去の押鍵によって入力された楽音情報の音高の倍音成分が既に発音中である場合には、その発音中の倍音成分のエンベロープデータにプログラムメモリ３から読み出したその倍音成分のレベル値を加算して楽音情報を生成する。【選択図】      図１
2007187949.tif 000002
【特許請求の範囲】
【請求項１】
夫々異なる音高に対応する複数の操作子を有する演奏手段のいずれかの操作子の演奏によって発生される第１の楽音情報を入力する情報入力手段と、
前記各音高に対応するエンベロープデータおよび発生すべき楽音の振幅を表すレベル値を予め記憶している記憶手段と、
前記情報入力手段によって第１の楽音情報が入力されたときは、当該入力された第１の楽音情報の音高を基音とした場合の各倍音に一致する音高に対応するエンベロープデータおよびレベル値を前記記憶手段から読み出し、当該各倍音を音高とするとともに読み出されたエンベロープデータおよびレベル値に基づいて第２の楽音情報を生成する情報生成手段と、
前記情報入力手段によって入力された第１の楽音情報および前記情報生成手段によって生成された第２の楽音情報を音源手段に出力して発音させる情報出力手段と、
を備えた楽音発生装置。
【請求項２】
前記情報生成手段は、第１の楽音情報の音高の倍音成分が既に発音中である場合には、当該発音中の倍音成分のエンベロープデータに前記記憶手段から読み出した当該倍音成分のレベル値を加算して第２の楽音情報を生成することを特徴とする請求項１に記載の楽音発生装置。
【請求項３】
前記情報生成手段は、第１の楽音情報の倍音成分が所定の音域以上である場合には、前記記憶手段から読み出した当該倍音成分のエンベロープデータに第１の楽音情報のベロシティを乗算して第２の楽音情報を生成することを特徴とする請求項１に記載の楽音発生装置。
【請求項４】
前記情報生成手段は、発音中の音高に対して効果音を付加する特定の操作子の演奏によって発生された第１の楽音情報が前記情報入力手段から入力されたときに、当該入力された第１の楽音情報の音高を基音とした場合の各倍音に一致する音高に対応するエンベロープデータおよびレベル値を前記記憶手段から読み出し、当該各倍音を音高とするとともに読み出されたエンベロープデータおよびレベル値に基づいて第２の楽音情報を生成することを特徴とする請求項１に記載の楽音発生装置。
【請求項５】
前記情報生成手段は、第１の楽音情報の音高を基音とした場合の各倍音が既に発音中である場合には、当該発音中の各倍音に一致する音高に対応するレベル値を前記記憶手段から読み出し、当該読み出された各倍音のレベル値を発音中の一致する倍音のレベル値に加算することを特徴とする請求項４に記載の楽音発生装置。
【請求項６】
夫々異なる音高に対応する複数の操作子を有する演奏手段のいずれかの操作子の演奏によって発生される第１の楽音情報を入力する情報入力手段と、
任意の２つの操作子に対応する２つの音高の和成分および差成分に対するレベル値を予め記憶している記憶手段と、
２つ以上の操作子の操作によって前記情報入力手段から２つ以上の音高の第１の楽音情報が入力されたときは、当該入力された音高における任意の２つの音高の和成分および差成分を算出し、当該算出した和成分および差成分のエンベロープデータに対して前記記憶手段から読み出したレベル値をそれぞれ乗算して第２の楽音情報を生成する情報生成手段と、
前記情報入力手段によって入力された第１の楽音情報および前記情報生成手段によって生成された第２の楽音情報を音源手段に出力して発音させる情報出力手段と、
を備えた楽音発生装置。
【請求項７】
前記情報生成手段は、算出した和成分および差成分の中に同一の音高を有する２つ以上の成分がある場合には、当該同一の音高に対する各レベル値を加算して１つの成分にすることを特徴とする請求項６に記載の楽音発生装置。
【請求項８】
前記情報生成手段は、算出した和成分および差成分の音高が既に発音中である場合には、当該発音中の音高のエンベロープデータに前記記憶手段から読み出した各成分に対するレベル値を加算して第２の楽音情報を生成することを特徴とする請求項６に記載の楽音発生装置。
【請求項９】
夫々異なる音高に対応する複数の操作子を有する演奏手段のいずれかの操作子の演奏によって発生される第１の楽音情報を入力するステップＡと、
前記ステップＡによって第１の楽音情報が入力されたときは、当該入力された第１の楽音情報の音高を基音とした場合の各倍音に一致する音高に対応するエンベロープデータおよびレベル値を予め記憶している記憶手段から当該一致する音高に対応するエンベロープデータおよびレベル値を読み出し、当該各倍音を音高とするとともに読み出されたエンベロープデータおよびレベル値に基づいて第２の楽音情報を生成するステップＢと、
前記ステップＡによって入力された第１の楽音情報および前記ステップＢによって生成された第２の楽音情報を合成して音源手段に出力して発音させるステップＣと、
をコンピュータに実行させる楽音発生処理のプログラム。
【請求項１０】
前記ステップＢは、第１の楽音情報の音高の倍音成分が既に発音中である場合には、当該発音中の倍音成分のエンベロープデータに前記記憶手段から読み出した当該倍音成分のレベル値を加算して第２の楽音情報を生成することを特徴とする請求項９に記載の楽音発生処理のプログラム。
【請求項１１】
前記ステップＢは、第１の楽音情報の倍音成分が所定の音域以上である場合には、前記記憶手段から読み出した当該倍音成分のエンベロープデータに第１の楽音情報のベロシティを乗算して第２の楽音情報を生成することを特徴とする請求項９に記載の楽音発生処理のプログラム。
【請求項１２】
前記ステップＢは、発音中の音高に対して効果音を付加する特定の操作子の演奏によって発生された第１の楽音情報が前記情報入力手段から入力されたときに、当該入力された第１の楽音情報の音高を基音とした場合の各倍音に一致する音高に対応するエンベロープデータおよびレベル値を前記記憶手段から読み出し、当該各倍音を音高とするとともに読み出されたエンベロープデータおよびレベル値に基づいて第２の楽音情報を生成することを特徴とする請求項９に記載の楽音発生処理のプログラム。
【請求項１３】
前記ステップＢは、第１の楽音情報の音高を基音とした場合の各倍音が既に発音中である場合には、当該発音中の各倍音に一致する音高に対応するレベル値を前記記憶手段から読み出し、当該読み出された各倍音のレベル値を発音中の一致する倍音のレベル値に加算することを特徴とする請求項１２に記載の楽音発生処理のプログラム。
【請求項１４】
夫々異なる音高に対応する複数の操作子を有する演奏手段のいずれかの操作子の演奏によって発生される第１の楽音情報を入力するステップＡと、
２つ以上の操作子の操作によって前記情報入力手段から２つ以上の音高の第１の楽音情報が入力されたときは、当該入力された音高における任意の２つの音高の和成分および差成分を算出し、任意の２つの操作子に対応する２つの音高の和成分および差成分に対するレベル値を予め記憶している記憶手段から読み出したレベル値を、当該算出した和成分および差成分のエンベロープデータに対してそれぞれ乗算して第２の楽音情報を生成するステップＢと、
前記ステップＡによって入力された第１の楽音情報および前記ステップＢによって生成された第２の楽音情報を音源手段に出力して発音させるステップＣと、
をコンピュータに実行させる楽音発生処理のプログラム。
【請求項１５】
前記ステップＢは、算出した和成分および差成分の中に同一の音高を有する２つ以上の成分がある場合には、当該同一の音高に対する各レベル値を加算して１つの成分にすることを特徴とする請求項１４に記載の楽音発生処理のプログラム。
【請求項１６】
前記ステップＢは、算出した和成分および差成分の音高が既に発音中である場合には、当該発音中の音高のエンベロープデータに前記記憶手段から読み出した各成分に対するレベル値を加算して第２の楽音情報を生成することを特徴とする請求項１４に記載の楽音発生処理のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音発生装置および楽音発生処理のプログラムに関し、特に、アコーステック楽器から発生されるような楽音を電子的に発生する楽音発生装置および楽音発生処理のプログラムに関するものである。
【背景技術】
【０００２】
電子的に楽音を発生する従来の電子鍵盤楽器においては、予め演奏された楽音の音高に対応した波形を記憶し、その記憶した波形を演奏に応じて順次読み出して楽音を発生している。複数の音高が演奏された場合には、対応する複数の波形を読み出して合成し、合成した波形に基づいて楽音を発生している。波形の合成方法についてはいくつか提案がなされている。
【０００３】
ある提案の電子楽器においては、押鍵された鍵が一旦離鍵された後に、再度同一鍵が押鍵される連打の処理を行うようになっている。（特許文献１参照）
そのために、（ａ）新たに押鍵された鍵と同一鍵の楽音が先の押鍵により既に楽音発生チャネルに割り当てられているか否かを検出する連打検出手段、（ｂ）新たな押鍵によって発音されるべき楽音の第１の発音量又はその発音量に相当する値と、先の押鍵により既に発音発生チャネルに割り当てられた同一鍵による新たな押鍵により発音されるべき時点に対応する楽音の第２の発音量又はその発音量に相当する値とを検知する検知手段、および（ｃ）この検知手段により検知された第１および第２の発音量又はそれらの発音量に相当する値に基づき合成発音量又は合成発音量に相当する値を演算して、連打検出手段により連打が検出される場合に、先の押鍵又は新たな押鍵のいずれか優先して発音させる側の発音発生チャネルの発音量又はその発音量に相当する値に変更する手段を備えた構成になっている。
あるいは、（ａ）新たに押鍵された鍵と同一鍵の楽音が先の押鍵により既に楽音発生チャネルに割り当てられているか否かを検出する連打検出手段、（ｂ）新たな押鍵によって発音されるべき楽音の第１の発音量又はその発音量に相当する値と、先の押鍵により既に発音発生チャネルに割り当てられた同一鍵による新たな押鍵により発音されるべき時点に対応する楽音の第２の発音量又はその発音量に相当する値とを検知する検知手段、および（ｃ）この検知手段により検知された第１および第２の発音量又はそれらの発音量に相当する値に基づき残存発音量又は残存発音量に相当する値を演算して、連打検出手段により連打が検出される場合に、先の押鍵による楽音発生チャネルの発音量又は発音量に相当する値に変更する変更手段を備えた構成になっている。
【０００４】
また、他の提案の電子楽器においては、非常にゆっくり鍵が押鍵された場合に、その鍵に対する発音を行わずに、ダンパだけを外すことにより実現可能な特殊演奏を自然楽器と同じように行うことができるようになっている。（特許文献２参照）
そのために、楽音の発生を指示するために操作される演奏操作手段と、この演奏操作手段の操作時に加えられる操作タッチを検出し、各操作毎に操作タッチに対応したタッチデータを出力するタッチデータ発生手段と、タッチデータの大きさが所定値以下である第１の楽音に関しては、通常の発音処理を行わずに、他の第２の楽音が発生されていることを条件に、その第２の楽音の共鳴音として第１の楽音を発生させる楽音制御手段を備えた構成になっている。
あるいは、楽音の発生を指示するために操作される演奏操作手段と、この演奏操作手段の操作時に加えられる操作タッチを検出し、各操作毎に操作タッチに対応したタッチデータを出力するタッチデータ発生手段と、タッチデータの大きさが所定値以下である第１の楽音に関しては、通常の発音処理を行わずに、第１の楽音と同じ音が減衰発音中であることを条件に、その減衰発音を持続させる楽音制御手段を備えた構成になっている。
【０００５】
また、他の提案の発音指示装置においては、ピアノ等のアコースティク楽器にみられる共鳴音の発生現象を再現するようになっている。（特許文献３参照）
そのために、入力された発音指示情報により楽音の発音開始を検知するとともに、入力された消音指示情報によりその楽音の発音終了を検知して、その楽音が発音中であることを認識する発音認識手段と、発音認識手段が発音中であることを認識している場合に、発音指示情報が新たに入力された時、発音中であることを認識しているその楽音に対応する発音指示情報と、新たに入力された発音指示情報との双方に基づく共鳴音の発生を指示する共鳴音発音指示手段と、共鳴音発音指示手段により発音が指示された共鳴音の発音中に、共鳴音に係わる２つの発音指示情報のうち、先に入力された発音指示情報に係る楽音の発音が認識されかつ後に入力された発音指示情報に対応する消音指示が入力された場合には共鳴音の発音を継続し、後に入力された発音指示情報に係る楽音の発音が認識されかつ先に入力された発音指示情報に対応する消音指示が入力された場合には共鳴音の消音を指示する共鳴音消音指示手段と、を有する構成になっている。
この場合において、共鳴音発音指示手段は、２つの音高の双方に基づく共鳴音、又は、２つの音高の共通倍音に対応する音高の共鳴音の発生を指示する。
【０００６】
【特許文献１】特開平１−２３５９９８号公報
【特許文献２】特開平６−１１８９５６号公報
【特許文献３】特開平９−１３４１７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記特許文献１ないし特許文献３に記載された技術は、押鍵された鍵が１つであるか若しくは２つであるかの違い、又は、２つの鍵が押鍵された場合に、その２つの鍵が同一の鍵であるか若しくは異なる鍵であるかの違いはあるが、押鍵された鍵に対する処理という点では共通している。上記特許文献１ないし特許文献３以外の従来技術においても、電子鍵盤楽器あるいは電子管楽器や電子弦楽器などのように、複数の操作子である鍵盤、鍵、弦の操作に応じて電子的に楽音を発生する楽音発生装置においては、実際に操作された操作子に対する処理を様々な態様で行う構成になっている。
【０００８】
一方、実際のアコーステックピアノなどの鍵盤楽器においては、実際に押鍵された鍵による楽音の発生のほかに、下記のような楽音が発生する。
（１）発音中の音の振動によって響板が共振することで発生する楽音
（２）押鍵された鍵に対応する弦振動の倍音、発音中の音の和および差関係によって、押鍵されていない弦が共振することで発生する楽音
（３）ピアノ構造内での音の反射や残響によって発生する楽音
（４）ペダルが踏まれた場合に、ダンパが開放されて、現在発音中の音の倍音成分などが共振することで発生する楽音
アコーステックピアノだけでなく他のアコーステック管楽器やアコーステック弦楽器などの自然楽器においても同様に、実際に操作された操作子による楽音の発生のほかに、上記のような楽音が発生する。すなわち、管楽器やパイプオルガンの場合には、管の共振によって微妙で複雑な楽音を発生する。一方、弦楽器の場合には、鍵盤楽器と同様に、演奏された弦以外の他の弦の共振によって微妙で複雑な楽音を発生する。
しかしながら、従来の電子楽器などの楽音発生装置では、このような自然楽器から発生される微妙で複雑な楽音を実現するような構成にはなっていない。
本発明は、このような従来の課題を解決するためのものであり、自然楽器から発生される微妙で複雑な楽音を電子的に発生する楽音発生装置および楽音発生処理のプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に記載の楽音発生装置は、夫々異なる音高に対応する複数の操作子を有する演奏手段（実施形態においては、図１の鍵盤６に相当する）のいずれかの操作子の演奏によって発生される第１の楽音情報を入力する情報入力手段（実施形態においては、図１のＣＰＵ１に相当する）と、各音高に対応するエンベロープデータおよび発生すべき楽音の振幅を表すレベル値を予め記憶している記憶手段（実施形態においては、図１のプログラムメモリ３に相当する）と、情報入力手段によって第１の楽音情報が入力されたときは、当該入力された第１の楽音情報の音高を基音とした場合の各倍音に一致する音高に対応するエンベロープデータおよびレベル値を記憶手段から読み出し、当該各倍音を音高とするとともに読み出されたエンベロープデータおよびレベル値に基づいて第２の楽音情報を生成する情報生成手段（実施形態においては、図１のＣＰＵ１に相当する）と、情報入力手段によって入力された第１の楽音情報および情報生成手段によって生成された第２の楽音情報を音源手段（実施形態においては、図１の音源８に相当する）に出力して発音させる情報出力手段と、を備えた構成になっている。
【００１０】
請求項１の楽音発生装置において、請求項２に記載したように、情報生成手段は、第１の楽音情報の音高の倍音成分が既に発音中である場合には、当該発音中の倍音成分のエンベロープデータに記憶手段から読み出した当該倍音成分のレベル値を加算して第２の楽音情報を生成するような構成にしてもよい。
【００１１】
請求項１の楽音発生装置において、請求項３に記載したように、情報生成手段は、第１の楽音情報の倍音成分が所定の音域（実施形態においては、図１の鍵盤６のＡ６の音高に相当する）以上である場合には、記憶手段から読み出した当該倍音成分のエンベロープデータに第１の楽音情報のベロシティを乗算して第２の楽音情報を生成するような構成にしてもよい。
【００１２】
請求項１の楽音発生装置において、請求項４に記載したように、情報生成手段は、発音中の音高に対して効果音を付加する特定の操作子（実施形態においては、図１のペダル７に相当する）の演奏によって発生された第１の楽音情報が情報入力手段から入力されたときに、当該入力された第１の楽音情報の音高を基音とした場合の各倍音に一致する音高に対応するエンベロープデータおよびレベル値を記憶手段から読み出し、当該各倍音を音高とするとともに読み出されたエンベロープデータおよびレベル値に基づいて第２の楽音情報を生成するような構成にしてもよい。
【００１３】
請求項４の楽音発生装置において、請求項５に記載したように、情報生成手段は、第１の楽音情報の音高を基音とした場合の各倍音が既に発音中である場合には、当該発音中の各倍音に一致する音高に対応するレベル値を記憶手段から読み出し、当該読み出された各倍音のレベル値を発音中の一致する倍音のレベル値に加算するような構成にしてもよい。
【００１４】
請求項６に記載の楽音発生装置は、夫々異なる音高に対応する複数の操作子を有する演奏手段（実施形態においては、図１の鍵盤６に相当する）のいずれかの操作子の演奏によって発生される第１の楽音情報を入力する情報入力手段（実施形態においては、図１のＣＰＵ１に相当する）と、任意の２つの操作子に対応する２つの音高の和成分および差成分に対するレベル値を予め記憶している記憶手段（実施形態においては、図１のプログラムメモリ３に相当する）と、２つ以上の操作子の操作によって情報入力手段から２つ以上の音高の第１の楽音情報が入力されたときは、当該入力された音高における任意の２つの音高の和成分および差成分を算出し、当該算出した和成分および差成分のエンベロープデータに対して記憶手段から読み出したレベル値をそれぞれ乗算して第２の楽音情報を生成する情報生成手段（実施形態においては、図１のＣＰＵ１に相当する）と、情報入力手段によって入力された第１の楽音情報および情報生成手段によって生成された第２の楽音情報を音源手段（実施形態においては、図１の音源８に相当する）に出力して発音させる情報出力手段と、を備えた構成になっている。
【００１５】
請求項６の楽音発生装置において、請求項７に記載したように、情報生成手段は、算出した和成分および差成分の中に同一の音高を有する２つ以上の成分がある場合には、当該同一の音高に対する各レベル値を加算して１つの成分にするような構成にしてもよい。
【００１６】
請求項６の楽音発生装置において、請求項８に記載したように、情報生成手段は、算出した和成分および差成分の音高が既に発音中である場合には、当該発音中の音高のエンベロープデータに記憶手段から読み出した各成分に対するレベル値を加算して第２の楽音情報を生成するような構成にしてもよい。
【００１７】
請求項９に記載の楽音発生処理のプログラムは、夫々異なる音高に対応する複数の操作子を有する演奏手段（実施形態においては、図１の鍵盤６に相当する）のいずれかの操作子の演奏によって発生される第１の楽音情報を入力するステップＡと、ステップＡによって第１の楽音情報が入力されたときは、当該入力された第１の楽音情報の音高を基音とした場合の各倍音に一致する音高に対応するエンベロープデータおよびレベル値を予め記憶している記憶手段（実施形態においては、図１のプログラムメモリ３に相当する）から当該一致する音高に対応するエンベロープデータおよびレベル値を読み出し、当該各倍音を音高とするとともに読み出されたエンベロープデータおよびレベル値に基づいて第２の楽音情報を生成するステップＢと、ステップＡによって入力された第１の楽音情報およびステップＢによって生成された第２の楽音情報を合成して音源手段（実施形態においては、図１の音源８に相当する）に出力して発音させるステップＣと、をコンピュータ（実施形態においては、図１のＣＰＵ１に相当する）に実行させる構成になっている。
【００１８】
請求項９の楽音発生処理のプログラムにおいて、請求項１０に記載したように、ステップＢは、第１の楽音情報の音高の倍音成分が既に発音中である場合には、当該発音中の倍音成分のエンベロープデータに記憶手段から読み出した当該倍音成分のレベル値を加算して第２の楽音情報を生成するような構成にしてもよい。
【００１９】
請求項９の楽音発生処理のプログラムにおいて、請求項１１に記載したように、ステップＢは、第１の楽音情報の倍音成分が所定の音域（実施形態においては、図１の鍵盤６のＡ６の音高に相当する）以上である場合には、前記記憶手段から読み出した当該倍音成分のエンベロープデータに第１の楽音情報のベロシティを乗算して第２の楽音情報を生成するような構成にしてもよい。
【００２０】
請求項９の楽音発生処理のプログラムにおいて、請求項１２に記載したように、ステップＢは、発音中の音高に対して効果音を付加する特定の操作子（実施形態においては、図１のペダル７に相当する）の演奏によって発生された第１の楽音情報が情報入力手段から入力されたときに、当該入力された第１の楽音情報の音高を基音とした場合の各倍音に一致する音高に対応するエンベロープデータおよびレベル値を記憶手段から読み出し、当該各倍音を音高とするとともに読み出されたエンベロープデータおよびレベル値に基づいて第２の楽音情報を生成するような構成にしてもよい。
【００２１】
請求項１２の楽音発生処理のプログラムにおいて、請求項１３に記載したように、ステップＢは、第１の楽音情報の音高を基音とした場合の各倍音が既に発音中である場合には、当該発音中の各倍音に一致する音高に対応するレベル値を記憶手段から読み出し、当該読み出された各倍音のレベル値を発音中の一致する倍音のレベル値に加算するような構成にしてもよい。
【００２２】
請求項１４に記載の楽音発生処理のプログラムは、夫々異なる音高に対応する複数の操作子を有する演奏手段（実施形態においては、図１の鍵盤６に相当する）のいずれかの操作子の演奏によって発生される第１の楽音情報を入力するステップＡと、２つ以上の操作子の操作によって情報入力手段から２つ以上の音高の第１の楽音情報が入力されたときは、当該入力された音高における任意の２つの音高の和成分および差成分を算出し、任意の２つの操作子に対応する２つの音高の和成分および差成分に対するレベル値を予め記憶している記憶手段（実施形態においては、図１のプログラムメモリ３に相当する）から読み出したレベル値を、当該算出した和成分および差成分のエンベロープデータに対してそれぞれ乗算して第２の楽音情報を生成するステップＢと、ステップＡによって入力された第１の楽音情報および前記ステップＢによって生成された第２の楽音情報を音源手段（実施形態においては、図１の音源８に相当する）に出力して発音させるステップＣと、をコンピュータ（実施形態においては、図１のＣＰＵ１に相当する）に実行させる。
【００２３】
請求項１４の楽音発生処理のプログラムにおいて、請求項１５に記載したように、ステップＢは、算出した和成分および差成分の中に同一の音高を有する２つ以上の成分がある場合には、当該同一の音高に対する各レベル値を加算して１つの成分にするような構成にしてもよい。
【００２４】
請求項１４の楽音発生処理のプログラムにおいて、請求項１６に記載したように、ステップＢは、算出した和成分および差成分の音高が既に発音中である場合には、当該発音中の音高のエンベロープデータに記憶手段から読み出した各成分に対するレベル値を加算して第２の楽音情報を生成するような構成にしてもよい。
【発明の効果】
【００２５】
本発明の楽音発生装置および楽音発生処理のプログラムによれば、自然楽器から発生される微妙で複雑な楽音を電子的に発生できるという効果が得られる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の楽音発生装置の実施形態について電子鍵盤楽器を例に採って、図面を参照しながら詳細に説明する。
図１は、実施形態における電子鍵盤楽器のシステム構成を示すブロック図である。図１において、ＣＰＵ１は、システムバス２を介して、プログラムメモリ３、ワークメモリ４、ＭＩＤＩインタフェース（Ｉ／Ｆ）５、鍵盤６、ペダル７、スイッチ部８、音源９に接続され、これら各部との間でコマンドおよびデータの授受を行って全体を制御する。プログラムメモリ３は、ＣＰＵ１によって実行される楽音発生処理のプログラム、各楽器の音色に対応する波形データ、および、詳細については後述するが、複数の音高に対するエンベロープデータのパラメータおよびレベル値などを予め記憶している。ワークメモリ４は、ＣＰＵ１によって処理されるデータを一時的に記憶するメモリであり、各種のレジスタ、フラグ、ポインタのエリアが設けられている。ＭＩＤＩインタフェース５は、外部のＭＩＤＩ機器との間でＭＩＤＩデータを送受信する。鍵盤６は、複数の操作子である８８鍵を備えており、各鍵の演奏に応じて音高、音長、ベロシティを含む楽音情報をＣＰＵ１に入力する。ペダル７は、操作に応じて発音中の楽音に対して効果音を付加する操作子である。スイッチ部８は、電源スイッチ、スタート／ストップスイッチ、音色設定スイッチなど種々のスイッチで構成されている。音源９は、ＣＰＵ１からの発音指令（ノートオン）、音高、音長、ベロシティ、波形データに応じて、楽音信号を生成して発音回路１０に出力し、ＣＰＵ１の消音指令（ノートオフ）および音高に応じて、発音中の発音回路１０の出力を停止する。発音回路１０は、Ｄ／Ａ変換回路、フィルタ回路、増幅回路など（図示せず）を備え、音源９から入力される楽音信号に対して、デジタルからアナログに変換する信号変換処理、不要な高域成分を除去するフィルタ処理、増幅処理などを施してスピーカ（図示せず）から発音させる。
【００２７】
次に、プログラムメモリ３に記憶されている図２ないし図８のマップ（又は、テーブル）形式のデータ、および、ワークメモリ４に一時的に記憶される図９のデータについて説明する。
図２は、鍵盤６の各鍵の押鍵に応じて発生される音高Ｎ（Ａ０、Ａ＃０、Ｂ０、Ｃ１…Ｃ８）に対するエンベロープデータのパラメータ（ｎｏｔｅ＿ｏｎ＿ｅｎｖ＿Ｎ）である。具体的には、図２（１）は各鍵の音量のエンベロープデータのパラメータであり、図２（２）は各鍵の音色のエンベロープデータのパラメータである。各音高のエンベロープデータのパラメータは、発音開始時のレベルＬ１および立ち上がりの傾斜Ｒ１、および、消音開始時のレベルＬ２および立ち下がりの傾斜Ｒ２で構成されている。すなわち、任意の音高Ｎのエンベロープデータのパラメータは、音量パラメータの項および音色パラメータの項からなる下記の式で表される。
ｎｏｔｅ＿ｏｎ＿ｅｎｖ＿Ｎ＝
ｎｏｔｅ＿ｅｎｖ＿ＤＣＡ＿ＬＮ，ｎｏｔｅ＿ｅｎｖ＿ＤＣＦ＿ＲＮ
【００２８】
図３は、各鍵の音高の波形データを記憶しているプログラムメモリ３のアドレスを示す図である。図４は、押鍵により発生される音高のレベル（振幅）に対する２倍音、３倍音、４倍音、５倍音などの倍音成分Ｎのレベル値（ｎｏｔｅ＿ｒａｔｉｏ＿Ｎ）を示す図である。押鍵された鍵の基音の周波数をｆとすると、２倍音、３倍音、４倍音、５倍音…ｍ倍音の周波数は、２ｆ、３ｆ、４ｆ、５ｆ…ｍｆである。例えば、基音Ｃ１の鍵が押鍵された場合には、Ｃ１の周波数は「３２．７０３２Ｈｚ」であるので、Ｃ１を基音とした場合に、２倍音、３倍音、４倍音、５倍音、…８倍音、…１６倍音、…３２倍音の周波数および音高は下記の音高になる。
基音：    ３２．７０３２Ｈｚ：Ｃ１
２倍音：    ６５．４０６４Ｈｚ：Ｃ２
３倍音：    ９８．１０９６Ｈｚ：Ｇ２
４倍音：  １３０．８１２８Ｈｚ：Ｃ３
５倍音：  １６３．５１６０Ｈｚ：Ｅ３
８倍音：  ２６１．６２５６Ｈｚ：Ｃ４
１６倍音：  ５２３．２５１２Ｈｚ：Ｃ５
３２倍音：１０４６．５０２４Ｈｚ：Ｃ６
なお、アコーステックピアノの場合、Ｃ６以上の高い音域においては、ダンパすなわち振動に対する制動がない。このため、Ｃ６以上の音高については、発音の持続が長いという特徴がある。
【００２９】
押鍵されていない音高で倍音を発生させる倍音成分のエンベロープデータのパラメータがプログラムメモリ３に記憶されているが、その構成は図２と同じであるので図面は省略する。各倍音成分のエンベロープデータのパラメータは、発音開始時のレベルＬ１および立ち上がりの傾斜Ｒ１、および、消音開始時のレベルＬ２および立ち下がりの傾斜Ｒ２で構成されている。すなわち、任意の倍音成分Ｎのエンベロープデータのパラメータは、音量パラメータの項および音色パラメータの項からなる下記の式で表される。
ｂａｉｏｎ＿ｅｎｖ＿Ｎ＝
ｂａｉｏｎ＿ｅｎｖ＿ＤＣＡ＿ＬＮ，ｂａｉｏｎ＿ｅｎｖ＿ＤＣＦ＿ＲＮ
【００３０】
図５ないし図９は、複数の鍵が押鍵された場合に、その中の任意の２つの音高の和成分および差成分に関するデータを示し、プログラムメモリ３のエリアに記憶されている。図５は、複数の鍵が押鍵されている場合、その中の２つの音高の周波数の和成分を示す図である。図６は、複数の鍵が押鍵されている場合、その中の２つの音高の周波数の和成分のレベル値を示す図である。図７は、複数の鍵が押鍵されている場合、その中の２つの音高の周波数の差成分を示す図である。図８、複数の鍵が押鍵されている場合、その中の２つの音高の周波数の差成分のレベル値を示す図である。図９は、複数の鍵が押鍵された場合の和成分および差成分のレベルを発音音高ごとに、一時的に格納するワークメモリ４のエリアを示す図である。
【００３１】
次に、この実施形態における電子鍵盤楽器の楽音発生処理の動作について、上記したプログラムメモリ３およびワークメモリ４のデータ、並びに、図１０ないし図１８に示すＣＰＵ１のフローチャートに基づいて説明する。ＣＰＵ１は、割り込み処理又はルーチン処理によって楽音発生処理を実行するが、ここではルーチン処理による動作を説明する。
【００３２】
図１０は、ＣＰＵ１のメインルーチンのフローチャートである。所定のイニシャライズ（ステップＳＡ１）の後、スイッチ部８における各スイッチのオン・オフを検出するスイッチ処理（ステップＳＡ２）、鍵盤６の押鍵・離鍵を検出する鍵盤処理（ステップＳＡ３）、ペダル７のオン・オフを検出するペダル処理（ステップＳＡ４）、その他の処理（ステップＳＡ５）を繰り返し実行する。
【００３３】
図１１は、図１０のステップＳＡの鍵盤処理のフローチャートである。この処理では、発音処理（ステップＳＢ１）、倍音生成処理（ステップＳＢ２）、消音処理（ステップＳＢ３）を実行する。
図１２は、ステップＳＢ１の発音処理のフローチャートである。押鍵があるか否かを判別し（ステップＳＣ１）、押鍵がない場合にはこのフローチャートを終了して図１１のフローチャートに戻るが、押鍵があったときは、押鍵の音高に対応した押鍵フラグおよびノートオンをワークメモリ４のレジスタに格納する（ステップＳＣ２）。そして、押鍵のベロシティおよびノートオンに対する音高に基づいて発音処理を開始し（ステップＳＣ３）、ノートオンに対する音高に対応する波形データのアドレスを図３に示したプログラムメモリ３の対応するエリアから読み出して、図２に示したプログラムメモリ３の対応するエリアの中から、そのアドレスに対応する発音のエンベロープデータの取り込みを開始する（ステップＳＣ４）。そして、図１１のフローチャートに戻る。
【００３４】
図１３は、図１１のステップＳＢ３の消音処理のフローチャートである。離鍵があるか否かを判別し（ステップＳＤ１）、離鍵がない場合にはこのフローチャートを終了して図１１のフローチャートに戻るが、離鍵があったときは、離鍵の音高に対応した押鍵フラグおよびノートオンをオフにする（ステップＳＤ２）。そして、該当する発音中の音高を消音処理して（ステップＳＤ３）、ノートオンに対する音高に対応する波形データのアドレスを図３から読み出して、図２の中からそのアドレスに対応する消音のエンベロープデータの取り込みを開始する（ステップＳＤ４）。そして、図１１のフローチャートに戻る。
【００３５】
図１４ないし図１７は、図１１のステップＳＢ２の倍音生成処理のフローチャートである。図１４において、新たな発音があるか否かを判別し（ステップＳＥ１）、新たな発音がない場合には図１１のフローチャートに戻るが、新たな発音があったときは、既に発音している音高すなわち過去の音高があるか否かを判別する（ステップＳＥ２）。発音している過去の音高がある場合には、新たなノートオンに対応するエンベロープデータと過去のノートオンに対応するエンベロープデータとが閾値（Ｎｏｔｅ＿Ｏｎ＿ｍｉｎ）以上であるか否かを判別する（ステップＳＥ３）。これらのエンベロープデータが閾値より小さい場合には、今回の発音に含まれる倍音の音高と過去の発音の音高とが一致するか否かを判別する（ステップＳＥ４）。両者の音高が一致する場合には、今回の発音の倍音成分のレベル値を、プログラムメモリ３のエリアである図４から読み出して、一致した過去の発音のエンベロープデータに加算して発音処理を行う（ステップＳＥ５）。この場合の倍音成分Ｎ（２倍音、３倍音、４倍音、５倍音など）のレベル値をｎｏｔｅ＿ｒａｔｉｏ＿Ｎとすると、発音のエンベロープデータＮＯＴＥ＿ＯＮ＿ＥＮＶは、下記の演算式で表される。
ＮＯＴＥ＿ＯＮ＿ＥＮＶ＝
（１＋ｎｏｔｅ＿ｒａｔｉｏ＿Ｎ）×ＮＯＴＥ＿ＯＮ＿ＥＮＶ
【００３６】
ステップＳＥ５の後、又は、ステップＳＥ２において、既に発音している音高がない場合、若しくは、ステップＳＥ４において、今回の発音に含まれる倍音の音高と過去の発音の音高とが一致しない場合には、今回の発音の倍音の音高でＡ６以上の音域のものがあるか否かを判別する（ステップＳＥ６）。Ａ６以上の音域のものがある場合には、Ａ６以上の倍音を図２に示したプログラムメモリ３のエリアから読み出した倍音用エンベロープデータと今回の発音のベロシティとに基づき発音処理を行う（ステップＳＥ７）。今回の発音のベロシティをＶＥＬとし、プログラムメモリ３のエリアから読み出したＡ６以上の倍音用エンベロープデータをｂａｉｏｎとすると、発音のエンベロープデータｂａｉｏｎ＿ＥＮＶは、下記の演算式で表される。
ｂａｉｏｎ＿ＥＮＶ＝ｂａｉｏｎ×ＶＥＬ
ステップＳＥ７の後、又は、ステップＳＥ６においてＡ６以上の音域のものがない場合には図１１のフローチャートに戻る。
【００３７】
一方、ステップＳＥ３において、新たなノートオンに対応するエンベロープデータと過去のノートオンに対応するエンベロープデータとが閾値以上である場合には、図１５のフローチャートにおいて、今回の発音の音高とエンベロープデータをワークメモリ４に格納し（ステップＳＥ８）、発音中の音高とエンベロープデータをワークメモリ４に格納する（ステップＳＥ９）。次に、格納された音高の中から２つの音高を取り出す（ステップＳＥ１０）。そして、２つの音高の和に対するレベル値を図６に示したプログラムメモリ３の対応するエリアの中から求める（ステップＳＥ１１）。次に、図５に示したプログラムメモリ３の対応するエリアの中から読み出した２つの音高の和成分とステップＳＥ１１で求めたエンベロープデータを、図９の対応するワークメモリ４のエリアに格納する（ステップＳＥ１２）。そして、２つの音高の組合せについて格納が全て終了したか否かを判別し（ステップＳＥ１３）、格納が全て終了していない場合には、組合せの異なる２つの音高を取り出す（ステップＳＥ１４）。そして、ステップＳＥ１１からステップＳＥ１３までのループを繰り返す。
【００３８】
ステップＳＥ１３において、２つの音高の組合せについて格納が全て終了したときは、図１６のフローチャートにおいて、格納された音高の中から２つの音高を取り出す（ステップＳＥ１５）。そして、２つの音高の差に対するレベル値を図８に示したプログラムメモリ３の対応するエリアの中から求める（ステップＳＥ１６）。次に、図７に示したプログラムメモリ３の対応するエリアの中から読み出した２つの音高の差成分と、ステップＳＥ１６で求めたエンベロープデータとを、図９の対応するワークメモリ４のエリアに格納する（ステップＳＥ１７）。そして、２つの音高の組合せについて格納が全て終了したか否かを判別し（ステップＳＥ１８）、格納が全て終了していない場合には、組合せの異なる２つの音高を取り出す（ステップＳＥ１９）。そして、ステップＳＥ１６からステップＳＥ１８までのループを繰り返す。
【００３９】
ステップＳＥ１８において、２つの音高の組合せについて格納が全て終了したときは、格納された和成分および差成分で同一の音高があるか否かを判別する（ステップＳＥ２０）。同一の音高がある場合には、いずれかひとつの成分のレベル値に他の成分のレベル値を加算する（ステップＳＥ２１）。そして、レベル値を加算したひとつの成分を残して他の同一音高の成分を消去する（ステップＳＥ２２）。
【００４０】
ステップＳＥ２の後、又は、ステップＳＥ２０において、格納された和成分および差成分で同一の音高がない場合には、図１７のフローチャートにおいて、格納された和成分および差成分の音高は発音中であるか否かを判別する（ステップＳＥ２３）。発音中である場合には、その発音中の音のエンベロープデータを対応する和成分および差成分のレベル値で変更する（ステップＳＥ２４）。すなわち、ワークメモリ４のエリアである図９から読み出した和成分および差成分のレベル値で変更する。この場合において、読み出した和成分のレベル値をｐｌｕｓ＿ｒａｔｉｏ＿Ｎとし、差成分のレベル値をｍｉｎｕｓ＿ｒａｔｉｏ＿Ｎとすると、発音中の音のエンベロープデータであるＮＯＴＥ＿ＯＮ＿ＥＮＶの和成分および差成分は、下記の演算式によって変更される。
和成分：ＮＯＴＥ＿ＯＮ＿ＥＮＶ＝
（１＋ｐｌｕｓ＿ｒａｔｉｏ＿Ｎ）×ＮＯＴＥ＿ＯＮ＿ＥＮＶ
差成分：ＮＯＴＥ＿ＯＮ＿ＥＮＶ＝
（１＋ｍｉｎｕｓ＿ｒａｔｉｏ＿Ｎ）×ＮＯＴＥ＿ＯＮ＿ＥＮＶ
【００４１】
次に、変更したエンベロープデータで発音中の音に対する発音処理を行う（ステップＳＥ２５）。ステップＳＥ２５の後、又は、ステップＳＥ２３において、格納された和成分および差成分の音高が発音中でない場合には、該当する和成分および差成分を対応する倍音のエンベロープデータで発音する（ステップＳＥ２６）。そして、図１１のフローチャートに戻る。倍音のエンベロープデータをｂａｉｏｎ＿ＥＮＶとすると、発音のエンベロープデータＥＮＶの和成分および差成分は、下記の演算式で表される。
和成分：ＥＮＶ＝ｂａｉｏｎ＿ＥＮＶ×ｐｌｕｓ＿ｒａｔｉｏ＿Ｎ
差成分：ＥＮＶ＝ｂａｉｏｎ＿ＥＮＶ×ｍｉｎｕｓ＿ｒａｔｉｏ＿Ｎ
【００４２】
図１８は、図１０のメインルーチンにおけるステップＳＡ４のペダル処理のフローチャートである。ペダルがオンされたか否かを判別し（ステップＳＦ１）、オンされない場合にはメインルーチンに戻るが、オンされたときはペダルフラグがオンであるか否かを判別する（ステップＳＦ２）。ペダルフラグがオフの場合には、フラグをオンにして（ステップＳＦ３）、メインルーチンに戻る。ステップＳＦ２において、ペダルフラグがオンの場合には、発音中の音高でエンベロープデータが閾値を超えるものの、ノートおよびエンベロープデータをワークメモリ４に格納する（ステップＳＦ４）。さらに、格納されたノートの倍音成分に対応するｎｏｔｅＮの倍音レベル値（ｎｏｔｅ＿ｒａｔｉｏ＿Ｎ）をワークメモリ４に格納する（ステップＳＦ５）。次に、格納された倍音成分に対応する音高は発音中であるか否かを判別し（ステップＳＦ６）、発音中である場合には、発音中の音高のエンベロープデータに対応する倍音成分のレベル値を加算して発音処理を行う（ステップＳＦ７）。発音する倍音成分ＮＯＴＥ＿ＯＮ＿ＥＮＶは、下記の演算式で表される。
ＮＯＴＥ＿ＯＮ＿ＥＮＶ＝
（１＋ｎｏｔｅ＿ｒａｔｉｏ＿Ｎ）×ＮＯＴＥ＿ＯＮ＿ＥＮＶ
ステップＳＦ７の後、又は、ステップＳＦ６において、格納された倍音成分に対応する音高は発音中でない場合には、倍音成分の音高をレベル値およびエンベロープデータに基づき発音する（ステップＳＦ８）。そして、メインルーチンに戻る。
【００４３】
以上のように、上記実施形態によれば、ＣＰＵ１は、鍵盤６の押鍵によって発生される音高やベロシティを含む楽音情報を入力したときは、各鍵の音高に対応するエンベロープデータおよびレベル値を予め記憶しているプログラムメモリ３から、押鍵によって入力された音高を基音とした場合の各倍音に一致する音高に対応するエンベロープデータおよびレベル値を読み出し、その各倍音を音高とするとともに、読み出されたエンベロープデータおよびレベル値に基づいて、押鍵されていない各倍音の音高の楽音情報を生成し、押鍵によって入力された楽音情報および生成した倍音成分の楽音情報を音源８に出力して発音させる。
例えば、ＣＰＵ１は、過去の押鍵によって入力された楽音情報の音高の倍音が既に発音中である場合には、その発音中の倍音のエンベロープデータにプログラムメモリ３から読み出したその倍音のレベル値を加算して楽音情報を生成する。
したがって、弦振動の倍音レベルを制御することにより、自然楽器としての鍵盤楽器から発生される微妙で複雑な楽音を電子的に発生することができる。
【００４４】
あるいは、ＣＰＵ１は、鍵盤６の押鍵によって発生された音高やベロシティを含む楽音情報の倍音が、鍵盤６のＡ６の音高以上である場合には、プログラムメモリ３から読み出したその倍音の音高に対応するエンベロープデータに、押鍵によって発生された楽音情報のベロシティを乗算して、押鍵によって発生された楽音情報に合成するための楽音情報を生成する。
したがって、Ａ６の音高以上にはダンパがないアコーステックピアノのような自然楽器から発生される特徴的な楽音を電子的に発生することができる。
【００４５】
あるいは、ＣＰＵ１は、鍵盤６の押鍵によって発生される音高やベロシティを含む楽音情報によって発音中の音高に対して、効果音を付加するペダルの演奏がされたときに、押鍵によって入力された音高を基音とした場合の各倍音に一致する音高に対応するエンベロープデータおよびレベル値を読み出し、その各倍音を音高とするとともに、読み出されたエンベロープデータおよびレベル値に基づいて、押鍵されていない各倍音の音高の楽音情報を生成し、押鍵によって入力された楽音情報および生成した倍音成分の楽音情報を音源８に出力して発音させる。
したがって、アコーステックピアノにおけるペダル開放による倍音音高の弦の共振で発生される楽音を電子的に発生することができる。
さらにこの場合において、ＣＰＵ１は、押鍵によって入力された音高の各倍音が既に発音中である場合には、その発音中の各倍音に一致する音高に対応するレベル値をプログラムメモリ３から読み出し、読み出された各倍音のレベル値を発音中の一致する倍音のレベル値に加算する。
したがって、倍音音高の弦の共振で発生される楽音が発音中の場合に、ペダル開放による倍音音高が発生したときの微妙で複雑な楽音を電子的に発生することができる。
【００４６】
また、上記実施形態によれば、プログラムメモリ３は、任意の２つの鍵に対応する２つの音高の和成分および差成分に対するレベル値を予め記憶している。ＣＰＵ１は、鍵盤６の２つ以上の鍵の押鍵によって楽音情報が入力されたときは、入力された音高における任意の２つの音高の和成分および差成分を算出し、その算出した和成分および差成分のエンベロープデータに対して、プログラムメモリ３から読み出したレベル値をそれぞれ乗算して、入力された楽音情報に合成するための楽音情報を生成する。
したがって、弦振動の倍音レベルを制御することにより、自然楽器としての鍵盤楽器から発生される微妙で複雑な楽音を電子的に発生することができる。
【００４７】
さらに具体的には、ＣＰＵ１は、算出した和成分および差成分の中に同一の音高を有する２つ以上の成分がある場合には、その同一の音高に対する各レベル値を加算して１つの成分にする。
したがって、同一の音高によって音源８の複数の発音チャンネルを使用する必要がない。
あるいは、ＣＰＵ１は、算出した和成分および差成分の音高が既に発音中である場合には、その発音中の音高のエンベロープデータに、プログラムメモリ３から読み出した各成分に対するレベル値を加算して、入力された楽音情報に合成するための楽音情報を生成する。
したがって、倍音音高の弦の共振で発生される楽音が発音中の場合に、倍音音高が発生したときの微妙で複雑な楽音を電子的に発生することができる。
【００４８】
なお、上記実施形態の変形例として、下記の構成にすることもできる。
（１）プログラムメモリ３にマップ形式のデータでパラメータを予め記憶する構成にしたが、ＣＰＵの処理速度に余裕がある場合には、倍音成分のレベル値については、押鍵の際にＣＰＵの演算によって算出する構成にしてもよい。
（２）全ての音高に対するデータをプログラムメモリ３に記憶する構成にしたが、電子鍵盤楽器のシステムの規模や処理速度などに応じて、一部の音高や音域に対するデータをプログラムメモリ３に記憶して、残りのデータについてはＣＰＵの演算によって算出する構成にしてもよい。
（３）押鍵された楽音情報に付加される倍音、和成分、差成分についてのピッチは音高でなく実ピッチで行ってもよい。
（４）押鍵による通常発音のエンベロープデータと倍音成分のエンベロープデータとを別個に用意して記憶する構成にしたが、通常発音と倍音成分の波形データ自体を別個に記憶する構成にしてもよい。
（５）実施形態においては８８鍵の鍵盤を備えた電子鍵盤楽器について説明したが、さらに鍵数の多い電子鍵盤楽器に拡張して倍音数を増やした構成にしてもよい。
【００４９】
また、上記実施形態においては、自然楽器であるアコースティクピアノを想定した電子鍵盤楽器を例に採って本発明の楽音発生装置を説明したが、本発明の適用範囲はアコースティクピアノに対応する構成の電子鍵盤楽器に限定されるものではない。例えば、オルガンやチェンバロなどの他の鍵盤楽器に対応する構成の電子鍵盤楽器にも本発明を適用できることは言うまでもない。また、電子管楽器や電子弦楽器のように、電子的に楽音を発生させる楽音発生装置にも適用できる。自然楽器の管楽器においても、鍵の操作とブローの強さなどによって楽器本体が共振することによって、様々な倍音成分が発生する。また、自然楽器の弦楽器においても、鍵盤楽器と同じように、ある１つの弦の演奏に応じて演奏されていない他の弦および楽器本体が共振することによって、様々な倍音成分が発生する。したがって、電子管楽器や電子弦楽器に本発明を適用することにより、これらの自然楽器から発生される微妙で複雑な楽音を電子的に発生することができる。
【００５０】
また、上記実施形態においては、プログラムメモリ３にあらかじめ記憶されている楽音発生処理のプログラムをＣＰＵ１が実行する装置の発明について説明したが、フレキシブルディスク（ＦＤ）、ＣＤ、メモリカードなどの外部記憶媒体に記憶された演奏処理のプログラム、又は、ＭＩＤＩインタフェース５又は他の通信手段によって、外部からダウンロードした演奏処理のプログラムをワークメモリ４あるいは別途設けたフラッシュＲＯＭやハードディスクなどの不揮発性メモリにインストールして、ＣＰＵ１がそのプログラムを実行する構成も可能である。この場合には、プログラムの発明および記憶媒体の発明を実現できる。
【００５１】
すなわち、本発明の楽音発生処理のプログラムは、
夫々異なる音高に対応する複数の操作子を有する演奏手段のいずれかの操作子の演奏によって発生される第１の楽音情報を入力するステップＡと、２つ以上の操作子の操作によって前記情報入力手段から２つ以上の音高の第１の楽音情報が入力されたときは、当該入力された音高における任意の２つの音高の和成分および差成分を算出し、任意の２つの操作子に対応する２つの音高の和成分および差成分に対するレベル値を予め記憶している記憶手段から読み出したレベル値を、当該算出した和成分および差成分のエンベロープデータに対してそれぞれ乗算して第２の楽音情報を生成するステップＢと、前記ステップＡによって入力された第１の楽音情報および前記ステップＢによって生成された第２の楽音情報を音源手段に出力して発音させるステップＣと、
をコンピュータに実行させる。
【００５２】
前記ステップＢは、第１の楽音情報の音高の倍音成分が既に発音中である場合には、当該発音中の倍音成分のエンベロープデータに前記記憶手段から読み出した当該倍音成分のレベル値を加算して第２の楽音情報を生成する。
【００５３】
前記ステップＢは、第１の楽音情報の倍音成分が所定の音域以上である場合には、前記記憶手段から読み出した当該倍音成分のエンベロープデータに第１の楽音情報のベロシティを乗算して第２の楽音情報を生成する。
【００５４】
前記ステップＢは、発音中の音高に対して効果音を付加する特定の操作子の演奏によって発生された第１の楽音情報が前記情報入力手段から入力されたときに、当該入力された第１の楽音情報の音高を基音とした場合の各倍音に一致する音高に対応するエンベロープデータおよびレベル値を前記記憶手段から読み出し、当該各倍音を音高とするとともに読み出されたエンベロープデータおよびレベル値に基づいて第２の楽音情報を生成する。
さらにこの場合において、前記ステップＢは、第１の楽音情報の音高を基音とした場合の各倍音が既に発音中である場合には、当該発音中の各倍音に一致する音高に対応するレベル値を前記記憶手段から読み出し、当該読み出された各倍音のレベル値を発音中の一致する倍音のレベル値に加算する。
【００５５】
また、本発明の楽音発生処理のプログラムは、
夫々異なる音高に対応する複数の操作子を有する演奏手段のいずれかの操作子の演奏によって発生される第１の楽音情報を入力するステップＡと、２つ以上の操作子の操作によって前記情報入力手段から２つ以上の音高の第１の楽音情報が入力されたときは、当該入力された音高における任意の２つの音高の和成分および差成分を算出し、任意の２つの操作子に対応する２つの音高の和成分および差成分に対するレベル値を予め記憶している記憶手段から読み出したレベル値を、当該算出した和成分および差成分のエンベロープデータに対してそれぞれ乗算して第２の楽音情報を生成するステップＢと、前記ステップＡによって入力された第１の楽音情報および前記ステップＢによって生成された第２の楽音情報を音源手段に出力して発音させるステップＣと、をコンピュータに実行させる。
【００５６】
前記ステップＢは、算出した和成分および差成分の中に同一の音高を有する２つ以上の成分がある場合には、当該同一の音高に対する各レベル値を加算して１つの成分にする。
【００５７】
前記ステップＢは、算出した和成分および差成分の音高が既に発音中である場合には、当該発音中の音高のエンベロープデータに前記記憶手段から読み出した各成分に対するレベル値を加算して第２の楽音情報を生成する。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施形態における電子鍵盤楽器のシステム構成を示すブロック図。
【図２】図１の鍵盤の各鍵の押鍵に応じて発生される音高に対するエンベロープデータのパラメータを示す図。
【図３】図１の鍵盤の各鍵の音高の波形データを記憶しているプログラムメモリのアドレスを示す図。
【図４】押鍵により発生される音高のレベルに対する２倍音、３倍音、４倍音、５倍音などの倍音成分のレベル値を示す図。
【図５】複数の鍵が押鍵されている場合に、その中の２つの音高の周波数の和成分を示す図。
【図６】複数の鍵が押鍵されている場合に、その中の２つの音高の周波数の和成分のレベル値を示す図。
【図７】複数の鍵が押鍵されている場合、その中の２つの音高の周波数の差成分を示す図。
【図８】複数の鍵が押鍵されている場合、その中の２つの音高の周波数の差成分のレベル値を示す図。
【図９】複数の鍵が押鍵された場合の和成分および差成分のレベルを発音音高ごとにストアするワークメモリ４のエリアを示す図。
【図１０】図１におけるＣＰＵのメインルーチンのフローチャート。
【図１１】図１０における鍵盤処理のフローチャート。
【図１２】図１１における発音処理のフローチャート。
【図１３】図１１における消音処理のフローチャート。
【図１４】図１１における倍音生成処理のフローチャート。
【図１５】図１４に続く倍音生成処理のフローチャート。
【図１６】図１５に続く倍音生成処理のフローチャート。
【図１７】図１６に続く倍音生成処理のフローチャート。
【図１８】図１０におけるペダル処理のフローチャート。
【符号の説明】
【００５９】
１    ＣＰＵ
３    プログラムメモリ
４    ワークメモリ
５    ＭＩＤＩインタフェース
６    鍵盤
７    ペダル
８    スイッチ部
９    音源
１０    発音回路
【図１】
2007187949.tif 000003
【図２】
2007187949.tif 000004
【図３】
2007187949.tif 000005
【図４】
2007187949.tif 000006
【図５】
2007187949.tif 000007
【図６】
2007187949.tif 000008
【図７】
2007187949.tif 000009
【図８】
2007187949.tif 000010
【図９】
2007187949.tif 000011
【図１０】
2007187949.tif 000012
【図１１】
2007187949.tif 000013
【図１２】
2007187949.tif 000014
【図１３】
2007187949.tif 000015
【図１４】
2007187949.tif 000016
【図１５】
2007187949.tif 000017
【図１６】
2007187949.tif 000018
【図１７】
2007187949.tif 000019
【図１８】
2007187949.tif 000020