(57)【要約】【課題】和音を含む音楽から、和音の構成音数に依存せずに音高を認識することができる音高認識方法、音高認識プログラム、及び音高認識システムを提供する。【解決手段】音の倍音構造に着目し、それぞれの音高が持つ倍音をそのまま比較することによって、和音の構成音数に依存せずに音高を認識することができる音高認識方法、音高認識プログラム、及び音高認識システムとする。【選択図】図１
2011022489.tif 000002
【特許請求の範囲】
【請求項１】
和音を含む音楽に含まれる音の音高を認識できる音高認識方法であって、
前記音楽のデジタル信号を所定の長さ分切り出して、周波数毎の音量データに変換した解析フレームを設定する、フレーム設定工程と、
前記解析フレーム内の周波数スペクトルについて、振幅が閾値ＶＴ１より大きく、かつ、振幅が閾値ＶＴ２より大きい倍音を連続して所定数以上有するピークの周波数を、低い周波数側から検索して発音音高候補として抽出する、発音候補検出工程と、
最初の前記発音候補検出工程で抽出した前記発音音高候補を根音とする１オクターブ内において前記発音候補検出工程を繰り返す、第２候補検出工程と、
ピークを検索する検索範囲の周波数をオクターブ単位で上げつつ、１オクターブ内で前記発音候補検出工程を繰り返すことを、前記検索範囲が所定の解析予定上限値を超えるまで繰り返す、第３候補検出工程と、
全ての前記発音候補検出工程で抽出された前記発音音高候補のうち周波数が高い側から選択した前記発音音高候補である高音発音音高候補の基本周波数の１オクターブ以下にある前記発音音高候補の中に、前記高音発音音高候補の基本周波数と重なる周波数の倍音を持つ前記発音音高候補である低音発音音高候補があれば、前記高音発音音高候補の複数の倍音の振幅を、全ての前記低音発音音高候補の複数の倍音の振幅と比較し、前記高音発音音高候補の倍音の振幅が前記高音発音音高候補の倍音の間に存在する前記低音発音音高候補の倍音の振幅よりも大きければ、前記高音発音音高候補を発音音高として抽出する、発音音高抽出工程と、
全ての前記発音候補検出工程で抽出された前記発音音高候補から、これまでの工程で前記発音音高として抽出された前記発音音高候補の基本周波数および倍音の周波数に重なる前記発音音高候補を除きつつ、比較できる前記発音音高候補がなくなるまで前記発音音高抽出工程を繰り返す、第２発音音高抽出工程と、
前記解析フレームの設定回数が所定の回数に達するまで、前記フレーム設定工程で既に設定した前記解析フレームに対して所定量ずらした位置から前記音楽のデジタル信号を切り出して新たな解析フレームを設定し、前記発音候補検出工程、前記第２候補検出工程、前記第３候補検出工程、前記発音音高抽出工程、及び前記第２発音音高抽出工程を実行することを繰り返す、解析フレーム設定回数判定工程と、
所定数以上の前記解析フレームで連続して抽出された前記発音音高を実際に発音されていた発音音高であると認識する、発音音高認識工程と、
を備える、音高認識方法。
【請求項２】
さらに、前記発音音高認識工程によって認識された前記発音音高の発音時刻及び継続時間を検出する発音時間検出工程を備える、請求項１に記載の音高認識方法。
【請求項３】
利用者が入力した最小の音符長を基に、前記発音時間検出工程で得た前記継続時間から音符長を決定する音符長決定工程を備える、請求項２に記載の音高認識方法。
【請求項４】
前記発音音高認識工程で実際に発音されていた発音音高であると認識された前記発音音高と、前記音符長決定工程で決定された前記音符長から楽譜を作成する楽譜作成工程を備える、請求項３に記載の音高認識方法。
【請求項５】
前記楽譜作成工程で作成された前記楽譜を確認しながら修正する修正工程を備える、請求項４に記載の音高認識方法。
【請求項６】
和音を含む音楽に含まれる音の音高を認識できる音高認識システムに実装される音高認識プログラムであって、
前記音楽のデジタル信号を所定の長さ分切り出して、周波数毎の音量データに変換した解析フレームを設定する、フレーム設定処理と、
前記解析フレーム内の周波数スペクトルについて、振幅が閾値ＶＴ１より大きく、かつ、振幅が閾値ＶＴ２より大きい倍音を連続して所定数以上有するピークの周波数を、低い周波数側から検索して発音音高候補として抽出する、発音候補検出処理と、
最初の前記発音候補検出処理で抽出した前記発音音高候補を根音とする１オクターブ内において前記発音候補検出処理を繰り返す、第２候補検出処理と、
ピークを検索する検索範囲の周波数をオクターブ単位で上げつつ、１オクターブ内で前記発音候補検出処理を繰り返すことを、前記検索範囲が所定の解析予定上限値を超えるまで繰り返す、第３候補検出処理と、
全ての前記発音候補検出処理で抽出された前記発音音高候補のうち周波数が高い側から選択した前記発音音高候補である高音発音音高候補の基本周波数の１オクターブ以下にある前記発音音高候補の中に、前記高音発音音高候補の基本周波数と重なる周波数の倍音を持つ前記発音音高候補である低音発音音高候補があれば、前記高音発音音高候補の複数の倍音の振幅を、全ての前記低音発音音高候補の複数の倍音の振幅と比較し、前記高音発音音高候補の倍音の振幅が前記高音発音音高候補の倍音の間に存在する前記低音発音音高候補の倍音の振幅よりも大きければ、前記高音発音音高候補を発音音高として抽出する、発音音高抽出処理と、
全ての前記発音候補検出処理で抽出された前記発音音高候補から、これまでの処理で前記発音音高として抽出された前記発音音高候補の基本周波数および倍音の周波数に重なる前記発音音高候補を除きつつ、比較できる前記発音音高候補がなくなるまで前記発音音高抽出工程を繰り返す、第２発音音高抽出処理と、
前記解析フレームの設定回数が所定の回数に達するまで、前記フレーム設定処理で既に設定した前記解析フレームに対して所定量ずらした位置から前記音楽のデジタル信号を切り出して新たな解析フレームを設定し、前記発音候補検出処理、前記第２候補検出処理、前記第３候補検出処理、前記発音音高抽出処理、及び前記第２発音音高抽出処理を実行することを繰り返す、解析フレーム設定回数判定処理と、
所定数以上の前記解析フレームで連続して抽出された前記発音音高を実際に発音されていた発音音高であると認識する、発音音高認識処理と、
を前記音高認識システムに実行させる、音高認識プログラム。
【請求項７】
前記発音音高認識処理によって認識された前記発音音高の発音時刻及び継続時間を検出する発音時間検出処理を、前記音高認識システムに実行させることができる、請求項６に記載の音高認識プログラム。
【請求項８】
利用者が入力した最小の音符長を基に、前記発音時間検出処理で得た前記継続時間から音符長を決定する音符長決定処理を、前記音高認識システムに実行させることができる、請求項７に記載の音高認識プログラム。
【請求項９】
前記発音音高認識処理で実際に発音されていた発音音高であると認識された前記発音音高と、前記音符長決定処理で決定された前記音符長から楽譜を作成する楽譜作成処理を、前記音高認識システムに実行させることができる、請求項８に記載の音高認識プログラム。
【請求項１０】
前記楽譜作成処理で作成された前記楽譜を確認しながら修正する修正処理を、前記音高認識システムに実行させることができる、請求項９に記載の音高認識プログラム。
【請求項１１】
請求項６〜１０のいずれかに記載の音高認識プログラムを記録した記録媒体。
【請求項１２】
音楽のデジタル信号を入力できる入力部と、
請求項６〜１０のいずれかに記載の音高認識プログラムを実行できる処理部と、
前記処理部での処理結果を表示できる表示部と、
を備える、音高認識システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、和音を含む音楽から、和音の構成音数に依存せずに発音音高を認識することができる音高認識方法、音高認識プログラム、該プログラムを記録した記録媒体、及び該プログラムを実行する音高認識システムに関する。
【背景技術】
【０００２】
音楽から楽譜を作成（採譜）するには、音楽的知識が必要である。また、専門家であったとしても、膨大な時間を要する。楽音（音楽の音響信号）から採譜するためには、発音されている音の音高（基本周波数）と音符長（発音継続時間）を検出する必要がある。単音の楽音については、基本周波数や音符長を認識できる技術がこれまでに実用されている。しかしながら、和音を含む楽音を認識することは困難であった。和音の場合は、ある音高の倍音（高調波）の周波数が他の音高や他の音高の倍音と近い値となり、発音されている音を単に振幅とその周波数とから推定するだけでは、いずれの音が発音されているのかを認識することが困難になる場合があるためである。例えば、単音Ｃ２（ド、１３１Ｈｚ）であれば、第３倍音がＧ３（ソ、３９２Ｈｚ）、第５倍音がＥ４（ミ、６５４Ｈｚ）に近い値となり、これらの音が同時に発音された場合には、それぞれを別々に認識することが非常に困難であった。
【０００３】
これまでに開示されている音高認識に関する技術としては、例えば、音高ごとにスペクトルのテンプレートを利用するもの、倍音のパワーの総和で比較するもの（例えば、特許文献１）、倍音を除去して処理を行うもの（例えば、特許文献２）など多くの技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３３４７９号公報
【特許文献２】特開２０００−２９３１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、これまでに提案されている技術は、和音の構成音数が多い場合には適さなかった。そこで、本発明者らは、鋭意検討を重ねた結果、音の倍音構造に着目し、それぞれの音高が持つ倍音をそのまま比較することによって、和音の構成音数に依存せずに発音音高を認識することができることを見出した。
【０００６】
本発明は、和音を含む音楽から、和音の構成音数に依存せずに発音音高を認識することができる音高認識方法、音高認識プログラム、該プログラムを記録した記録媒体、及び該プログラムを実行できる音高認識システムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
第一の本発明は、和音を含む音楽に含まれる音の音高を認識できる音高認識方法であって、
（１）音楽のデジタル信号を所定の長さ分切り出して、周波数毎の音量データに変換した解析フレームを設定する、フレーム設定工程と、
（２）解析フレーム内の周波数スペクトルについて、振幅が閾値ＶＴ１より大きく、かつ、振幅が閾値ＶＴ２より大きい倍音を連続して所定数以上有するピークの周波数を、低い周波数側から検索して発音音高候補として抽出する、発音候補検出工程と、
（３）最初の発音候補検出工程で抽出した発音音高候補を根音とする１オクターブ内において発音候補検出工程を繰り返す、第２候補検出工程と、
（４）ピークを検索する検索範囲の周波数をオクターブ単位で上げつつ、１オクターブ内で発音候補検出工程を繰り返すことを、検索範囲が所定の解析予定上限値を超えるまで繰り返す、第３候補検出工程と、
（５）全ての発音候補検出工程で抽出された発音音高候補のうち周波数の高い側から選択した発音音高候補である高音発音音高候補の基本周波数の１オクターブ以下にある発音音高候補の中に、高音発音音高候補の基本周波数と重なる周波数の倍音を持つ発音音高候補である低音発音音高候補があれば、高音発音音高候補の複数の倍音の振幅を、全ての低音発音音高候補の複数の倍音の振幅と比較し、高音発音音高候補の倍音の振幅が高音発音音高候補の倍音の間に存在する低音発音音高候補の倍音の振幅よりも大きければ、高音発音音高候補を発音音高として抽出する、発音音高抽出工程と、
（６）全ての発音候補検出工程で抽出された発音音高候補から、これまでの工程で発音音高として抽出された発音音高候補の基本周波数および倍音の周波数に重なる発音音高候補を除きつつ、比較できる発音音高候補がなくなるまで発音音高抽出工程を繰り返す、第２発音音高抽出工程と、
（７）解析フレームの設定回数が所定の回数に達するまで、フレーム設定工程で既に設定した解析フレームに対して所定量ずらした位置から音楽のデジタル信号を切り出して新たな解析フレームを設定し、発音候補検出工程、第２候補検出工程、第３候補検出工程、発音音高抽出工程、及び第２発音音高抽出工程を実行することを繰り返す、解析フレーム設定回数判定工程と、
（８）所定数以上の解析フレームで連続して抽出された発音音高を実際に発音されていた発音音高であると認識する、発音音高認識工程と、
を備える音高認識方法を提供することによって、上記課題を解決する。
【０００８】
上記第一の本発明の音高認識方法において、さらに、発音音高認識工程によって認識された発音音高の発音時刻及び継続時間を検出する発音時間検出工程を備えることが好ましい。また、利用者が入力した最小の音符長を基に、発音時間検出工程で得た継続時間から音符長を決定する音符長決定工程を備えることが好ましい。また、発音音高認識工程で実際に発音されていた発音音高であると認識された発音音高と、音符長決定工程で決定された音符長から楽譜を作成する楽譜作成工程を備えることが好ましい。また、楽譜作成工程で作成された楽譜を確認しながら修正する修正工程を備えることが好ましい。
【０００９】
第二の本発明は、和音を含む音楽に含まれる音の音高を認識できる音高認識システムに実装される音高認識プログラムであって、
（１）音楽のデジタル信号を所定の長さ分切り出して、周波数毎の音量データに変換した解析フレームを設定する、フレーム設定処理と、
（２）解析フレーム内の周波数スペクトルについて、振幅が閾値ＶＴ１より大きく、かつ、振幅が閾値ＶＴ２より大きい倍音を連続して所定数以上有するピークの周波数を、低い周波数側から検索して発音音高候補として抽出する、発音候補検出処理と、
（３）最初の発音候補検出処理で抽出した発音音高候補を根音とする１オクターブ内において発音候補検出処理を繰り返す、第２候補検出処理と、
（４）ピークを検索する検索範囲の周波数をオクターブ単位で上げつつ、１オクターブ内で発音候補検出処理を繰り返すことを、検索範囲が所定の解析予定上限値を超えるまで繰り返す、第３候補検出処理と、
（５）全ての発音候補検出処理で抽出された発音音高候補のうち周波数が高い側から選択した発音音高候補である高音発音音高候補の基本周波数の１オクターブ以下にある発音音高候補の中に、高音発音音高候補の基本周波数と重なる周波数の倍音を持つ発音音高候補である低音発音音高候補があれば、高音発音音高候補の複数の倍音の振幅を、全ての低音発音音高候補の複数の倍音の振幅と比較し、高音発音音高候補の倍音の振幅が高音発音音高候補の倍音の間に存在する低音発音音高候補の倍音の振幅よりも大きければ、高音発音音高候補を発音音高として抽出する、発音音高抽出処理と、
（６）全ての発音候補検出処理で抽出された発音音高候補から、これまでの処理で発音音高として抽出された発音音高候補の基本周波数および倍音の周波数に重なる発音音高候補を除きつつ、比較できる発音音高候補がなくなるまで発音音高抽出工程を繰り返す、第２発音音高抽出処理と、
（７）解析フレームの設定回数が所定の回数に達するまで、フレーム設定処理で既に設定した解析フレームに対して所定量ずらした位置から音楽のデジタル信号を切り出して新たな解析フレームを設定し、発音候補検出処理、第２候補検出処理、第３候補検出処理、発音音高抽出処理、及び第２発音音高抽出処理を実行することを繰り返す、解析フレーム設定回数判定処理と、
（８）所定数以上の解析フレームで連続して抽出された発音音高を実際に発音されていた発音音高であると認識する、発音音高認識処理と、
を音高認識システムに実行させる音高認識プログラムを提供することによって、上記課題を解決する。
【００１０】
上記第二の本発明の音高認識プログラムにおいて、発音音高認識処理によって認識された発音音高の発音時刻及び継続時間を検出する発音時間検出処理を、音高認識システムに実行させられることが好ましい。また、利用者が入力した最小の音符長を基に、発音時間検出処理で得た継続時間から音符長を決定する音符長決定処理を、音高認識システムに実行させられることが好ましい。また、発音音高認識処理で実際に発音されていた発音音高であると認識された発音音高と、音符長決定処理で決定された音符長から楽譜を作成する楽譜作成処理を、音高認識システムに実行させられることが好ましい。また、楽譜作成処理で作成された楽譜を確認しながら修正する修正処理を、音高認識システムに実行させられることが好ましい。
【００１１】
第三の本発明は、第二の本発明の音高認識プログラムを記録した記録媒体を提供することによって、上記課題を解決する。
【００１２】
第四の本発明は、音楽のデジタル信号を入力できる入力部と、第二の本発明の音高認識プロフラムを実行できる処理部と、該処理部での処理結果を表示できる表示部と、を備える、音高認識システムを提供することによって、上記課題を解決する。
【発明の効果】
【００１３】
本発明によれば、和音を含む音楽から、和音の構成音数に依存せずに該音楽に含まれる発音音高を認識することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の音高認識方法に備えられる工程を概略的に示すフローチャートである。
【図２】発音候補検出工程Ｓ２の流れの一例を概略的に示すフローチャートである。
【図３】横軸を周波数とし、縦軸を音の大きさとした解析フレームの一例を概略的に示す図である。
【図４】第３候補検出工程Ｓ４の流れの一例を概略的に示すフローチャートである。
【図５】発音音高候補抽出工程Ｓ５の流れの一例を概略的に示すフローチャートである。
【図６】第２発音音高候補抽出工程Ｓ６の流れの一例を概略的に示すフローチャートである。
【図７】本発明の音高認識システムの構成を概略的に示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について、図面を参照しつつ説明する。本発明は、音の倍音構造に着目し、それぞれの音高が持つ倍音をそのまま比較することによって、和音の構成音数に依存せずに発音音高を認識することができる音高認識方法、音高認識システム、該システムに備えられるコンピュータを制御するコンピュータプログラム、及び該プログラムを記録した記録媒体を提供する。なお、本発明は、鍵盤楽器（ピアノなど）、ギターなどの振幅の立ち上がりが比較的早い楽器音に対して好適に用いることができる。楽音の解析には、短時間フーリエ変換（ＳＴＦＴ）による時間−周波数解析を用いた。
【００１６】
＜音高認識方法＞
図１は、本発明の音高認識方法に備えられる工程を概略的に示すフローチャートである。本発明の音高認識方法は、和音を含む音楽に含まれる音の音高を認識できる方法であって、フレーム設定工程Ｓ１、発音候補検出工程Ｓ２、第２候補検出工程Ｓ３、第３候補検出工程Ｓ４、発音音高抽出工程Ｓ５、第２発音音高抽出工程Ｓ６、解析フレーム設定回数判定工程Ｓ７、及び発音音高認識工程Ｓ８を備えており、さらに、発音時間検出工程Ｓ９、音符長決定工程Ｓ１０、楽譜作成工程Ｓ１１、及び修正工程Ｓ１２のうち少なくともいずれか１つを備えていることが好ましい。特に、音符長決定工程Ｓ１０は発音時間検出工程Ｓ９より後に、楽譜作成工程Ｓ１１は音符長決定工程Ｓ１０より後に、修正工程Ｓ１２は楽譜作成工程Ｓ１１より後に行われることが好ましい。以下、各工程について説明する。
【００１７】
（フレーム設定工程Ｓ１）
工程Ｓ１は、認識する対象である音楽のデジタル信号を所定の長さ分切り出して、周波数毎の音量データに変換した解析フレームを設定する工程である。
【００１８】
音楽のデジタル信号を切り出す長さ（以下、「フレーム長」ということがある。）は特に限定されないが、フレーム長を長くした場合、周波数分解能は良くなるが、時間分解能が悪くなる。一方、短くした場合、時間分解能は良くなるが、周波数分解能が悪くなる。最適なフレーム長は、対象となる楽音の最低音高、テンポ、および最小音符長に応じて、適宜、決定することができる。例えば、最低検索周波数Ａ１（５５Ｈｚ）とＥ１（８２．４Ｈｚ）が同時に発音されたときに区別できるように（一般的な音楽では、十分な分解能であると考えられる。）、また最大テンポを１５０（１分間に４分音符を１５０拍）とした場合に１６分音符を検出できるようにするためには、サンプリング周波数４４．１ｋＨｚ以上、フレーム長を１００ｍｓとし（ハニング窓を使用）、後に説明するフレーム周期（解析フレームをずらす時間）を１０ｍｓとすることができる。
【００１９】
（発音候補検出工程Ｓ２）
工程Ｓ２は、工程Ｓ１で設定した解析フレーム内の周波数スペクトルについて、振幅が閾値ＶＴ１より大きく、かつ、振幅が閾値ＶＴ２より大きい倍音を連続して所定数以上有するピークの周波数を低い周波数側から検索して発音音高候補として抽出する工程である。
【００２０】
解析フレーム内には複数のピークが現れ、それらの中にはノイズも含まれている。適当な閾値を設け、該閾値を超えるもののみ検出することによって、該閾値以下のものをノイズとして無視することができる。なお、閾値ＶＴ１は、楽音の中の最小振幅の音高を検出できるように設定すればよい。また、閾値ＶＴ１、及び閾値ＶＴ２の大きさは楽音に応じて適宜決定することができる。すなわち、閾値は、取り込んだ楽音、あるいは処理系のＳＮＲ（信号対雑音比）と関係する。例えば、閾値ＶＴ１を最大振幅値の１／１０（−２０ｄＢ）として、閾値ＶＴ２を１／５０（−３４ｄＢ）や１／１００（−４０ｄＢ）などとすることができる。工程Ｓ２の具体的な流れの一例を図２に示す。
【００２１】
図２に示すように、工程Ｓ２では、閾値ＶＴ１より大きい振幅のピークの周波数を低い周波数側から検出し（Ｓ２１）、検出した周波数の倍音の有無を調べ、閾値ＶＴ２を超える振幅の倍音が連続して所定数以上あるかを判定する（Ｓ２２）。「倍音が連続して所定数以上ある」とは、Ｓ２１において検出された周波数を基本周波数として、その基本周波数の２次、３次、…の高調波のピークが連続して存在していることを意味する。例えば、図３に示すように、Ｓ２１において閾値ＶＴ１を超えるピークとしてピークｆｃ２が検出された場合、その高調波である２ｆｃ２、３ｆｃ２などの存在を確認する。図３は、横軸を周波数とし、縦軸を音の大きさとした解析フレームの一例を概略的に示す図である。図３に示した例では、２次高調波２ｆｃ２、３次高調波３ｆｃ２、４次高調波４ｆｃ２、５次高調波５ｆｃ２、及び６次高調波６ｆｃ２を確認することができる。
【００２２】
Ｓ２１においてピークを検出する具体的な方法は特に限定されないが、例えば、平均律などの音律を利用して、音高毎のピークの検出周波数範囲を決めておき、その範囲内に閾値ＶＴ１より大きい振幅のピークがあるかを確認する方法を考えられる。すなわち、ある音高について、隣り合う音高との中間の周波数の間に閾値ＶＴ１より大きい振幅のピークがあるかを確認する。平均律の場合、音高は下記式（１）で表される。
【００２３】
【数１】
2011022489.tif 000003
ｆＲはＡ４（ラ、４４０Ｈｚ）を基準に決められる。本発明では、境界の周波数を下記式（２）で決めることができる。
【００２４】
【数２】
2011022489.tif 000004
Ｃ２（ド、１３０．８Ｈｚ）であれば、Ａ２を基準とするとｆＲ＝１１０Ｈｚなので、１２７．１〜１３４．６Ｈｚ（
【００２５】
【数３】
2011022489.tif 000005
）内のピークを探す。
【００２６】
音律が明らかな場合は、上記のようにして、音律に合わせて音高毎の検出周波数範囲を決め、低い周波数側からピークを検出することができる。現在のポピュラー音楽は平均律であり、上記のような方法を用いれば、音階の決定が容易になる。一方、音律が不明な場合は周波数範囲を決められないため、適当な周波数範囲に細かく分割してその範囲内に閾値ＶＴ１より大きい振幅のピークがあるかを確認する方法や、周波数範囲を設定しないで閾値ＶＴ１より大きい振幅のピークを検出する方法を考えられる。なお、Ｓ２２での倍音の有無の確認は、Ｓ２１で検出した基本周波数の整数倍の周波数付近のピークの有無を確認することによって行うことができる。
【００２７】
このようにして倍音の存在を確認するのは、Ｓ２１で検出した周波数が他の音高の倍音であるのかどうかを確認するためである。ほとんどの楽器の音は波形が複雑であり、必ず倍音が存在する（楽器によってその包絡線が異なる。これは、音色と関係する）。Ｓ２１で検出したピークの倍音が連続して存在することを確認することによって、そのピークの音を発音音高候補とすることができる。倍音が連続ではなく、ある倍音にのみピークが存在したとすると、それは発音音高ではなく、ある倍音の周波数で別の音高の音が発音されていると考えられるからである。確認できる倍音数は、基本周波数が低い音では多いが、高い音になると減衰が大きくなり、確認できる倍音数が減っていく。確認する倍音の数は特に限定されないが、確認する数が少なければ工程Ｓ２で検出したピークが他の音高の倍音である可能性を排除しきれない虞があり、確認する数が多すぎれば処理に時間がかかることになる。
【００２８】
Ｓ２２において閾値ＶＴ２を超える振幅の倍音を所定数以上確認できなかった場合（Ｓ２２ＮＯ）、振幅が閾値ＶＴ１より大きい他のピークを周波数が低い側から検索し、そのピークの周波数を検出する（Ｓ２１）。その後、検出した周波数について倍音の有無を調べ、閾値ＶＴ２を超える振幅の倍音が連続して所定数以上あるかを判定する（Ｓ２２）。
【００２９】
Ｓ２２において閾値ＶＴ２を超える振幅の倍音を所定数以上確認できた場合（Ｓ２２ＹＥＳ）、その周波数を発音音高候補とする（Ｓ２３）。ここで発音音高「候補」とするのは、実際に発音された発音音高であるという認識は、後の工程で行うためである。発音音高候補を決定（Ｓ２３）した後、工程Ｓ２を終了し、工程Ｓ３に移る。
【００３０】
（第２候補検出工程Ｓ３）
工程Ｓ３は、工程Ｓ１で設定した解析フレーム内の周波数スペクトルについて最初の工程Ｓ２を実行した後、最初の工程Ｓ２で検出した発音音高候補を根音とする１オクターブ内において工程Ｓ２を繰り返す工程である。
【００３１】
工程Ｓ３では、上記したように工程Ｓ２を繰り返す。したがって、まず、振幅が閾値ＶＴ１よりも大きなピークを検出する（Ｓ２１）。ノイズ（および既検出音の小さい振幅を持つ倍音）を無視するためである。その後、検出した周波数について倍音の有無を調べ、閾値ＶＴ２を超える振幅の倍音が連続して所定数以上あるかを判定し（Ｓ２２）、発音音高候補を決定する（Ｓ２３）。このように、工程Ｓ３では、最初の工程Ｓ２で検出した発音音高候補を根音とする１オクターブ内において工程Ｓ２を繰り返すことにより、振幅が閾値ＶＴ１より大きく、かつ、振幅が閾値ＶＴ２より大きい倍音を連続して所定数以上有するという条件を満たすピークの周波数を、該１オクターブ内から全て検出することができる。なお、複数回行われる工程Ｓ２で用いる閾値は、同じ値とすることによって処理を簡略化することができる。
【００３２】
最初の工程Ｓ２では、発音音高である可能性がある周波数のうち、基本周波数が最も低いものを発音音高候補として検出している。すなわち、最初の工程Ｓ２で検出された発音音高候補より低い基本周波数の発音音高はないと考えられる。したがって、最初の工程Ｓ２で検出された発音音高候補を根音とする１オクターブ内には、倍音は存在しないと考えられ、その範囲で工程Ｓ２を繰り返すことによって、誤って他の発音音高の倍音を検出することを抑制しつつ、発音音高の基本周波数を検出することができる。
【００３３】
（第３候補検出工程Ｓ４）
工程Ｓ４は、工程Ｓ１で設定した解析フレーム内の周波数スペクトルについて工程Ｓ３を実行した後、ピークを検索する検索範囲の周波数をオクターブ単位で上げつつ、１オクターブ内で工程Ｓ２を繰り返すことを、検索範囲が所定の解析予定上限値を超えるまで繰り返す工程である。工程Ｓ４の具体的な流れの一例を図４に示す。
【００３４】
工程Ｓ４では、工程Ｓ３の後、まず、ピークを検索する検索範囲の周波数を１オクターブ上げる（Ｓ４１）。Ｓ４１において検索範囲を変更したのち、その１オクターブ内において工程Ｓ２を繰り返し、発音音高候補を検出する（Ｓ４２）。すなわち、Ｓ４２は工程Ｓ３と同様の工程である。１オクターブ内において発音音高候補を全て検出した後は、Ｓ４２での検索範囲の上限が解析予定上限値を超えているかどうかの判定を行う（Ｓ４３）。「解析予定上限値」とは、工程Ｓ４においてどの周波数までピークの検索を行うかを決める値である。すなわち、発音音高の基本周波数の検索範囲を決める値である。発音音高の基本周波数の検出範囲は、使用する楽器の音階の範囲とすれば、処理量を最小にすることができる。なお、８８鍵ピアノのＡ１〜Ｃ８（５５〜８，３７２Ｈｚ）に対応させる場合には、サンプリング周波数９６ｋＨｚ以上で楽音を取り込む必要がある。現在のＣＤやＤＡＴなどで使用されているサンプリング周波数４４．１あるいは４８ｋＨｚ（上限周波数を約２０ｋＨｚ）に合わせるとすれば、６倍音を検出する場合、検出範囲はＡ１〜Ａ７になる。
【００３５】
Ｓ４３においてＳ４２での検索範囲の上限が解析予定上限値を超えているかどうかの判定を行い、Ｓ４２での検索範囲の上限が解析予定上限値より低い周波数である場合（Ｓ４３ＮＯ）は、検索範囲を１オクターブ上げ（Ｓ４１）、再度Ｓ４２を行う。Ｓ４３においてＳ４２での検索範囲の上限が解析予定上限値以上であることが確認された場合（Ｓ４３ＹＥＳ）は、工程Ｓ４を終了する。
【００３６】
（発音音高抽出工程Ｓ５）
工程Ｓ５は、全ての工程Ｓ２（すなわち、最初の工程Ｓ２、工程Ｓ３及び工程Ｓ４で繰り返される工程Ｓ２。）で検出された発音音高候補のうち周波数が高い側から選択した発音音高候補である高音発音音高候補（すなわち、最初の工程Ｓ５では、最も高い基本周波数を持つ発音音高候補。）の基本周波数の１オクターブ以下にある発音音高候補の中に、高音発音音高候補の基本周波数と重なる周波数の倍音を持つ発音音高候補である低音発音音高候補があれば、高音発音音高候補の複数の倍音の振幅を、全ての低音発音音高候補の複数の倍音の振幅と比較し、高音発音音高候補の倍音の振幅が高音発音音高候補の倍音の間に存在する低音発音音高候補の倍音の振幅よりも大きければ、高音発音音高候補を発音音高として抽出する工程である。なお、「重なる」周波数とは、厳密に一致する周波数のみを意味するのではなく、ほぼ同じとみなせる周波数を含む意味であり、解析条件によって分離できずに１つのピークとして検出される周波数も含まれる。例えば、サンプリング周波数４４．１ｋＨｚ、フレーム長１００ｍｓのハニング窓で波形を切り出し、１６，３８４点ＦＦＴで行った場合、１０Ｈｚ程度の差であれば、１つのピークとして（重なって）検出される場合がある。
【００３７】
工程Ｓ５及び以下に説明する工程Ｓ６では、基本周波数が高い発音音高候補から順に、その発音音高候補の１オクターブ以下で発音音高候補とされている音高の周波数スペクトルと比較して、発音音高を決定する工程である。例えば、１オクターブ異なる２つの音高のうち高い音高の倍音の周波数は、低い音高の倍音と一致する。また、楽器音によっては、第２倍音の方が基本周波数の振幅より大きい場合もある。このような音が同時に発音された場合、これまでの工程Ｓ２だけでは実際に発音されている音高とその他の音高の倍音とを識別することがでない。そのため、以下に説明するように、高次の倍音の振幅で比較する。工程Ｓ５の具体的な流れの一例を図５に示す。
【００３８】
工程Ｓ５では、まず、工程Ｓ２、工程Ｓ３、及び工程Ｓ４で検出された全ての発音音高候補のうち、最も高い基本周波数を持つ発音音高候補（低音発音音高候補）について、その基本周波数の１オクターブ以下にあり、倍音の周波数が高音発音音高候補の基本周波数に重なる発音音高候補（低音発音音高候補）を全て検索する（Ｓ５１）。低音発音音高候補がなかった場合（Ｓ５１ＮＯ）、その低音発音音高候補を発音音高として抽出し（Ｓ５３）、工程Ｓ５を終える。一方、低音発音音高候補が１つ以上見つかった場合（Ｓ５１ＹＥＳ）、Ｓ５２に進む。
【００３９】
Ｓ５２では、高音発音音高候補の複数の倍音の振幅と、Ｓ５１で見つけられた１つ以上低音発音音高候補の複数の倍音の振幅と比較する。そして、高音発音音高候補の倍音の振幅が、その高音発音音高候補の倍音の間に存在する低音発音音高候補の倍音の振幅よりも大きいかどうかの判定を行う。高音発音音高候補の倍音の間に低音発音音高候補の倍音が複数ある場合は、それら全てについて当該判定を行う。例えば、ある高音発音音高候補（音高Ａ）の１オクターブ下に低音発音音高候補（音高Ｂ）が検出されている場合、音高Ａの４、５、６次の倍音はそれぞれ音高Ｂの８、１０、１２次の倍音と一致し、音高Ａの４次の倍音の周波数と音高Ａの３次の倍音の周波数との間には、音高Ｂの７次の倍音の周波数が存在し、音高Ａの４次の倍音の周波数と音高Ａの５次の倍音の周波数との間には、音高Ｂの９次の倍音の周波数が存在するので、音高Ａの４次の倍音の振幅と、音高Ｂの７次及び９次の倍音の振幅とを比較する。同様にして、音高Ａの５、６次の倍音と音高Ｂの９、１１、１３次の倍音の振幅を比較する。そして、その全ての比較において、音高Ａの倍音の振幅が音高Ｂの倍音の振幅よりも大きければ（Ｓ５２ＹＥＳ）、音高Ａを発音音高として抽出し（Ｓ５３）、工程Ｓ５を終える。一方、一部または全ての比較において、音高Ａの倍音の振幅が音高Ｂの倍音の振幅よりも小さければ（Ｓ５２ＮＯ）、音高Ａを発音音高とはせずに、Ｓ５１に戻り、音高Ａの次に基本周波数が高い発音音高候補（高音発音音高候補）について、その基本周波数の１オクターブ以下にあるすべての発音音高候補（低音発音音高候補）を検索する。
【００４０】
上記具体例の説明では、音高Ａの４、５、６次の倍音の３つの倍音について比較する方法を説明したが、本発明はかかる形態に限定されない。高次の倍音であれば、同じ周波数の倍音を比較すると高い音の倍音の振幅が大きくなる。また、低い周波数では多くの倍音が確認できるが、高い音になると減衰が大きくなり、確認できる倍音数が少なくなる。また、サンプリング周波数による検出可能範囲も関係する。比較する倍音の位置と数は特に限定されないが、比較する数が少ない場合は誤検出が多くなると考えられる。
【００４１】
（第２発音音高抽出工程Ｓ６）
工程Ｓ６は、全ての工程Ｓ２（すなわち、最初の工程Ｓ２、工程Ｓ３及び工程Ｓ４で繰り返される工程Ｓ２。）で検出された発音音高候補から、これまでの工程で既に発音音高として抽出された発音音高候補の基本周波数および倍音の周波数に重なる発音音高候補を除きつつ、比較できる発音音高候補がなくなるまで工程Ｓ５と同様の工程を繰り返す工程である。工程Ｓ６の具体的な流れの一例を図６に示す。
【００４２】
工程Ｓ６では、まず、工程Ｓ２、工程Ｓ３、及び工程Ｓ４で検出された全ての発音音高候補の中から、これまでの工程で既に発音音高として抽出された発音音高候補の基本周波数および倍音の周波数に重なる発音音高候補を除外する（Ｓ６１）。その後、工程Ｓ５と同様に、発音音高候補のうち周波数が高い側から選択した発音音高候補（高音発音音高候補）の基本周波数の１オクターブ以下にある発音音高候補の中に、高音発音音高候補の基本周波数と重なる周波数の倍音を持つ発音音高候補（低音発音音高候補）があれば、高音発音音高候補の複数の倍音の振幅を、低音発音音高候補の複数の倍音の振幅と比較し、高音発音音高候補の倍音の振幅が高音発音音高候補の倍音の間に存在する低音発音音高候補の倍音の振幅よりも大きければ、高音発音音高候補を発音音高として抽出する（Ｓ６２）。
【００４３】
Ｓ６１において、工程Ｓ２、工程Ｓ３、及び工程Ｓ４で検出された全ての発音音高候補の中から、これまでの工程で既に発音音高として抽出された発音音高候補の基本周波数および倍音の周波数に重なる発音音高候補を除外するのは、比較する倍音が、これまでの工程で既に発音音高として抽出された発音音高候補の基本周波数、あるいはその倍音と重なる場合は、振幅が大きくなるためである。例えば、上記音高ＡがＣ３、上記音高ＢがＣ２（１オクターブ下）であった場合、Ｃ３の第４〜６倍音はそれぞれＣ５、Ｅ５、Ｇ５（Ｇ４の第２倍音）、Ｃ２の第９倍音はＤ５とほぼ一致する。Ｃ５、Ｅ５、Ｇ５、Ｄ５が発音されていると、それらの振幅が必ず大きくなり、誤認識の要因になる。したがって、それらの音高のどれかが発音音高候補になっている場合、比較対象から除外し、残りの倍音のみで比較する。音高Ａの第４〜６倍音が全て発音音高候補の場合は、第７倍音（他の音階と重ならない倍音）を利用することが考えられる。
【００４４】
Ｓ６２において発音音高を抽出した後、工程Ｓ２、工程Ｓ３、及び工程Ｓ４で検出された発音音高候補のうち、工程Ｓ５およびＳ６２で検討されていない発音音高候補が残されているかを判定する（Ｓ６３）。まだ残されている場合（Ｓ６３ＹＥＳ）はＳ６１に戻る。既に全ての発音音高候補について、検討済みであれば（Ｓ６３ＮＯ）、工程Ｓ６を終了する。
【００４５】
このようにして工程Ｓ５及び工程Ｓ６を経ることによって、工程Ｓ２、工程Ｓ３、及び工程Ｓ４で検出された発音音高候補のうち、実際に発音されていた発音音高の基本周波数ではなかったと考えられるものを排除することができる。工程Ｓ２、工程Ｓ３、及び工程Ｓ４で検出された発音音高候補の中には、実際に発音された発音音高の基本周波数ではなく、その他の音高の倍音であるものが含まれている可能性がある。例えば、ある発音音高候補（音高Ａ）の１オクターブ下に発音音高候補（音高Ｂ）が検出されている場合、音高Ａの４次の倍音は音高Ｂの８次の倍音であり、音高Ａの４次の倍音と音高Ａの５次の倍音との間には音高Ｂの９次の倍音が存在し、音高Ａの４次の倍音と音高Ａの３次の倍音との間には音高Ｂの７次の倍音が存在することになる。ここで音高Ａが実際の発音音高の基本周波数であった場合、音高Ａの４次の倍音と音高Ｂの８次の倍音が重なっているはずの周波数での振幅は、音高Ｂの７次および９次の倍音より大きくなると考えられる。一方、音高Ａが実際の発音音高の基本周波数でなく、音高Ｂの２次の倍音であった場合、音高Ａの４次の倍音は、実際には音高Ｂの８次の倍音であるため、音高Ｂの７次および９次の倍音と同程度の大きさになると考えられる。したがって、音高Ａの４次の倍音と音高Ｂの７次および９次の倍音とを比較し、音高Ａの４次の倍音が音高Ｂの７次および９次の倍音より大きければ、音高Ａは実際に発音されていた発音音高の基本周波数である可能性が高いと判定できる。この判定の確実性を上げるため、複数の倍音について同様の比較を行うことが好ましい。
【００４６】
（解析フレーム設定回数判定工程Ｓ７）
工程Ｓ７は、解析フレームの設定回数が所定の回数に達するまで、工程Ｓ１で既に設定した解析フレームに対して所定量ずらした位置から音楽のデジタル信号を切り出して新たな解析フレームを設定し、工程Ｓ２、工程Ｓ３、工程Ｓ４、工程Ｓ５、及び工程Ｓ６を実行することを繰り返す工程である。
【００４７】
工程Ｓ７では、工程Ｓ６の後、まず、解析フレームの設定回数が所定の回数に達したかどうかの判定を行う。工程Ｓ７でいう「所定の回数」とは、解析フレームをずらす回数の上限値のことであり、採譜する音楽の長さや解析フレームをずらす量（フレーム周期）に応じて適当に設定することができる。また、「所定量（フレーム周期）」とは、楽音のテンポ、および最小音符長に依存するものであり、対象とする音楽に応じて適宜、決定することができる量である。例えば、最大テンポを１５０（１分間に４分音符を１５０拍）とした場合に１６分音符を検出できるように、フレーム長を１００ｍｓ、フレーム周期を１０ｍｓとすることができる。
【００４８】
工程Ｓ７では、解析フレームの設定回数が所定の回数に達していなければ（Ｓ７ＮＯ）、工程Ｓ１に戻って、前回の工程Ｓ１で選択した解析フレームに対して所定量ずらした位置の音楽のデジタル信号を切り出し、新たな解析フレームとする。
【００４９】
工程Ｓ７において、解析フレームの設定回数が所定の回数に達していないと判定された場合（Ｓ７ＮＯ）はＳ１に戻り、上記のようにして新たな解析フレームを設定するとともに、工程Ｓ２、工程Ｓ３、工程Ｓ４、工程Ｓ５、及び工程Ｓ６を実行する。一方、解析フレーム設定回数が所定の回数に達した判定された場合（Ｓ７ＹＥＳ）は、工程Ｓ８に進む。
【００５０】
（発音音高認識工程Ｓ８）
工程Ｓ８は、工程Ｓ１〜工程Ｓ７を経て、所定数以上の解析フレームで連続して抽出された発音音高を実際に発音されていた発音音高であると認識する工程である。
【００５１】
工程Ｓ１〜工程Ｓ７を経て、複数の解析フレームにおいて発音音高が抽出されている。しかしながら、その発音音高の中には、実際には発音音高ではなくてパルス的にピークが現れていたもの（以下、「非発音音高」ということがある。）が含まれている可能性がある。そこで、工程Ｓ８において、工程Ｓ１〜工程Ｓ７を経て抽出された発音音高が実際の発音音高であるか非発音音高であるかの判定を行う。すなわち、所定数以上の解析フレームで連続して抽出されていた場合は、長く発音されていたと考えられるため、実際の発音音高であると判定できる。一方、所定数未満の解析フレームでしか連続して抽出されていなかった場合は、パルス的にピークが現われていた非発音音高であると判定できる。工程Ｓ８において「所定数」とは、２度目以降の工程Ｓ１で解析フレームをずらす大きさ（フレーム周期）などに応じて適当に決められる値である。発音音高が連続して抽出された解析フレームの数とフレーム周期との積が、発音音高が発音されていたと考えられる時間となる。発音音高が発音されていたと考えられる時間が所定の長さ以上である場合は、その発音音高が実際の発音音高であったと判定してよいと考えられる。ここに「所定の長さ」とは、対象とする楽音や解析条件に応じて適宜決定できる長さであり、特に限定されず、例えば、５０ｍｓ程度とすることができる。
【００５２】
また、工程Ｓ８では、上記Ｓ２１で設定した音律の音高に変換する。例えば、平均律を用いた場合は、検出された基本周波数が１２９Ｈｚのとき、最終的に認識される音高はＣ２（１３０．８Ｈｚ）となる。つまり、平均律の音階の周波数に量子化することになる。このような処理によって、楽器のチューニングの若干のずれや音の揺らぎなどによる影響を除けると考えられる。なお、音律が不明な場合は、検出した基本周波数をそのまま音高として認識することができる。
【００５３】
（発音時間検出工程Ｓ９）
工程Ｓ９は、工程Ｓ８によって認識された発音音高の発音時刻及び継続時間を検出する工程である。
【００５４】
発音時刻及び継続時間は、例えば、以下の方法で検出することができる。まず、発音音高を最初に検出した解析フレームの時刻を発音開始時刻とする。この時刻から発音が確認されなくなるまでの時間ｔＯＮを測る（フレーム数ｎ，フレーム周期ｔｉとするとｔＯＮ＝ｎ×ｔｉ）。ここで、ｔＯＮは実際の発音時間よりフレーム長分ｔＷだけ長く検出される。したがって、発音継続時間ｔＤは、ｔＤ＝ｔＯＮ−ｔＷで求められると考えられる。
【００５５】
（音符長決定工程Ｓ１０）
工程Ｓ１０は、利用者が入力した最小の音符長を基に、工程Ｓ９で得た継続時間から音符長を決定する工程である。ある発音音高の継続時間がわかったとしても、その長さがどの音符に対応する長さであるのかは判定できない。本発明を利用する人が最小の音符長を入力することによって、その音符長に基づいて、工程Ｓ９で得た継続時間がどの音符に対応するのかを判断することができる。
【００５６】
（楽譜作成工程Ｓ１１）
工程Ｓ１１は、工程Ｓ８で実際に発音されていた発音音高であると認識された発音音高と、工程Ｓ１０で決定された音符長から楽譜を作成する工程である。工程Ｓ１１が備えられることによって、音楽を楽譜に起こすことができる。
【００５７】
（修正工程Ｓ１２）
工程Ｓ１２は、工程１１で作成された楽譜を確認しながら修正する工程である。工程Ｓ１２が備えられることによって、工程１１で作成された楽譜に誤りがあった場合などに、適当に修正することができる。
【００５８】
このような本発明の音高認識方法によれば、和音を含む音楽から、和音の構成音数に依存せずに音高を認識することができる。
【００５９】
＜音高認識プログラム＞
本発明の音高認識プログラムは、和音を含む音楽に含まれる音の音高を認識できる音高認識システムに実装される音高認識プログラムである。本発明の音高認識プログラムはＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク等の記録媒体に格納することができる。例えば、これらの記録媒体から本発明の音高認識プログラムを音高認識システムに備えられたコンピュータに読み込ませて実行することで、または、通信手段を介して本発明の音高認識プログラムをダウンロードして音高認識システムに備えられたコンピュータに実行させることで、フレーム設定処理、発音候補検出処理、第２候補検出処理、第３候補検出処理、発音音高抽出処理、第２発音音高抽出処理、解析フレーム設定回数判定処理、及び発音音高認識処理を、音高認識システムに実行させることができる。本発明の音高認識プログラムは、さらに、発音時間検出処理、音符長決定処理、楽譜作成処理、及び修正処理のうち少なくともいずれか１つを音高認識システムに実行させられるものであることが好ましい。特に、音符長決定処理は発音時間検出処理より後に、楽譜作成処理は音符長決定処理より後に、修正工処理は楽譜作成処理より後に行われることが好ましい。
【００６０】
なお、解析フレーム設定処理は上記工程Ｓ１を実行する処理であり、発音候補検出処理は上記工程Ｓ２を実行する処理であり、第２候補検出処理は上記工程Ｓ３を実行する処理であり、第３候補検出処理は上記工程Ｓ４を実行する処理であり、発音音高抽出処理は上記工程Ｓ５を実行する処理であり、第２発音音高抽出処理は上記工程Ｓ６を実行する処理であり、解析フレーム設定回数判定処理は上記工程Ｓ７を実行する処理であり、発音音高認識処理は上記工程Ｓ８を実行する処理であり、発音時間検出処理は上記工程Ｓ９を実行する処理であり、音符長決定処理は上記工程Ｓ１０を実行する処理であり、楽譜作成処理は上記工程Ｓ１１を実行する処理であり、修正処理は上記工程Ｓ１２を実行する処理である。これら各工程の説明は本発明の音高認識方法の説明において行っているため、説明を省略する。
【００６１】
したがって、本発明の音高認識プログラムによれば、音高認識システムに本発明の音高認識方法を実行させることができ、和音を含む音楽から、和音の構成音数に依存せずに音高を認識させることができる。
【００６２】
＜音高認識システム＞
図７は本発明の音高認識システム１０の構成を概略的に示すブロック図である。音高認識システム１０は、音楽入力部１と、処理部２と、表示部３とを備えている。音楽入力部１は、音楽の音響信号を処理部２に入力できる手段であれば特に限定されないが、例えば、マイク及びサウンドボードによって構成することができる。また、処理部２は、音響信号をデジタル化し、本発明の音高認識プログラムを読み込んで実行することができるものであれば特に限定されず、市販のコンピュータによって構成することができる。表示部３は、処理部２による処理結果を表示できるものであれば特に限定されず、例えばディスプレイによって構成することができる。
【００６３】
したがって、本発明の音高認識システムによれば、本発明の音高認識方法を実行することができ、和音を含む音楽から、和音の構成音数に依存せずに音高を認識することができる。
【００６４】
以上、実践的で好ましいと思われる実施形態に関連して本発明を説明したが、本発明は本願明細書中に開示された実施形態に限定されるものではない。請求の範囲および明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う音高認識方法、音高認識プログラム、記憶媒体、及び音高認識システムもまた本発明の技術的範囲に包含されるものとして理解されなければならない。
【符号の説明】
【００６５】
１  音楽入力部
２  発音音高認識部
３  表示部
１０  音高認識システム
【図１】
2011022489.tif 000006
【図２】
2011022489.tif 000007
【図３】
2011022489.tif 000008
【図４】
2011022489.tif 000009
【図５】
2011022489.tif 000010
【図６】
2011022489.tif 000011
【図７】
2011022489.tif 000012
【手続補正書】
【提出日】平成21年7月27日(2009.7.27)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
工程Ｓ５では、まず、工程Ｓ２、工程Ｓ３、及び工程Ｓ４で検出された全ての発音音高候補のうち、最も高い基本周波数を持つ発音音高候補（高音発音音高候補）について、その基本周波数の１オクターブ以下にあり、倍音の周波数が高音発音音高候補の基本周波数に重なる発音音高候補（低音発音音高候補）を全て検索する（Ｓ５１）。低音発音音高候補がなかった場合（Ｓ５１ＮＯ）、その低音発音音高候補を発音音高として抽出し（Ｓ５３）、工程Ｓ５を終える。一方、低音発音音高候補が１つ以上見つかった場合（Ｓ５１ＹＥＳ）、Ｓ５２に進む。