(57)【特許請求の範囲】
【請求項１】
対象楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移を取得する楽音推移取得手段と、
前記対象楽曲を模擬した楽曲の楽譜を表し、音源モジュールから出力される個々の出力音の音高及び出力タイミングが少なくとも規定された楽譜データに基づいて、前記出力音の音圧が時間軸に沿って推移した出力音推移を取得する出力音推移取得手段と、
前記楽音推移取得手段にて取得した楽音推移から抽出した該楽音推移の特性を表す楽音情報と、前記出力音推移取得手段にて取得した出力音推移から抽出した該出力音推移の特性を表す出力音情報とを比較した結果に基づき、前記出力音の音高が、該出力音に対応する楽音の音高に一致するように前記楽譜データの音高補正量を補正量の一つとして導出する音高補正量導出手段と、前記楽音情報と前記出力音情報とを比較した結果に基づき、前記出力音の出力タイミングが、該出力音に対応する楽音の演奏開始タイミングに一致するように前記楽譜データの時間補正量を補正量の一つとして導出する時間補正量導出手段とを有し、前記音高補正量導出手段、及び前記時間補正量導出手段のうち少なくとも一方に、前記補正量の導出を実行させる補正量導出手段と、
前記楽譜データに規定された個々の出力音を、前記補正量導出手段で導出した補正量に従ってシフトすることで、前記楽譜データを修正する楽譜データ修正手段と
を備え、
前記音高補正量導出手段は、
前記楽音推移取得手段にて取得した楽音推移に含まれる周波数と各周波数における強度とを表し、前記周波数における強度について正規化した楽音音高分布を、前記楽音情報の一つとして導出する楽音分布導出手段と、
前記出力音推移取得手段にて取得した出力音推移に含まれる周波数と各周波数における強度とを表し、前記周波数における強度について正規化した出力音高分布を、前記出力音情報の一つとして導出する出力音分布導出手段と、
前記出力音分布導出手段にて導出された出力音高分布と、前記楽音分布導出手段にて導出された楽音音高分布との相関値を表す音高相関値を、前記楽音音高分布の予め規定された規定位置から前記出力音高分布を周波数軸に沿ってシフトさせる毎に導出する音高相関導出手段とを備え、
前記音高相関導出手段にて導出された音高相関値の中で、値が最大となる音高相関値に対応する前記規定位置からの周波数軸に沿ったシフト量を、前記音高補正量として導出することを特徴とするデータ修正装置。
【請求項２】
前記楽音分布導出手段は、
前記楽音推移全体のパワースペクトルを導出し、その導出したパワースペクトルの周波数について、境界が隣接するように規定された周波数範囲である規定音高範囲毎に代表値化して、正規化することで、前記楽音音高分布を導出し、
前記出力音分布導出手段は、
前記出力音推移全体のパワースペクトルを導出し、その導出したパワースペクトルの周波数について、前記規定音高範囲毎に代表値化して、正規化することで、前記出力音高分布を導出することを特徴とする請求項１に記載のデータ修正装置。
【請求項３】
対象楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移を取得する楽音推移取得手段と、
前記対象楽曲を模擬した楽曲の楽譜を表し、音源モジュールから出力される個々の出力音の音高及び出力タイミングが少なくとも規定された楽譜データに基づいて、前記出力音の音圧が時間軸に沿って推移した出力音推移を取得する出力音推移取得手段と、
前記楽音推移取得手段にて取得した楽音推移から抽出した該楽音推移の特性を表す楽音情報と、前記出力音推移取得手段にて取得した出力音推移から抽出した該出力音推移の特性を表す出力音情報とを比較した結果に基づき、前記出力音の音高が、該出力音に対応する楽音の音高に一致するように前記楽譜データの音高補正量を補正量の一つとして導出する音高補正量導出手段と、前記楽音情報と前記出力音情報とを比較した結果に基づき、前記出力音の出力タイミングが、該出力音に対応する楽音の演奏開始タイミングに一致するように前記楽譜データの時間補正量を補正量の一つとして導出する時間補正量導出手段とを有し、前記音高補正量導出手段、及び前記時間補正量導出手段のうち少なくとも一方に、前記補正量の導出を実行させる補正量導出手段と、
前記楽譜データに規定された個々の出力音を、前記補正量導出手段で導出した補正量に従ってシフトすることで、前記楽譜データを修正する楽譜データ修正手段と
を備え、
前記時間補正量導出手段は、
前記楽音推移取得手段にて取得した楽音推移から、該楽音推移の非調波成分である楽音非調波を抽出し、時間軸に沿った楽音非調波の変化を表す楽音変化を、前記楽音情報の一つとして導出する楽音変化導出手段と、
前記出力音推移取得手段にて取得した出力音推移から、該出力音推移の非調波成分である出力音非調波を抽出し、時間軸に沿った出力音非調波の変化を表す出力音変化を、前記出力音情報の一つとして導出する出力音変化導出手段と、
前記楽音変化導出手段にて導出された楽音変化と、前記出力音変化導出手段にて導出された出力音変化との相関値を表す時間相関値を、前記楽音変化と前記出力音変化とに設定された設定位置を一致させて前記出力音変化を時間軸に沿って伸縮する毎に導出すると共に、前記設定位置を規定範囲内で時間軸に沿って順次変更する時間相関導出手段とを備え、
前記時間相関導出手段にて導出された時間相関値の中で、値が最大となる時間相関値に対応する前記出力音変化の時間軸に沿った伸縮率及び設定位置を、前記時間補正量として導出することを特徴とするデータ修正装置。
【請求項４】
前記出力音推移取得手段は、
前記音高補正量導出手段にて導出された音高補正量に従って、前記楽譜データ修正手段が楽譜データに規定された個々の出力音の周波数をシフトさせた修正楽譜データに基づく前記出力音推移である修正音推移を取得し、
前記時間補正量導出手段は、
前記楽音推移取得手段にて取得した楽音推移から、該楽音推移の非調波成分である楽音非調波を抽出し、時間軸に沿った楽音非調波の変化を表す楽音変化を、前記楽音情報の一つとして導出する楽音変化導出手段と、
前記出力音推移取得手段にて取得した修正音推移から、該修正音推移の非調波成分である出力音非調波を抽出し、時間軸に沿った出力音非調波の変化を表す出力音変化を、前記出力音情報の一つとして導出する出力音変化導出手段と、
前記楽音変化導出手段にて導出された楽音変化と、前記出力音変化導出手段にて導出された出力音変化との相関値を表す時間相関値を、前記楽音変化と前記出力音変化とに設定された設定位置を一致させて前記出力音変化を時間軸に沿って伸縮させる毎に導出すると共に、前記設定位置を規定範囲内で時間軸に沿って順次変更する時間相関導出手段とを備え、
前記時間相関導出手段にて導出された時間相関値の中で、値が最大となる時間相関値に対応する前記出力音変化の時間軸に沿った伸縮率及び設定位置を、前記時間補正量として導出することを特徴とする請求項１または請求項２に記載のデータ修正装置。
【請求項５】
前記楽音変化導出手段は、
前記対象楽曲のテンポ一定の区間である対象区間毎に、前記楽音変化を導出し、
前記出力音変化導出手段は、
前記対象区間に対応する区間毎に、前記出力音変化を導出し、
前記時間相関導出手段は、
前記対象区間それぞれについて、前記時間相関値を導出し、
前記時間補正量導出手段は、
前記対象区間それぞれについて、前記時間補正量を導出することを特徴とする請求項３または請求項４に記載のデータ修正装置。
【請求項６】
前記楽音推移取得手段にて取得した楽音推移から、該楽音推移の平均振幅を表す楽音平均振幅を導出する楽音振幅導出手段と、
前記出力音推移取得手段にて取得した出力音推移から、該出力音推移の平均振幅を表す出力音平均振幅を導出する出力音振幅導出手段と、
前記楽音振幅導出手段にて導出した楽音平均振幅と、前記出力音振幅導出手段にて導出した出力音平均振幅との比率である音量比率を導出する比率導出手段と、
前記比率導出手段にて導出された音量比率を、前記楽譜データに規定された個々の出力音の音圧に乗じることで前記出力音の音量を修正する音量修正手段と
を備えることを特徴とする請求項１から請求項５の何れか一項に記載のデータ修正装置。
【請求項７】
対象楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移を取得する楽音推移取得手順と、
前記対象楽曲を模擬した楽曲の楽譜を表し、音源モジュールから出力される個々の出力音の音高及び出力タイミングが少なくとも規定された楽譜データに基づいて、前記出力音の音圧が時間軸に沿って推移した出力音推移を取得する出力音推移取得手順と、
前記楽音推移取得手順にて取得した楽音推移から抽出した該楽音推移の特性を表す楽音情報と、前記出力音推移取得手順にて取得した出力音推移から抽出した該出力音推移の特性を表す出力音情報とを比較した結果に基づき、前記出力音の音高が、該出力音に対応する楽音の音高に一致するように前記楽譜データの音高補正量を補正量の一つとして導出する音高補正量導出手順と、前記楽音情報と前記出力音情報との比較結果に基づき、前記出力音の出力タイミングが、該出力音に対応する楽音の演奏開始タイミングに一致するように前記楽譜データの時間補正量を補正量の一つとして導出する時間補正量導出手順とのうち少なくとも一方に、前記補正量の導出を実行させる補正量導出手順と、
前記楽譜データに規定された個々の出力音を、前記補正量導出手順で導出した補正量に従ってシフトすることで、前記楽譜データを修正する楽譜データ修正手順とを、
コンピュータに実行させ
前記音高補正量導出手順は、
前記楽音推移取得手順にて取得した楽音推移に含まれる周波数と各周波数における強度とを表し、前記周波数における強度について正規化した楽音音高分布を、前記楽音情報の一つとして導出する楽音分布導出手順と、
前記出力音推移取得手順にて取得した出力音推移に含まれる周波数と各周波数における強度とを表し、前記周波数における強度について正規化した出力音高分布を、前記出力音情報の一つとして導出する出力音分布導出手順と、
前記出力音分布導出手順にて導出された出力音高分布と、前記楽音分布導出手順にて導出された楽音音高分布との相関値を表す音高相関値を、前記楽音音高分布の予め規定された規定位置から前記出力音高分布を周波数軸に沿ってシフトさせる毎に導出する音高相関導出手順とを、前記コンピュータに実行させ、
前記音高補正量導出手順は、
前記音高相関導出手順にて導出された音高相関値の中で、値が最大となる音高相関値に対応する前記規定位置からの周波数軸に沿ったシフト量を、前記音高補正量として導出することを特徴とするプログラム。
【請求項８】
対象楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移を取得する楽音推移取得手順と、
前記対象楽曲を模擬した楽曲の楽譜を表し、音源モジュールから出力される個々の出力音の音高及び出力タイミングが少なくとも規定された楽譜データに基づいて、前記出力音の音圧が時間軸に沿って推移した出力音推移を取得する出力音推移取得手順と、
前記楽音推移取得手順にて取得した楽音推移から抽出した該楽音推移の特性を表す楽音情報と、前記出力音推移取得手順にて取得した出力音推移から抽出した該出力音推移の特性を表す出力音情報とを比較した結果に基づき、前記出力音の音高が、該出力音に対応する楽音の音高に一致するように前記楽譜データの音高補正量を補正量の一つとして導出する音高補正量導出手順と、前記楽音情報と前記出力音情報との比較結果に基づき、前記出力音の出力タイミングが、該出力音に対応する楽音の演奏開始タイミングに一致するように前記楽譜データの時間補正量を補正量の一つとして導出する時間補正量導出手順とのうち少なくとも一方に、前記補正量の導出を実行させる補正量導出手順と、
前記楽譜データに規定された個々の出力音を、前記補正量導出手順で導出した補正量に従ってシフトすることで、前記楽譜データを修正する楽譜データ修正手順とを、
コンピュータに実行させ、
前記時間補正量導出手順は、
前記楽音推移取得手順にて取得した楽音推移から、該楽音推移の非調波成分である楽音非調波を抽出し、時間軸に沿った楽音非調波の変化を表す楽音変化を、前記楽音情報の一つとして導出する楽音変化導出手順と、
前記出力音推移取得手順にて取得した出力音推移から、該出力音推移の非調波成分である出力音非調波を抽出し、時間軸に沿った出力音非調波の変化を表す出力音変化を、前記出力音情報の一つとして導出する出力音変化導出手順と、
前記楽音変化導出手順にて導出された楽音変化と、前記出力音変化導出手順にて導出された出力音変化との相関値を表す時間相関値を、前記楽音変化と前記出力音変化とに設定された設定位置を一致させて前記出力音変化を時間軸に沿って伸縮する毎に導出すると共に、前記設定位置を規定範囲内で時間軸に沿って順次変更する時間相関導出手順とを、前記コンピュータに実行させ、
前記時間補正量導出手順は、
前記時間相関導出手順にて導出された時間相関値の中で、値が最大となる時間相関値に対応する前記出力音変化の時間軸に沿った伸縮率及び設定位置を、前記時間補正量として導出することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽譜データに規定された出力音が、対象楽曲を構成する楽音に一致するように、当該楽譜データを修正するデータ修正装置、及びプログラムに関する。
【背景技術】
【０００２】
近年、対象楽曲を模擬した楽曲の楽譜を表し、少なくとも、個々の出力音の音高及び出力タイミングが予め規定された楽譜データ（いわゆる、ＭＩＤＩデータ）に従って、楽曲を演奏する自動演奏装置が知られている。
【０００３】
このような自動演奏装置は、当該自動演奏装置の機種毎に出力される出力音の音色が異なる。このため、自動演奏装置にて演奏されるＭＩＤＩデータが、同一の楽曲に対応する一つのＭＩＤＩデータであったとしても、そのＭＩＤＩデータを演奏する自動演奏装置の機種によって、演奏された楽曲の印象が異なるという問題が生じる。
【０００４】
この問題を解決するために、同一の対象楽曲に基づく一つのＭＩＤＩデータであれば、当該ＭＩＤＩデータによって表される楽曲が同一の音色で演奏されるように、自動演奏装置の機種に関する情報に従って、当該ＭＩＤＩデータを構成する出力音の周波数特性を補正するデータ修正装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３６５０５２６号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、自動演奏装置にて用いられる一般的なＭＩＤＩデータは、音響機器や楽器などを用いて演奏された対象楽曲を聴いた人物（以下、制作者）が、その対象楽曲を構成する楽音を再現するように、ＭＩＤＩデータを構成する個々の出力音の音高や出力タイミングといった各パラメータを規定することで生成される。このように生成されるＭＩＤＩデータには、制作者の感性が強く反映され、対象楽曲自身と、その対象楽曲をＭＩＤＩデータによって表した楽曲との間には、個々の出力音の音高や個々の出力音の出力タイミングにズレが存在することが多い。
【０００７】
このような出力音の音高や出力タイミングのズレは、自動演奏装置の機種に依存しない。このため、特許文献１に記載のデータ修正装置において、ＭＩＤＩデータを構成する出力音の周波数特性を補正しても、当該ズレを解消できず、ＭＩＤＩデータに従って演奏された楽曲の印象が、対象楽曲自身の印象と異なることを解消できないという問題があった。
【０００８】
そこで、本発明は、データ修正装置において、ＭＩＤＩデータによって表される楽曲が対象楽曲に近似するように、当該ＭＩＤＩデータを構成するパラメータを修正することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するためになされた本発明のデータ修正装置では、楽音推移取得手段が、対象楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移を取得し、対象楽曲を模擬した楽曲の楽譜を表し、音源モジュールから出力される個々の出力音の音高及び出力タイミングが少なくとも規定された楽譜データに基づいて、出力音推移取得手段が、出力音の音圧が時間軸に沿って推移した出力音推移を取得する。
【００１０】
そして、補正量導出手段が、楽音推移取得手段にて取得した楽音推移から抽出した該楽音推移の特性を表す楽音情報と、出力音推移取得手段にて取得した出力音推移から抽出した該出力音推移の特性を表す出力音情報とを比較した結果に基づき、音高補正量導出手段、及び時間補正量導出手段のうち少なくとも一方に、補正量の導出を実行させると共に、楽譜データ修正手段が、その導出した補正量に従って、楽譜データに規定された個々の出力音をシフトすることで、楽譜データを修正する。
【００１１】
ただし、音高補正量導出手段は、楽音情報と出力音情報とを比較した結果に基づいて、出力音の音高が、該出力音に対応する楽音の音高に一致するように楽譜データの音高補正量を補正量の一つとして導出し、時間補正量導出手段は、楽音情報と出力音情報とを比較した結果に基づいて、出力音の出力タイミングが、該出力音に対応する楽音の演奏開始タイミングに一致するように楽譜データの時間補正量を補正量の一つとして導出する。
さらに、本発明における音高補正量導出手段では、楽音分布導出手段が、楽音推移取得手段にて取得した楽音推移に含まれる周波数と各周波数における強度（即ち、振幅やパワー）とを表し、周波数における強度について正規化した楽音音高分布を、楽音情報の一つとして導出し、出力音分布導出手段が、出力音推移取得手段にて取得した出力音推移に含まれる周波数と各周波数における強度とを表し、周波数における強度について正規化した出力音高分布を、出力音情報の一つとして導出する。
すると、音高相関導出手段が、出力音高分布と、楽音音高分布との相関値を表す音高相関値を、楽音音高分布の予め規定された規定位置から出力音高分布を周波数軸に沿ってシフトさせる毎に導出して、その導出された音高相関値の中で、値が最大となる音高相関値に対応する規定位置からの周波数軸に沿ったシフト量を、音高補正量導出手段が、音高補正量としても良い。
【００１２】
このようなデータ修正装置にて修正された楽譜データ（以下、修正楽譜データとする）は、楽譜データに規定された出力音の音高及び出力タイミングのうちの少なくとも一方について、対象楽曲を構成する楽音の音高及び演奏開始タイミングに近似したものとなる。
【００１３】
つまり、本発明のデータ修正装置によれば、修正楽譜データを構成する出力音と、対象楽曲を構成する楽音との間に、音高や出力タイミングのズレが生じることを低減できる。
よって、自動演奏装置などが、修正楽譜データに従って該修正楽譜データによって表された楽曲を演奏すれば、その演奏された楽曲を聴いたユーザが、対象楽曲との間に存在するズレに違和感や、対象楽曲自身と印象が異なると感じることを低減できる。
【００１６】
このように導出される音高補正量に従って楽譜データを修正すれば、修正後の出力音推移に含まれる周波数及び各周波数における強度の比率を、楽音推移に含まれる周波数及び各周波数における強度の比率に、より近似させることができる。
【００１７】
特に、本発明のデータ修正装置で導出される楽音音高分布及び出力音高分布は、楽音推移及び出力音推移に含まれる周波数と各周波数における強度のうち、周波数における強度について正規化されている。このため、本発明のデータ修正装置によれば、楽音推移の振幅と、出力音推移の振幅とが大きく異なっていたとしても、修正楽譜データに基づく出力音推移を楽音推移に近づけることができる。
【００１８】
なお、本発明において、出力音推移及び楽音推移の「周波数と各周波数における強度とを表す」ものは、出力音推移及び楽音推移の振幅スペクトルであっても良いし、出力音推移及び楽音推移のパワースペクトルであっても良い。
【００１９】
後者の場合、本発明における楽音分布導出手段、及び出力音分布導出手段は、それぞれ、楽音推移全体及び出力音推移全体のパワースペクトルを導出し、その導出したパワースペクトルの周波数について、境界が隣接するように規定された周波数範囲である規定音高範囲毎に代表値化して、正規化することで、楽音音高分布及び出力音高分布を導出しても良い。
【００２０】
なお、ここで言う「規定音高範囲毎に代表値化」とは、規定音高範囲に含まれる周波数について平均化した値を意味するものでも良いし、規定音高範囲の中心音高に相当する値を意味するものでも良い。
【００２１】
このような本発明のデータ修正装置によれば、楽音音高分布及び出力音高分布が、それぞれ、パワースペクトルの周波数について規定音高範囲毎に代表値化されているため、例えば、規定音高範囲を半音単位として規定すれば、修正楽譜データに基づく出力音推移の音高と、楽音推移の音高との一致度をより向上させることができる。
【００２２】
また、本発明においては、時間補正量導出手段は、楽音変化導出手段が、楽音推移取得手段にて取得した楽音推移から、該楽音推移の非調波成分である楽音非調波を抽出し、時間軸に沿った楽音非調波の変化を表す楽音変化を、楽音情報の一つとして導出し、出力音変化導出手段が、出力音推移取得手段にて取得した出力音推移から、該出力音推移の非調波成分である出力音非調波を抽出し、時間軸に沿った出力音非調波の変化を表す出力音変化を、出力音情報の一つとして導出する。
【００２３】
すると、時間相関導出手段が、楽音変化と、出力音変化との相関値を表す時間相関値を、楽音変化と出力音変化とに設定された設定位置を一致させて出力音変化を時間軸に沿って伸縮する毎に導出すると共に、設定位置を規定範囲内で時間軸に沿って順次変更して、その導出された時間相関値の中で、値が最大となる時間相関値に対応する出力音変化の時間軸に沿った伸縮率及び設定位置を、時間補正量導出手段が、時間補正量として導出しても良い。
【００２４】
一般的に、楽音推移や出力音推移に含まれる非調波成分は、打楽器（例えば、ドラムやベース）や楽器のアタック音に多く含まれており、時間のずれに対する相関度合いの変化が大きい。そのため、非調波成分を用いることで、相関値を基準にした時間補正量導出が正確に行える。
【００２５】
よって、本発明のデータ修正装置において、時間補正量に従って楽譜データを修正すれば、修正楽譜データに基づく出力音推移と、楽音推移とのリズム、ひいては、修正楽譜データにおける個々の出力音の出力タイミングと、楽音の演奏開始タイミングとを一致させることができる。
【００２６】
ところで、本発明において、出力音推移取得手段は、出力音の音高の補正量に従って、楽譜データ修正手段が楽譜データに規定された個々の出力音の周波数をシフトさせた修正楽譜データに基づく出力音推移（以下、修正音推移とする）を取得しても良い。
【００２７】
この場合、時間補正量導出手段は、修正音推移に基づく出力音変化を出力音情報の一つとして導出して、その修正音推移に基づく出力音変化と、楽音変化との時間相関値に従って、時間補正量を導出しても良い。
【００２８】
ただし、このような発明においては、楽音変化、出力音変化、時間相関値、時間補正量についての導出方法は、出力音変化を導出する対象が出力音推移から修正音推移に変更されたことを除けば、請求項３に係る発明と同様である。
【００２９】
このような本発明のデータ修正装置では、時間補正量を導出する前に、楽譜データに規定された個々の出力音の音高が、対象楽曲を構成する楽音の音高に一致するように修正している。したがって、本発明のデータ修正装置によれば、楽譜データに規定された出力音の音高と、対象楽曲を構成する楽音の音高との間にズレが生じていることに起因して、時間補正量の導出精度が低下することを防止できる。
【００３０】
なお、本発明のデータ修正装置によれば、出力音の音高と、出力音の出力タイミングとの両方について修正された修正楽譜データによって表された楽曲を、対象楽曲により一致させることができる。
【００３１】
本発明のデータ修正装置は、楽音変化導出手段が、対象楽曲のテンポ一定の区間である対象区間毎に、楽音変化を導出し、出力音変化導出手段が、対象区間に対応する区間毎に、出力音変化を導出し、時間相関導出手段が、対象区間それぞれについて、時間相関値を導出し、時間補正量導出手段は、対象区間それぞれについて、時間補正量を導出しても良い。
【００３２】
このようなデータ修正装置によれば、対象楽曲においてテンポが一定の区間毎に、時間補正量を導出して、出力音の出力タイミングを修正することができる。この結果、修正楽譜データにおける個々の出力音の出力タイミングを、対象楽曲における個々の楽音の演奏開始タイミングにより正確に一致させることができる。
【００３３】
さらに、本発明のデータ修正装置では、楽音振幅導出手段が、楽音推移取得手段にて取得した楽音推移から、該楽音推移の平均振幅を表す楽音平均振幅を導出し、出力音振幅導出手段が、出力音推移取得手段にて取得した出力音推移から、該出力音推移の平均振幅を表す出力音平均振幅を導出する。
【００３４】
そして、比率導出手段が、楽音振幅導出手段にて導出した楽音平均振幅と、出力音振幅導出手段にて導出した出力音平均振幅との比率である音量比率を導出すると共に、音量修正手段が、比率導出手段にて導出された音量比率を、楽譜データに規定された個々の出力音の音圧に乗じることで出力音の音量を修正しても良い。
【００３５】
このような本発明のデータ修正装置によれば、楽譜データに規定された個々の出力音の音量を、対象楽曲の楽音の音量に近似させることができる。
なお、本発明は、コンピュータをデータ修正装置として機能させるためのプログラムであっても良い。
【００３６】
この場合、本発明のプログラムは、対象楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移を取得する楽音推移取得手順と、対象楽曲を模擬した楽曲の楽譜を表し、音源モジュールから出力される個々の出力音の音高及び出力タイミングが少なくとも規定された楽譜データに基づいて、出力音の音圧が時間軸に沿って推移した出力音推移を取得する出力音推移取得手順と、楽音推移取得手順にて取得した楽音推移から抽出した該楽音推移の特性を表す楽音情報と、出力音推移取得手順にて取得した出力音推移から抽出した該出力音推移の特性を表す出力音情報とを比較した結果に基づき、音高補正量導出手順、及び時間補正量導出手順のうち少なくとも一方に、補正量の導出を実行させる補正量導出手順と、楽譜データに規定された個々の出力音を、補正量導出手順で導出した補正量に従ってシフトすることで、楽譜データを修正する楽譜データ修正手順とをコンピュータに実行させる必要がある。
【００３７】
ただし、音高補正量導出手順では、楽音情報と出力音情報とを比較した結果に基づき、出力音の音高が、該出力音に対応する楽音の音高に一致するように楽譜データの音高補正量を補正量の一つとして導出し、時間補正量導出手順では、楽音情報と出力音情報とを比較した結果に基づき、出力音の出力タイミングが、該出力音に対応する楽音の演奏開始タイミングに一致するように楽譜データの時間補正量を補正量の一つとして導出する。
さらに、本発明の音高補正量導出手順においては、楽音音高分布を楽音情報の一つとして導出する楽音分布導出手順と、出力音高分布を出力音情報の一つとして導出する出力音分布導出手順と、出力音高分布と楽音音高分布との相関値を表す音高相関値を、楽音音高分布の予め規定された規定位置から出力音高分布を周波数軸に沿ってシフトさせる毎に導出する音高相関導出手順とを、コンピュータに実行させると共に、音高相関導出手順にて導出された音高相関値の中で、値が最大となる音高相関値に対応する規定位置からの周波数軸に沿ったシフト量を、音高補正量として導出する。
また、本発明の時間補正量導出手順においては、楽音変化を楽音情報の一つとして導出する楽音変化導出手順と、出力音変化を出力音情報の一つとして導出する出力音変化導出手順と、楽音変化と出力音変化との相関値を表す時間相関値を、楽音変化と出力音変化とに設定された設定位置を一致させて出力音変化を時間軸に沿って伸縮する毎に導出すると共に、設定位置を規定範囲内で時間軸に沿って順次変更する時間相関導出手順とを、コンピュータに実行させ、時間相関導出手順にて導出された時間相関値の中で、値が最大となる時間相関値に対応する出力音変化の時間軸に沿った伸縮率及び設定位置を、時間補正量として導出する。
【００３８】
本発明のプログラムが、このようになされていれば、例えば、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードさせて起動することや、必要に応じて通信回線を介してコンピュータに取得させて起動することにより用いることができる。そして、コンピュータに各手順を実行させることで、そのコンピュータを、請求項１または請求項３に記載されたデータ修正装置として機能させることができる。
【図面の簡単な説明】
【００３９】
【図１】実施形態におけるデータ修正装置の概略構成を示すブロック図である。
【図２】データ修正処理の処理手順を示すフローチャートである。
【図３】音高補正処理の処理手順を示すフローチャートである。
【図４】音高補正処理の処理内容を説明する説明図である。
【図５】時間補正処理の処理手順を示すフローチャートである。
【図６】時間補正処理の処理内容を説明する説明図である。
【図７】音量補正処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００４０】
以下に本発明の実施形態を図面と共に説明する。
本発明が適用されたデータ修正装置は、予め生成された楽曲の一つである対象楽曲を構成する楽音に、対象楽曲を模擬した楽曲の楽譜を表す楽譜データに規定された出力音が一致するように、当該楽譜データを修正する装置である。このデータ修正装置は、本実施形態では、図１に示す情報処理装置１０によって構成されている。なお、本実施形態における対象楽曲は、複数の音源（例えば、楽器や人）にて発生した楽音が重畳するように生成されている。
〈データ修正装置の構成について〉
図１に示すように、情報処理装置１０は、通信部１１と、音響データ読取部１２と、入力受付部１３と、表示部１４と、音声入力部１５と、音声出力部１６と、音源モジュール１７と、記憶部１８と、制御部２０とを備えている。
【００４１】
このうち、通信部１１は、情報処理装置１０をネットワーク（例えば、専用回線やＷＡＮ）に接続し、その接続されたネットワークを介して外部と通信を行うものである。
音響データ読取部１２は、記憶媒体に記憶されている音響データを時間軸に沿って順次読み取る装置（例えば、ＣＤやＤＶＤの読取装置）である。その音響データは、対象楽曲を構成する全ての楽音の音圧が時間軸に沿って推移したアナログ波形を標本化（サンプリング）したデータである。
【００４２】
そして、入力受付部１３は、外部からの操作に従って情報や指令の入力を受け付ける入力機器（例えば、キーボードやポインティングデバイス）である。表示部１４は、画像を表示する表示装置（例えば、液晶ディスプレイやＣＲＴ等）である。また、音声入力部１５は、音声を電気信号に変換して制御部２０に入力する装置（いわゆるマイクロホン）である。音声出力部１６は、制御部２０からの電気信号を音声に変換して出力する装置（いわゆるスピーカ）である。
【００４３】
さらに、音源モジュール１７は、楽譜データに基づいて、音源からの音を模擬した出力音を出力する装置である。本実施形態においては、音源モジュール１７は、周知のＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）音源によって構成されている。そして、音源モジュール１７において、出力音として音が模擬される音源（以下、模擬音源とする）は、鍵盤楽器（例えば、ピアノやパイプオルガンなど）、弦楽器（例えば、バイオリンやビオラ、ギター、琴など）、打楽器（例えば、ドラムやシンバル、ティンパニー、木琴など）、及び管楽器（例えば、クラリネットやトランペット、フルート、尺八など）などであり、予め登録されている。
【００４４】
次に、楽譜データは、対象楽曲を模擬した楽曲（以下、対応楽曲とする）を区別するデータである識別データと、当該対応楽曲にて用いられる模擬音源毎の楽譜を表す楽譜トラックとを少なくとも有している。本実施形態における楽譜データは、周知のＭＩＤＩ規格によって表されている。
【００４５】
このうち、各楽譜トラックは、音源モジュール１７が出力音を出力する期間（以下、音符長）、及び個々の出力音の音高（いわゆるノートナンバー）が規定されている。さらに、各楽譜トラックには、個々の出力音の強さ（いわゆるアタック、ベロシティ、ディケイなど）や、対応楽曲を分割する区間（例えば、Ａメロやサビなど）におけるテンポが規定されている。
【００４６】
ただし、楽譜トラックの音符長は、当該出力音の出力を開始するまでの当該楽曲の演奏開始からの時刻を表す出力タイミング（いわゆるノートオンタイミング）と、当該出力音の出力を終了するまでの当該楽曲の演奏開始からの時刻を表す終了タイミング（いわゆるノートオフタイミング）とによって規定されている。
【００４７】
また、記憶部１８は、記憶内容を読み書き可能に構成された不揮発性の記憶装置（例えば、ハードディスク装置）である。この記憶部１８には、処理プログラムや楽譜データが少なくとも格納される。
【００４８】
さらに、制御部２０は、電源が切断されても記憶内容を保持する必要がある処理プログラムやデータを格納するＲＯＭ２１と、処理プログラムやデータを一時的に格納するＲＡＭ２２と、ＲＯＭ２１やＲＡＭ２２に記憶された処理プログラムに従って各処理（各種演算）を実行するＣＰＵ２３とを少なくとも有した周知のコンピュータを中心に構成されている。
【００４９】
なお、本実施形態における処理プログラムとして、対象楽曲を構成する楽音に、対象楽曲に対応する楽曲の楽譜データに規定された出力音が一致するように、当該楽譜データを修正するデータ修正処理を、制御部２０が実行するものが予め用意されている。
〈データ修正処理の処理内容について〉
次に、制御部２０が実行するデータ修正処理について説明する。
【００５０】
このデータ修正処理は、入力受付部１３を介して、当該データ修正処理を起動するための起動指令が入力されると、実行が開始されるものである。
そして、図２に示すように、データ修正処理は、起動されると、入力受付部１３を介して入力された情報によって指定される楽曲に対応する楽譜データを取得する（Ｓ１１０（Ｓは、ステップを意味する））。
【００５１】
続いて、音響データ読取部１２にて読み取った音響データを、対象楽曲を構成する楽音が時間軸に沿って推移した波形である楽音推移として取得する（Ｓ１２０）。ただし、本実施形態の音響データ読取部１２には、本データ修正処理が起動される前に、Ｓ１１０にて取得する楽譜データに対応する対象楽曲の音響データを記憶した記憶媒体が配置されているものとする。
【００５２】
そして、Ｓ１１０にて取得した楽譜データと、Ｓ１２０で取得した楽音推移とに基づいて、対象楽曲を構成する楽音の音高に、出力音の音高が一致するように、当該楽譜データを修正する音高補正処理を実行する（Ｓ１３０）。以下、出力音について修正が実行された楽譜データを修正楽譜データと称す。
【００５３】
さらに、音高補正処理によって、出力音の音高が楽音の音高に一致するように修正された出力音（以下、修正出力音とする）の出力タイミングが、楽音の演奏開始タイミングに一致するように、修正楽譜データを修正する時間補正処理を実行する（Ｓ１５０）。続いて、時間補正処理によって、出力タイミングが楽音の演奏開始タイミングに一致するように修正された修正出力音の強さが、楽音の強さ（即ち、音量）に一致するように、修正楽譜データを修正する音量補正処理を実行する（Ｓ１７０）。
【００５４】
その後、本データ修正処理を終了する。
つまり、データ修正処理では、楽譜データに規定されている出力音の音高、出力タイミング、強さのそれぞれを、対象楽曲を構成する楽音の音高、演奏開始タイミング、音量に一致するように修正した修正楽譜データを生成する。
〈音高補正処理の処理内容について〉
次に、データ修正処理のＳ１３０にて起動される音高補正処理について説明する。
【００５５】
この音高補正処理は、起動されると、図３に示すように、先のＳ１１０にて取得した楽譜データに含まれる全ての楽譜トラックに基づいて、全ての出力音が時間軸に沿って推移した波形である出力音推移を取得する（Ｓ３１０）。具体的に、本実施形態における出力音推移の取得は、全ての楽譜トラックに規定されている個々の出力音を、楽譜データの時間軸に沿って音源モジュール１７に出力させ、音声入力部１５を介して受け付けることで実行する。
【００５６】
続いて、その取得した出力音推移を、時間軸に沿って設定された単位時間毎に周波数解析（本実施形態では、離散フーリエ変換）して、その単位時間の出力音推移に含まれる周波数、及び各周波数における強度を表すパワースペクトルを導出する（Ｓ３２０）。その導出されたパワースペクトルに基づいて、各周波数における強度を、時間軸に沿って周波数毎に相加平均した平均出力音スペクトルを導出する（Ｓ３３０）。その導出した平均出力音スペクトルの周波数における強度を、境界が互いに隣接するように予め規定された周波数範囲（例えば、半音単位、以下、規定音高範囲）毎に平均化して代表値とする（Ｓ３４０）。さらに、そのＳ３４０で平均化した平均出力音スペクトルにおける周波数における強度を、分散「１」、平均「０」となるように正規化した正規化出力音スペクトル（図４（Ａ）参照）を導出する（Ｓ３５０）。
【００５７】
なお、本実施形態のＳ３４０にて求める代表値は、規定音高範囲に含まれる周波数における強度を平均化することで求めることに限らず、規定音高範囲における中心値に対応する周波数における強度を代表値としても良い。この場合、具体的には、２０Ｃｅｎｔ毎（半音の５分の１毎）に、２０Ｃｅｎｔグリッドに一番近い周波数の値（パワー）を抽出する処理を行う。
【００５８】
続いて、先のＳ１２０にて取得した楽音推移を、時間軸に沿って設定された単位時間毎に周波数解析して、その単位時間の楽音推移に含まれる周波数、及び各周波数における強度を表すパワースペクトルを導出する（Ｓ３６０）。その導出されたパワースペクトルに基づいて、各周波数における強度を、時間軸に沿って周波数毎に相加平均した平均楽音スペクトルを導出する（Ｓ３７０）。その導出した平均楽音スペクトルの周波数における強度を、規定音高範囲毎に平均化して代表値とし（Ｓ３８０）、そのＳ３８０で平均化した平均楽音スペクトルにおける周波数における強度を、分散「１」、平均「０」となるように正規化した正規化楽音スペクトル（図４（Ｂ）参照）を導出する（Ｓ３９０）。
【００５９】
なお、本実施形態のＳ３８０にて求める代表値は、規定音高範囲に含まれる周波数における強度を平均化することで求めることに限らず、規定音高範囲における中心値に対応する周波数における強度を代表値としても良い。この場合、具体的には、２０Ｃｅｎｔ毎（半音の５分の１毎）に、２０Ｃｅｎｔグリッドに一番近い周波数の値（パワー）を抽出する処理を行う。
【００６０】
そして、詳しくは、後述するように、正規化出力音スペクトルと正規化楽音スペクトルとの相関値（以下、音高相関値とする）を導出する（Ｓ４００）。そして、正規化楽音スペクトルに対する正規化出力音スペクトルのシフト量が予め規定された上限値以上であるか否かを判定する（Ｓ４１０）。その判定の結果、シフト量が上限値未満であれば（Ｓ４１０：ＮＯ）、正規化出力音スペクトルを、周波数軸に沿って予め規定された規定量シフトして（Ｓ４２０）、Ｓ４００へと戻り、音高相関値を再度導出する。
【００６１】
すなわち、本実施形態のＳ４００〜Ｓ４２０では、図４（Ｃ）に示すように、正規化楽音スペクトルに対して、正規化出力音スペクトルを周波数軸に沿って下限値から上限値に達するまでシフトさせつつ、その正規化出力音スペクトルをシフトさせる毎に、音高相関値を導出する。
【００６２】
そして、正規化出力音のシフト量が上限値以上となると（Ｓ４１０：ＹＥＳ）、対象楽曲を構成する楽音の音高に、出力音の音高を一致させるための補正量（以下、音高補正量とする）を導出する（Ｓ４３０）。本実施形態のＳ４３０では、具体的に、先のＳ４００にて導出された全ての音高相関値の中で、値が最大である音高相関値に対応する正規化出力音スペクトルのシフト量を音高補正量として導出する。
【００６３】
続いて、その導出された音高補正量に従って、楽譜データにおける全ての楽譜トラックに規定された個々の出力音の音高を修正することで、修正楽譜データを生成する（Ｓ４４０）。すなわち、本実施形態のＳ４４０にて生成される修正楽譜データは、出力音の音高が、予め用意された出力音の音高から音高補正量シフトされたものとなる。
【００６４】
そして、その後、本音高補正処理を終了し、データ修正処理へと戻る。
つまり、音高補正処理では、楽音推移の特性を表す楽音情報としての正規化楽音スペクトルと、出力音推移の特性を表す出力音情報としての正規化出力音スペクトルとを比較した結果に基づいて導出した一つの音高補正量に従って、楽譜データにおける全ての楽譜トラックに規定された個々の出力音の音高を修正している。
【００６５】
〈時間補正処理の処理内容について〉
次に、データ修正処理のＳ１５０にて起動される時間補正処理について説明する。
この時間補正処理は、起動されると、図５に示すように、先のＳ４４０にて生成された修正楽譜データに含まれる全ての楽譜トラックに基づいて、全ての修正出力音が時間軸に沿って推移した波形である修正音推移を取得する（Ｓ５１０）。本実施形態における修正音推移の取得は、Ｓ３１０と同様の方法により実行すれば良い。
【００６６】
続いて、その取得した修正音推移の非調波成分である出力音非調波を、該修正音推移から導出し（Ｓ５２０）、さらに、先のＳ１２０で取得した楽音推移の非調波成分である楽音非調波を、該楽音推移から導出する（Ｓ５３０）。これらの非調波成分の導出は、予め用意されたフィルタに、修正音推移または楽音推移を通過させることで実行しても良い。
【００６７】
さらに、出力音非調波及び楽音非調波を、それぞれ、時間軸に沿って規定された時間長である特定ブロック毎に分割する（Ｓ５４０）。その分割する特定ブロックは、出力音非調波については、対応楽曲においてテンポが一定であることを表すテンポ一定区間（本発明の対象区間に相当）毎である。このテンポ一定区間は、楽譜データに規定されたテンポに従って、テンポが変更される時刻を、各テンポ一定区間の開始時刻、終了時刻として特定することで決定する。なお、楽音非調波の特定ブロックについては、出力音非調波の特定ブロックを決定した後、出力音非調波の特定ブロックそれぞれの開始時刻、終了時刻に相当する対象楽曲の演奏開始からの時刻を、楽音非調波の特定ブロックそれぞれの開始時刻及び終了時刻として特定することで決定する。
【００６８】
そして、Ｓ５４０にて分割された特定ブロックの中から、一組の特定ブロックを選択し（Ｓ５５０）、その一組の特定ブロックについて、楽音非調波、出力音非調波共に、時間軸に沿った変化を表すユニットデータを生成する（Ｓ５６０）。本実施形態におけるユニットデータは、図６（Ａ）,（Ｂ）に示すように、特定ブロックよりも短い時間長である規定区間毎に、その規定区間内での非調波成分の振幅値を加算した上で、その規定区間毎に加算された値を正規化することによって生成する。なお、以下では、出力音非調波についてのユニットデータを出力音ユニットデータ（本発明における出力音変化に相当）とし、楽音非調波についてのユニットデータを楽音ユニットデータ（本発明における楽音変化に相当）とする。
【００６９】
その出力音ユニットデータの時間軸上に規定された出力音設定位置を、楽音ユニットデータの時間軸上に規定された楽音設定位置に一致させて、出力音ユニットデータと楽音ユニットデータとの相関値（以下、時間相関値とする）を導出する（Ｓ５７０）。そして、楽音ユニットデータに対する出力音ユニットデータの伸縮率が、予め規定された上限値（伸縮率の上限値）以上であるか否かを判定する（Ｓ５８０）。その判定の結果、楽音ユニットデータの伸縮率が、伸縮率の上限値未満であれば（Ｓ５８０：ＮＯ）、出力音ユニットデータを、時間軸に沿って予め規定された規定量拡大して（Ｓ５９０）、Ｓ５７０へと戻る。
【００７０】
さらに、楽音ユニットデータの伸縮率が、伸縮率の上限値に達していれば（Ｓ５８０：ＹＥＳ）、楽音ユニットデータに対する出力音ユニットデータの時間軸に沿ったシフト量が、予め規定された上限値（シフト量の上限値）以上であるか否かを判定する（Ｓ６００）。その判定の結果、楽音ユニットデータのシフト量が、シフト量の上限値未満であれば（Ｓ６００：ＮＯ）、出力音ユニットデータの設定位置を、予め規定された時間シフトして（Ｓ６１０）、出力音ユニットデータの伸縮率を下限値とした上で、Ｓ５７０へと戻る。
【００７１】
すなわち、本実施形態のＳ５７０〜Ｓ６１０では、図６（Ｃ）に示すように、楽音ユニットデータに対して、出力音ユニットデータの伸縮率が上限値に達するまで拡大する毎に、時間相関値を導出する。そして、このような時間相関値の導出を、楽音ユニットデータに対して、出力音ユニットデータを時間軸に沿ってシフト量の上限値に達するまでシフトさせつつ実行する。
【００７２】
一方、Ｓ６００での判定の結果、出力音ユニットデータのシフト量が、シフト量の上限値以上であれば（Ｓ６００：ＹＥＳ）、対象楽曲を構成する楽音の演奏開始タイミングに、修正出力音の出力タイミングを一致させるための補正量（以下、時間補正量とする）を導出する（Ｓ６２０）。本実施形態のＳ６２０では、具体的に、一組の特定ブロックに対してＳ５７０で導出された全ての時間相関値の中で、値が最大となる時間相関値に対応する出力音ユニットデータの伸縮率及びシフト量を、Ｓ５５０で選択した特定ブロックに対する時間補正量として導出する。
【００７３】
その導出された時間補正量に従って、個々の出力音の出力タイミングを修正した修正楽譜データを生成する（Ｓ６３０）。本実施形態のＳ６３０では、Ｓ５５０で選択した特定ブロックに対する時間補正量として導出された、出力音ユニットデータのシフト量と、出力音ユニットデータの伸縮率とに基づいて、出力音の音高が修正された修正楽譜データにおける当該特定ブロックの開始時刻及び終了時刻を修正する。そして、修正前の出力音の出力タイミングの間隔比率が維持されるように、修正後の開始時刻、及び終了時刻にて規定される期間に応じて、出力音の出力タイミングを伸縮させることで、当該特定ブロックに対する個々の出力音の出力タイミングを修正した修正楽譜データを生成する。なお、本実施形態のＳ６３０では、出力音の終了タイミングについても修正する。この出力音の終了タイミングの修正方法は、出力音の出力タイミングと同様の方法を用いればよい。
【００７４】
続いて、Ｓ５４０にて分割した全ての特定ブロックに対して、時間補正量を導出したか否かを判定し（Ｓ６４０）、その判定の結果、全ての特定ブロックに対して時間補正量を導出していなければ（Ｓ６４０：ＮＯ）、Ｓ５５０に戻る。そのＳ５５０では、新たな特定ブロックを選択し、Ｓ６３０までのステップを実行する。このＳ５５０では、時間長が長いものから順に特定ブロックを取得して、時間補正量を導出する。ただし、時間補正量が既に導出されている特定ブロックに隣接する特定ブロックでは、既に導出されている特定ブロックの修正後の開始時刻または終了時刻を、自特定ブロックでの値として導出する。
【００７５】
一方、Ｓ６４０での判定の結果、全ての特定ブロックに対して時間補正量を導出していれば（Ｓ６４０：ＹＥＳ）、その後、本時間補正処理を終了し、データ修正処理へと戻る。
【００７６】
つまり、時間補正処理では、楽音推移の特性を表す楽音情報としての楽音ユニットデータと、修正音推移の特性を表す出力音情報としての出力音ユニットデータとを比較した結果に基づいて導出した時間補正量に従って、楽譜データにおける全ての楽譜トラックに規定された個々の出力音の出力タイミングを修正している。
【００７７】
〈音量補正処理の処理内容について〉
次に、データ修正処理のＳ１７０にて起動される音量補正処理について説明する。
この音量補正処理は、起動されると、図７に示すように、先のＳ６４０にて生成された修正楽譜データに含まれる全ての楽譜トラックに基づいて、全ての修正出力音が時間軸に沿って推移した波形である修正音推移を取得する（Ｓ７１０）。本実施形態における修正音推移の取得は、Ｓ３１０と同様の方法により実行すれば良い。
【００７８】
そのＳ７１０にて取得した修正音推移の振幅を時間軸に沿った全体（全期間）で平均することで、出力音平均振幅を導出し（Ｓ７２０）、さらに、先のＳ１２０にて取得した楽音推移の振幅を時間軸に沿った全体（全期間）で平均することで、楽音平均振幅を取得する（Ｓ７３０）。続いて、Ｓ７２０にて導出した出力音平均振幅と、Ｓ７３０にて導出した楽音平均振幅との比率である音量比率を導出する（Ｓ７４０）。
【００７９】
その音量比率を、先のＳ６４０にて生成された修正楽譜データの修正出力音の強さ（即ち、音圧を表すベロシティなどの値）に乗じることにより、修正出力音の音量が楽音の音量に一致するように修正した修正楽譜データを生成する（Ｓ７５０）。
【００８０】
そして、その後、音量補正処理を終了し、データ修正処理へと戻る。
［実施形態の効果］
以上説明したように、本実施形態のデータ修正装置１によれば、当該データ修正装置１にて修正された修正楽譜データは、楽譜データに規定された出力音の音高、出力タイミング、強さ（音量）が、対象楽曲を構成する楽音の音高、演奏開始タイミング、音量に一致したものとなる。
【００８１】
よって、修正楽譜データを構成する修正出力音と、対象楽曲を構成する楽音との間に、音高や出力タイミング、音量のズレが生じることを低減できる。
この結果、自動演奏装置などが、修正楽譜データに従って対応楽曲を演奏すれば、その演奏された楽曲を聴いたユーザが、対象楽曲との間に存在するズレに違和感や、対象楽曲自身と印象が異なると感じることを防止できる。
【００８２】
特に、本実施形態の音高補正処理では、楽音推移及び出力音推移のパワースペクトルのうち、周波数における強度について正規化することで導出した正規化出力音スペクトル及び正規化楽音スペクトルの比較結果に基づいて、音高補正量を導出している。
【００８３】
したがって、このように導出される音高補正量を用いて、楽譜データに規定された個々の出力音の音高を修正すれば、楽音推移の振幅と、出力音推移の振幅とが大きく異なっていたとしても、修正楽譜データに基づく修正音推移を楽音推移に近づけることができる。
【００８４】
さらに、本実施形態において、正規化出力音スペクトル及び正規化楽音スペクトルは、周波数について規定音高範囲ごとに代表値化されているため、楽音の周波数や出力音の周波数に、目的とする波形以外の外来音（周波数ノイズ）が吸収されることとなる。このため、正規化出力音スペクトルと正規化楽音スペクトルとの相関値の誤差を低減させ、音高補正量の導出精度を向上させることができる。これにより、修正楽譜データに基づく出力音推移の音高と、楽音推移の音高との一致度をより向上させることができる。
【００８５】
特に、本実施形態において、正規化出力音スペクトル及び正規化楽音スペクトルを導出する際には、規定音高範囲ごとに代表値化しており、全ての数値を計算しないので、相関を計算する時間も回数も減らすことができ、この結果、高速化できる。
【００８６】
また、本実施形態のデータ修正処理では、音高補正処理を実行して、楽譜データに規定された個々の出力音の音高が、対象楽曲を構成する楽音の音高に一致するように修正した上で、時間補正処理を実行している。したがって、データ修正装置１によれば、楽譜データに規定された出力音の音高と、対象楽曲を構成する楽音の音高との間にズレが生じていることに起因して、時間補正量の導出精度が低下することを防止できる。
【００８７】
特に、本実施形態の時間補正処理では、対象楽曲においてテンポが一定の区間毎に、時間補正量の導出している。このように導出された時間補正量を用いて、出力音の出力タイミングを修正することで、修正楽譜データにおける個々の出力音の出力タイミングを、対象楽曲における個々の楽音の演奏開始タイミングにより正確に一致させることができる。
［その他の実施形態］
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【００８８】
例えば、上記実施形態の音高補正処理におけるＳ３１０では、全ての楽譜トラックに規定されている個々の出力音を、楽譜データの時間軸に沿って音源モジュール１７に出力させ、音声入力部１５を介して受け付けることで、出力音推移の取得を実行していたが、出力音推移の取得方法は、これに限るものではない。すなわち、出力音推移の取得は、出力音の時間軸に沿った波形を表す音響信号（電気信号）を音源モジュール１７が生成し、その生成された音響信号に従って音声出力部１６が鳴動するように、情報処理装置１０が構成されている場合、音源モジュール１７が生成する音響信号を出力音推移として取得しても良い。
【００８９】
そして、上記実施形態の時間補正処理では、時間補正量の導出を、特定ブロック毎に実行するが、時間補正量は、楽曲に対して一つ導出されても良い。
また、上記実施形態における時間補正処理では、時間補正量の導出するときに楽音ユニットデータと比較する出力音ユニットデータを、出力音の音高が修正された修正楽譜データに基づいて取得した修正音推移から生成していたが、この出力音ユニットデータの生成に用いる信号は、例えば、出力音の音高が修正される前の楽譜データに基づいて取得した出力音推移であっても良い。
【００９０】
さらに、上記実施形態の音量補正処理では、修正楽譜データに基づいて取得した修正音推移を用いて音量比率を導出した修正楽譜データを生成したが、本発明においては、音量比率の導出は、楽譜データに基づく出力音推移を用いて実行しても良い。
【００９１】
なお、上記実施形態のデータ修正処理では、音高補正処理、及び時間補正処理に加えて、音量補正処理を実行していたが、データ修正処理で実行される処理の中に、音量補正処理が含まれていなくとも良い。つまり、データ修正処理によって修正される楽譜データのパラメータは、出力音の音高と出力タイミングとであっても良い。
【００９２】
さらには、上記実施形態のデータ修正処理では、音高補正処理と時間補正処理との両方の処理を実行していたが、データ修正処理で実行する処理としては、音高補正処理と時間補正処理とのうちの少なくとも一方であっても良い。
［実施形態と特許請求の範囲との対応関係］
最後に、上記実施形態の記載と、特許請求の範囲の記載との関係を説明する。
【００９３】
上記実施形態のデータ修正処理におけるＳ１２０が、本発明の楽音推移取得手段に相当し、音高補正処理におけるＳ３１０、時間補正処理におけるＳ５１０、及び音量補正処理におけるＳ７１０が、本発明の出力音推移取得手段に相当する。さらに、上記実施形態の音高補正処理におけるＳ３２０からＳ４３０、及び時間補正処理のＳ５２０からＳ６２０が、本発明の補正量導出手段に相当し、このうち、前者が音高補正量導出手段に、後者が時間補正量導出手段に相当する。そして、音高補正処理のＳ４４０、及び時間補正処理のＳ６３０が、本発明の楽譜データ修正手段に相当する。
【００９４】
また、音高補正処理におけるＳ３２０からＳ３５０が、本発明の出力音分布導出手段に相当し、Ｓ３６０からＳ３９０が、本発明の楽音分布導出手段に相当し、Ｓ４００からＳ４２０が、本発明の音高相関導出手段に相当する。そして、時間補正処理におけるＳ５２０,Ｓ５４０からＳ５６０が、本発明の出力音変化導出手段に相当し、Ｓ５３０からＳ５６０が、本発明の楽音変化導出手段に相当し、Ｓ５７０からＳ６１０が、本発明の時間相関導出手段に相当する。
【００９５】
さらには、音量補正処理におけるＳ７２０が、本発明の出力音振幅導出手段に相当し、Ｓ７３０が、楽音振幅導出手段に相当し、Ｓ７４０が、比率導出手段に相当し、Ｓ７５０が、音量修正手段に相当する。
【符号の説明】
【００９６】
１…データ修正装置  １０…情報処理装置  １１…通信部  １２…音響データ読取部  １３…入力受付部  １４…表示部  １５…音声入力部  １６…音声出力部  １７…音源モジュール  １８…記憶部  ２０…制御部
【図１】
0005541008.tif 000002
【図２】
0005541008.tif 000003
【図３】
0005541008.tif 000004
【図４】
0005541008.tif 000005
【図５】
0005541008.tif 000006
【図７】
0005541008.tif 000007
【図６】
0005541008.tif 000008