(57)【要約】【課題】アコースティック楽器等の演奏時の鳴り方或いは、人の歌唱時の歌い方を再現する電子楽器を提供する。【解決手段】電子楽器１０は、読込処理と、第１出力処理と、相違値算出処理と、第２出力処理とを実行する音源部１７を備える。読込処理は、第１発音指示情報及び、第１発音指示情報の後に第２発音指示情報を読み込む。第１出力処理は、第１発音指示情報に基づいて決定される第１波形データを出力する。相違値算出処理は、読込処理により読み込まれた第１発音指示情報と第２発音指示情報との相違に応じた相違値を算出する。第２出力処理は、第２発音指示情報に基づいて決定される第２波形データに対して、相違値算出処理により算出された相違値に応じた加工処理がされている加工済第２波形データを出力する。【選択図】図５
2018146928.tif 000002
【特許請求の範囲】
【請求項１】
第１発音指示情報及び、前記第１発音指示情報の後に第２発音指示情報を読み込む読込処理と、
前記第１発音指示情報に基づいて決定される第１波形データを出力する第１出力処理と、
前記読込処理により読み込まれた前記第１発音指示情報と前記第２発音指示情報との相違に応じた相違値を算出する相違値算出処理と、
前記第２発音指示情報に基づいて決定される第２波形データに対して、前記相違値算出処理により算出された前記相違値に応じた加工処理がされている加工済第２波形データを出力する第２出力処理と、
を実行する音源部を備えた電子楽器。
【請求項２】
前記第２出力処理は、前記加工済第２波形データを出力した後に、前記相違値に応じた加工処理がされていない未加工第２波形データを出力する、請求項１に記載の電子楽器。
【請求項３】
前記第２出力処理は、前記相違値が大きくなるにつれて、大きく加工処理がされた前記加工済第２波形データを出力する、請求項１または２に記載の電子楽器。
【請求項４】
前記第１発音指示情報及び前記第２発音指示情報は、演奏者により操作された操作子を示すノートナンバー情報を含むノートオン情報であり、
前記第２出力処理における前記加工処理は、前記第２波形データに対するピッチシフト処理である、請求項１〜３のいずれか一項に記載の電子楽器。
【請求項５】
前記第１発音指示情報及び前記第２発音指示情報は、出力される音量を示すベロシティ情報を含むノートオン情報であり、
前記第２出力処理における前記加工処理は、前記第２波形データに対する音量変更処理である、請求項１〜３のいずれか一項に記載の電子楽器。
【請求項６】
前記音源部は、前記読込処理が前記第１発音指示情報を読み込んだ第１タイミングと、前記第２発音指示情報を読み込んだ第２タイミングとの間の時間差を算出する時間差算出処理をさらに実行し、
前記第２出力処理は、前記時間差算出処理により算出された前記時間差が或る閾値より大きい場合、前記加工済第２波形データを出力する、請求項１〜５のいずれか一項に記載の電子楽器。
【請求項７】
前記第１波形データ及び前記第２波形データは、管楽器の楽音波形データ、弦楽器の楽音波形データ、或いは歌声の歌声波形データのいずれかである、請求項１〜６のいずれか一項に記載の電子楽器。
【請求項８】
第１発音指示情報及び、前記第１発音指示情報の後に第２発音指示情報を読み込む読込ステップと、
前記第１発音指示情報に基づいて決定される第１波形データを出力する第１出力ステップと、
前記読込処理により読み込まれた前記第１発音指示情報と前記第２発音指示情報との相違に応じた相違値を算出する相違値算出ステップと、
前記第２発音指示情報に基づいて決定される第２波形データに対して、前記相違値算出処理により算出された前記相違値に応じた加工処理がされている加工済第２波形データを出力する第２出力ステップと、
を含む楽音発生方法。
【請求項９】
第１発音指示情報及び、前記第１発音指示情報の後に第２発音指示情報を読み込む読込ステップと、
前記第１発音指示情報に基づいて決定される第１波形データを出力する第１出力ステップと、
前記読込処理により読み込まれた前記第１発音指示情報と前記第２発音指示情報との相違に応じた相違値を算出する相違値算出ステップと、
前記第２発音指示情報に基づいて決定される第２波形データに対して、前記相違値算出処理により算出された前記相違値に応じた加工処理がされている加工済第２波形データを出力する第２出力ステップと、
をコンピューターに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アコースティック楽器等の演奏時の鳴り方或いは、人の歌唱時の歌い方を再現する電子楽器、楽音発生方法およびプログラムに関する。
【背景技術】
【０００２】
従来より、管楽器や弦楽器を含む様々なアコースティック楽器の音色を、電子楽器において再現する技術が各種開発されている。電子楽器では、各鍵と出力音の音高とが対応付けられており、或る鍵が押鍵されると、常に所望のピッチ（周波数）の音が出力される。一方、弦楽器や管楽器等のアコースティック楽器の発音制御は、演奏者の演奏技術に大きく依存するため、発音される音のピッチは、所望のピッチからしばしばずれてしまう。このようなピッチのずれは、その楽器らしい音色を表現することに繋がるという側面がある。また、ピッチのずれは、アコースティック楽器の演奏時だけでなく、人の歌唱時においても同様に確認される。このため、ピッチのずれを発生させない電子楽器の音は、アコースティック楽器の音または人の歌声とは異なるという印象を演奏者や観客に与えてしまう。
【０００３】
上記のような問題に関連して、波形を時間軸方向に伸縮させること等により、ピッチを変化させる技術が開示されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−７８７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１に記載の発明は、ピッチをアコースティック楽器の演奏状況または人の歌唱状況に応じて変化させるものではない。このため、特許文献１に記載の発明は、上述したような、アコースティック楽器の演奏時または人の歌唱時に見られるピッチのずれを再現できないという問題がある。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、アコースティック楽器等の演奏時の鳴り方或いは、人の歌唱時の歌い方を再現できる電子楽器、楽音発生方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一実施態様である電子楽器は、第１発音指示情報及び、前記第１発音指示情報の後に第２発音指示情報を読み込む読込処理と、前記第１発音指示情報に基づいて決定される第１波形データを出力する第１出力処理と、前記読込処理により読み込まれた前記第１発音指示情報と前記第２発音指示情報との相違に応じた相違値を算出する相違値算出処理と、前記第２発音指示情報に基づいて決定される第２波形データに対して、前記相違値算出処理により算出された前記相違値に応じた加工処理がされている加工済第２波形データを出力する第２出力処理と、を実行する音源部を備える。
【発明の効果】
【０００８】
本発明によれば、アコースティック楽器等の演奏時の鳴り方或いは、人の歌唱時の歌い方を再現できる。
【図面の簡単な説明】
【０００９】
【図１】アコースティック楽器の演奏におけるピッチ変化の一例を示す図である。
【図２】本発明の一実施形態に係る電子楽器の概略構成を示すブロック図である。
【図３】ノートナンバー差とピッチシフト量との関係を示す図である。
【図４】ＣＰＵ処理の手順を示すフローチャートである。
【図５】音源処理の手順の一例を示すフローチャートである。
【図６】ノートナンバー差とピッチシフト量および音量変更量との関係を示す図である。
【図７】ベロシティ差とピッチシフト量および音量変更量との関係を示す図である。
【図８】音源処理の手順の他の例を示すフローチャートである。
【図９】読込時間差とピッチシフト量および音量変更量との関係を示す図である。
【発明を実施するための形態】
【００１０】
以下では、図面を参照して本発明の原理について説明した後、本発明の原理に基づく実施形態について説明する。なお、図面の寸法比率は、説明の都合上誇張され、実際の比率とは異なる場合がある。
【００１１】
［発明の原理］
図１は、アコースティック楽器の演奏におけるピッチ変化の一例を示す図である。
【００１２】
図１に示すように、時間ｔの遷移に伴い楽曲が進行すると、アコースティック楽器が発音する音の音高が変化する。例えば、矢印（ａ）に示されるように、音高の変化に伴い、音高に対応するピッチがｐ１からｐ２に変化する。この場合、音高が変化した直後ａ１の音は、本来発音させたいピッチであるｐ２より高いピッチｐ２ｕから発音され始める。このように、弦楽器や管楽器等のアコースティック楽器では、音高を変化させる際の発音制御が難しいことから、音高が変化した後に発音される音のピッチは、所望のピッチからずれやすい。
【００１３】
この傾向は、音高の変化が大きいほど顕著に見られる。例えば、矢印（ｂ）に示されるように、音高の変化に伴い、音高に対応するピッチがｐ２からｐ３に、矢印（ａ）に示される変化幅より大きい変化幅で変化したとする。この場合、音高が変化した直後ｂ１の音は、本来発音させたいｐ３より高いピッチｐ３ｕから発音され始め、ピッチのずれ幅（ｐ３ｕ−ｐ３）は、ずれ幅（ｐ２ｕ−ｐ２）よりさらに大きくなる。
【００１４】
また、矢印（ｃ）に示されるように、音高に対応するピッチがｐ３からｐ１に変化すると、音高が変化した直後ｃ１の音は、本来発音させたいピッチｐ１より低いピッチｐ１ｄから発音され始める。このように、変化後の音高が変化前の音高より上昇するか下降するかによって、音高が変化した後の音が、本来発音させたいピッチより高いピッチから発音され始めるか、低いピッチから発音され始めるかが変化する。なお、本来発音させたいピッチより高いピッチから発音され始めるのか、或いは本来発音させたいピッチより低いピッチから発音され始めるのかは、演奏者の技能によっても異なる。
【００１５】
本発明は、上述したような、アコースティック楽器の演奏時にありがちなピッチのずれを再現するものである。なお、上述したように、ピッチのずれは、アコースティック楽器の演奏時だけでなく、人の歌唱時においても同様に確認される。したがって、本発明は、電子楽器において歌声を出力する際にも、同様に適用される。
【００１６】
［発明の実施形態］
（１）構成
図２は、本発明の一実施形態に係る電子楽器の概略構成を示すブロック図である。
【００１７】
図２に示すように、電子楽器１０は、鍵盤１１、スイッチ部１２、表示部１３、ＣＰＵ１４、ＲＯＭ１５、ＲＡＭ１６、音源部１７および発音部１８を備える。各構成は、バスを介して相互に接続されている。
【００１８】
鍵盤１１は、複数の鍵を含み、各鍵の押離鍵操作に基づいて、キーオン／キーオフイベント、ノートナンバーおよびベロシティを含む演奏情報を発生させる。ノートナンバーは、演奏者により操作された操作子を示す情報である。ベロシティは、例えば、鍵に含まれ、押鍵を検出する少なくとも二つの接点の検出時間の差に基づいて算出される値であり、出力音量を示す情報である。
【００１９】
スイッチ部１２は、電子楽器１０のパネルに配置される電源スイッチや音色スイッチ等の各種スイッチを含み、スイッチ操作に基づくスイッチイベントを発生させる。
【００２０】
表示部１３は、ＬＣＤパネル等を備え、後述するＣＰＵ１４から供給される表示制御信号に基づいて、電子楽器１０の各部の設定状態や動作モード等を表示する。
【００２１】
ＣＰＵ１４は、プログラムに従い、各部の制御や各種の演算処理等を実行する。ＣＰＵ１４は、例えば、鍵盤１１から供給される演奏情報に基づいて、発音を指示するノートオンコマンドや消音を指示するノートオフコマンドを生成し、後述する音源部１７に送信する。また、ＣＰＵ１４は、例えば、スイッチ部１２から供給されるスイッチイベントに基づいて、電子楽器１０の各部の動作状態を制御する。ＣＰＵ１４の処理の詳細については、後述する。
【００２２】
ＲＯＭ１５は、プログラムエリアおよびデータエリアを備え、各種プログラムや各種データ等を格納する。例えば、ＲＯＭ１５のプログラムエリアには、ＣＰＵの制御プログラムが格納され、ＲＯＭ１５のデータエリアには、後述する加工テーブルが格納される。
【００２３】
ＲＡＭ１６は、ワークエリアとして、各種データや各種レジスタ等を一時記憶する。
【００２４】
音源部１７は、周知の波形メモリー読み出し方式を採用し、内部の波形メモリーに波形データを格納したり、各種の演算処理を実行したりする。音源部１７が格納する波形データには、管楽器の楽音波形データ、弦楽器の楽音波形データおよび歌声の歌声波形データが含まれる。音源部１７は、例えば、ＲＯＭ１５に格納された加工テーブルに基づいて、ノートオンコマンドの情報（以下「ノートオン情報」および「発音指示情報」とも呼ぶ）に基づいて決定される波形データを加工する。そして、音源部１７は、加工した波形データに基づくデジタル楽音信号を出力する。波形データの加工の詳細および音源部１７の処理の詳細については、後述する。
【００２５】
発音部１８は、オーディオ回路およびスピーカーを備え、ＣＰＵ１４に制御されることによって、音を出力する。発音部１８は、オーディオ回路により、デジタル楽音信号をアナログ楽音信号に変換したり、不要なノイズを除去するフィルタリング等を施したり、レベルの増幅を行ったりする。また、発音部１８は、スピーカーにより、アナログ楽音信号に基づく楽音を出力する。
【００２６】
（２）波形データの加工
上述したように、実際のアコースティック楽器または人の歌声では、音高が変化した後に音のピッチのずれが発生する。したがって、本実施形態では、このようなずれを再現するために、連続する二回のノートオンコマンドに含まれる情報の相違に応じて、後のノートオンコマンドの情報に基づいて決定される波形データに対して、加工処理を実行する。以下では、連続する二回のノートオンコマンドに含まれるノートナンバー情報の相違に応じて、ピッチのずれを再現する、ピッチシフト処理について説明する。
【００２７】
図３は、ノートナンバー差とピッチシフト量との関係を示す図である。図３の左図は、ノートナンバー差Ｎと波形データのピッチシフト量とを対応付ける、加工テーブルＴ１の一例を示す図である。右図は、加工テーブルＴ１の値をグラフ化した図である。
【００２８】
本実施形態では、音源部１７は、加工テーブルＴ１に基づいて、後のノートオンコマンドの情報に基づいて決定される波形データに対する、ピッチシフト量（ピッチの加工量）を取得する。図３に示すように、ピッチシフト量は、ピッチ比を示すセント値により設定されうる。セントとは、平均律における半音を、ピッチ比を一定にして１００分割する単位（すなわち、１オクターブをピッチ比を一定にして１２００分割する単位）である。音源部１７は、例えば、取得したピッチシフト量が＋２セントである場合、ピッチシフト処理後の波形データのピッチが、もとの波形データのピッチより半音の５０分の１だけ高くなるように、波形データに対するピッチシフト処理を実行する。逆に、音源部１７は、取得したピッチシフト量がマイナス値である場合、ピッチシフト処理後の波形データのピッチが、もとの波形データのピッチより低くなるように、ピッチシフト処理を実行する。音源部１７は、取得したピッチシフト量がｘセントである場合、もとの波形データのピッチに２（ｘ／１２００）を乗算したピッチになるように、ピッチシフト処理を実行する。
【００２９】
ピッチシフト処理は、例えば、波形データの読み出し速度を変化させることにより実行される。波形データの読み出し速度をピッチシフト量に応じて増加させることにより、時間軸方向に圧縮された波形データの読み出しが実現され、ピッチが上昇する。また、波形データの読み出し速度をピッチシフト量に応じて減少させることにより、時間軸方向に伸張された波形データの読み出しが実現され、ピッチが下降する。ピッチシフト処理は、波形データに含まれる基音成分および倍音成分に対して実行される。
【００３０】
図３に示す例では、ノートナンバー差Ｎの絶対値が増加するにつれて（すなわち、連続する二音の音高差が増加するにつれて）、ピッチシフト量の絶対値が増加している。これは、実際のアコースティック楽器の音や人の歌声において、音高の変化が大きいほど、音高が変化した後の音の出だしのピッチが不安定になる傾向を反映したものである。なお、ピッチシフト量の値は、図３に示す例に限定されない。例えば、ピッチシフト量は、図３に示すように、ノートナンバー差Ｎの増加に伴い線形的に増加するのではなく、指数関数的に増加する等、非線形的に増加してもよい。
【００３１】
（３）動作
続いて、図４および図５を参照して、電子楽器１０の動作について説明する。以下では、ＣＰＵ１４が実行するＣＰＵ処理について説明した後、音源部１７が実行する音源処理について説明する。
【００３２】
（ａ）ＣＰＵ処理
図４は、ＣＰＵ処理の手順を示すフローチャートである。図４のフローチャートに示すアルゴリズムは、ＲＯＭ１５等にプログラムとして記憶されており、ＣＰＵ１４によって実行される。
【００３３】
図４に示すように、スイッチ部１２に含まれる電源スイッチの操作等により、電子楽器１０に電源が投入されると、ＣＰＵ１４は、電子楽器１０の各部を初期化するイニシャライズを開始する（ステップＳ１０１）。そして、ＣＰＵ１４は、イニシャライズを完了すると、鍵盤１１における各鍵の変化の検出を開始する（ステップＳ１０２）。
【００３４】
ＣＰＵ１４は、鍵変化がない間（ステップＳ１０２：ＮＯ）、鍵変化を検出するまで待機する。一方、ＣＰＵ１４は、鍵変化があった場合、キーオンイベントまたはキーオフイベントのいずれが発生したかを判断する。キーオンイベントが発生した場合（ステップＳ１０２：オン）、ＣＰＵ１４は、ノートナンバーおよびベロシティの情報を含むノートオンコマンドを作成する（ステップＳ１０３）。キーオフイベントが発生した場合（ステップＳ１０２：オフ）、ＣＰＵ１４は、ノートナンバーおよびベロシティの情報を含むノートオフコマンドを作成する（ステップＳ１０４）。
【００３５】
ＣＰＵ１４は、ノートオンコマンドまたはノートオフコマンドを作成すると、作成したコマンドを音源部１７に送信する（ステップＳ１０５）。ＣＰＵ１４は、スイッチ部１２に含まれる電源スイッチの操作等による終了操作がない間（ステップＳ１０６：ＮＯ）、ステップＳ１０２〜Ｓ１０６の処理を繰り返す。そして、終了操作があると（ステップＳ１０６：ＹＥＳ）、ＣＰＵ１４は処理を終了する。
【００３６】
（ｂ）音源処理
図５は、音源処理の手順の一例を示すフローチャートである。図５のフローチャートに示すアルゴリズムは、ＲＯＭ１５等にプログラムとして記憶されており、音源部１７によって実行される。
【００３７】
図５に示すように、音源部１７は、ＣＰＵ１４からコマンドを取得していない間（ステップＳ２０１：ＮＯ）、コマンドを取得するまで待機する。そして、音源部１７は、コマンドを取得すると（ステップＳ２０１：ＹＥＳ）、取得したコマンドがノートコマンドであるか否かを判断する（ステップＳ２０２）。音源部１７は、ＣＰＵ１４から直接的にコマンドを受信することによってコマンドを取得してもよいし、共用するバッファ等を介してコマンドを取得してもよい。
【００３８】
ノートコマンドでない場合（ステップＳ２０２：ＮＯ）、音源部１７は、ノートコマンド以外のコマンドに基づく各種処理を実行する（ステップＳ２０３）。その後、音源部１７は、ステップＳ２０１の処理に戻る。
【００３９】
ノートコマンドである場合（ステップＳ２０２：ＹＥＳ）、音源部１７は、取得したコマンドがノートオンコマンドであるか否かを判断する（ステップＳ２０４）。
【００４０】
ノートオンコマンドである場合（ステップＳ２０４：ＹＥＳ）、音源部１７は、ステップＳ２０５の処理に進む。そして、音源部１７は、ノートオン情報を読み込む読込処理を実行し、さらに、ノートオン情報に含まれるノートナンバー（以下「今回ノートナンバー」と呼ぶ）の情報をＲＯＭ１５等に保存する（ステップＳ２０５）。このように、音源部１７は、ノートオンコマンドを取得する度にノートナンバー情報を保存する。そして、音源部１７は、前回保存したノートナンバー（以下「前回ノートナンバー」と呼ぶ）の情報をＲＯＭ１５等から読み込む読込処理を実行する（ステップＳ２０６）。ステップＳ２０５およびＳ２０６の順序は、入れ替わってもよい。
【００４１】
続いて、音源部１７は、ステップＳ２０５およびＳ２０６における読込処理により読み込まれた今回ノートナンバーおよび前回ノートナンバーの相違に応じた相違値である、ノートナンバー差Ｎを算出する相違値算出処理を実行する（ステップＳ２０７）。そして、音源部１７は、図３に示すような、ＲＯＭ１５等に格納された加工テーブルＴ１に基づいて、ステップＳ２０７における相違値算出処理により算出されたノートナンバー差Ｎに応じた加工量である、ピッチシフト量を取得する（ステップＳ２０８）。さらに、音源部１７は、ノートオン情報に基づいて決定される波形データに対して、ステップＳ２０８において取得した加工量に基づく加工処理である、ピッチシフト処理を実行する（ステップＳ２０９）。つまり、音源部１７は、ステップＳ２０７における相違値算出処理により算出されたノートナンバー差Ｎに応じた、加工処理を実行する。
【００４２】
続いて、音源部１７は、ステップＳ２０９における加工処理により加工された、加工済み波形データに基づくデジタル楽音信号を出力する出力処理を実行する（ステップＳ２１０）。出力されたデジタル楽音信号は、上述したように、発音部１８によりアナログ変換等され、楽音として出力される。
【００４３】
なお、図１に示すように、弦楽器や管楽器等のアコースティック楽器の音や、人の歌声では、音のピッチのずれは、音高が変化した後に発生し、その後なくなる。したがって、電子楽器１０でもこのような変化を再現するために、ステップＳ２１０の出力処理は、加工済波形データを出力した後に、加工処理がされていない未加工波形データを出力する処理であってもよい。
【００４４】
一方、ステップＳ２０１において取得したコマンドがノートオンコマンドでない場合（ステップＳ２０４：ＮＯ）、すなわちノートオフコマンドである場合、音源部１７は、ノートオフ処理を実行する（ステップＳ２１１）。そして、音源部１７は、ステップＳ２０１の処理に戻る。
【００４５】
音源部１７は、ステップＳ２０１において新しいコマンドを受信する度に、ステップＳ２０２〜Ｓ２１１の処理を繰り返す。すなわち、処理の流れとしては、音源部１７は、まず、或る第１ノートオンコマンドの情報である第１ノートオン情報を読み込むと、第１ノートオン情報に基づいて決定される第１波形データを出力する第１出力処理を実行する。第１波形データは、加工済であってもよいが、第１ノートオン情報が電子楽器１０の電源投入後に作成された最初のノートオンコマンドの情報である場合には、未加工であってもよい。その後、音源部１７は、次のノートオンコマンドの情報である第２ノートオン情報を読み込むと、第２ノートオン情報に基づいて決定される加工済第２波形データを出力する第２出力処理を実行する。
【００４６】
また、本実施形態では、音源部１７に対する発音指示が、ノートオンコマンドであることを前提に説明したが、本実施形態はこれに限定されない。すなわち、発音指示は、ノートオンコマンド以外の、任意の規格に基づくコマンドであってもよい。したがって、発音指示情報も、ノートオン情報以外の、任意の規格に基づく発音指示情報であってもよい。
【００４７】
以上のように、本実施形態の電子楽器１０によれば、まず、第１発音指示情報に基づいて決定される第１波形データを出力する。その後、電子楽器１０は、第２発音指示情報に基づいて決定される第２波形データに対して、第１発音指示情報と第２発音指示情報との相違に応じた加工処理を実行し、加工済第２波形データを出力する。これにより、電子楽器１０は、実際のアコースティック楽器の音や人の歌声に発生するピッチのずれを再現できる。
【００４８】
また、電子楽器１０は、加工済第２波形データを出力した後に、加工処理がされていない未加工第２波形データを出力する。これにより、電子楽器１０は、加工処理がされた音が出力されたままになることを回避できる。
【００４９】
また、電子楽器１０は、相違値が大きくなるにつれて、大きく加工処理がされた加工済第２波形データを出力する。これにより、電子楽器１０は、実際のアコースティック楽器の音や人の歌声において、音高の変化が大きいほど、音高が変化した後の音の出だしが不安定になる傾向を反映できる。
【００５０】
また、電子楽器１０は、第２波形データに対して、ノートナンバー情報の相違に応じたピッチシフト処理を実行する。これにより、電子楽器１０は、音高が変化した後に発生するピッチのずれを、適切に再現できる。
【００５１】
また、電子楽器１０は、管楽器の楽音波形データ、弦楽器の楽音波形データ、或いは歌声の歌声波形データを加工して出力する。これにより、電子楽器１０は、ピッチのずれが発生しうる、アコースティック楽器の音や人の歌声等の様々な音色を再現できる。
【００５２】
なお、上記実施形態において、電子楽器１０は、再現するアコースティック楽器や歌声の音色毎に異なる加工テーブルを有してもよい。電子楽器１０は、音色毎に異なる加工テーブルを有することにより、音色毎に最適な加工処理を実行できる。或いは、電子楽器１０は、一つのアコースティック楽器の音色に対して複数の加工テーブルを有してもよく、スイッチ部１２や表示部１３を介して、参照する加工テーブルを演奏者に選択させてもよい。電子楽器１０が、一つの音色に対して複数の加工テーブルを有することにより、演奏者は、演奏する楽曲や再現したい弾き方等に応じて、電子楽器１０の加工量を変更できる。
【００５３】
また、上記実施形態において、電子楽器１０は、今回ノートナンバーが前回ノートナンバーより大きい場合にプラスの加工量を適用し、今回ノートナンバーが前回ノートナンバーより小さい場合にマイナスの加工量を適用すると説明した。しかし、本実施形態はこれに限定されず、電子楽器１０は、加工量のプラスとマイナスとを逆転させてもよい。すなわち、今回ノートナンバーが前回ノートナンバーより大きい場合にマイナスの加工量を適用し、今回ノートナンバーが前回ノートナンバーより小さい場合にプラスの加工量を適用してもよい。これにより、電子楽器１０は、様々な演奏表現を実現できる。
【００５４】
［変形例１］
上記実施形態では、電子楽器１０が、ノートナンバー差Ｎに応じたピッチシフト処理を実行すると説明した。変形例１では、電子楽器１０が、ピッチシフト処理以外の加工処理を実行することについて説明する。
【００５５】
上述したように、実際のアコースティック楽器の音や人の歌声では、音高の変化に伴い、音高が変化した後の音の出だしのピッチが不安定になる。ただし、不安定になる音の要素は、音のピッチに限定されない。例えば、音高を変化させる際の発音制御が難しいことから、音高が変化した後に発音される音の音量も、不安定になりやすい。そこで、変形例１の電子楽器１０は、ノートナンバー差Ｎに応じて、後のノートオンコマンドの情報に基づいて決定される波形データに対して、音量変更処理を実行する。
【００５６】
変形例１の音源部１７は、図５の処理を実行するにあたり、ステップＳ２０８およびＳ２０９について上記実施形態とは異なる処理を実行する。
【００５７】
図６は、ノートナンバー差とピッチシフト量および音量変更量との関係を示す図である。
【００５８】
ステップＳ２０８では、音源部１７は、図３に示す加工テーブルＴ１の代わりに、図６に示す加工テーブルＴ２に基づいて、加工量を取得する。図６に示すように、加工テーブルＴ２は、ピッチシフト量だけでなく音量変更量も加工量として含む。したがって、音源部１７は、ピッチシフト量または音量変更量のいずれか一方を、或いは、ピッチシフト量および音量変更量の両方を、加工量として取得する。図６に示す例では、ノートナンバー差Ｎの絶対値が増加するにつれて（すなわち、連続する二音の音高差が増加するにつれて）、ピッチシフト量および音量変更量の絶対値が増加している。これは、実際のアコースティック楽器の音や人の歌声において、音高の変化が大きいほど、音高が変化した後の音の出だしのピッチおよび音量が不安定になる傾向を反映したものである。なお、音量変更量の値は、図６に示す例に限定されない。また、音量変更量は、図６に示す例ではデシベルの単位により設定されているが、異なる単位により設定されてもよい。
【００５９】
ステップＳ２０９では、音源部１７は、加工テーブルＴ２に応じたピッチシフト量および／または音量変更量に基づいて、波形データに対して、ピッチシフト処理および／または音量変更処理を実行する。すなわち、音源部１７は、ピッチシフト処理または音量変更処理のいずれか一方を、或いは、ピッチシフト処理および音量変更処理の両方を、加工処理として実行する。音源部１７は、ピッチシフト処理および音量変更処理の両方を実行する場合、いずれの処理から実行してもよい。ステップＳ２０９において実行する処理は、スイッチ部１２や表示部１３を介して、予め演奏者によって選択されてもよい。
【００６０】
以上のように、変形例１の電子楽器１０によれば、第２波形データに対して、ノートナンバー情報の相違に応じた音量変更処理も実行しうる。これにより、電子楽器１０は、実際のアコースティック楽器の音や人の歌声において、音高が変化した後に発生する音量の不安定さも、適切に再現できる。
【００６１】
［変形例２］
上記実施形態では、電子楽器１０が、ノートナンバー差Ｎに応じた加工処理を実行すると説明した。変形例２では、電子楽器１０が、ノートナンバー差Ｎ以外のパラメーターに応じた加工処理を実行することについて説明する。
【００６２】
上述したように、実際のアコースティック楽器の音や人の歌声では、音高の変化に伴い、音高が変化した後の音の出だしが不安定になる。しかし、音の出だしが不安定になる要因は、音高の変化に限定されない。例えば、同じ音高の音を異なる音量で連続して発音させようとすると、音量を変化させる際の発音制御が難しいことから、音量が変化した後に発音される音の出だしも、不安定になりやすい。そこで、変形例２の電子楽器１０は、連続する二回のノートオンコマンドに含まれるベロシティ情報の相違に応じて、後のノートオンコマンドの情報に基づいて決定される波形データに対して、ピッチシフト処理または音量変更処理を実行する。
【００６３】
変形例２の音源部１７は、図５の処理を実行するにあたり、ステップＳ２０５〜Ｓ２０９について上記実施形態とは異なる処理を実行する。
【００６４】
ステップＳ２０５では、音源部１７は、ノートオン情報を読み込む読込処理を実行し、今回ノートナンバー情報の代わりに、ノートオン情報に含まれるベロシティ（以下「今回ベロシティ」と呼ぶ）の情報を保存する。また、ステップＳ２０６では、音源部１７は、前回ノートナンバー情報の代わりに、前回保存したベロシティ（以下「前回ベロシティ」と呼ぶ）の情報を読み込む。さらに、ステップＳ２０７では、音源部１７は、今回ベロシティおよび前回ベロシティの相違に応じた相違値である、ベロシティ差Ｖを算出する。
【００６５】
図７は、ベロシティ差とピッチシフト量および音量変更量との関係を示す図である。
【００６６】
ステップＳ２０８では、音源部１７は、図７に示す加工テーブルＴ３に基づいて、加工量を取得する。図７に示すように、加工テーブルＴ３は、ベロシティ差Ｖに応じた加工量を含む。図７に示す例では、加工テーブルＴ３は、ピッチシフト量および音量変更量の両方を含んでいるが、加工テーブルＴ３が含む加工量はこれに限定されず、ピッチシフト量のみを含んでもよいし、音量変更量のみを含んでもよい。音源部１７は、ピッチシフト量または音量変更量のいずれか一方を、或いは、ピッチシフト量および音量変更量の両方を、加工量として取得する。
【００６７】
ステップＳ２０９では、音源部１７は、加工テーブルＴ３に応じたピッチシフト量および／または音量変更量に基づいて、波形データに対して、ピッチシフト処理および／または音量変更処理を実行する。ステップＳ２０９において実行する処理は、スイッチ部１２や表示部１３を介して、予め演奏者によって選択されてもよい。
【００６８】
以上のように、変形例２の電子楽器１０によれば、第２波形データに対して、ベロシティ情報の相違に応じた加工処理を実行しうる。これにより、電子楽器１０は、音量が変化した後に発音される音の不安定さも、適切に再現できる。
【００６９】
なお、変形例２では、電子楽器１０は、ベロシティ情報の相違に応じた加工処理を実行すると説明したが、さらに、変形例１のノートナンバー情報の相違に応じた加工処理を組み合わせて実行してもよい。電子楽器１０は、例えば、図６に示す加工テーブルＴ２に基づいて、ノートナンバー差Ｎに応じたピッチシフト量を取得しつつ、図７に示す加工テーブルＴ３に基づいて、ベロシティ差Ｖに応じたピッチシフト量を取得してもよい。そして、例えば、ノートナンバー差Ｎに応じたピッチシフト量が＋１セント、ベロシティ差Ｖに応じたピッチシフト量が＋０．５セントである場合、電子楽器１０は、合計ピッチシフト量である＋１．５セントを、ピッチシフト処理のピッチシフト量としてもよい。或いは、電子楽器１０は、より大きいピッチシフト量である＋１セントを、ピッチシフト量としてもよい。
【００７０】
［変形例３］
上記実施形態では、電子楽器１０が、連続する二回のノートオンコマンドに含まれる情報の相違に応じて、加工処理を実行すると説明した。変形例３では、電子楽器１０が、連続する二回のノートオンコマンドの情報を読み込んだ時間の相違に応じて、加工処理を実行することについて説明する。
【００７１】
上述したように、実際のアコースティック楽器の音や人の歌声では、音高および／または音量の変化に伴い、変化後の音の出だしが不安定になる。しかし、音の出だしが不安定になる要因は、これらの変化に限定されない。例えば、楽器を速く演奏（速弾き等）をする場合には、発音制御が難しいことから、発音される音のピッチや音量は不安定になりやすい。そこで、変形例３の電子楽器１０は、連続する二回のノートオンコマンドの情報を読み込んだ時間の相違に応じて、後のノートオンコマンドの情報に基づいて決定される波形データに対して、加工処理を実行する。
【００７２】
図８は、音源処理の手順の他の例を示すフローチャートである。図９は、読込時間差とピッチシフト量および音量変更量との関係を示す図である。図８のフローチャートに示すアルゴリズムは、ＲＯＭ１５等にプログラムとして記憶されており、音源部１７によって実行される。なお、図８のステップＳ３０１〜Ｓ３０４、Ｓ３１０およびＳ３１１は、図４のステップＳ２０１〜Ｓ２０４、Ｓ２１０およびＳ２１１と同様の処理であるため、説明を省略する。
【００７３】
ステップＳ３０４において、取得したコマンドがノートオンコマンドである場合（ステップＳ３０４：ＹＥＳ）、音源部１７は、ステップＳ３０５の処理に進む。そして、音源部１７は、ノートオン情報を読み込む読込処理を実行し、さらに、ノートオン情報を読み込んだ時間（以下「今回読込時間」と呼ぶ）の情報をＲＯＭ１５等に保存する（ステップＳ３０５）。さらに、音源部１７は、前回保存した読込時間（以下「前回読込時間」と呼ぶ）の情報をＲＯＭ１５等から読み込む読込処理を実行する（ステップＳ３０６）。
【００７４】
続いて、音源部１７は、ステップＳ３０５およびＳ３０６における読込処理により読み込まれた今回読込時間および前回読込時間の相違に応じた相違値である、読込時間差Ｔを算出する時間差算出処理を実行する（ステップＳ３０７）。そして、音源部１７は、図９に示すような加工テーブルＴ４に基づいて、ステップＳ３０７における時間差算出処理により算出された読込時間差Ｔに応じた加工量を取得する（ステップＳ３０８）。図９に示すように、加工テーブルＴ４は、読込時間差Ｔに応じた加工量を含む。図９に示す例では、加工テーブルＴ４は、読込時間差Ｔが５０〜１０００ｍｓの範囲における、ピッチシフト量および音量変更量の数値を含んでいるが、加工テーブルＴ４が含む数値はこれに限定されない。
【００７５】
さらに、音源部１７は、ノートオン情報に基づいて決定される波形データに対して、ステップＳ３０８において取得した加工量に基づく加工処理を実行する（ステップＳ３０９）。ステップＳ３０７において算出された読込時間差Ｔが、加工テーブルＴ４の読込時間差Ｔの範囲に含まれない場合、音源部１７は加工処理を実行しない。図９に示す例では、ステップＳ３０７において算出された読込時間差Ｔが、５０ｍｓ以上でない場合、音源部１７は加工処理を実行しない。
【００７６】
以上のように、変形例３の電子楽器１０によれば、第２波形データに対して、読込時間情報の相違に応じた加工処理を実行しうる。これにより、電子楽器１０は、実際のアコースティック楽器の音や人の歌声において、楽器を速く演奏した場合または速く歌唱した場合に発生する音の不安定さも、適切に再現できる。
【００７７】
なお、変形例３では、電子楽器１０は、ノートオン情報を読み込んだ時間の相違に応じた加工処理を実行すると説明したが、本実施形態はこれに限定されない。電子楽器１０は、ノートオン情報を読み込んだ時間の情報を保存するのではなく、ノートオフ情報を読み込んだ時間の情報を保存してもよい。そして、電子楽器１０は、ステップＳ３０７において、今回ノートオン情報を読み込んだ時間と、前回ノートオフ情報を読み込んだ時間との読込時間差Ｔを算出してもよい。これにより、電子楽器１０は、先のノートオンコマンドに応じた波形データの出力が終了してから、後のノートオンコマンドに応じた波形データの出力が開始されるまでの時間を基準にして、加工処理を実行できる。
【００７８】
また、電子楽器１０は、変形例１、変形例２および変形例３を組み合わせた処理を実行してもよい。すなわち、電子楽器１０は、ノートナンバー差Ｎ、ベロシティ差Ｖおよび読込時間差Ｔの各要素に基づいて、ピッチシフト量および／または音量変更量を取得し、加工処理を実行してもよい。
【００７９】
また、本発明は、電子楽器の用途のみに限定されず、例えば、ＰＣにおいて実施される楽曲制作において、ＭＩＤＩ音源に基づいて音を出力する場合等に応用されてもよい。
【００８０】
その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。以下では、出願当初の特許請求の範囲に記載された発明について付記する。
【００８１】
（付記）
［請求項１］
第１発音指示情報及び、前記第１発音指示情報の後に第２発音指示情報を読み込む読込処理と、
前記第１発音指示情報に基づいて決定される第１波形データを出力する第１出力処理と、
前記読込処理により読み込まれた前記第１発音指示情報と前記第２発音指示情報との相違に応じた相違値を算出する相違値算出処理と、
前記第２発音指示情報に基づいて決定される第２波形データに対して、前記相違値算出処理により算出された前記相違値に応じた加工処理がされている加工済第２波形データを出力する第２出力処理と、
を実行する音源部を備えた電子楽器。
【００８２】
［請求項２］
前記第２出力処理は、前記加工済第２波形データを出力した後に、前記相違値に応じた加工処理がされていない未加工第２波形データを出力する、請求項１に記載の電子楽器。
【００８３】
［請求項３］
前記第２出力処理は、前記相違値が大きくなるにつれて、大きく加工処理がされた前記加工済第２波形データを出力する、請求項１または２に記載の電子楽器。
【００８４】
［請求項４］
前記第１発音指示情報及び前記第２発音指示情報は、演奏者により操作された操作子を示すノートナンバー情報を含むノートオン情報であり、
前記第２出力処理における前記加工処理は、前記第２波形データに対するピッチシフト処理である、請求項１〜３のいずれか一項に記載の電子楽器。
【００８５】
［請求項５］
前記第１発音指示情報及び前記第２発音指示情報は、出力される音量を示すベロシティ情報を含むノートオン情報であり、
前記第２出力処理における前記加工処理は、前記第２波形データに対する音量変更処理である、請求項１〜３のいずれか一項に記載の電子楽器。
【００８６】
［請求項６］
前記音源部は、前記読込処理が前記第１発音指示情報を読み込んだ第１タイミングと、前記第２発音指示情報を読み込んだ第２タイミングとの間の時間差を算出する時間差算出処理をさらに実行し、
前記第２出力処理は、前記時間差算出処理により算出された前記時間差が或る閾値より大きい場合、前記加工済第２波形データを出力する、請求項１〜５のいずれか一項に記載の電子楽器。
【００８７】
［請求項７］
前記第１波形データ及び前記第２波形データは、管楽器の楽音波形データ、弦楽器の楽音波形データ、或いは歌声の歌声波形データのいずれかである、請求項１〜６のいずれか一項に記載の電子楽器。
【００８８】
［請求項８］
第１発音指示情報及び、前記第１発音指示情報の後に第２発音指示情報を読み込む読込ステップと、
前記第１発音指示情報に基づいて決定される第１波形データを出力する第１出力ステップと、
前記読込処理により読み込まれた前記第１発音指示情報と前記第２発音指示情報との相違に応じた相違値を算出する相違値算出ステップと、
前記第２発音指示情報に基づいて決定される第２波形データに対して、前記相違値算出処理により算出された前記相違値に応じた加工処理がされている加工済第２波形データを出力する第２出力ステップと、
を含む楽音発生方法。
【００８９】
［請求項９］
第１発音指示情報及び、前記第１発音指示情報の後に第２発音指示情報を読み込む読込ステップと、
前記第１発音指示情報に基づいて決定される第１波形データを出力する第１出力ステップと、
前記読込処理により読み込まれた前記第１発音指示情報と前記第２発音指示情報との相違に応じた相違値を算出する相違値算出ステップと、
前記第２発音指示情報に基づいて決定される第２波形データに対して、前記相違値算出処理により算出された前記相違値に応じた加工処理がされている加工済第２波形データを出力する第２出力ステップと、
をコンピューターに実行させるためのプログラム。
【符号の説明】
【００９０】
１０  電子楽器
１１  鍵盤
１２  スイッチ部
１３  表示部
１４  ＣＰＵ
１５  ＲＯＭ
１６  ＲＡＭ
１７  音源部
１８  発音部
【図１】
2018146928.tif 000003
【図２】
2018146928.tif 000004
【図３】
2018146928.tif 000005
【図４】
2018146928.tif 000006
【図５】
2018146928.tif 000007
【図６】
2018146928.tif 000008
【図７】
2018146928.tif 000009
【図８】
2018146928.tif 000010
【図９】
2018146928.tif 000011