(57)【特許請求の範囲】
【請求項１】
同時又はほぼ同時に発音開始の指定がされている複数の音符データと、同時又はほぼ同時に発音開始の指定がされている他の音符データがない単音の音符データとを楽曲データから抽出する抽出手段と、
前記抽出した複数の音符データの音高を比較し、該複数の音符データのそれぞれを最高声部、最低声部及びその他の声部のいずれかに分類する第１の分類手段と、
前記抽出した単音の音符データと前記第１の分類手段により分類された前記複数の音符データとを比較し、前記抽出した単音の音符データを最高声部、最低声部及びその他の声部のいずれかに分類する第２の分類手段と、
前記第１及び第２の分類手段による分類に応じて、前記複数の音符データ及び単音の音符データの発音音量を制御する制御手段と
を有する演奏情報処理装置。
【請求項２】
前記制御手段は、前記最高声部に分類された複数の音符データ及び単音の音符データの発音音量を強くする請求項１記載の演奏情報処理装置。
【請求項３】
前記制御手段は、前記最低声部に分類された複数の音符データ及び単音の音符データの発音音量を強くする請求項１又は２記載の演奏情報処理装置。
【請求項４】
同時又はほぼ同時に発音開始の指定がされている複数の音符データと、同時又はほぼ同時に発音開始の指定がされている他の音符データがない単音の音符データとを楽曲データから抽出する抽出工程と、
前記抽出した複数の音符データの音高を比較し、該複数の音符データのそれぞれを最高声部、最低声部及びその他の声部のいずれかに分類する第１の分類工程と、
前記抽出した単音の音符データと前記第１の分類工程により分類された前記複数の音符データとを比較し、前記抽出した単音の音符データを最高声部、最低声部及びその他の声部のいずれかに分類する第２の分類工程と、
前記第１及び第２の分類工程による分類に応じて、前記複数の音符データ及び単音の音符データの発音音量を制御する制御工程と
を有する演奏情報処理方法。
【請求項５】
同時又はほぼ同時に発音開始の指定がされている複数の音符データと、同時又はほぼ同時に発音開始の指定がされている他の音符データがない単音の音符データとを楽曲データから抽出する抽出手順と、
前記抽出した複数の音符データの音高を比較し、該複数の音符データのそれぞれを最高声部、最低声部及びその他の声部のいずれかに分類する第１の分類手順と、
前記抽出した単音の音符データと前記第１の分類手順により分類された前記複数の音符データとを比較し、前記抽出した単音の音符データを最高声部、最低声部及びその他の声部のいずれかに分類する第２の分類手順と、
前記第１及び第２の分類手順による分類に応じて、前記複数の音符データ及び単音の音符データの発音音量を制御する制御手順と
を有する演奏情報処理手順をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、演奏情報処理装置に関し、より詳しくは、演奏情報の音量バランスを適切に編集する演奏情報処理装置に関する。
【０００２】
【従来の技術】
自動演奏装置等で、音符の情報のみのＭＩＤＩデータ等の楽曲データを演奏すると機械的で無表情な演奏になってしまう。これを、より自然な演奏にする為には、様々な音楽的表現や、演奏表現を制御データとして楽曲データに付け加えてやる必要がある。
【０００３】
例えば、複音で演奏されたピアノ音色のＭＩＤＩデータなどに対して、メロディ音とハーモニー音を区別して、メロディ音は大きめに、ハーモニー音は小さめに音量バランスを制御することで演奏表現を付加することが効果的である。
【０００４】
【発明が解決しようとする課題】
人間が、楽譜を見て演奏する際は、それが複音の楽譜であれば、自分の演奏を聞きながら音量のバランスをとることができる。しかし、コンピュータ等の自動演奏装置に自然な音量バランスで演奏させるためには、予め音量バランスを考慮して楽曲データに演奏表現を加えてやる必要が有る。
【０００５】
音量バランスをＭＩＤＩデータ等の楽曲データに付加するためには、楽曲の特性や、楽曲データの取り扱いを熟知している必要がある。また、このようなことを熟知しているものにとっても、手作業で、音量バランスを変更するのは、煩雑であり、時間を要する。
【０００６】
本発明の目的は、楽曲データに対して自動で簡単に演奏表現を付加することができる演奏情報処理装置を提供することである。
【０００７】
【課題を解決するための手段】
本発明の一観点によれば、演奏情報処理装置は、同時又はほぼ同時に発音開始の指定がされている複数の音符データと、同時又はほぼ同時に発音開始の指定がされている他の音符データがない単音の音符データとを楽曲データから抽出する抽出手段と、前記抽出した複数の音符データの音高を比較し、該複数の音符データのそれぞれを最高声部、最低声部及びその他の声部のいずれかに分類する第１の分類手段と、前記抽出した単音の音符データと前記第１の分類手段により分類された前記複数の音符データとを比較し、前記抽出した単音の音符データを最高声部、最低声部及びその他の声部のいずれかに分類する第２の分類手段と、前記第１及び第２の分類手段による分類に応じて、前記複数の音符データ及び単音の音符データの発音音量を制御する制御手段とを有する。
【０００８】
【発明の実施の形態】
図１は、本発明の実施例による演奏情報処理装置１を構成するコンピュータ又は電子楽器のハードウェア構成を示すブロック図である。
【０００９】
演奏情報処理装置１はバス２、ＲＯＭ３、ＲＡＭ４、ＣＰＵ５、タイマ６、外部記憶装置７、検出回路８、設定操作子９、演奏操作子１０、表示回路１１、ディスプレイ１２、音源回路１３、効果回路（ＤＳＰ）１４、サウンドシステム１５、ＭＩＤＩインターフェイス１６、通信インターフェイス１８を含んで構成される。
【００１０】
バス２には、ＲＯＭ３、ＲＡＭ４、ＣＰＵ５、タイマ６、外部記憶装置７、検出回路８、表示回路１１、音源回路１３、ＤＳＰ１４、ＭＩＤＩインターフェイス１６、ＭＩＤＩ機器１７、通信インターフェイス１８が接続される。
【００１１】
ＲＯＭ３には、各種パラメータ及び制御プログラム、楽曲データ又は本実施例を実現するためのプログラム等を記憶することができる。この場合、プログラム等を重ねて、外部記憶装置７に記憶する必要は無い。
【００１２】
ＲＡＭ４は、フラグ、レジスタ又はバッファ、各種パラメータ等を記憶するＣＰＵ５のワーキングエリアを有する。
【００１３】
ＣＰＵ５は、ＲＯＭ３又は、外部記憶装置７に記憶されている制御プログラム等に従い、演算又は制御を行う。タイマ６は、基本クロック信号、割り込み処理タイミング等をＣＰＵ５に供給する。
【００１４】
外部記憶装置７は、外部記憶装置用のインターフェイスを含み、そのインターフェイスを介してバス２に接続される。外部記憶装置７は、例えばフロッピー（登録商標）ディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、光磁気ディスク（ＭＯ）ドライブ、ＣＤ−ＲＯＭ（コンパクトディスク−リードオンリィメモリ）ドライブ、ＤＶＤ（Ｄｉｇｉｔａｌ Ｖｅｒｓａｔｉｌｅ Ｄｉｓｃ）ドライブ、半導体メモリ等である。
【００１５】
外部記憶装置７には、楽曲データ、各種パラメータ、各種データ、及び本実施例を実現するためのプログラム等を記憶することができる。
【００１６】
楽曲データは、例えばＳＭＦ（Ｓｔａｎｄａｒｄ  ＭＩＤＩ  Ｆｉｌｅ）フォーマットに準拠した、自動楽曲データであり、先頭に記録される初期設定情報と、発音タイミングを表すタイミングデータと、各タイミング毎のイベントを表すイベントデータとを含んで構成されている。また、楽曲データＭＤは複数のトラックで構成することも出来る。
【００１７】
外部記憶装置７として、ハードディスクドライブ（ＨＤＤ）が接続されている場合には、制御プログラム又は本実施例を実現するためのプログラム等は、外部記憶装置７内のハードディスク（ＨＤＤ）に記憶させることもできる。ハードディスクからＲＡＭ４に制御プログラム等を読み出すことにより、ＲＯＭ３に制御プログラム等を記憶させている場合と同様の動作をＣＰＵ５にさせることができる。このようにすると、制御プログラム等の追加やバージョンアップ等が容易に行える。
【００１８】
また、ハードディスクドライブに加えて、ＣＤ−ＲＯＭドライブが接続されている場合には、制御プログラム又は本実施例を実現するためのプログラム等をＣＤ−ＲＯＭに記憶させることもできる。ＣＤ−ＲＯＭからハードディスクに制御プログラムや本実施例を実現するためのプログラム等をコピーすることができる。制御プログラム等の新規インストールやバージョンアップを容易に行うことができる。
【００１９】
設定操作子９は、検出回路８に接続され、例えば、文字入力用キーボード、マウス、ロータリーエンコーダ、スイッチ、パッド、フェーダ、スライダ、演奏用の鍵盤、ジョイスティック、ジョグシャトル等であり、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。
【００２０】
また、設定操作子９は、マウス等の他の操作子を用いて操作するディスプレイ１２上に表示されるソフトスイッチ等でもよい。
【００２１】
演奏操作子１０は、検出回路８に接続され、ユーザの演奏動作に従い、演奏信号を供給する。演奏操作子１０として、演奏用の鍵盤、パッド等を用いることができる。なお、演奏操作子１０はこれらに限らず、ユーザが演奏情報を入力できるものであればどのようなものでもよい。例えば、文字入力用のキーボードや、マウス、ジョイスティック等を演奏操作子１０として用いることも出来る。
【００２２】
表示回路１１は、ディスプレイ１２に接続され、各種情報をディスプレイ１２に表示することができる。ユーザは、このディスプレイ１２に表示される情報を参照して、各種情報の入力及び各種設定を行う。ディスプレイ１２には、楽曲データに関する情報や、楽譜等を表示することが出来る。また、ディスプレイ１２は、外部の表示装置を接続することにより構成してもよい。
【００２３】
また、ディスプレイ１２に、タッチパネルを用いることができる。この場合は、ディスプレイ１２上に表示されるスイッチ等をユーザが押すことによりユーザの指示を入力することが出来るので、設定操作子９の機能を兼ねることが出来る。
【００２４】
音源回路１３は、外部記憶装置７、ＲＯＭ３又はＲＡＭ４等に記録された楽曲データ若しくはＭＩＤＩインターフェイス１６に接続されたＭＩＤＩ機器１７等から供給される演奏信号、ＭＩＤＩ信号等に応じて楽音信号を生成し、ＤＳＰ１４を介して、サウンドシステム１５に供給する。
【００２５】
ＤＳＰ１４は、音源回路１３から供給される楽音信号に対して、各種音楽的効果を付与する。
【００２６】
サウンドシステム１５は、Ｄ／Ａ変換器及びスピーカを含み、供給されるデジタル形式の楽音信号をアナログ形式に変換し、発音する。
【００２７】
なお、音源回路１３は、波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）＋ＶＣＦ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｆｉｌｔｅｒ）＋ＶＣＡ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ａｍｐｌｉｆｉｅｒ）のアナログシンセサイザ方式等、どのような方式であってもよい。
【００２８】
また、音源回路１３は、専用のハードウェアを用いて構成するものに限らず、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）＋マイクロプログラムを用いて構成してもよいし、ＣＰＵ＋ソフトウェアのプログラムで構成するようにしてもよいし、サウンドカードのようなものでもよい。
【００２９】
さらに、１つの音源回路を時分割で使用することにより複数の発音チャンネルを形成するようにしてもよいし、複数の音源回路を用い、１つの発音チャンネルにつき１つの音源回路で複数の発音チャンネルを構成するようにしてもよい。
【００３０】
ＭＩＤＩインターフェイス（ＭＩＤＩ  Ｉ／Ｆ）１６は、ＭＩＤＩ機器１７、その他の楽器、音響機器、コンピュータ等に接続できるものであり、少なくともＭＩＤＩ信号を送受信できるものである。ＭＩＤＩインターフェイス１６は、専用のＭＩＤＩインターフェイスに限らず、ＲＳ−２３２Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインターフェイスを用いて構成してもよい。この場合、ＭＩＤＩメッセージ以外のデータをも同時に送受信するようにしてもよい。
【００３１】
ＭＩＤＩ機器１７は、ＭＩＤＩインターフェイス１６に接続される音響機器及び楽器等である。ＭＩＤＩ機器１７の形態は鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態でもよい。また、音源装置、自動演奏装置等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、ＭＩＤＩや各種ネットワーク等の通信工程を用いて各装置を接続するものであってもよい。ユーザは、このＭＩＤＩ機器１７を演奏（操作）することにより演奏情報の入力を行うこともできる。
【００３２】
また、ＭＩＤＩ機器１７は、演奏情報以外の各種データ及び各種設定を入力するための操作子としても用いることが出来る。
【００３３】
通信インターフェイス１８は、ＬＡＮ（ローカルエリアネットワーク）やインターネット、電話回線等の通信ネットワーク１９に接続可能であり、該通信ネットワーク１９を介して、サーバコンピュータと接続し、ＨＤＤ等外部記憶装置７、又はＲＡＭ４等内に、サーバコンピュータから楽曲データ、制御プログラムや本実施例を実現するためのプログラム等をダウンロードすることができる。
【００３４】
なお、通信インターフェイス１８及び通信ネットワーク１９は、有線のものに限らず無線でもよい。また双方を備えていてもよい。
【００３５】
図２は、演奏情報処理装置１で行うメイン処理を表すフローチャートである。
【００３６】
ステップＳＡ１ではメイン処理をスタートして、次のステップＳＡ２に進む。
【００３７】
ステップＳＡ２では、ＲＡＭ４内の各種フラグやバッファをクリアして、初期設定を行う。その後、次のステップＳＡ３に進む。
【００３８】
ステップＳＡ３では、本実施例による楽曲データ加工処理を行う楽曲データの選択をする。楽曲データの選択は、例えば、外部記憶装置７等に保存されている楽曲データをディスプレイ１２等にリスト表示し、ユーザがそれを参照して、設定操作子９等により選択する。選択された楽曲データは、ＲＡＭ４に読み込まれる。その後、次のステップＳＡ４に進む。
【００３９】
ステップＳＡ４では、設定操作子９の操作状況を受付け、機器の設定や、本実施例による楽曲データ加工処理の設定、自動演奏等の指示、その他の設定を実行する。例えば、後述する楽曲データ加工処理を行う楽曲データの対象トラックを選択する。対象トラックは単一でもよいし、複数でもよい。また、対象トラック中の加工処理を行う範囲（加工範囲）を設定する。加工範囲は、対象トラックの全部でもよいし、一部でもよい。その後、次のステップＳＡ５に進む。
【００４０】
ステップＳＡ５では、ステップＳＡ３で選択され読み込まれた楽曲データに対して、後に図３を参照して説明する楽曲データ加工処理を行う。その後、ステップＳＡ６に進む。
【００４１】
ステップＳＡ６では、ステップＳＡ５で加工された楽曲データ、その他の楽曲データ又は演奏者が演奏操作子１０を介して入力する演奏情報に基づき演奏信号を生成する。その後、次のステップＳＡ７に進む。
【００４２】
ステップＳＡ７では、ステップＳＡ６で、生成した演奏信号を、例えば、音源回路１３等に送り、楽音信号を生成させ、ＤＳＰ１４で効果を付加して、サウンドシステム１５より発音させる。その後、次のステップＳＡ８に進みメイン処理を終了する。
【００４３】
なお、楽曲データの再生が設定されていない場合は、ステップＳＡ５の楽曲データ加工処理の後、ステップＳＡ８に進んで、メイン処理を終了する。
【００４４】
図３は、図２のステップＳＡ５で行う楽曲データ加工処理を表すフローチャートである。
【００４５】
この楽曲データ加工処理は、複音の楽曲データから強調すべき音（音符データ）とそうでない音を分離抽出し、音量バランスを適切に制御するための処理である。
【００４６】
具体的には、同時刻に発音中となる音符データ群を検索し、その最高音を最高声部（メロディライン）、最低音を最低声部（ベースライン）とし、音量を強めに設定する。単に、同時又はほぼ同時に発音開始する音符データ群を検索することもできるが、そのようにすると、上声部と下声部でリズムが違う場合に不都合が生じてしまう。
【００４７】
なお、本明細書において、「ほぼ同時に発音される」（又は「ほぼ同時刻に発音中となる」）音符データ群とは、音楽的に又は聴感上同時に発音していると考えられる程度の時間差で発音される（又は発音中となる）複数の音符データである。また、音楽的に和音としてみなされる一連の音符群も「ほぼ同時に発音される」音符データ群として考えられる。
【００４８】
また、単音の場合は、前後の状況により最高声部、最低声部又はその他の声部のいずれかに決定して、音量を設定する。その他の声部のうち、同時に発音している音（音符データ）に対して、音長が比較的短いものは、メロディ（又は装飾的な音）であるとみなして、音量を強めに設定する。それ以外のものは音量を弱めに設定する。
【００４９】
ステップＳＢ１では、楽曲データ加工処理を開始して、次のステップＳＢ２に進む。
【００５０】
ステップＳＢ２では、図２のステップＳＡ４で選択された対象トラックが単一トラックであるか、複数トラックであるかを判断する。単一トラックに対する加工処理である場合は、ＹＥＳの矢印で示すステップＳＢ３に進む。複数トラックにまたがる加工処理である場合は、ＮＯの矢印で示すステップＳＢ２０に進む。
【００５１】
ステップＳＢ３では、加工処理対象トラックから、一定時間分の音符データ群を対象音符データとして抽出する。対象音符データの抽出は、加工範囲の先頭タイミングから順次行われる。その後、次のステップＳＢ４に進む。
【００５２】
ステップＳＢ４では、ステップＳＢ３で抽出した音符データ群の中に同時刻若しくはほぼ同時刻に発音する複数の音符データがあるか否かを検出する。ここで、検出する音符データは、同時（又はほぼ同時）に発音開始するものだけでなく、同時刻に（又はほぼ同時刻に）発音中となる複数の音符データを含む。ほぼ同時刻に発音する複数の音符データがある場合は、ＹＥＳの矢印で示すステップＳＢ５に進み、ない場合は、ＮＯの矢印で示すステップＳＢ１５に進む。
【００５３】
ステップＳＢ５では、ステップＳＢ４で検出した同時刻若しくはほぼ同時刻に発音する複数の音符データの平均音長を算出する。その後、次のステップＳＢ６に進む。
【００５４】
ステップＳＢ６では、ステップＳＢ４で検出した同時刻若しくはほぼ同時刻に発音する複数の音符データの中から、加工特定されていない音符データを１つ抽出する。その後、次のステップＳＢ７に進む。
【００５５】
ステップＳＢ７では、ステップＳＢ６で抽出した音符データの音長がステップＳＢ５で算出した平均音長の半分以下であるか否かを判断する。音長が平均音長の半分以下である場合、すなわち、周囲の音符データに対して比較的音長が短い場合は、ＹＥＳの矢印で示すステップＳＢ８に進む。音長が平均音長の半分以下でない場合、すなわち、比較的に音長が長い場合は、ＮＯの矢印で示すステップＳＢ９に進む。
【００５６】
ステップＳＢ８では、音長が平均音長の半分以下である音符データを音量の強調対象（メロディライン）として加工特定する。音長が平均音長の半分以下である音符データを音量の強調対象とするのは、それらがメロディの動きと推定されるからである。なお、メロディの動きと判断できればよいので、平均音長の半分以下に限らず、３分の１、４分の１以下などその他の基準で判断するようにしてもよい。その後、ステップＳＢ１４に進む。
【００５７】
ステップＳＢ９では、ステップＳＢ６で抽出した音符データの音高が、該音符データの発音開始時刻に発音中となる複数の音符データ中の最高音であるか否かを判断する。すなわち、ステップＳＢ４で検出した複数の音符データの内の最高音であるか否かを検出する。最高音であれば、ＹＥＳの矢印で示すステップＳＢ１０に進む。最高音でなければ、ＮＯの矢印で示すステップＳＢ１１に進む。
【００５８】
ステップＳＢ１０では、ステップＳＢ９で発音開始時刻に発音中となる複数の音符データ中の最高音であると判断された音符データをメロディライン（最高声部）として加工特定する。なお、本実施例では、メロディラインは音量の強調対象である。その後、ステップＳＢ１４に進む。
【００５９】
ステップＳＢ１１では、ステップＳＢ６で抽出した音符データの音高が、該音符データの発音開始時刻に発音中となる複数の音符データ中の最低音であるか否かを判断する。すなわち、ステップＳＢ４で検出した複数の音符データの内の最低音であるか否かを検出する。最低音であれば、ＹＥＳの矢印で示すステップＳＢ１２に進む。最低音でなければ、ＮＯの矢印で示すステップＳＢ１３に進む。
【００６０】
ステップＳＢ１２では、ステップＳＢ１１で発音開始時刻に発音中となる複数の音符データ中の最低音であると判断された音符データをベースライン（最低声部）として加工特定する。なお、本実施例では、ベースラインは音量の強調対象である。その後、ステップＳＢ１４に進む。
【００６１】
ステップＳＢ１３では、ステップＳＢ６で抽出した音符データをその他のパート（声部）として加工特定する。その他の声部は音量の強調対象ではないので、後に音量を弱めに設定する。その後、次のステップＳＢ１４に進む。
【００６２】
ステップＳＢ１４では、ステップＳＢ４で検出した複数の音符データの全てについて加工特定が終了したか否かを判断する。加工特定が終了したらＹＥＳの矢印で示すステップＳＢ１９に進む。加工特定が終了していなければ、ＮＯの矢印で示すステップＳＢ６に戻る。
【００６３】
ステップＳＢ１５からステップＳＢ１８までは、ステップＳＢ３で抽出した音符データ群の中に同時刻若しくはほぼ同時刻に発音する複数の音符データがないと、前述のステップＳＢ４で判断された場合、すなわち、今回抽出した対象音符データが単音である場合の処理である。
【００６４】
ステップＳＢ１５では、対象音符データの周囲の音符データで既に最低声部及び最高声部として加工特定されているものがあるか否かを検出する。加工特定されている音符データがある場合は、ＹＥＳの矢印で示すステップＳＢ１７に進む。加工特定されている音符データがない場合は、ＮＯの矢印で示すステップＳＢ１６に進む。
【００６５】
ステップＳＢ１６では、対象音符データの加工特定を保留して、ステップＳＢ１９に進む。単音の場合は、対照音符データの周囲で最低声部及び最高声部として加工特定されている複数の音符データに応じて、加工特定するため、他の音符データが加工特定されるまでは、加工特定することができない。よって、ここでは一旦、対象音符データの加工特定を保留する。
【００６６】
ステップＳＢ１７では、対象音符データを既に最低声部及び最高声部として加工特定した周囲のタイミングの音符データと比較する。その後、次のステップＳＢ１８に進む。
【００６７】
比較の方法は、例えば、対象音符データの前後方向の最低声部、最高声部及びその他の声部として加工特定した複数の音符データについて重み付け演算を行い、どの音符が一番近いかを求め、一番近い音符と同じ声部に加工特定する。
【００６８】
重み付け演算の方法としては、例えば、以下の式（Ａ）で求められる評価指数の値が最も低い音符データを同一声部の音符データとする。
【００６９】
評価指数＝２＾（時間的近さ÷１小節の長さ×音高差）…（Ａ）
なお、時間的近さは、前方の音符データと比較する場合は、比較音符データの発音終了時間と対象音符データの発音開始時間の差であり、後方の音符データと比較する場合は、対象音符データの発音終了時間と比較音符データの発音開始時間の差である。
【００７０】
ステップＳＢ１８では、ステップＳＢ１７での比較結果に応じて、対象音符データを加工特定する。その後、ステップＳＢ１９に進む。
【００７１】
ステップＳＢ１９では、加工範囲内の全ての音符データにつき加工特定が終了したか否かを判断する。加工特定が終了した場合は、ＹＥＳの矢印で示すステップＳＢ２２に進む。加工特定が終了していない場合は、ＮＯの矢印で示すステップＳＢ３に戻る。
【００７２】
ステップＳＢ２０からステップＳＢ２１は、図２のステップＳＡ４で選択された対象トラックが複数トラックである場合の処理である。複数トラックが選択された場合は、トラックごとにパート（声部）を判断する。
【００７３】
ステップＳＢ２０では、各トラックの同時刻若しくはほぼ同時刻に発音する複数の音符データを取得する。その後、次のステップＳＢ２１に進む。
【００７４】
ステップＳＢ２１では、ステップＳＢ２０で取得した音符データを比較して、各トラックのパート（声部）を決定する。その後、ステップＳＢ２２に進む。
【００７５】
ステップＳＢ２２では、加工特定の結果に従い音符データ（又はトラック）の音量を変更する。音量の変更は、例えば、最高声部（メロディライン）のベロシティ値を＋２４、最低声部（ベースライン）のベロシティ値を＋８、それ以外の声部のベロシティ値を−８とすることにより行われる。その後、次のステップＳＢ２３に進む。
【００７６】
ステップＳＢ２３では、ステップＳＢ２２で音量を変更した楽曲データの記録処理を行う。記録処理は、一時的に加工処理を施した楽曲データをＲＡＭ等に記録するだけでもよいし、外部記憶装置に記憶してもよい。また、加工処理前の楽曲データ上に上書きするようにしてもよいし、別のファイルとして保存してもよい。その後、次のステップＳＢ２４に進み、楽曲データ加工処理を終了する。
【００７７】
以上、本実施例によれば、楽曲データの複音（和音）部分の音符データをそれぞれの音高値に従い、適切なパート（声部）に指定することができる。また、楽曲データの単音部分も周囲の音符データと比較することにより、適切なパートに指定することができる。
【００７８】
また、本実施例によれば、楽曲データ中の音符データの音量を、該音符データのパートに従い、調節することができる。パートに従い楽曲データを適切な音量に設定することができるので、より自然な音量バランスで自動演奏を行うことができる。
【００７９】
また、本実施例によれば、対象音符データと同時又はほぼ同時に発音する音符データの平均音長を算出し、該対象音符データの音長と比較することにより、比較的音長の短い音符データを抽出することができる。また、比較的音長の短い音符データをメロディラインとして、音量を強調することにより、自然な音量バランスでの自動演奏をすることができる。
【００８０】
また、本実施例によれば、複数のトラックを有する楽曲データの各トラックを適切なパートに指定することができる。また、各パートごとに適切な音量の設定を行うことができるので、より自然な音量バランスで自動演奏を行うことができる。
【００８１】
なお、本実施例では、特定の条件に合致した音符データの音量を強調するのみであったが、強調だけをすると、ハーモニーのバランスをとるという結果に加えて、ハーモニーの音量が増大してしまう虞がある。よって、特定の条件に合致しなかった音符データについては、音量を弱くすることにより、ハーモニー全体の音量を編集前後で一定に保つことが出来る。また、このようにするとハーモニー部分と、それ以外の部分での音量差が生じなくなる。
【００８２】
なお、楽曲データ（演奏情報）のフォーマットは、演奏イベントの発生時刻を１つ前のイベントからの時間で表した「イベント＋相対時間」、演奏イベントの発生時刻を曲や小節内における絶対時間で表した「イベント＋絶対時間」、音符の音高と符長あるいは休符と休符長で楽曲情報を表した「音高（休符）＋符長」、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域に演奏イベントを記憶した「ベタ方式」等、どのような形式でもよい。
【００８３】
さらに、複数チャンネル分の楽曲データの記憶方法としては、複数のチャンネルのデータが混在記憶された形式でもよいし、各チャンネルのデータがトラック毎に分かれて記憶されている形式でもよい。
【００８４】
さらに、またメモリ上において、時系列の楽曲情報が連続するアドレス領域に記憶されていてもよいし、飛び飛びのアドレス領域に散在して記憶されているデータを、連続するデータとして別途管理するようにしてもよい。すなわち、時系列的に連続するデータとして管理することができればよく、メモリ上で連続して記憶されているか否かは問題ではない。
【００８５】
なお、本実施例の演奏情報処理装置１は電子楽器、パソコン＋アプリケーションソフトウェアの形態、携帯電話等の携帯型通信端末の形態の他、カラオケ装置や、ゲーム装置、自動演奏ピアノなどどのような形態をとってもよい。
【００８６】
演奏情報処理装置１が、電子楽器である場合、その形態は鍵盤楽器に限らず、管楽器タイプ、弦楽器タイプ、打楽器タイプ等、どのような形態でもよい。
【００８７】
また、音源装置、自動演奏装置等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、ＭＩＤＩや各種ネットワーク等の通信工程を用いて各装置を接続するものであってもよい。
【００８８】
なお、本実施例は、本実施例に対応するコンピュータプログラム等をインストールした市販のコンピュータ等によって、実施させるようにしてもよい。
【００８９】
その場合には、本実施例に対応するコンピュータプログラム等を、ＣＤ−ＲＯＭやフロッピーディスク等の、コンピュータが読み込むことが出来る記憶媒体に記憶させた状態で、ユーザに提供してもよい。
【００９０】
そのコンピュータ等が、ＬＡＮ、インターネット、電話回線等の通信ネットワークに接続されている場合には、通信ネットワークを介して、コンピュータプログラムや各種データ等をコンピュータ等に提供してもよい。
【００９１】
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組合せ等が可能なことは当業者に自明であろう。
【００９２】
【発明の効果】
以上説明したように、本発明によれば、楽曲データに対して自動で簡単に演奏表現を付加することができる。
【図面の簡単な説明】
【図１】  本発明の実施例による演奏情報処理装置１を構成するコンピュータ又は電子楽器のハードウェア構成を示すブロック図である。
【図２】  演奏情報処理装置１で行うメイン処理を表すフローチャートである。
【図３】  図２のステップＳＡ５で行う楽曲データ加工処理を表すフローチャートである。
【符号の説明】
１…演奏情報処理装置、２…バス、３…ＲＯＭ、４…ＲＡＭ、５…ＣＰＵ、６…タイマ、７…外部記憶装置、８…検出回路、９…設定操作子、１０…演奏操作子、１１…表示回路、１２…ディスプレイ、１３…音源回路、１４…ＤＳＰ、１５…サウンドシステム、１６…ＭＩＤＩ  Ｉ／Ｆ、１７…電子機器、１８…通信Ｉ／Ｆ、１９…通信ネットワーク
【図１】
0003680776.tif 000002
【図２】
0003680776.tif 000003
【図３】
0003680776.tif 000004