(57)【要約】【課題】採譜において周波数解析精度を向上させるようにする。【解決手段】  波形データ記憶部３２に記憶されたＷＡＶＥデータに対して、離散ウェブレット変換を行うことにより、異なる目的周波数帯をもつ少なくとも２レベルのウェブレット係数群を取得するＷＴ処理部３４と、ウェブレット係数群のそれぞれに対して、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、短期間フーリエ変換を行って、どの時間位置に、どの周波数成分が存在するかを示す周波数情報を取得するＳＴＦＴ処理部３５と、周波数情報に基づいて音譜情報を生成する音譜情報生成部３９とを有するように構成する。【選択図】図２
2008096844.tif 000002
【特許請求の範囲】
【請求項１】
音声波形データを記憶する記憶手段と、
前記記憶手段に記憶された前記音声波形データに基づいて、離散ウェブレット変換を行うことにより、異なる目的周波数帯をもつ少なくとも２レベルのウェブレット係数群を取得するウェブレット処理手段と、
前記少なくとも２レベルのウェブレット係数群のそれぞれに対して、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、短期間フーリエ変換を行って、前記少なくとも２レベルのウェブレット係数群のそれぞれから、多数の時間位置中のどの時間位置に、多数の周波数成分中のどの周波数成分が存在するかを示す周波数情報を取得する短時間フーリエ解析手段と、
前記少なくとも２レベルのウェブレット係数群のそれぞれから取得された前記周波数情報に基づいて、音譜情報を生成する音譜情報生成手段と
を有する自動採譜装置。
【請求項２】
前記短時間フーリエ解析手段において、前記高レベルのウェブレット係数群に対する周波数分解能が、前記低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、前記高レベルの前記ウェブレット係数群に対する短時間フーリエ変換の観測窓の時間長に相当するウェブレット係数の数と、前記低レベルの前記ウェブレット係数群に対する短時間フーリエ変換の観測窓の時間長に相当するウェブレット係数の数とが設定されている
ことを特徴とする請求項１に記載の自動採譜装置。
【請求項３】
前記短時間フーリエ解析手段において、前記高レベルの前記ウェブレット係数群に対する短時間フーリエ変換の前記観測窓の時間長に相当するウェブレット係数の数と、前記低レベルの前記ウェブレット係数群に対する短時間フーリエ変換の前記観測窓の時間長に相当するウェブレット係数の数とが同じである
ことを特徴とする請求項２に記載の自動採譜装置。
【請求項４】
前記短時間フーリエ解析手段において、前記低レベルの前記ウェブレット係数群に対する短時間フーリエ変換から得られる前記多数の時間位置に、前記高レベルの前記ウェブレット係数群に対する短時間フーリエ変換から得られる前記多数の時間位置と同じ時間位置が含まれるように、前記高レベルの前記ウェブレット係数群に対する短時間フーリエ変換の或る観測窓の先頭のウェブレット係数から次の観測窓の先頭のウェブレット係数までのシフト量と、前記低レベルの前記ウェブレット係数群に対する短時間フーリエ変換の或る観測窓の先頭のウェブレット係数から次の観測窓の先頭のウェブレット係数までのシフト量とが設定されている
ことを特徴とする請求項１乃至３のいずれか一項に記載の自動採譜装置。
【請求項５】
前記短時間フーリエ解析手段において、前記高レベルの前記ウェブレット係数群に対する前記シフト量と、前記低レベルの前記ウェブレット係数群に対する前記シフト量とが、同一時間間隔である
ことを特徴とする請求項４に記載の自動採譜装置。
【請求項６】
前記短時間フーリエ解析手段は、前記多数の周波数成分のそれぞれの前記多数の時間位置のそれぞれでのパワー値又は強度値を算出する値算出手段を備え、
前記自動採譜装置は、
前記高レベルのウェブレット係数群から連続する複数の時間位置を含む或る時間区間にて第１周波数成分が得られ、前記低レベルのウェブレット係数群から前記或る時間区間にて前記第１周波数成分の整数倍の周波数を有する第２周波数成分が得られた場合、前記第２周波数成分の前記或る時間区間における最大のパワー値又は強度値に基づいて、前記第２周波数成分が倍音であるか否かを判定する倍音判定手段と、
前記短時間フーリエ解析手段により取得された前記周波数情報から、前記倍音と判定された前記第２周波数成分の情報を削除する倍音削除手段とを更に備え、
前記音譜情報生成手段は、前記第２周波数成分の情報が削除された後の前記周波数情報に基づいて、前記音譜情報を生成する
ことを特徴とする請求項１乃至請求項５のいずれか一項に記載の自動採譜装置。
【請求項７】
前記倍音判定手段は、前記第２周波数成分の最大のパワー値又は強度値が、前記第１周波数成分の前記或る時間区間における最大のパワー値又は強度値に基づいて決定される閾値以下であれば、当該第２周波数成分を倍音であると判定する
ことを特徴とする請求項６に記載の自動採譜装置。
【請求項８】
前記少なくとも２レベルのウェブレット係数群のそれぞれから得られた前記周波数情報から、それぞれの前記ウェブレット係数群の目的周波数帯の周波数成分と異なる周波数成分の情報を削除する周波数成分削除手段を更に有し、
前記音譜情報生成手段は、周波数成分削除手段により前記周波数成分の情報が削除された後の前記周波数情報に基づいて、前記音譜情報を生成する
ことを特徴とする請求項１乃至請求項７のいずれか一項に記載の自動採譜装置。
【請求項９】
コンピュータに音譜情報を作成させるための自動採譜プログラムであって、
前記コンピュータを、
前記少なくとも２レベルのウェブレット係数群のそれぞれに対して、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、短期間フーリエ変換を行って、前記少なくとも２レベルのウェブレット係数群のそれぞれから、多数の時間位置中のどの時間位置に、多数の周波数成分中のどの周波数成分が存在するかを示す周波数情報を取得する短時間フーリエ解析手段と、
前記少なくとも２レベルのウェブレット係数群のそれぞれから取得された前記周波数情報に基づいて、音譜情報を生成する音譜情報生成手段と
して機能させる自動採譜プログラム。
【請求項１０】
音声波形データを記憶する記憶手段を有する自動採譜装置による自動採譜方法であって、
前記自動採譜装置のウェブレット処理手段が、前記記憶手段に記憶された前記音声波形データに基づいて、離散ウェブレット変換を行うことにより、異なる目的周波数帯をもつ少なくとも２レベルのウェブレット係数群を取得するウェブレット処理ステップと、
前記自動採譜装置の短時間フーリエ解析手段が、前記少なくとも２レベルのウェブレット係数群のそれぞれに対して、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、短期間フーリエ変換を行って、前記少なくとも２レベルのウェブレット係数群のそれぞれから、多数の時間位置中のどの時間位置に、多数の周波数成分中のどの周波数成分が存在するかを示す周波数情報を取得する短時間フーリエ解析ステップと、
前記自動採譜装置の音譜情報生成手段が、前記少なくとも２レベルのウェブレット係数群のそれぞれから取得された前記周波数情報に基づいて、音譜情報を生成する音譜情報生成ステップと、
を有する自動採譜方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音響（音声）信号から自動的に採譜するための装置及び方法に関する。
【背景技術】
【０００２】
採譜（楽譜情報（伝統的な譜面情報だけでなく、ＭＩＤＩデータなども含む）を生成すること）という分野においては、未だ人間の感覚に頼った作業が中心となっており、音楽に対する知識・経験が要求される。また、知識・経験が豊富であったとしても、時間・労力が必要となる。これらの問題をコンピュータによる自動化によって解消することが求められている。採譜のための音響信号解析には、時間と周波数の解析が可能な短時間フーリエ変換(ＳＴＦＴ: Short Time Fourier Transform)が利用されることが多い（特許文献１）。ＳＴＦＴでは、解析対象の音響信号を或る幅（時間長）をもつ時間窓に分割し、時間窓ごとにフーリエ変換を行なうことで、時間情報と周波数情報が同時に得られる。
【特許文献１】特開２００３−１２４８１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、ＳＴＦＴでは、信号周波数の高低に関係なく、同じ幅の時間窓で解析を行なう。時間分解能を良くするためには、時間窓の幅を狭く（時間長を短く）しなければならないが、幅を狭くするほど、周期の長い低周波数の周波数分解能が落ちてしまうという問題がある。また、和音・倍音・テンポなどについては未だ解決していない課題が多い。特に、倍音を完全に除去し、基本波のみを抽出するプロセスは確立されていない。
【０００４】
従って、本発明の目的は、採譜において周波数解析精度を向上させることにある。
【０００５】
別の目的は、倍音除去と和音抽出の性能を向上させることにある。
【課題を解決するための手段】
【０００６】
上記目的達成のため、本発明の第１の態様に係る自動採譜装置は、音声波形データを記憶する記憶手段と、記憶手段に記憶された音声波形データに基づいて、離散ウェブレット変換を行うことにより、異なる目的周波数帯をもつ少なくとも２レベルのウェブレット係数群を取得するウェブレット処理手段と、少なくとも２レベルのウェブレット係数群のそれぞれに対して、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、短期間フーリエ変換を行って、少なくとも２レベルのウェブレット係数群のそれぞれから、多数の時間位置中のどの時間位置に、多数の周波数成分中のどの周波数成分が存在するかを示す周波数情報を取得する短時間フーリエ解析手段と、少なくとも２レベルのウェブレット係数群のそれぞれから取得された周波数情報に基づいて、音譜情報を生成する音譜情報生成手段とを有する。
【０００７】
係る自動採譜装置によると、音声波形データから異なる目的周波数帯をもつ少なくとも２レベルのウェブレット係数群を取得し、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、短期間フーリエ変換を行って、少なくとも２レベルのウェブレット係数群のそれぞれから、どの時間位置に、どの周波数成分が存在するかを示す周波数情報を取得するようにしているので、より低い周波数成分について、より高精度に周波数の情報を収集して、音譜情報を生成することができる。
【０００８】
また、上記自動採譜装置の短時間フーリエ解析手段において、高レベルのウェブレット係数群に対する周波数分解能が、低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように高レベルのウェブレット係数群に対する短時間フーリエ変換の観測窓の時間長に相当するウェブレット係数の数と、低レベルのウェブレット係数群に対する短時間フーリエ変換の観測窓の時間長に相当するウェブレット係数の数とが設定されていてもよい。係る自動採譜装置によると、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くすることができる。
【０００９】
また、上記自動採譜装置の短時間フーリエ解析手段において、高レベルのウェブレット係数群に対する短時間フーリエ変換の観測窓の時間長に相当するウェブレット係数の数と、低レベルのウェブレット係数群に対する短時間フーリエ変換の観測窓の時間長に相当するウェブレット係数の数とが同じであってもよい。係る自動採譜装置によると、異なる目的周波数帯を持つウェブレット係数群に対する短時間フーリエ変換の一部の処理を共通化することができる。
【００１０】
また、上記自動採譜装置の短時間フーリエ解析手段において、低レベルのウェブレット係数群に対する短時間フーリエ変換から得られる多数の時間位置に、高レベルのウェブレット係数群に対する短時間フーリエ変換から得られる多数の時間位置と同じ時間位置が含まれるように、高レベルのウェブレット係数群に対する短時間フーリエ変換の或る観測窓の先頭のウェブレット係数から次の観測窓の先頭のウェブレット係数までのシフト量と、低レベルのウェブレット係数群に対する短時間フーリエ変換の或る観測窓の先頭のウェブレット係数から次の観測窓の先頭のウェブレット係数までのシフト量とが設定されていてもよい。係る自動採譜装置によると、高レベルのウェブレット係数群から得られる時間位置に、低レベルのウェブレット係数群から得られる時間位置が含まれるようになっているので、低レベルのウェブレット係数群から得られた時間位置と、高レベルのウェブレット係数群から得られた時間位置とを用いた比較処理を容易且つ適切に行うことができる。
【００１１】
また、上記自動採譜装置の短時間フーリエ解析手段において、高レベルのウェブレット係数群に対するシフト量と、低レベルのウェブレット係数群に対するシフト量とが、同一時間間隔であってもよい。係る自動採譜装置によると、高レベルのウェブレット係数群から得られる時間位置と、低レベルのウェブレット係数群から得られた時間位置とが同一となるので、高レベルのウェブレット係数群から得られた周波数情報と、低レベルのウェブレット係数群から得られた周波数情報とを用いた時間位置に関する処理を容易に行うことができる。
【００１２】
また、上記自動採譜装置において、短時間フーリエ解析手段は、多数の周波数成分のそれぞれの多数の時間位置のそれぞれでのパワー値又は強度値を算出する値算出手段を備え、自動採譜装置は、高レベルのウェブレット係数群から連続する複数の時間位置を含む或る時間区間にて第１周波数成分が得られ、低レベルのウェブレット係数群から或る時間区間にて第１周波数成分の整数倍の周波数を有する第２周波数成分が得られた場合、第２周波数成分の或る時間区間における最大のパワー値又は強度値に基づいて、第２周波数成分が倍音であるか否かを判定する倍音判定手段と、短時間フーリエ解析手段により取得された周波数情報から、倍音と判定された第２周波数成分の情報を削除する倍音削除手段とを更に備え、音譜情報生成手段は、第２周波数成分の情報が削除された後の周波数情報に基づいて、音譜情報を生成するようにしてもよい。係る自動採譜装置によると、最大のパワー値又は強度値に基づいて適切に倍音か否かを判定することができ、倍音と考えられる周波数の成分を適切に削除した音譜情報を作成することができる。
【００１３】
また、上記自動採譜装置において、倍音判定手段は、第２周波数成分の最大のパワー値又は強度値が、第１周波数成分の或る時間区間における最大のパワー値又は強度値に基づいて決定される閾値以下であれば、当該第２周波数成分を倍音であると判定するようにしてもよい。係る自動採譜装置によると、倍音と考えられる周波数の成分を適切に削除した音譜情報を作成することができる。係る自動採譜装置によると、より高精度に倍音か否かを判定することができ、倍音と考えられる周波数の成分を適切に削除した音譜情報を作成することができる。
【００１４】
また、上記自動採譜装置において、少なくとも２レベルのウェブレット係数群のそれぞれから得られた周波数情報から、それぞれのウェブレット係数群の目的周波数帯の周波数成分と異なる周波数成分の情報を削除する周波数成分削除手段を更に有し、音譜情報生成手段は、周波数成分削除手段により周波数成分の情報が削除された後の周波数情報に基づいて、音譜情報を生成するようにしてもよい。係る自動採譜装置によると、雑音と考えられる成分を各ウェブレット係数群の目的周波数帯毎に適切に削除することができる。
【００１５】
また、上記目的達成のため、本発明の第２の態様に係る自動採譜プログラムは、コンピュータを、少なくとも２レベルのウェブレット係数群のそれぞれに対して、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、短期間フーリエ変換を行って、前記少なくとも２レベルのウェブレット係数群のそれぞれから、多数の時間位置中のどの時間位置に、多数の周波数成分中のどの周波数成分が存在するかを示す周波数情報を取得する短時間フーリエ解析手段と、少なくとも２レベルのウェブレット係数群のそれぞれから取得された周波数情報に基づいて、音譜情報を生成する音譜情報生成手段として機能させる。
【００１６】
係る自動採譜プログラムによると、コンピュータに実行させることにより、音声波形データから異なる目的周波数帯をもつ少なくとも２レベルのウェブレット係数群を取得し、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、短期間フーリエ変換を行って、少なくとも２レベルのウェブレット係数群のそれぞれから、多数の時間位置中のどの時間位置に、多数の周波数成分中のどの周波数成分が存在するかを示す周波数情報を取得するようにしているので、より低い周波数成分について、より高精度に周波数の情報を収集して、音譜情報を生成することができる。
【００１７】
また、上記目的達成のため、本発明の第３の態様に係る自動採譜方法は、音声波形データを記憶する記憶手段を有する自動採譜装置による自動採譜方法であって、自動採譜装置のウェブレット処理手段が、記憶手段に記憶された音声波形データに基づいて、離散ウェブレット変換を行うことにより、異なる目的周波数帯をもつ少なくとも２レベルのウェブレット係数群を取得するウェブレット処理ステップと、自動採譜装置の短時間フーリエ解析手段が、少なくとも２レベルのウェブレット係数群のそれぞれに対して、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、短期間フーリエ変換を行って、少なくとも２レベルのウェブレット係数群のそれぞれから、どの時間位置に、どの周波数成分が存在するかを示す周波数情報を取得する短時間フーリエ解析ステップと、自動採譜装置の音譜情報生成手段が、少なくとも２レベルのウェブレット係数群のそれぞれから取得された周波数情報に基づいて、音譜情報を生成する音譜情報生成ステップと、を有する。
【００１８】
係る自動採譜方法によると、音声波形データから異なる目的周波数帯をもつ少なくとも２レベルのウェブレット係数群を取得し、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、短期間フーリエ変換を行って、少なくとも２レベルのウェブレット係数群のそれぞれから、どの時間位置に、どの周波数成分が存在するかを示す周波数情報を取得するようにしているので、より低い周波数成分について、より高精度に周波数の情報を収集して、音譜情報を生成することができる。
【発明を実施するための最良の形態】
【００１９】
本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２０】
まず、本発明の一実施形態に係る自動採譜システムについて説明する。
【００２１】
図１は、本発明の一実施形態に係る自動採譜システムのハードウエア構成図である。
【００２２】
自動採譜システム１は、自動採譜を行う自動採譜装置２と、音声を出力する電子鍵盤楽器３及びスピーカ４とを有する。電子鍵盤楽器３は、それぞれ所定の音高の音を出力するための複数の鍵盤が設けられており、ユーザによって鍵盤が押下された場合には、押下された鍵盤に対応する音高の音がスピーカ４から出力される。
【００２３】
自動採譜装置２は、装置本体１０と、表示装置１１と、入力装置１２と、マイクロフォン１３とを有する。表示装置１１は、例えば、液晶ディスプレイや、ＣＲＴディスプレイ等の画像を表示する装置である。入力装置１２は、例えば、マウス、キーボード等のユーザからの入力を受け付けるための装置である。マイクロフォン１３は、外部の音をアナログの音声波形信号に変換する。
【００２４】
装置本体１０において、ＣＰＵ（Central Processing Unit）１４と、ＲＯＭ（Read Only Memory）１５と、ＲＡＭ（Random Access Memory）１６と、ハードディスクドライブ１７と、表示処理部１８と、入力インターフェース部(入力Ｉ／Ｆ部)１９と、音声処理部２０と、コンボドライブ２１と、通信インターフェース部(通信Ｉ／Ｆ部)２２とがバス２３を介して接続されている。
【００２５】
ＣＰＵ１４は、ＲＯＭ１５の基本プログラムやハードディスクドライブ１７に格納されているＯＳや後述する自動採譜処理を実行するためのプログラムをＲＡＭ１６に読み出して実行することにより各種処理を実行する。また、ＣＰＵ１４は、各部１４〜２２の動作を制御する。ＲＯＭ１５は、ブートプログラム等の基本プログラムを記憶する。ＲＡＭ１６は、プログラムやデータを記憶する領域として、或いは、ＣＰＵ１４による処理に使用しているデータを格納する作業領域として利用される。ハードディスクドライブ１７は、ＯＳ（オペレーティングシステム）や、各種プログラムや、各種データベースを読み出し可能に記憶する。表示処理部１８は、ＣＰＵ１４の制御により、表示装置１１に画像を表示させるための表示用のデータを生成し、表示装置１１に出力する。入力Ｉ／Ｆ部１９は、入力装置１２と接続されており、入力装置１２からの信号をデータとして、ＣＰＵ１４に渡す。
【００２６】
音声処理部２０は、マイクロフォン１３と接続されており、マイクロフォン１３により変換された音声波形信号をデジタル形式に変換して、ＣＰＵ１４に渡す。本実施形態では、例えば、アナログからデジタルに変換する際には、量子化Bitを、例えば、１６bitとし、リニアＰＣＭ（Pulse Code Modulation）とし、モノラル形式とし、サンプリングレートを、例えば22050Ｈｚとしている。コンボドライブ２１は、複数種類の記録媒体２４からのデータ、プログラムの読み込み、記録媒体２４へのデータ等の書き込みを行う。記録媒体２４としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ等がある。通信Ｉ／Ｆ部２２は、図示しないネットワークを介して、外部の装置とのデータのやりとりの仲介を行う。
【００２７】
次に、図１に示すハードウエアによって実現される自動採譜装置２の機能構成を説明する。
【００２８】
図２は、本発明の一実施形態に係る自動採譜装置の機能ブロック図である。
【００２９】
自動採譜装置２は、マイクロフォン１３と、波形データ生成部３１と、波形データ記憶部３２と、入出力処理部３３と、ウェブレット処理手段の一例としてのウェブレット処理部（ＷＴ処理部）３４と、短時間フーリエ解析手段及び値算出手段の一例としての短時間フーリエ変換処理部（ＳＴＦＴ処理部）３５と、周波数成分削除手段の一例としての雑音除去部３７と、倍音判定手段及び倍音削除手段の一例としての倍音処理部３８と、音譜情報生成手段の一例としての音譜情報生成部３９と、音譜情報記憶部４０と、テンポ設定部４１と、楽譜作成部４２と、ＭＩＤＩ作成部４３と、ＭＩＤＩ記憶部４４とを有する。ここで、波形データ記憶部３２、音譜情報記憶部４０、及びＭＩＤＩ記憶部４４は、ハードディスクドライブ１７によって構成され、波形データ生成部３１は、音声処理部２０及びＣＰＵ１４によって構成され、入出力処理部３３は、表示処理部１８、入力Ｉ／Ｆ部、及びＣＰＵ１４によって構成され、ＷＴ処理部３４、ＳＴＦＴ処理部３５、雑音除去部３７、倍音処理部３８、音譜情報生成部３９、テンポ設定部４１、楽譜作成部４２、及びＭＩＤＩ作成部４３は、ＣＰＵ１４が所定のプログラムを実行することによって構成される。
【００３０】
波形データ生成部３１は、マイクロフォン１３によって外部から取り込まれたアナログ形式の音声波形信号を、デジタル形式の音声波形データに変換し、所定の形式（例えば、ＷＡＶＥ形式）にして波形データ記憶部３２に記憶させる。
【００３１】
本実施形態では、楽譜の再現等を確認するために、電子鍵盤楽器３によって、所定の楽譜に従って演奏した際にスピーカ４から出力される音声を、マイクロフォン１３を介して収集して波形データ生成部３１により音声波形データに変換させて波形データ記憶部３２に記憶させている。なお、本実施形態では、電子鍵盤楽器３をテンポ６０で演奏するようにしている。
【００３２】
図３は、本発明の一実施形態に係る音声波形データを作成する基となった楽譜を示す図である。
【００３３】
図３（１）に示す楽譜においては、Ｃ３〜Ｃ４間での各音階が４部音符で記述され、Ｃ３〜Ｃ４間の各音階が２分音符で記述されている。また、図３（２）に示す楽譜においては、Ｃ３とＣ４の和音が２分音符Ｎ１、Ｎ２で記述され、Ｃ３とＣ４の和音が２分音符Ｎ３、Ｎ４で記述され、Ｃ３が２分音符Ｎ５で記述され、Ｃ４が２分音符Ｎ６で記述されている。
【００３４】
図２に戻り、入出力処理部３３は、各種画面を表示装置１１に表示させる。本実施形態では、入出力処理部３３は、自動採譜処理を行う際には、図４に示す自動採譜ウインドウ１０１を表示させる。また、入出力処理部３３は、自動採譜ウインドウ１０１に対してのユーザの入力装置１２による操作に応じて各種指示を受け付け、指示に応じて、所定の処理を実行する。
【００３５】
図４は、本発明の一実施形態に係る自動採譜ウインドウの一例を示す図である。
【００３６】
自動採譜ウインドウ１０１は、楽譜を表示させる楽譜表示領域１０２を有する。楽譜表示領域１０２には、入力された音声波形データを解析した結果に基づいて得られた楽譜が表示される。楽譜表示領域１０２には、スクロールバー１０３が表示され、スクロールバー１０３にカーソル１０９を合わせた状態で、入力装置１２の一例であるマウスの左ボタンを押下した状態で動かす(ドラッグする)ことにより、表示させる楽譜部分を変えることができるようになっている。
【００３７】
自動採譜ウインドウ１０１には、更に、自動採譜の処理対象のＷＡＶＥファイル名を表示する表示領域１０４と、処理対象のＷＡＶＥファイルを選択する指示を行う選択ボタン１０５と、自動採譜処理を開始させる指示を行う実行ボタン１０６と、ＭＩＤＩデータを作成する指示を行うＭＩＤＩ作成ボタン１０７と、処理の終了を指示する終了ボタン１０８とが表示される。
【００３８】
自動採譜ウインドウ１０１において、カーソル１０９を選択ボタン１０５にあわせて、マウスの左ボタンが押下（クリック）されると、自動採譜の処理対象のＷＡＶＥファイルを選択するためのウインドウを表示させ、そのウインドウを利用して、ＷＡＶＥファイルを選択させることができるようになっている。なお、選択されたＷＡＶＥファイルのファイル名は、表示領域１０４に表示される。また、自動採譜ウインドウ１０１において、ＷＡＶＥファイルが選択されている状態で、カーソル１０９を実行ボタン１０５にあわせて、マウスの左ボタンがクリックされると、選択されているＷＡＶＥファイル名をＷＴ処理部３３に通知し、後述する自動採譜処理を実行するようになっている。また、自動採譜ウインドウ１０１において、ＷＡＶＥファイルの楽譜が表示された状態で、カーソル１０９をＭＩＤＩ作成ボタン１０７にあわせて、マウスの左ボタンがクリックされると、ＭＩＤＩ作成部４３にＭＩＤＩファイルを作成する指示を通知し、現在表示されている楽譜に対応するＭＩＤＩデータの作成を開始するようになっている。また、自動採譜ウインドウ１０１において、カーソル１０９を終了ボタン１０８にあわせてマウスの左ボタンがクリックされると、自動採譜プログラムを終了するようになっている。
【００３９】
図２に戻り、ＷＴ処理部３４は、波形データ記憶部３２に記憶されているＷＡＶＥファイルに対して離散ウェブレット変換を行い、異なる目的周波数帯を持つ複数レベルのウェブレット係数群を取得する。
【００４０】
ここで、ウェブレット変換について説明するとともに、ＷＴ処理部３４の処理をより詳細に説明する。
【００４１】
ウェブレット変換とは、局在的様子を調べるための局在的な基本参照波、すなわち、マザーウェブレットΨ（ｔ）を拡大し又は縮小し、平行移動したいくつかの参照波（ウェブレット：Wavelet）を用いて、所定の信号データ列ｘ（ｔ）との照らし合わせを行って局在的な性質を求めるものである。
【００４２】
ウェブレットは、数式（１）によって表すことができる。ここで、ａは、拡大縮小パラメータ（スケールファクタ）であり、ｂは、平行移動パラメータ(シフトファクタ）を示す。
【００４３】
【数１】
2008096844.tif 000003
【００４４】
更に、ウェブレット変換は、数式（２）によって表される。
【００４５】
【数２】
2008096844.tif 000004
【００４６】
簡単に言うと、連続ウェブレット変換（Continuous Wavelet Transform）は、信号データにウェブレットの参照波を乗算し、時間領域で和を計算して、スケールと位置の関数であるウェブレット係数を作成することを意味する。
【００４７】
しかしながら、全ての拡大縮小パラメータ、平行移動パラメータを利用してＷａｖｅｌｅｔ係数を計算することは、大量のデータを必要とし、処理の負荷が大きい。高速フーリエ変換（ＦＦＴ：Fast Fourier Transform）に処理量減少させた離散フーリエ変換（ＤＦＴ：Discrete Fourier Transform）があるように、ウェブレット変換にも、処理量を減少させることのできる離散ウェブレット変換（ＤＷＴ：Discrete Wavelet Transform）がある。なお、ＤＷＴに用いられるマザーウェブレットΨ（ｔ）は、以下に示す数式（３）〜（５）に示す３条件を満たす必要がある。
【００４８】
【数３】
2008096844.tif 000005
【００４９】
ここで、Ｌはウェブレットの長さ（サポート）を表す。数式（３）は、要素を加算すると０になることを表し、数式（４）は、ウェブレットのエネルギーを１に標準化していることを表している。また、数式（５）は、偶数倍シフトした要素がもとの要素と直行することを表しており、数式（４）は、シフトしない場合、内積が１になることを表している。この２つの条件を合わせて正規直交性の条件という。
【００５０】
ＤＷＴを行うにあたって、ウェブレット関数Ψ（ｔ）と対をなす、スケーリング関数Φ（ｔ）が必要になる。これら２つの関数の関係は以下に示す数式（６）、（７）に示すようになっている。
【００５１】
【数４】
2008096844.tif 000006
【００５２】
数式（７）によると、ウェブレット関数Ψ（ｔ）と、スケーリング関数Φ（ｔ）とが偶数倍のシフトに対して互いに直交関係になっていることがわかる。ウェブレット関数が山と谷が組となった周期の短い高周波数を通すハイパスフィルタなのに対して、スケーリング関数はなだらかな山となり、周期の長い低周波を通すローパスフィルタとなっている。
【００５３】
ここで、もっともポピュラーなウェブレットに、ハールウェブレットと、ドベシィウェブレットとがある。本実施形態では、例えば、ドベシィウェブレットを利用している。ドベシィウェブレットは、複数のサポートがあり、例えば、サポートが４の場合には、例えば、数式（８）に示すようになっている。
【００５４】
【数５】
2008096844.tif 000007
【００５５】
本実施形態では、ＷＴ処理部３４は、以下に示すピラミッドアルゴリズムを用いている。
【００５６】
このピラミッドアルゴリズムの第一段階では、波形信号の原系列ｘをウェブレット関数Ψに通してウェブレット係数群ｗ１を得る。ウェブレット係数群ｗ１を構成する各ウェブレット係数ｗ１，ｔは、以下に示す数式（９）によって表される。
【００５７】
【数６】
2008096844.tif 000008
【００５８】
ここで、Ｎは、原系列ｘの長さを示し、ｔは１からＮ／２までの整数を示している。また、ＡｍｏｄＮは、ＡからＮの倍数を引く、或いは足して、０〜Ｎ−１の整数を作る演算を示している。
【００５９】
同様にして、原系列ｘをスケーリング関数Φに通して、スケーリング係数群ｖ１を得る。スケーリング係数群ｖ１を構成する各スケーリング係数ｖ１，ｔは、以下に示す数式（１０）によって表される。
【００６０】
【数７】
2008096844.tif 000009
【００６１】
ウェブレット関数、又はスケーリング関数を通す際に、使用される原系列のデータは、２個づつ進むこととなるので、出力されるウェブレット係数群と、スケーリング係数群の長さは、原系列の半分となる。なお、両方の係数を併せればＮ個の出力が得られていることになるので、全体としての情報量は失われない。
【００６２】
この後、ピラミッドアルゴリズムの第２段階へと進む。第１段階によって得られたウェブレット係数群には、原系列の変動のうち、周期が２（スケール２）の部分を捉えたものが含まれている。一方、スケーリング係数群には、周期２よりも長い原系列の全ての動きが混在したものとなっている。そこで、第２段階においては、第１段階で得られたスケーリング係数群ｖ１をその中で周期の短い動きｗ２と、周期の長い動きｖ２に分解する処理を行う。このような処理を複数段階行う。
【００６３】
このようなＤＷＴについて、各段階における処理を一般形で記述すると以下のようになる。
【００６４】
まず、レベルｉ―１のスケーリング係数群ｖi-1をウェブレット関数Ψに通して、レベルiのウェブレット係数群ｗiを得る。なお、スケーリング係数ｖ０は、原系列のデータを意味する。ウェブレット係数群ｗｉを構成する各ウェブレット係数ｗｉ，ｔは、以下に示す数式（１１）によって表される。
【００６５】
【数８】
2008096844.tif 000010
【００６６】
次に、レベルｉ―１のスケーリング係数群ｖi-1をスケーリング関数Φに通して、レベルiのスケーリング係数群ｖiを得る。なお、スケーリング係数ｖ０は、原系列のデータを意味する。スケーリング係数群ｖｉを構成する各スケーリング係数ｖｉ，ｔは、以下に示す数式（１２）によって表される。
【００６７】
【数９】
2008096844.tif 000011
【００６８】
ここで、各レベルにおける係数の長さについて説明する。
【００６９】
まず、原系列のサンプリングレートが２２０５０Ｈｚの場合には、レベル１のウェブレット係数群及びスケーリング係数群の長さは、１秒につき、２２０５０／２１＝１１０２５となる。同様に、レベル２では、２２０５０／２２＝５５１２．５となり、レベル３では、２２０５０／２３＝２７５６．２５となり、レベル４では、２２０５０／２４＝１３７８．１２５となり、レベル５では、２２０５０／２５＝６８９．０６２５となる。すなわち、レベルｉでは、Ｎ／２ｉとなる。
【００７０】
この場合において、サンプリング定理より、各レベルのウェブレット係数群は、次のような目的周波数帯を持つこととなる。すなわち、レベル１のウェブレット係数群は、２７５６．２５〜５５１２．５Ｈｚの目的周波数帯を持ち、レベル２のウェブレット係数群は、１３７８．１２５〜２７５６．２５Ｈｚの目的周波数帯を持ち、レベル３のウェブレット係数群は、６８９．０６２５〜１３７８．１２５Ｈｚの目的周波数帯を持ち、レベル４のウェブレット係数群は、およそ３４４．５〜６８９．０６２５Ｈｚの目的周波数帯を持ち、レベル５のウェブレット係数群は、およそ１７２．２〜３４４．５Ｈｚの目的周波数帯を持つ。ここで、レベルに付いた数が大きいほど、レベルが高い、すなわち、高レベルであるということとする。
【００７１】
本実施形態では、楽音周波数Ｃ３（２６１Ｈｚ）〜Ｃ４（５２２Ｈｚ）を採譜の対象としており、サンプリング定数を考慮すると、レベル４及びレベル５のウェブレット係数群を利用することによって、対象となる周波数の解析を行うことができる。
【００７２】
従って、本実施形態においては、ＷＴ処理部３４は、上記したピラミッドアルゴリズムによってレベル４のウェブレット係数群と、レベル５のウェブレット係数群とを取得するようにしている。
【００７３】
ＳＴＦＴ処理部３５は、ＷＴ処理部３４から少なくとも２レベルのウェブレット係数群を取得し、少なくとも２レベルのウェブレット係数群のそれぞれに対して、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように、短期間フーリエ変換を行って、少なくとも２レベルのウェブレット係数群のそれぞれから、どの時間位置に、どの周波数成分が存在するかを示す周波数情報を取得する。
【００７４】
ここで、ＳＴＦＴについて説明するとともに、ＳＴＦＴ処理部３５の処理をより詳細に説明する。
【００７５】
フーリエ変換によって、信号のなかにどの周波数成分がどれだけ含まれているかを抽出ことができる。このようなフーリエ変換において、入力波形をいくつかのグループに分けて計算し、ＤＦＴの対象性に注目するという計算順序の工夫によって計算量を大幅に減少させたＦＦＴが知られている。
【００７６】
ＦＦＴを利用して、データの周波数分布（スペクトル特性）を推定する場合には、ある時間Ｔに限って観測することが行われる。この場合、観測時間という窓（観測窓）から見える観測パターンのスペクトルを推定することになる。このように短時間にデータを切り出してスペクトル解析を行う手法をＳＴＦＴという。
【００７７】
データを切り出す際には、両端の影響を考慮しなければならない。すなわち、ＤＦＴではデータの周期性が仮定されているため、データ数が基本周期と一致しない場合には、両端のデータ値が大きく異なって、急峻に変化しているような影響が現れてしまうことがあり、実在しない高周波数成分（高調波成分）が発生する可能性がある。
【００７８】
そこで、データを切り出すために、窓関数を利用することが行われている。窓関数には、方形窓、ハニング窓、ハミング窓、ブラックマン窓等が知られており、窓関数は用途に応じて使い分けることが重要である。本実施形態では、以下の理由により、数式（１３）で表されるハニング窓を用いている。
【００７９】
【数１０】
2008096844.tif 000012
【００８０】
すなわち、本実施形態では、音声波形データは、非定常データであるため高ダイナミックレンジが望まれ、また、解析対象としている楽音周波数においては、ＳＴＦＴ処理部３５における周波数分解能が隣り合う音階の差に比べてごく小さいため複数の信号の解析に支障がないという理由により、ハニング窓を用いている。
【００８１】
本実施形態では、ＳＴＦＴ処理部３５は、ＷＴ処理部３４によって取得された、レベル４とレベル５のウェブレット係数群に対して、ＳＴＦＴを行っている。各レベルに対するＳＴＦＴの観測窓の時間長(変換単位)に相当するウェブレット係数のデータ点数は、５１２点としており、レベル４における観測窓のシフト量、すなわち、ＳＴＦＴを行った一の観測窓におけるウェブレット係数の先頭から、次のＳＴＦＴを行う観測窓のウェブレット係数の先頭に至るまでのシフト量を２８点とし、レベル５におけるサンプルのシフト量は、１４点としている。このように、レベル５におけるシフト量をレベル４におけるシフト量を半分にすることによって、ＳＴＦＴによって得られる各サンプルの時間間隔をレベル４とレベル５とで同じにすることができ、時間に関する処理を容易にすることができる。
【００８２】
図５は、本発明の一実施形態に係るＳＴＦＴにおける周波数分解能を説明する図である。
【００８３】
同図に示すように、レベル４のウェブレット係数群に対してＳＴＦＴを行った場合の周波数分解能は、約２．６９Ｈｚであり、レベル５のウェブレット係数群に対してＳＴＦＴを行った場合の周波数分解能は、約１．３４Ｈｚであり、低周波数の含まれているレベル５のウェブレット係数群に対して周波数の分解能を高精度にすることができる。また、従来のように原信号をＳＴＦＴのみにより解析した場合に比して、周波数分解能を高精度にすることができる。また、上述したように、約２．６９Ｈｚと、約１．３４Ｈｚの周波数分解能は、楽音周波数における隣り合う音階の差よりも小さいため、ハニング窓を用いても支障がないことが明確である。
【００８４】
図１に戻り、ＳＴＦＴ処理部３５では、ウェブレット係数群の先頭から始まる５１２点の係数に対して数式（１４）を適用することにより、存在する各周波数の振幅を求め、各周波数のパワー値を算出する。パワー値は、数式（１４）を数式（１５）に示すように表した場合には、数式（１６）によって算出することができる。
【００８５】
【数１１】
2008096844.tif 000013
【００８６】
ここで、ｋは、周波数の順番を示し、ｐは、ウェブレット係数群における変換単位の先頭からの位置を示し、ｈ（ｐ）は、位置ｐのウェブレット係数を示し、ｗ（ｐ）は、位置ｐの窓関数を示し、ｊは虚数単位を示し、Ｎは、サンプル点数（本実施形態では、５１２）を示し、Ｘｋは、ｋ番目の周波数の振幅を示し、Ｘｃｏｓは、振幅のｃｏｓ成分を示し、Ｘｓｉｎは、振幅のｓｉｎ成分を示し、Ｐｋは、ｋ番目の周波数のパワー値を示している。
【００８７】
また、ＳＴＦＴ処理部３５は、各レベルに応じたシフト量に従って観測窓の先頭をシフトして、当該シフトした位置から始まる観測窓の時間長に相当する係数、すなわち、５１２点の係数に対して上記同様な処理を実行する。本実施形態では、レベル４におけるシフト量を２８点とし、レベル５におけるシフト量を１４点としている。
【００８８】
このようにして、ＳＴＦＴ処理部３５は、どの時間位置に、どの周波数成分が存在するかを示す周波数情報を取得する。本実施形態では、ＳＴＦＴ処理部３５は、各レベルのウェブレット係数群に対して各観測窓において含まれる周波数及びパワー値を算出し、各観測窓の代表の時間位置（例えば、観測窓の先頭の係数に対応付けられている時間）、周波数、及びパワー値のデータを、これらを算出したウェブレット係数群のレベルと対応させた周波数情報を、例えば、ＲＡＭ１６に記憶させる。
【００８９】
図６は、本発明の一実施形態に係るＳＴＦＴによる解析結果を説明する図である。
【００９０】
同図は、図３（２）に示す楽譜に基づいた演奏から作成されたＷＡＶＥファイルに対する処理によって、ＷＴ処理部３４から得られた、レベル４及びレベル５のウェブレット係数群のそれぞれに対して、ＳＴＦＴ変換部３５による処理を行った結果を併せて表示したものである。
【００９１】
同図に示すように、ＳＴＦＴ処理部３５による処理の結果中には、雑音である周波数成分２０１、２０２，２０３等と、図３（２）の音符Ｎ１に対応する周波数成分２０３、音符Ｎ２に対応する周波数成分２０４、音符Ｎ３に対応する周波数成分２０５、音符Ｎ４に対応する周波数成分２０６、音符Ｎ５に対応する周波数成分２０７、音符Ｎ６に対応する周波数成分２０９、音符Ｎ５を演奏する際に発生した倍音である周波数成分２０８が含まれている。ここで、周波数成分２０４、２０６、２０８、２０９は、レベル４のウェブレット係数群に対する処理により得られたものであり、周波数成分２０３、２０５、２０７は、レベル５のウェブレット係数群に対する処理により得られたものである。
【００９２】
図２に戻り、雑音除去部３７は、ＳＴＦＴ処理部３５によって算出された各データから、楽器によって一般的に出力される音の周波数帯（楽音周波数帯）である２０Ｈｚ〜４２００Ｈｚ以外の周波数成分のデータを削除する。また、雑音除去部３７は、ＳＴＦＴ処理部３５によって算出された各データから、最大パワースペクトルの１／２０以下の周波数のデータを削除する。また、雑音除去部３７は、ＳＴＦＴ処理部３５によって算出された各データから、データが算出されたレベルのウェブレット係数群の目的周波数帯に含まれない周波数のデータを削除する。例えば、レベル４のウェブレット係数群から得られたデータであれば、約３４５Ｈｚ〜約６８９Ｈｚ以外の周波数を削除し、レベル５のウェブレット係数群から得られたデータであれば、約１７２Ｈｚ〜約３４５Ｈｚ以外の周波数のデータを削除する。これによって、採譜に関係のない周波数のデータを適切に削除することができる。
【００９３】
倍音処理部３８は、高レベルのウェブレット係数群から連続する複数の時間位置を含む或る時間区間にて第１周波数成分が得られ、低レベルのウェブレット係数群から或る時間区間にて第１周波数成分の整数倍の周波数を有する第２周波数成分が得られた場合、第２周波数成分の或る時間区間における最大のパワー値又は強度値に基づいて決定される閾値（例えば、第１周波数成分の或る時間区間での最大パワー値の５０パーセントの値）以下であれば、或る時間区間の第２周波数成分を倍音であると判定する。また、倍音処理部３８は、ＳＴＦＴ処理部３５により算出された各データから、倍音と判定された第２周波数成分の情報を削除する。本実施形態では、倍音と判定された時間的に連続する第２周波数成分の全てを削除するようにしている。
【００９４】
図７は、本発明の一実施形態に係る倍音成分の削除を説明する図である。
【００９５】
同図は、図３（２）に示す楽譜に基づいた演奏から作成されたＷＡＶＥファイルを用いた処理により得られた結果を示しており、レベル４のウェブレット係数群に対する処理により得られた結果を図中左側に示し、レベル５のウェブレット係数群に対する処理により得られた結果を図中右側に示している。
【００９６】
同図中において、複数の時間位置において検出された同一周波数成分の集合を棒グラフによって示している。周波数集合３０１は、図３（２）の音符Ｎ２に対応する音の周波数の集合であり、当該周波数集合３０１のパワー値は、線Ｐ１に示すようになっている。周波数集合３０２は、音符Ｎ４に対応する集合であり、当該周波数集合３０２のパワー値は、線Ｐ２に示すようになっている。周波数集合３０３は、音符Ｎ５の倍音に対応する集合であり、当該周波数集合３０３のパワー値は、線Ｐ３に示すようになっている。周波数集合３０４は、音符Ｎ６に対応する集合であり、当該周波数集合３０４のパワー値は、線Ｐ４に示すようになっている。周波数集合３０５は、音符Ｎ１に対応する集合であり、当該周波数集合３０５のパワー値は、線Ｐ５に示すようになっている。周波数集合３０６は、音符Ｎ３に対応する集合であり、当該周波数集合３０６のパワー値は、線Ｐ６に示すようになっている。周波数集合３０７は、音符Ｎ５に対応する集合であり、当該周波数集合３０７のパワー値は、線Ｐ７に示すようになっている。これら周波数集合の中で、周波数集合３０１と周波数集合３０５、周波数集合３０２と周波数集合３０６、周波数集合３０３と周波数集合３０７は、同時期に発生している。ここで、倍音である周波数集合３０３の最大のパワー値は、当該倍音を発生させるもとの音の周波数の集合、すなわち、周波数集合３０７の線Ｐ７で示されるパワー値の最大の５０パーセントよりも低くなっている。
【００９７】
本実施形態では、倍音処理部３８は、より低い目的周波数帯のレベル５のウェブレット係数群から得られた周波数集合３０７の最大パワー値の５０パーセントを閾値とし、レベル４のウェブレット係数群から得られた同時期に発生し、且つ、周波数集合３０７の周波数の数倍の周波数の集合である周波数集合３０３の最大パワー値が閾値以下であるので、周波数集合３０３の全てのデータを削除する。
【００９８】
図８は、本発明の一実施形態に係る雑音等を削除した後の周波数を示す図である。
【００９９】
同図は、図６に示すデータに対して、雑音除去部３７及び倍音処理部３８によって雑音及び倍音の除去をした結果を示している。
【０１００】
図８に示すように、図６には、データとして含まれていた雑音である周波数成分２０１、２０２、２０３等と、倍音である周波数成分２０８とを適切に削除することができ、実際に演奏した音符に相当する周波数成分２０３、２０４、２０５、２０６、２０７、２０９を適切に残すことができる。
【０１０１】
音譜情報生成部３９は、倍音処理部３８による倍音の周波数集合のデータを削除した後に残っている周波数のデータに基づいて、音譜情報を生成し、当該音譜情報を音譜情報記憶部４０に格納する。
【０１０２】
図９は、本発明の一実施形態に係る音譜情報の一例を示す図である。
【０１０３】
図９（１）は、レベル４のウェブレット係数群から抽出された音譜情報を示し、図９（２）は、レベル５のウェブレット係数群から抽出された音譜情報を示している。
【０１０４】
図９に示すように、本実施形態では、音譜情報として、音高を示す情報の一例である周波数と、当該周波数の音を発生する期間である発音期間と、当該周波数の音を発生させる所定の基準時間からの時間である発音時間と、当該音の発生を終了する時間である消音時間との情報とを対応付けたものとしている。ここで、発音期間は、同一の周波数が連続したデータに現れているその期間であり、容易に生成することができる。なお、後述の処理の迅速化を図るため消音時間も対応付けるようにしているが、消音時間は、発音時間と発音期間とを加算することにより得られるので、対応付けておかなくてもよい。音譜情報によると、例えば、Ｃ４に対応する５２２Ｈｚの音は、発音時間が０秒(sec）であり、発音期間が０．２１３秒であり、消音時間が０．２１３秒であることがわかる。なお、本実施形態では、レベル４とレベル５のウェブレット係数群から得られたデータを併合し、例えば発音時間が昇順となるように並び換えた音譜情報を音譜情報記憶部４０に格納している。
【０１０５】
テンポ決定部４１は、音声波形データが示す演奏におけるテンポを決定する。ここで、テンポとは、１分間に４分音符がいくつ入るかを示す値である。
【０１０６】
本実施形態では、テンポ決定部４１は、まず、音譜情報に含まれる各音を音長に基づいて複数のクラスに分け、各クラスに属する音の発音期間の合計を求め、発音期間の平均を算出する。
【０１０７】
図１０は、本発明の一実施形態に係る音長分けテーブルの一例を示す図である。
【０１０８】
図１０に示すように本実施形態では、テンポ６０における各音符の音長に基づいて複数のクラスに分けている。
【０１０９】
全音符クラス４０１は、音長が３．５秒以上の音が分類されるクラスであり、付点２分音符クラス４０２は、音長が２．５〜３．５秒の音が分類されるクラスであり、２分音符クラス４０３は、音長が１．７５〜２．５秒の音が分類されるクラスであり、付点４分音符クラス４０４は、音長が１．２５〜１．７５秒の音が分類されるクラスであり、４分音符クラス４０５は、音長が０．７５〜１．２５秒の音が分類されるクラスであり、８分音符クラス４０６は、音長が０．２５〜０．７５秒の音が分類されるクラスであり、無音クラス４０７は、音長が０．２５秒未満の音が分類されるクラスである。
【０１１０】
図１１は、本発明の一実施形態に係る音長分けの結果を示す図である。
【０１１１】
同図は、図３（１）に示す楽曲を演奏したＷＡＶＥファイルに対して処理を行った場合に得られた結果を示している。
【０１１２】
同図において、４部音符クラスには、８つの音が分類され、その発音期間の合計は、７．７７秒であり、発音期間平均は、０．９７１である。また、付点４分音符クラスには、１つの音が分類され、発音期間合計は、１．５７秒であり、発音期間平均は、１．５７秒である。また、２分音符クラスには、７つの音が分類され、その発音期間の合計は、１３．７６秒であり、発音期間平均は、１．９７秒である。
【０１１３】
テンポ決定部４１は、最も多くの音が分類されたクラスに属する音が４部音符であると決定し、数式（１７）によりテンポを算出する。
【０１１４】
【数１２】
2008096844.tif 000014
【０１１５】
ここで、Ｔは、テンポ６０の４分音符の長さ、すなわち、１秒であり、ｔは、最も多くの音が分類されたクラスにおける発音期間平均の秒数である。
【０１１６】
図１１に示したように音長分けがされた場合には、テンポ決定部４１は、テンポを（１／０．９７１）×６０＝６１．８と算出する。
【０１１７】
楽譜作成部４２は、音譜情報記憶部４０に記憶された音譜情報と、テンポ決定部４１によって決定されたテンポとに基づいて、楽譜を作成する。
【０１１８】
具体的には、楽譜作成部４２は、音譜情報の周波数に基づいて音高を決定し、発音期間及びテンポに基づいて音符の種類を決定し、発音時間に基づいて五線譜上の時間軸方向の位置を決定し、これら決定した内容に基づいて、五線譜の画像データを作成し、入出力処理部３３に出力する。これにより、自動採譜ウインドウ１０１には、作成された五線譜が表示される。
【０１１９】
図１２は、本発明の一実施形態に係る音譜情報から作成された楽譜を含む自動採譜ウインドウの一例を示す図である。
【０１２０】
同図は、図３(２)に示す楽曲を演奏した際のＷＡＶＥファイルに対して処理を行った際のウインドウを示している。
【０１２１】
自動採譜ウインドウ１０１の楽譜表示領域１０２には、Ｃ３の２分音符５０１が表示されるとともに、同時点に、Ｃ４の２分音符５０２が表示されている。次に、Ｃ３の２分音符５０３が表示され、ほぼ同じ時点にＣ４の２分音符５０４が表示されている。そして、次に、Ｃ３の２分音符５０５が表示され、Ｃ４の２分音符５０６が表示されている。このように、図３（２）に示す楽譜とほぼ同じ楽譜を再現することができる。
【０１２２】
ＭＩＤＩ作成部４３は、音譜情報記憶部４０に記憶された音譜情報と、テンポ決定部４１によって決定されたテンポとに基づいて、ＭＩＤＩデータを作成し、ＭＩＤＩ記憶部４４に格納する。
【０１２３】
図１３は、本発明の一実施形態に係るＭＩＤＩデータの構成を説明する図である。
【０１２４】
図１３（１）は、ヘッダチャンク６００の構成を示し、図１３（２）は、トラックチャンク６１０の構成を示している。
【０１２５】
ＭＩＤＩデータは、１つのヘッダチャンク６００と、１つ又は複数のトラックチャンク６１０とによって構成される。ヘッダチャンク６００は、チャンクタイプフィールド６０１と、データ長フィールド６０２と、フォーマットフィールド６０３と、トラック数フィールド６０４と、時間単位フィールド６０５とを有する。
【０１２６】
チャンクタイプフィールド６０１は、４バイトであり、ヘッダチャンクであることを示すアスキー文字列"ＭＴｈｄ"が格納される。データ長フィールド６０２は、４バイトであり、フォーマットフィールド６０３、トラック数フィールド６０４、及び時間単位フィールド６０５のデータ長を示す"６"が格納される。フォーマットフィールド６０３は、２バイトであり、フォーマットの形式を示す。フォーマット形式が"０"の場合は、トラック数が１であり、フォーマット形式が"１"又は"２"の場合には、トラック数は、１以上の任意数となる。トラック数フィールド６０４は、２バイトであり、トラックチャンクの数が格納される。時間単位フィールド６０５は、２バイトであり、４分音符分のデルタタイム、又はタイムコードに基づいた１秒の分数が格納される。
【０１２７】
トラックチャンク６１０は、チャンクタイプフィールド６１１と、データ長フィールド６１２と、データフィールド６１３と、データ終了フィールド６１４とを有する。
【０１２８】
チャンクタイプフィールド６１１は、４バイトであり、トラックチャンクであることを示すアスキー文字列"ＭＴｒｋ"が格納される。データ長フィールド６１２は、４バイトであり、データ部のデータ長を示す情報が格納される。データフィールド６１３は、任意のバイトであり、各種イベントが格納される。データ終了フィールド６１４は、４バイトであり、終了を示す"００  ＦＦ  ２Ｆ  ００"が格納される。
【０１２９】
データフィールド６１３においては、各イベントの相対的位置（相対時間）を示すために用いられるデルタタイムと、コマンドが対応付けられたイベントが格納される。
コマンドとしては、例えば、音の発生を行うイベントであるノートオンコマンドと、音の停止をするノートオフコマンドとがある。
【０１３０】
ノートオンコマンドは、"９ｎＨ"で示され、ノートオフコマンドは、"８ｎＨ"で示される。ここで、ｎは、ノートナンバーを表し、０〜１２７が割り当てされている。標準的なピアノの中央のドであるＣ３が６０であり、これに対して半音上がるごとに１ずつ加算された値となり、半音下がるごとに１ずつ減算された値となる。また、Ｈは、ベロシティであり、音の強弱を示している。ベロシティはピアニッシモｐｐｐからフォルテッシモｆｆｆまで１〜１２７の１２７段階に分けられている。本実施形態では、一律に１００としている。
【０１３１】
このような構成のＭＩＤＩデータを作成するために、ＭＩＤＩ作成部４３は、例えば、音譜情報記憶部４０に記憶された音譜情報の周波数に基づいて、音程を決定し、当該音程に対応するノートナンバーを決定し、発音時間及びテンポに基づいて、前のイベントとのデルタタイムを決定し、発音期間及び決定されたテンポに基づいて、ノートオフコマンドのデルタタイムを決定する等して、そのイベントの内容等を含むＭＩＤＩデータを作成する。
【０１３２】
次に、自動採譜装置２による自動採譜処理の流れを説明する。
【０１３３】
図１４は、本発明の一実施形態に係る自動採譜処理を説明するフローチャートである。
【０１３４】
なお、自動採譜処理を行うに先立って、自動採譜をするために利用する音声波形データを録音等により用意しているものとする。
【０１３５】
自動採譜ウインドウ１０１において、ユーザによる入力装置１２に対する操作により、自動採譜対象のＷＡＶＥファイルが指定され、実行ボタン１０６が押下されると、入出力処理部３３が、指定されたＷＡＶＥファイルをＷＴ処理部３４に通知する、指定を受けたＷＴ処理部３４は、該当するＷＡＶＥファイルを波形データ記憶部３２から取得し（ステップＳ１）、変数ｉを０に設定し(ステップＳ２)、変数ｉに１を加算する(ステップＳ３)。次いで、ＷＴ処理部３４は、レベルｉのウェブレット係数群を取得し(ステップＳ４)、レベルｉのスケーリング係数群を取得する(ステップＳ５)。次いで、ＷＴ変換部３４は、解析対象の音程の範囲に必要なレベルのウェブレット係数群を取得したか否か、本実施形態では、レベル５のウェブレット係数群を取得したか否かを判定し(ステップＳ６)、必要なレベルのウェブレット係数群を取得していない場合には、上記したステップＳ３からのステップを繰り返し実行する。
【０１３６】
一方、必要なレベルのウェブレット係数群を取得した場合には、ＳＴＦＴ処理部３５にその旨を通知し、通知を受けたＳＴＦＴ処理部３５は、処理対象の１つのレベルのウェブレット係数群をＲＡＭ１６から取得し（ステップＳ７）、取得したレベルのウェブレット係数群に対してＳＴＦＴを行って、時間、周波数、及びパワー値の情報を取得する(ステップＳ８)。
【０１３７】
次いで、ＳＴＦＴ処理部３５は、処理対象の全レベル（本実施形態では、レベル４とレベル５）のウェブレット係数群に対してステップＳ８を実行したか否かを判定し(ステップＳ９)、終了していない場合には、未処理のレベルのウェブレット係数群に対する処理（ステップＳ７からの処理）を実行する。
【０１３８】
一方、全処理対象のレベルのウェブレット係数群に対して処理を終了した場合(ステップＳ９のＹＥＳ)には、雑音除去部３７がＳＴＦＴ処理部３５から得られたデータから雑音に関する周波数成分のデータを削除し（ステップＳ１０）、倍音処理部３８が、倍音に関する周波数成分のデータを削除し（ステップＳ１１）、音譜情報生成部３９が雑音や倍音が除去されたデータに基づいて音譜情報を生成して、音譜情報記憶部４０に格納する(ステップＳ１２)。
【０１３９】
次いで、テンポ決定部４１が音譜情報に基づいて、テンポを決定し(ステップＳ１３)、楽譜作成部４２が、音譜情報とテンポ情報に基づいて楽譜を作成し、入出力処理部３３が、作成された楽譜を自動採譜ウインドウ１０１に表示させる（ステップＳ１４）。
【０１４０】
次いで、入出力処理部３３がユーザの入力装置１２による操作により、ＭＩＤＩ作成ボタン１０７が押下されたか否かを判定し(ステップＳ１５)、押下されていない場合には処理を終了する一方、押下されている場合には、ＭＩＤＩ作成部４３は、音譜情報記憶部４０に記憶された音譜情報と、テンポ決定部４１によって決定されたテンポとに基づいて、ＭＩＤＩデータを作成し、ＭＩＤＩ記憶部４４に格納する（ステップＳ１６）。
【０１４１】
図１５は、本発明の一実施形態に係る解析結果と、ＳＴＦＴのみによる解析結果との比較を説明する図である。
【０１４２】
同図は、図３（１）に示す楽譜の演奏から得られた音声波形データを本実施形態により解析した結果と、従来のＳＴＦＴのみでの解析した結果とを比較して示している。
【０１４３】
同図に示すように、従来のＳＴＦＴのみの解析によると、周波数の低い方の音程では、理論値から１〜５パーセントも誤差が生じている一方、本実施形態による解析によると、Ｃ３〜Ｃ４の各音程にわたって、音程の理論値の周波数との誤差を０．１〜０．４パーセントの範囲に収めることができる。
【０１４４】
以上、本発明の実施形態を説明したが、この実施形態は本発明の説明のための例示にすぎず、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
【０１４５】
例えば、上記実施形態では、倍音成分を除去するために、倍音を発生させる可能性のある低い周波数成分の最大のパワー値に基づいて決定された閾値に基づいて、倍音か否かを判断し、倍音であると判断した場合には、該当する周波数成分の情報を削除するようにしていたが、本発明はこれに限られず、例えば、倍音となる可能性がある周波数が含まれるウェブレット係数群から得られた解析結果から、当該ウェブレット係数群の倍音となる可能性のある周波数成分についてのパワー値の平均値(平均パワー値)を算出し、当該平均値の所定の割合（例えば、５０パーセント）の値を閾値として決定し、当該閾値よりも低いパワー値となっている周波数成分の情報を削除するようにしてもよく、このようにしても、倍音を効果的に削除することができる。
【０１４６】
また、上記実施形態では、パワー値に基づいて倍音か否かを判定するようにしていたが、本発明はこれに限られず、周波数の強度（振幅）に基づいて倍音か否かを判定するようにしてもよい。
【０１４７】
また、上記実施形態では、異なるレベルのウェブレット係数群に対するＳＴＦＴ変換の観測窓の時間長に相当するウェブレット係数の数を同数としていたが、本発明はこれに限られず、異なる数であってもよく、要は、より低い目的周波数帯を持つ高レベルのウェブレット係数群に対する周波数分解能が、より高い目的周波数帯を持つ低レベルのウェブレット係数群に対する周波数分解能よりも高くなるように設定すればよい。
【０１４８】
また、上記実施形態では、異なるレベルのウェブレット係数群に対するシフト量を同一時間間隔としていたが、本発明はこれに限られず、低レベルのウェブレット係数群に対する短時間フーリエ変換から得られる時間位置に、高レベルのウェブレット係数群に対する短時間フーリエ変換から得られる時間位置と同じ時間位置が含まれるように、各レベルのウェブレット係数群に対するシフト量を設定すればよい。
【０１４９】
また、上記実施形態では、サンプリング周波数２２０５０ＨｚとしたＷＡＶＥファイルにおいて、Ｃ３〜Ｃ４の音程を解析するようにしていたために、レベル４、５とのウェブレット係数群を解析するようにしていたが、本発明はこれに限られず、例えば、より広い音程を解析するようにしてもよく、要は、サンプリング周波数と、解析する対象となる音高の周波数の範囲とに基づいて、解析対象の音程の周波数帯を包含可能な複数のレベルのウェブレット係数群に対してＳＴＦＴによる解析を行うようにすればよい。
【０１５０】
また、上記実施形態では、自動採譜装置２がマイクロフォン１３により取り込んだ音声波形データに対して自動採譜処理を行うようにしていたが、本発明はこれに限られず、外部で生成された音声波形データを自動採譜装置２に読み込んで、当該音声波形データを利用して自動採譜処理を行うようにしてもよい。
【図面の簡単な説明】
【０１５１】
【図１】本発明の一実施形態に係る自動採譜システムのハードウエア構成図である。
【図２】本発明の一実施形態に係る自動採譜装置の機能ブロック図である。
【図３】本発明の一実施形態に係る音声波形データを作成する基となった楽譜を示す図である。
【図４】本発明の一実施形態に係る自動採譜ウインドウの一例を示す図である。
【図５】本発明の一実施形態に係るＳＴＦＴにおける周波数分解能を説明する図である。
【図６】本発明の一実施形態に係るＳＴＦＴにおける解析結果を説明する図である。
【図７】本発明の一実施形態に係る倍音成分の削除を説明する図である。
【図８】本発明の一実施形態に係る雑音等を削除した後の周波数を示す図である。
【図９】本発明の一実施形態に係る音譜情報の一例を示す図である。
【図１０】本発明の一実施形態に係る音長分けテーブルを示す図である。
【図１１】本発明の一実施形態に係る音長分けの結果を示す図である。
【図１２】本発明の一実施形態に係る音譜情報から作成された楽譜を含む自動採譜ウインドウの一例を示す図である。
【図１３】本発明の一実施形態に係るＭＩＤＩデータの構成を説明する図である。
【図１４】本発明の一実施形態に係る自動採譜処理を説明するフローチャートである。
【図１５】本発明の一実施形態に係る解析結果と、従来のＳＴＦＴのみによる解析結果との比較を説明する図である。
【符号の説明】
【０１５２】
１  自動採譜システム、２  自動採譜装置、３  電子鍵盤楽器、４  スピーカ、１０  装置本体、１１  表示装置、１２  入力装置、１３  マイクロフォン、１４  ＣＰＵ、１５  ＲＯＭ、１６  ＲＡＭ、１７  ハードディスクドライブ、１８  表示処理部、１９  入力Ｉ／Ｆ部、２０  音声処理部、２１  コンボドライブ、２２  通信Ｉ／Ｆ部、２３  バス、２４  記録媒体、３１  波形データ生成部、３２  波形データ記憶部、３３  入出力処理部、３４  ＷＴ処理部、３５  ＳＴＦＴ処理部、３７  雑音除去部、３８  倍音処理部、３９  音譜情報生成部、４０  音譜情報記憶部、４１  テンポ決定部、４２  楽譜作成部、４３  ＭＩＤＩ作成部、４４  ＭＩＤＩ記憶部。
【図１】
2008096844.tif 000015
【図２】
2008096844.tif 000016
【図３】
2008096844.tif 000017
【図４】
2008096844.tif 000018
【図５】
2008096844.tif 000019
【図６】
2008096844.tif 000020
【図７】
2008096844.tif 000021
【図８】
2008096844.tif 000022
【図９】
2008096844.tif 000023
【図１０】
2008096844.tif 000024
【図１１】
2008096844.tif 000025
【図１２】
2008096844.tif 000026
【図１３】
2008096844.tif 000027
【図１４】
2008096844.tif 000028
【図１５】
2008096844.tif 000029