(57)【要約】【課題】人間による音響波形データ（音響信号）の中にあるピッチ（基音）の認識を補助すること。【解決手段】本実施形態の基音可視化装置１００は、複数の音源から供給される音響波形データ（音響信号）を所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得し、前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する。そして、取得された前記所定時間単位の前記パワースペクトルについて、推定された基音のパワーを強調し、パワーが強調された基音を含むパワースペクトルを、所定時間単位毎に表示する制御を実行する。【選択図】図１８
2015043014.tif 000002
【特許請求の範囲】
【請求項１】
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定手段により推定された前記基音のパワーを強調する強調手段と、
前記強調手段によりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御手段と、
を備えることを特徴とする基音可視化装置。
【請求項２】
前記基音推定手段は、対象とする前記音響波形データの音楽タイプ、音楽に含まれる音源の特徴、又はステレオ情報を利用して、前記基音を推定する、
ことを特徴とする請求項１に記載の基音可視化装置。
【請求項３】
前記基音推定手段は、さらに、音源固有のスペクトルパターン、音域、高調波の数のうち、少なくとも１つに基づいて、前記基音を推定する、
ことを特徴とする請求項１又は２に記載の基音可視化装置。
【請求項４】
前記強調手段は、さらに、前記基音推定手段により推定された前記基音を含む所定の周波数帯のパワーを強調する
ことを特徴とする請求項１乃至３のうちの何れか１項に記載の基音可視化装置。
【請求項５】
基音を含むパワースペクトルを表示する制御を実行する基音可視化装置が実行する基音可視化方法であって、
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得ステップと、
前記パワー取得ステップにより取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定ステップと、
前記パワー取得ステップにより取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定ステップにより推定された前記基音のパワーを強調する強調ステップと、
前記強調ステップによりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御ステップと、
を含む基音可視化方法。
【請求項６】
基音を含むパワースペクトルを表示する制御を実行する基音可視化装置を制御するコンピュータを、
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得手段、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定手段、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定手段により推定された前記基音のパワーを強調する強調手段、
前記強調手段によりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基音可視化装置、基音可視化方法およびプログラムに関する。
【背景技術】
【０００２】
従来より、様々な特性を持つ音響信号からピッチ（基音）を抽出するピッチ抽出技術が知られている。このようなピッチ抽出技術としては、単音を対象とするもの、複音を対象とするもの等、対象によっていくつかの方法が提案されている。ピッチ抽出技術としては、自己相関関数、ケプストラム（Ｃｅｐｓｔｒｕｍ）、高速フーリエ変換（ＦＦＴ；Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）、フィルタリング後のゼロクロス（ｚｅｒｏ−ｃｒｏｓｓｉｎｇ）検出等、様々な技術が利用されている（例えば、特許文献１、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１８０４１７号公報
【特許文献２】特開平９−２１２１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１及び２を含め従来のピッチ抽出技術は、特定の特性を有する音響信号に対しては良い抽出結果を得ることができるものの、音響信号の種類は多様であるため全ての音響信号に対し良い抽出結果を得ることはできず、万能ではない。
即ち、ピッチ（基音）の確認という点においては、機械的に自動でピッチを抽出するよりもユーザ（人間）が大局的に確認した方が優れている点が未だ多い。
また、困難な課題、例えば、ノイズの影響、複音の場合のオクターブ誤り、ミッシング・ファンダメンタル（ｍｉｓｓｉｎｇ  ｆｕｎｄａｍｅｎｔａｌ）等についても、人間の確認に頼らざるを得ない状況である。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、音響信号の中にあるピッチの人間による確認を支援することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の基音可視化装置は、
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定手段により推定された前記基音のパワーを強調する強調手段と、
前記強調手段によりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御手段と、
を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、音響信号の中にあるピッチの人間による確認を支援する人間による音響波形データ（音響信号）の中にあるピッチ（基音）の認識を補助することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態による基音可視化装置の全体構成を示すブロック図である。
【図２】図１の構成を有する基音可視化装置のＲＡＭのワークエリアの構成を示すメモリマップである。
【図３】図１の構成を有する基音可視化装置が実行するメインフロー処理の流れの一例を示すフローチャートである。
【図４】図１の構成を有する基音可視化装置が実行する分析処理の流れの一例を示すフローチャートである。
【図５】図１の構成を有する基音可視化装置が実行する表示処理の流れの一例を示すフローチャートである。
【図６】図１の構成を有する基音可視化装置が実行する基音抽出処理の流れの一例を示すフローチャートである。
【図７】図１の構成を有する基音可視化装置が実行する基音抽出処理の流れの一例を示すフローチャートである。
【図８】図１の構成を有する基音可視化装置が実行するポインタセット処理の流れの一例を示すフローチャートである。
【図９】図８のポインタセット処理に基づきセットされるポインタの模式図である。
【図１０】図１の構成を有する基音可視化装置が実行する音程チェック処理の流れの一例を示すフローチャートである。
【図１１】図１の構成を有する基音可視化装置が実行する基音パワー計算処理の流れの一例を示すフローチャートである。
【図１２】図１の構成を有する基音可視化装置が実行する基音パワー計算処理の流れの一例を示すフローチャートである。
【図１３】図１の構成を有する基音可視化装置が実行する倍音パワー計算処理の流れの一例を示すフローチャートである。
【図１４】図１の構成を有する基音可視化装置が実行する倍音パワー計算処理の流れの一例を示すフローチャートである。
【図１５】図１の構成を有する基音可視化装置が実行する倍音パワー計算処理の流れの一例を示すフローチャートである。
【図１６】図１の構成を有する基音可視化装置が実行するパワー補正処理の流れの一例を示すフローチャートである。
【図１７】図１の構成を有する基音可視化装置が実行するパワー補正処理の流れの一例を示すフローチャートである。
【図１８】図１の構成を有する基音可視化装置により可視化された基音の表示例を示す図である。
【発明を実施するための形態】
【０００９】
本発明の一実施形態による基音可視化装置は、ピッチを可視化することで、ユーザ（人間）によるピッチの確認を容易なものとする。
本実施形態の基音可視化装置は、音響信号の調波構造によってピッチが生じるという前提のもとに、ピッチを推定する。具体的には、本実施形態の基音可視化装置は、音源の音楽タイプや音源の特徴を利用して、調波構造と捉えた音のパワーの大きさやパターンとの比率に基づいて、ピッチを推定する。そして、本実施形態の基音可視化装置は、その推定されたピッチ（ピッチの候補）を強調表示することで、ピッチを可視化する。
ユーザは、可視化されたピッチ（ピッチの候補の強調表示）をみることで、音響波形データ（音響信号）の中にあるピッチの特徴を掴み取りやすくなり、ピッチを視覚的に捉えることができるようになる。
以下、このような本実施形態の基音可視化装置について、図面を参照してさらに詳しく説明する。
なお、以下の説明では、ピッチを「基音」と適宜呼ぶ。
【００１０】
［構成］
図１は、本発明の一実施形態による基音可視化装置１００の全体構成を示すブロック図である。
基音可視化装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、入力手段１３、表示手段１４、音響出力手段１５および音響入力手段１６を備える。
【００１１】
ＣＰＵ１０は、ＲＯＭ１１に記録されているプログラム、又は、ＲＡＭ１２にロードされたプログラムに従って各種の処理を実行する。
ＲＡＭ１２には、ＣＰＵ１０が各種の処理を実行する上において必要なデータ等も適宜記憶される。
例えば、ＣＰＵ１０は、入力手段１３を介してユーザにより入力されるコマンドに応じて装置各部を制御する。ユーザにより入力されるコマンドの種類には、処理終了を指示する終了コマンド、再生機能の実行を指示する再生コマンド、音響入力機能の実行を指示する音響入力コマンド、演奏入力機能の実行を指示する演奏入力コマンドがある。
【００１２】
再生機能とは、後述する音響入力機能により取り込んだ音響波形データ（曲データ）や、後述する演奏入力機能により取り込んだ演奏データ（ＭＩＤＩデータ）を、音響出力手段１５から再生出力させる機能である。
音響入力機能とは、音響入力手段１４によって、ステレオ音場として収音したステレオ成分の音響信号をサンプリングし、これにより得られる音響波形データ（Ｌチャンネル；Ｌｃｈ）、（Ｒチャンネル；Ｒｃｈ）をＲＡＭ１２の波形データエリアに保存する機能である。
演奏入力機能とは、入力手段１３を介して外部ＭＩＤＩ楽器から入力される演奏データ（ＭＩＤＩデータ）を取り込んでＲＡＭ１２の演奏データエリアに保存する機能である。
【００１３】
基音表示機能とは、音響波形データ（音響信号）に周波数分析（高速フーリエ変換ＦＦＴ）を施して得たＬチャンネルおよびＲチャンネルのパワースペクトルから、調波構造を持つ対象の音源毎に基音を推定し、推定された基音（基音の候補）のパワーを強調して、当該パワースペクトル表示する機能である。
このようにして、推定された基音が強調されたパワースペクトルの時間推移が表示されるので、基音についてのユーザの確認を支援することが容易にできる。
【００１４】
ＲＯＭ１１には、上述した再生機能、音響入力機能、演奏入力機能および基音表示機能を具現化する各種プログラム（後述するメインフロー処理、分析処理、表示処理、基音抽出処理ポインタセット処理、音程チェック処理、基音パワー計算処理、倍音パワー計算処理およびパワー補正処理を含む）が記憶される。
ＲＡＭ１２は、音響入力機能によって取り込まれた音響波形データ（Ｌチャンネル、Ｒチャンネル）を保存する音響波形データエリアや、演奏入力機能によって取り込まれた演奏データ（ＭＩＤＩデータ）を保存するデータエリア（不図示）の他、ＣＰＵ１０の作業エリアとして各種レジスタ・フラグデータを一時記憶するワークエリアＷＥを備える。
【００１５】
入力手段１３は、前述した各種コマンド（終了コマンド、再生コマンド、音響入力コマンド、演奏入力コマンド）を入力する各種操作子や、演奏入力用の鍵盤およびＭＩＤＩインタフェースを備える。
【００１６】
表示手段１４は、ＣＰＵ１０から供給される表示制御信号に基づき、定位情報ｐａｎに応じて表示色が変化するパワースペクトルを時系列順に画面表示する。なお、表示画面は、後述するように、横軸を時間軸、縦軸を対数周波数軸とする。時間軸の長さは分析対象とした音楽一曲分に相当し、対数周波数軸の範囲は、８８鍵のピアノにおける半音分の周波数を分解能ｒｅｓ１００ｃｅｎｔとする為、都合８８×分解能ｒｅｓ１００ｃｅｎｔ以上の表示領域となる。
【００１７】
音響出力手段１５は、音源装置、Ｄ／Ａ変換器、ノイズ除去用のフィルタ、アンプおよびステレオ再生用スピーカから構成される。
音響出力手段１５は、音響波形データを再生する場合には、ＣＰＵ１０の制御の下にＲＡＭ１２のデータエリアから読み出される音響波形データ（Ｌチャンネル、Ｒチャンネル）をＤ／Ａ変換器にてアナログ信号形式に変換した後、ノイズ除去用のフィルタおよびアンプを介してステレオ再生用スピーカから放音出力する。
一方、音響出力手段１５は、演奏データを再生する場合には、ＣＰＵ１０の制御の下にＲＡＭ１２のデータエリアから読み出される演奏データに基づき音源装置が楽音波形データを発生し、この楽音波形データをＤ／Ａ変換器にてアナログ信号形式に変換した後、ノイズ除去用のフィルタおよびアンプを介してステレオ再生用スピーカから放音出力する。
【００１８】
音響入力手段１６は、ステレオ録音用のマイク、アンプおよびＡ／Ｄ変換器から構成される。
音響入力手段１６は、ＣＰＵ１０の制御の下に、ステレオ音場として収音したステレオ成分の音響信号をサンプリングし、これにより得られる音響波形データ（Ｌチャンネル、Ｒチャンネル）をＲＡＭ１２の波形データエリアに記憶する。
【００１９】
［動作］
次に、上記構成による基音可視化装置１００の動作、即ち、ＣＰＵ１０が実行する処理について説明する。
ＣＰＵ１０は、処理を実行する上で、ＲＡＭ１２のワークエリアＷＥに複数の機能グループ毎に一時記憶される主要なレジスタのデータ（変数）を用いる。そこで、先ず、これらのレジスタについて、図２を参照して説明する。
次に、図３〜図１７を参照して、ＣＰＵが実行する処理の流れについて説明する。本実施形態位においてＣＰＵ１０が実行する処理としては、メインフロー処理、分析処理、表示処理、基音抽出処理、ポインタセット処理、音程チェック処理、基音パワー計算処理、倍音パワー計算処理およびパワー補正処理が存在する。
【００２０】
先ず、図２を参照して、ＲＡＭ１２が備えるワークエリアＷＥに複数の機能グループ毎に一時記憶される主要なレジスタデータ（変数）について説明する。
複数の機能グループとは、基音表示機能を具現化する際に必要な体系的な共通点をもつ群であり、本実施形態においては、「パワースペクトル」、「基音推定用」、「音色スペクトルパターン比較用」、「音域」、「高調波の数」、「音程チェック用」、「サイドバンド幅定義用」、「ステレオ情報」、「抽出された基音」といった機能グループが含まれる。
図２には、主に基音表示機能を具現する際に使われる複数のグループの各レジスタの説明が示されている。
「パワースペクトル」の機能グループに含まれるレジスタとして、レジスタａ［ｎ］、レジスタｍ、レジスタｆｓがある。レジスタａ［ｎ］には、周波数ｎの１フレームのパワーがストアされる。但し、レジスタａ［ｎ］の前半（０〜ｉＦｒａｍｅ２−１）には、Ｒチャンネルのパワーがストアされ、レジスタａ［ｎ］の後半（ｉＦｒａｍｅ２〜ｉＦｒａｍｅ２×２）には、Ｌチャンネルのパワーがストアされる。レジスタｍには、１フレームのサイズの値がストアされる。レジスタｆｓには、サンプリング周波数の値がストアされる。
「基音推定用」の機能グループに含まれるレジスタとして、レジスタｐｏｌｙ、レジスタｍｔｙｐｅ、レジスタｓｓｏｕｒｃｅ［ｍｔｙｐｅ］［ｐｏｌｙ］、レジスタｉｎｓｔがある。ピッチ（基音）の推定は、倍音構造を含む調波構造の基音の位置を推定することにより行われる。レジスタｐｏｌｙには、与えられた音響信号から推定する基音（推定基音）の数の値がストアされる。レジスタｍｔｙｐｅには、音楽タイプの値がストアされる。レジスタｓｓｏｕｒｃｅ［ｍｔｙｐｅ］［ｐｏｌｙ］には、音楽タイプから音源種類を定義する値がストアされる。レジスタｉｎｓｔには、音源の種類の番号用変数（音源種番号の値）がストアされる。
「音色スペクトルパターン比較用」の機能グループに含まれるレジスタとして、レジスタｓｐｃｔｒ［ｓｓｏｕｒｃｅ］［ｎ］、レジスタｓｉｍｉｌｅ、レジスタｓｉｍｉｌｅｍｉｎ、レジスタｍｉｎｖａｌｕｅ［ｎ］、レジスタｈｍｉｎ、レジスタｈｍｉｎｖａｌｕｅ［ｎ］がある。レジスタｓｐｃｔｒ［ｓｓｏｕｒｃｅ］［ｎ］には、音源毎のスペクトルパターン（基音と各倍音の比率がわかるもの）の値がストアされる。レジスタｓｉｍｉｌｅには、スペクトルパターンとの比較評価値（値が小さい程似ている）がストアされる。レジスタｓｉｍｉｌｅｍｉｎには、評価値の最小値がストアされる。レジスタｍｉｎｖａｌｕｅ［ｎ］には、評価値の最小値（保存用）がストアされる。
「音域」の機能グループに含まれるレジスタとして、レジスタｋｒａｎｇｅ［ｓｓｏｕｒｃｅ］［ｎ］と、レジスタｉＭａｘＰｏｉｎｔと、レジスタｉＭｉｎＰｏｉｎｔがある。レジスタｋｒａｎｇｅ［ｓｓｏｕｒｃｅ］［ｎ］には、音源の種類から想定される音源毎の音域（下限と上限）を定義する値がストアされる。レジスタｉＭａｘＰｏｉｎｔには、上限の周波数表現の値がストアされる。レジスタｉＭｉｎＰｏｉｎｔには、下限の周波数表現の値がストアされる。
「高調波の数」の機能グループに含まれるレジスタとして、レジスタｉＯｒｄｅｒｗｓ［ｓｓｏｕｒｃｅ］と、レジスタｉＯｒｄｅｒがある。レジスタｉＯｒｄｅｒｗｓ［ｓｓｏｕｒｃｅ］には、音源毎の高調波の数の値がストアされる。レジスタｉＯｒｄｅｒには、妥当な高調波の数の値がストアされる。
「音程チェック用」の機能グループに含まれるレジスタとして、レジスタｃｅｎｔｃｈｋ［ｓｓｏｕｒｃｅ］［ｃｃｎ］と、レジスタｃｅｎｔと、レジスタｃｅｎｔ２と、レジスタａｌｒｅａｄｙがある。レジスタｃｅｎｔｃｈｋ［ｓｓｏｕｒｃｅ］［ｃｃｎ］には、音源毎の重複禁止音程の定義用の値がストアされる。レジスタｃｅｎｔには、確定済み基音の音程の値がストアされる。レジスタｃｅｎｔ２には、抽出対象の基音の音程の値がストアされる。レジスタａｌｒｅａｄｙには、禁止音程フラグの値がストアされる。
「サイドバンド幅定義用」に対応するレジスタとして、レジスタｂａｎｄｎと、レジスタｄｏ５０ｃｅｎｔｓ［ｓｓｏｕｒｃｅ］と、レジスタｄｏ５０ｃｅｎｔと、レジスタｐ５０ｃｅｎｔと、レジスタｍ５０ｃｅｎｔがある。レジスタｂａｎｄｎには、サイドバンド数の値がストアされる。レジスタｄｏ５０ｃｅｎｔｓ［ｓｓｏｕｒｃｅ］には、音源毎のサイドバンド幅の値がストアされる。レジスタｄｏ５０ｃｅｎｔには、サイドバンド幅の値がストアされる。レジスタｐ５０ｃｅｎｔには、サイドバンド幅の周波数表現の値がストアされる。レジスタｍ５０ｃｅｎｔには、サイドバンド幅の周波数表現の値がストアされる。
「ステレオ情報」の機能グループに含まれるレジスタとして、レジスタｐａｎ，  ｐａｎ２と、レジスタｐａｎａｄｊと、レジスタｐａｎａｄｊｒａｔｉｏがある。レジスタｐａｎ，  ｐａｎ２には、定位値がストアされる。レジスタｐａｎａｄｊには、定位値による補正値がストアされる。レジスタｐａｎａｄｊｒａｔｉｏには、定位値による補正割合の値がストアされる。
「抽出された基音」の機能グループに含まれるレジスタとして、レジスタｐｔ［ｐｏｌｙ］が含まれる。レジスタｐｔ［ｐｏｌｙ］には、基音と推定された周波数位置の値がストアされる。
【００２１】
［メインフロー処理］
次に、基音可視化装置１００が実行するメインフロー処理について説明する。メインフロー処理では、処理の終了が指示された場合を除き、各種指示に基づいて音響波形データの読み込み、分析処理、表示処理等が行われる。
【００２２】
図３は、図１の基音可視化装置１００が実行するメインフロー処理の流れの一例を示すフローチャートである。
基音可視化装置１００がパワーオン（電源投入）されると、ＣＰＵ１０は図３に図示するメインフロー処理を実行する。
【００２３】
ステップＳ１１において、ＣＰＵ１０は、基音可視化装置１０の各部を含むシステム全体の初期化を行う。
ステップＳ１２において、ＣＰＵ１０は、終了指示を受けたか否かを判定する。終了指示を受けた場合には、ステップＳ１２においてＹＥＳであると判定されて、メインフロー処理は終了となる。これに対し、終了指示を受けていない場合には、ステップＳ１２においてＮＯであると判定されて、処理はステップＳ１３に進む。
続いて、ステップＳ１３〜Ｓ１６において、ＣＰＵ１０は、入力手段１３を介してユーザ操作により入力されるコマンドの種類（終了コマンド、再生コマンド、音響入力コマンド、演奏入力コマンドおよび選曲コマンド）を判定する。
コマンド入力がなければ、ステップＳ１３〜Ｓ１６の各判定結果が何れも「ＮＯ」となるので、ステップＳ１３〜Ｓ１６の各判定処理が繰り返されることで、コマンド入力待ちの状態となる。
何れかのコマンドが入力されると、次のような処理が実行される。
【００２４】
例えば再生コマンドが入力された場合には、ステップＳ１３においてＹＥＳであると判定されて、処理はステップＳ１７に進む。
【００２５】
ステップＳ１７において、ＣＰＵ１０は、再生処理を行う。即ち、ＣＰＵ１０は、後述のステップＳ１８（音響入力処理）にて取り込んだ音響波形データ（曲データ）や、後述のステップＳ１９（演奏入力処理）にて取り込んだ演奏データ（ＭＩＤＩデータ）を、音響出力手段１５から再生出力する再生処理を実行する。
この処理が終了すると、処理はステップＳ１２に戻る。
【００２６】
また例えば、音響入力コマンドが入力された場合には、ステップＳ１４においてＹＥＳであると判定されて、処理はステップＳ１８に進む。
【００２７】
ステップＳ１８において、ＣＰＵ１０は、音響入力処理を行う。即ち、ＣＰＵ１０は、音響入力手段１４を用い、ステレオ音場として収音したステレオ成分の音響信号をサンプリングし、これにより得られる音響波形データ（Ｌチャンネル、Ｒチャンネル）をＲＡＭ１２の波形データエリアに保存する音響入力処理を実行する。
この処理が終了すると、処理はステップＳ１２に戻る。
【００２８】
また例えば、演奏入力コマンドが入力された場合には、ステップＳ１５においてＹＥＳであると判定されて、処理はステップＳ１９に進む。
【００２９】
ステップＳ１９において、ＣＰＵ１０は、演奏入力処理を行う。即ち、ＣＰＵ１０は、入力手段１３を介して外部ＭＩＤＩ楽器から入力される演奏データ（ＭＩＤＩデータ）を取り込んで、ＲＡＭ１２の演奏データエリアに保存する演奏入力処理を実行する。
この処理が終了すると、処理はステップＳ１２に戻る。
【００３０】
また例えば、選曲コマンドが入力された場合には、ステップＳ１６においてＹＥＳであると判定されて、処理はステップＳ２０に進む。
【００３１】
ステップＳ２０において、ＣＰＵ１０は、入力された選曲コマンドに基づいて、ＲＡＭ１２に保存された音響波形データ（曲データ）（Ｌチャンネル、Ｒチャンネル）の読み込みを行う。
【００３２】
ステップＳ２１において、ＣＰＵ１０は、分析処理を実行する。即ち、ＣＰＵ１０は、読み込んだ音響波形データ（Ｌチャンネル、Ｒチャンネル）に対して所定の時間単位（フレーム）毎に周波数分析（高速フーリエ変換ＦＦＴ）処理を施し、その結果得られる各フレームのパワースペクトル（ＬチャンネルおよびＲチャンネル）を取得する。
なお、分析処理のさらなる詳細については、図４等を参照して後述する。
【００３３】
ステップＳ２２において、ＣＰＵ１０は、表示処理を実行する。即ち、ＣＰＵ１０は、ステップＳ２１の分析処理で取得した各フレーム単位のパワースペクトルに基づいて、音源毎の基音を各フレーム毎に推定し、推定された基音のパワーが強調されるように、各フレーム単位のパワースペクトルの時間推移の様子を示す画面を表示させる。即ち、この画面は、横軸が時間軸であり、縦軸が周波数（本実施形態では鍵単位）であり、各時点の各周波数（鍵）のパワーの強さが、色の違い（後述の図１８の例ではカラー表現ができないため濃淡の違い）で表されている。そして、基音と推定された周波数（鍵）のパワーが強められるように、表示される。
なお、表示処理のさらなる詳細について、図５等を参照して後述する。
この処理が終了すると、処理はステップＳ１２に戻る。
【００３４】
［分析処理］
次に、基音可視化装置１００が実行する分析処理について説明する。
図４は、図１の構成を有する基音可視化装置１００が実行する分析処理（図３のステップＳ２１の処理）の流れの一例を示すフローチャートである。
【００３５】
ステップＳ３１において、ＣＰＵ１０は、ポインタｉに０をセットする。即ち、ポインタｉがゼロリセットされる。
なお、ポインタｉとは、「０」の場合にＬチャンネルの音響波形データを指定し、「１」の場合にＲチャンネルの音響波形データを指定するポインタである。
【００３６】
ステップＳ３２において、ＣＰＵ１０は、ポインタｉが「ＭＡＸ」より小さいか否か、即ちＬチャンネルとＲチャンネルの左右両チャンネルの音響波形データについて分析し終えたかどうかを判定する。
ポインタｉが「ＭＡＸ」より大きく、左右両チャンネルの音響波形データについて分析し終えている場合には、ステップＳ３２においてＮＯであると判定され、分析処理は終了となる。
これに対し、ポインタｉが「ＭＡＸ」より小さく、左右両チャンネルの音響波形データについて分析し終えていなければ、ステップＳ３２においてＹＥＳであると判定され、処理はステップＳ３３に進む。
【００３７】
ステップＳ３３において、ＣＰＵ１０は、ポインタｊに「０」をセットする。即ち、ポインタｊがゼロリセットされる。
なお、ポインタｊとは、分析フレームの切り出し数（オーバーラップ数）を表すポインタである。
【００３８】
ステップＳ３４において、ＣＰＵ１０は、ポインタｊが「２」より小さいか否かを判定する。
本実施形態では、１つのチャンネルの音響波形データについて、２つのフレーム（ｊ＝０，１）で重複切り出しする形態が採用されている。したがって、この処理では、１つのチャンネルの音響波形データについて分析し終えたかどうかを判断する処理が行われる。
具体的には、ポインタｊが「２」より大きい場合には、１つのチャンネルの音響波形データについて分析し終えたことになるので、ステップＳ３４においてＮＯであると判定されて、処理はステップＳ４１に進む。ステップＳ４１以降の処理については、後述する。
これに対し、ポインタｊが「２」より小さい場合には、１つのチャンネルの音響波形データについて分析が未完であるので、ステップＳ３４においてＹＥＳであると判定されて、処理はステップＳ３５に進み、次のような一連の処理により分析が行われる。
【００３９】
ステップＳ３５において、ＣＰＵ１０は、ポインタｉで指定されるチャンネルの音響波形データに対し、ポインタｊ番目のフレーム（所定時間単位の音響波形データ）の切り出しを行う。
ステップＳ３６において、ＣＰＵ１０は、ステップＳ３５において切り出したフレームに対し、窓関数（例えばハニング窓関数）を乗算する。
【００４０】
ステップＳ３７において、ＣＰＵ１０は、ポインタｊ番目のフレームに窓関数が乗算された音響波形データに対して、ＦＦＴ（高速フーリエ変換）を施す。
ステップＳ３８において、ＣＰＵ１０は、ＦＦＴにより得られた実数部と虚数部の二乗和平方根を算出することで、パワースペクトルを算出する。
ステップＳ３９において、ＣＰＵ１０は、算出したパワースペクトルをＲＡＭ１２に記憶する。具体的には、算出されたパワースペクトルは、周波数毎のパワー（値）がレジスタａ［１］〜ａ［ｎ］にそれぞれストアされる（ｎは、所定の周波数分割数であり、本実施形態では鍵盤数）。
ステップＳ４０において、ＣＰＵ１０は、ポインタｊをインクリメントする。
この処理が終了すると処理はステップＳ３４に戻る。
【００４１】
そして、インクリメントされたポインタｊの値が「２」より小さい場合、即ち１つのチャンネルの音響波形データについて分析し終えていなければ、ステップＳ３２においてＹＥＳであると判定され、ステップＳ３４〜Ｓ４０の処理が繰り返し行われる。
ステップＳ３４〜Ｓ４０の処理が繰り返し行われることにより、まず、Ｌチャンネルの音響波形データについてのパワースペクトルの取得が行われる。
【００４２】
このようにしてＬチャンネルの音響波形データについてのパワースペクトルの取得が行われた結果、インクリメントされたポインタｊの値が「２」になったとする。そうすると、ステップＳ３４においてＮＯであると判定されて、処理はステップＳ４１に進む。
ステップＳ４１において、ＣＰＵ１０は、ポインタｉをインクリメントする。この処理が終了すると、処理はステップＳ３２に戻る。
【００４３】
ここで、インクリメントされたポインタｉの値が「２」より小さい場合、即ち左右両チャンネルの音響波形データについて分析し終えていなければ、ステップＳ３２において再びＹＥＳであると判定され、ステップＳ３２〜Ｓ４１の処理が繰り返し行われる。
即ち、ＣＰＵ１０は、Ｒチャンネルの音響波形データについて、２つのフレーム（ｊ＝０，１）で重複切り出しするパワースペクトル分析を行うべく、上記ステップＳ３４〜Ｓ４０の処理を繰り返し実行する。これにより、Ｒチャンネルの音響波形データから取得されたパワーがＲＡＭ１２に記憶される。そして、ステップＳ３４〜Ｓ４０の処理の繰り返しによりポインタｊの値が「２」になると、ステップＳ３２においてＮＯであると判定されて、分析処理は終了となる。
【００４４】
このように、基音可視化装置１００は、分析処理を実行することで、ＲＡＭ１２から音響波形データ（Ｌチャンネル、Ｒチャンネル）を読み出して周波数分析（高速フーリエ変換ＦＦＴ）を施し、その結果得られた実数部と虚数部の二乗和平方根を算出することでパワースペクトル（ＬチャンネルおよびＲチャンネル）を取得する。
【００４５】
［表示処理］
このようにして分析処理（図３のステップＳ２１の処理）が実行されると、次に表示処理（図３のステップＳ２２の処理）が実行される。
表示処理による表示は、全てのフレームに対しフレーム毎に行われる。表示処理の実行時には、保存（又は演算）されたパワースペクトルデータをａ［］として、参照可能となっている。表示処理は、１フレーム毎に全体でｔｉｍｅｎ回繰り返し行われる。
【００４６】
図５は、図１の構成を有する基音可視化装置１００が実行する表示処理の流れの一例を示すフローチャートである。
【００４７】
ステップＳ５１において、ＣＰＵ１０は、カウンタｉに０をセットして、カウンタｉをゼロリセットする。
なお、カウンタｉは、「０」から横軸の「表示領域幅ｔｉｍｅｎ」までのフレーム数を計数するカウンタである。
【００４８】
ステップＳ５２において、ＣＰＵ１０は、計数されたフレーム数（カウンタｉ）が横軸の「表示領域幅ｔｉｍｅｎ」より小さいか否か、即ち表示領域幅ｔｉｍｅｎまで表示し終えたかどうかを判定する。
フレーム数（カウンタｉ）が横軸の「表示領域幅ｔｉｍｅｎ」より小さい場合、即ち、表示領域幅ｔｉｍｅｎまで表示し終えていない場合には、ステップＳ５２においてＹＥＳであると判定されて、処理はステップＳ５３に進む。
【００４９】
ステップＳ５３において、ＣＰＵ１０は、１フレーム分のパワースペクトルを読み込む。
ステップＳ５４において、ＣＰＵ１０は、基音抽出処理（Ｌｃｈ）を実行する。
即ち、ＣＰＵ１０は、音源毎の初期値を設定し、Ｌチャンネルの基音パワーと倍音パワーが最大のものをｍａｘｐｔとし、スペクトルパターンが最も類似するものをレジストデータｓｉｍｉｌｅｍｉｎとして、これら当該フレームの基音の候補として取得する。
なお、基音抽出処理のさらなる詳細については、図６等を参照して後述する。
【００５０】
ステップＳ５５において、ＣＰＵ１０は、パワー補正処理（Ｌｃｈ）を実行する。
即ち、ＣＰＵ１０は、Ｌｃｈの各基音のパワーを強調するように補正する。
なお、パワー補正処理のさらなる詳細については、図１０等を参照して後述する。
【００５１】
ステップＳ５６において、ＣＰＵ１０は、基音抽出処理（Ｒｃｈ）を実行する。即ち、ステップＳ５４のＬｃｈに対する基音抽出処理と同様の処理が、Ｒｃｈに対しても実行される。
【００５２】
ステップＳ５７において、ＣＰＵ１０は、パワー補正処理（Ｒｃｈ）を実行する。即ち、ステップＳ５５のＬｃｈに対するパワー補正処理と同様の処理が、Ｒｃｈに対しても実行される。
【００５３】
ステップＳ５８において、ＣＰＵ１０は、ステップＳ５５およびステップＳ５７においてパワーが強調された基音の候補を含む、フレームのパワースペクトルを、画面に表示させる制御を実行する。
【００５４】
ステップＳ５９において、ＣＰＵ１０は、カウンタｉをインクリメントする。
この処理が終了すると、処理はステップＳ５２に戻る。以後、インクリメントされたカウンタｉの値が横軸（時間軸）の「表示領域幅ｔｉｍｅｎ」に達するまで上記ステップＳ５２〜Ｓ５９が繰り返されることによって、定位情報ｐａｎに応じて表示色が変化するパワースペクトルが、曲頭から曲末尾までの時系列順に画面表示される。
そして、インクリメントされたカウンタｉの値が横軸（時間軸）の「表示領域幅ｔｉｍｅｎ」を超えると、ステップＳ５２においてＮＯであると判定されて、表示処理は終了となる。
【００５５】
［基音抽出処理］
次に、基音可視化装置１００が実行する基音抽出処理について説明する。
基音抽出処理とは、上述した図５の表示処理における、ＬチャンネルについてのステップＳ５４の処理と、ＲチャンネルについてのステップＳ５６の処理をいう。
基音抽出処理による処理は、推定する基音の数だけ繰り返し行われる。基音抽出処理において、ＣＰＵ１０は、１フレームの中で、ステレオ情報の利用処理、音程チェック、基音パワー計算、倍音パワー計算等を行いつつ、スペクトルパターンとの比較を行う。これにより、基音パワーおよび倍音パワーの最大値を持つ箇所と、スペクトルパターンとの比が最小の箇所が、基音の候補として抽出される。
【００５６】
図６および図７は、図１の構成を有する基音可視化装置１００が実行する基音抽出処理の流れの一例を示すフローチャートである。
即ち、図５のステップＳ５４の基音抽出処理（Ｌｃｈ）と、図５のステップＳ５６の基音抽出処理（Ｒｃｈ）として、図６及び図７のフローチャートに従った処理がそれぞれ実行される。ただし、説明の便宜上、図６及ぶ図７の説明では、図５のステップＳ５４の基音抽出処理（Ｌｃｈ）についてのみ言及する。
【００５７】
ステップＳ６１〜Ｓ６９において、ＣＰＵ１０は、Ｌチャンネルの音源毎の初期値を設定する。以下、ステップＳ６１〜Ｓ６９について、より詳細な説明を行う。
【００５８】
ステップＳ６１において、ＣＰＵ１０は、変数の初期化を行う。
ステップＳ６２において、ＣＰＵ１０は、カウンタｉｉに０をセットする。
ステップＳ６３において、ＣＰＵ１０は、カウンタｉｉの値がレジスタｐｏｌｙの値よりも小さいか否か、即ち、処理数が推定基音の数に達しているか否かを判定する。これにより、ＣＰＵ１０は、音源数を特定する。カウンタｉｉの値がレジスタｐｏｌｙの値よりも大きい場合、即ち、推定基音の数に達している場合には、ステップＳ６３においてＮＯであると判定されて、基音抽出処理は終了となる。これに対し、カウンタｉｉの値がレジスタｐｏｌｙの値よりも小さい場合、即ち、推定基音の数に未だ達していない場合には、ステップＳ６３においてＹＥＳであると判定されて、処理はステップＳ６４に進む。
【００５９】
ステップＳ６４において、ＣＰＵ１０は、音源種類に基づいて、音源種番号を特定する。
ステップＳ６５において、ＣＰＵ１０は、音源毎のサイドバンド幅に基づき、サイドバンド幅を特定する。
ステップＳ６６において、ＣＰＵ１０は、音源毎の高調波（倍音）の数に基づいて、高調波（倍音）の数を特定する。
ステップＳ６７およびＳ６８において、ＣＰＵ１０は、所定の式に基づいて、音源の下限および上限の周波数を特定する。
ステップＳ６９において、ＣＰＵ１０は、ステップＳ６１〜Ｓ６９において設定した初期値について、新たに計算が必要かどうかを判定し、設定した初期値をポインタｃａｌｃにセットする。
【００６０】
ステップＳ７０およびステップＳ７１において、ＣＰＵ１０は、Ｌチャンネルの音源の周波数の下限から上限までサーチを行う。音源の上限までサーチが行われた場合には、ステップＳ７１においてＮＯであると判定されて、処理はステップＳ８８に進む。ステップＳ８８以降の処理については後述する。音源の上限までサーチが行われていない場合には、ステップＳ７１においてＹＥＳであると判定されて、処理はステップＳ７２に進む。
【００６１】
ステップＳ７２において、ＣＰＵ１０は、ポインタセット処理を実行する。即ち、ＣＰＵ１０は、メモリ内にあるＬチャンネル（およびＲチャンネル）の情報を読み込むためのポインタを設定する。なお、ポインタセット処理の詳細については、図８等を参照して後述する。
ステップＳ７３において、ＣＰＵ１０は、禁止音程か否かを判定する処理として、音程チェック処理を実行する。なお、音程チェック処理の詳細については、図１０等を参照して後述する。
【００６２】
ステップＳ７４において、ＣＰＵ１０は、レジスタａｌｒｅａｄｙに「０」がストアされているか、即ち、禁止音程フラグの値がストアされているか否かを判定する。
レジスタａｌｒｅａｄｙに「０」がストアされている場合、即ち、禁止音程フラグの値がストアされている場合には、ステップＳ７４においてＮＯであると判定されて、処理はステップＳ８７に進む。ステップＳ８７以降の処理については、後述する。
これに対し、レジスタａｌｒｅａｄｙに「０」がストアされていない場合、即ち、禁止音程フラグの値がストアされていない場合には、ステップＳ７４においてＹＥＳであると判定されて、処理はステップＳ７５に進む。
ステップＳ７５において、ＣＰＵ１０は、ポインタｃａｌｃに１をセットする。
【００６３】
ステップＳ７６〜Ｓ７９において、ＣＰＵ１０は、Ｌチャンネルのパワースペクトル値の計算を行う。以下、ステップＳ７６〜Ｓ７９について、より詳細な説明を行う。
【００６４】
ステップＳ７６において、ＣＰＵ１０は、所定の式に基づいて、Ｌチャンネルのサイドバンド幅の上限を特定する。
ステップＳ７７において、ＣＰＵ１０は、所定の式に基づいて、Ｌチャンネルのサイドバンド幅の下限を特定する。
ステップＳ７８において、ＣＰＵ１０は、基音パワー計算処理を行う。即ち、ＣＰＵ１０は、処理対象の周波数について、サイドバンド幅を含めた基音のパワーを計算する。なお、基音パワー計算処理の詳細については、図１１等を参照して後述する。
ステップＳ７９において、ＣＰＵ１０は、倍音パワー処理を行う。即ち、ＣＰＵ１０は、処理対象の周波数について、サイドバンド幅を含めた倍音のパワーを計算する。なお、倍音パワー計算処理の詳細については、図１３等を参照して後述する。
【００６５】
ステップＳ８０において、ＣＰＵ１０は、Ｌチャンネルのパワースペクトル値の平均を計算する。
ステップＳ８１〜Ｓ８４において、ＣＰＵ１０は、周波数毎に計算したパワーのうち、最大のものをＬチャンネルのｍａｘｐｔとする。即ち、処理対象の周波数のパワーが、これまでの中で最大であれば、ｍａｘｐｔの値として上書きされ、そうでない場合，ｍａｘｐｔの値はこれまでの値のまま保持される。
ステップＳ８５〜Ｓ８７において、ＣＰＵ１０は、周波数毎に計算したパワーのうち、スペクトルパターンが最も類似するものをレジスタｓｉｍｉｌｅｍｉｎにストアする。即ち、処理対象の周波数のパワーが、スペクトルパターンに最も類似していれば、ｓｉｍｉｌｅｍｉｎの値として上書きされ、そうでない場合，ｍａｘｐｔの値はこれまでの値のまま保持される。
【００６６】
ステップＳ８８において、ＣＰＵ１０は、レジストデータｐｔ［ｉｉ］に、基音の周波数位置の値としてｍａｘｐｔをセットする。
ステップＳ８９において、ＣＰＵ１０は、カウンタｉｉをインクリメントする。
この処理が終了すると、処理はステップＳ６３に戻る。以後、ＣＰＵ１０は、インクリメントされたカウンタｉｉの値がレジスタｐｏｌｙの値に達するまで、上記ステップＳ６３〜Ｓ８９の処理を繰り返し行う。そして、インクリメントされたカウンタｉの値がレジスタｐｏｌｙの値を超えると、ステップＳ６３においてＮＯであると判定されて、基音抽出処理は終了となる。
【００６７】
［ポインタセット処理］
次に、図８および図９を参照して基音可視化装置１００が実行するポインタセット処理について説明する。
ポインタセット処理とは、上述した図７の基音抽出処理における、ステップＳ７２の処理をいう。
ポインタセット処理は、ステレオ情報のそれぞれを利用するための各種変数をポインタにセットする処理である。
図８は、図１の構成を有する基音可視化装置１００が実行するポインタセット処理の流れの一例を示すフローチャートである。図９は、図８のポインタセット処理に基づきセットされるポインタの模式図である。
【００６８】
ステップＳ１０１において、ＣＰＵ１０は、ポインタｉＬＲは０であるか否か、即ち、ＬチャンネルとＲチャンネルのうち何れの音響波形データが指定されているかを判定する。
ポインタｉＬＲが０でない場合、即ち、指定された音響波形データはＲチャンネルである場合には、ステップＳ１０１においてＮＯであると判定されて、処理はステップＳ１０６に進み、ステップＳ１０６〜Ｓ１０９の処理が実行される。ただし、ステップＳ１０６以降の処理については後述する。
これに対し、ポインタｉＬＲが０である場合、即ち、指定された音響波形データがＬチャンネルである場合には、ステップＳ１０１においてＹＥＳであると判定されて、処理はステップＳ１０２に進み、ステップＳ１０２〜Ｓ１０５の処理が行われる。
【００６９】
ステップＳ１０２において、ＣＰＵ１０は、ポインタｉＭＥに１をセットする。
ステップＳ１０３において、ＣＰＵ１０は、ポインタｉＹｕに、ｉ＋ｍ／２をセットする。
ステップＳ１０４において、ＣＰＵ１０は、ポインタｉＭｅｏＳＴに０をセットする。
ステップＳ１０５において、ＣＰＵ１０は、ポインタｉＹｕＯｓｔにｍ／２をセットする。この処理が終了すると、ポインタセット処理は終了となる。
【００７０】
ステップＳ１０６において、ＣＰＵ１０は、ポインタｉＭｅにｉ＋ｍ／２をセットする。
ステップＳ１０７において、ＣＰＵ１０は、ポインタｉＹｕに１をセットする。
ステップＳ１０８において、ＣＰＵ１０は、ポインタｉＭｅＯｓｔにｍ／２をセットする。
ステップＳ１０９において、ＣＰＵ１０は、ポインタｉＹｕＯｓｔに０をセットする。この処理が終了すると、ポインタセット処理は終了となる。
【００７１】
［音程チェック処理］
次に、基音可視化装置１００が実行する音程チェック処理について説明する。
音程チェック処理とは、上述した図７の基音抽出処理における、ステップＳ７３の処理をいう。
音程チェック処理では、ＣＰＵ１０は、周波数値から半音毎のセント値（ＭＩＤＩのノート番号）に変換し、変換したセント値が所定の関係かどうかをチェック（検査）する。
図１０は、図１の構成を有する基音可視化装置１００が実行する音程チェック処理の流れの一例を示すフローチャートである。
【００７２】
ステップＳ１２１において、ＣＰＵ１０は、ポインタｊに０をセットする。即ち、音源数がゼロリセットされる。
ステップＳ１２２において、ＣＰＵ１０は、レジスタａｌｒｅａｄｙにストアされている禁止音程フラグの値をゼロリセットする。
【００７３】
ステップＳ１２３において、ＣＰＵ１０は、最大音源数まで処理したか否かを判定する。最大音源数まで処理が行われた場合には、ステップＳ１２３においてＮＯであると判定されて、音程チェック処理は終了となる。これに対し、最大音源数まで処理が行われていない場合には、ステップＳ１２３においてＹＥＳであると判定されて、処理はステップＳ１２４に進む。
【００７４】
ステップＳ１２４において、ＣＰＵ１０は、基音の周波数位置であるか否かを判定する。基音の周波数位置ではない場合には、ステップＳ１２４においてＮＯであると判定されて、処理はステップＳ１２５に進む。
【００７５】
ステップＳ１２５において、ＣＰＵ１０は、カウンタｊをインクリメントする。この処理が終了すると、処理はステップＳ１２３に戻る。以後、処理が最大音源数に達するまでステップＳ１２３〜Ｓ１３２の処理が繰り返し行われる。
【００７６】
これに対し、基音の周波数位置である場合には、ステップＳ１２４においてＹＥＳであると判定されて、処理はステップＳ１２６に進む。
ステップＳ１２６において、ＣＰＵ１０は、レジスタｃｅｎｔに、確定済み基音の音程の値として音源ｊの基音のＭＩＤＩ番号をストアする。
ステップＳ１２７において、ＣＰＵ１０は、レジスタｃｅｎｔ２に、抽出対象の基音の音程の値として今回の音高のＭＩＤＩ番号をストアする。
【００７７】
ステップＳ１２８において、ＣＰＵ１０は、カウンタｋに０をセットし、カウンタｋをゼロリセットする。
ステップＳ１２９において、ＣＰＵ１０は、カウンタｋは［ｃｃｎ］よりも小さいか否かを判定する。
カウンタｋは［ｃｃｎ］よりも大きい場合には、ステップＳ１２９においてＮＯであると判定されて、音程チェック処理は終了となる。
これに対し、カウンタｋは［ｃｃｎ］よりも小さい場合には、ステップＳ１２９においてＹＥＳであると判定されて、処理はステップＳ１３０に進む。
【００７８】
ステップＳ１３０において、ＣＰＵ１０は、禁止音程であるか否かを判定する。禁止音程である場合には、ステップＳ１３０においてＹＥＳであると判定されて、処理はステップＳ１３１に進む。
【００７９】
ステップＳ１３１において、ＣＰＵ１０は、レジスタａｌｒｅａｄｙに、禁止音程フラグの値として１をストアする。この処理が終了すると、音程チェック処理は終了となる。
【００８０】
禁止音程ではない場合には、ステップＳ１３０においてＮＯであると判定されて、処理はステップＳ１３２に進む。
ステップＳ１３２において、ＣＰＵ１０は、カウンタｋをインクリメントする。この処理が終了すると、処理はステップＳ１２９に戻る。以後、インクリメントされたカウンタｋの値が［ｃｃｎ］に達するまで上記ステップＳ１２９〜Ｓ１３２の処理が繰り返し行われる。
【００８１】
［基音パワー計算処理］
次に、基音可視化装置１００が実行する基音パワー計算処理について説明する。
基音パワー計算処理とは、上述した図７の基音抽出処理における、ステップＳ７８の処理をいう。
図１１および図１２は、図１の構成を有する基音可視化装置１００が実行する基音パワー計算処理の流れの一例を示すフローチャートである。
【００８２】
ステップＳ１４１において、ＣＰＵ１０は、ｉＭｅ番目のパワーを読み出す。
ステップＳ１４２において、ＣＰＵ１０は、所定の式に基づいて、ステレオ情報の音源の定位置を計算する。
ステップＳ１４３〜Ｓ１４５において、ＣＰＵ１０は、ポインタの値を初期化する。
【００８３】
ステップＳ１４６〜Ｓ１５１において、ＣＰＵ１０は、サイドバンド幅の上側のパワーを累積する。以下、ステップＳ１４６〜Ｓ１５１について、より詳細に説明を行う。
【００８４】
ステップＳ１４６において、ＣＰＵ１０は、サイドバンド幅の上側が全て計算されたか否かを判定する。
サイドバンド幅の上側が全て計算された場合には、ステップＳ１４６においてＮＯであると判定されて、処理はステップＳ１５２に進む。ステップＳ１５２以降の処理については、後述する。
これに対し、サイドバンド幅の上側が全て計算されていない場合には、ステップＳ１４６においてＹＥＳであると判定されて、処理はステップＳ１４７に進む。
【００８５】
ステップＳ１４７において、ＣＰＵ１０は、所定の式に基づいて定位置の計算を行う。
ステップＳ１４８において、ＣＰＵ１０は、所定の式に基づいて定位置による補正値の計算を行う。
ステップＳ１４９において、ＣＰＵ１０は、計算された定位置および定位置による補正値に基づいてサイドバンド幅の上側のパワーを累積する。
ステップＳ１５０において、ＣＰＵ１０は、サイドバンドの数の値をインクリメントする。
【００８６】
ステップＳ１５１において、ＣＰＵ１０は、カウンタｋをインクリメントする。
この処理が終了すると処理はステップＳ１４６に戻される。即ち、サイドバンド幅の上側のパワーが全て計算されるまで、ステップＳ１４６〜Ｓ１５１の処理が繰り返し行われる。そして、サイドバンド幅の上側のパワーが全て計算されると、ステップＳ１４６においてＮＯであると判定されて、処理はステップＳ１５２に進む。
【００８７】
ステップＳ１５２において、ＣＰＵ１０は、基音を含めたパワーを累積する。
ステップＳ１５３およびＳ１５４において、ＣＰＵ１０は、ポインタの値を初期化する。
ステップＳ１５５〜Ｓ１６０において、ＣＰＵ１０は、サイドバンド幅の下側のパワーを累積する。以下、ステップＳ１５５〜Ｓ１６０について、より詳細に説明を行う。
【００８８】
ステップＳ１５５において、ＣＰＵ１０は、サイドバンド幅の下側が全て計算されたか否かを判定する。サイドバンド幅の下側が全て計算されていない場合には、ステップＳ１５５においてＹＥＳであると判定されて、処理はステップＳ１５６に進む。
ステップＳ１５６において、ＣＰＵ１０は、所定の式に基づいて定位置の計算を行う。
ステップＳ１５７において、ＣＰＵ１０は、所定の式に基づいて定位置による補正値の計算を行う。
ステップＳ１５８において、ＣＰＵ１０は、計算された定位置および定位置による補正値に基づいてサイドバンド幅の下側のパワーを累積する。
ステップＳ１５９において、ＣＰＵ１０は、サイドバンドの数の値をインクリメントする。
【００８９】
ステップＳ１６０において、ＣＰＵ１０は、カウンタｋをインクリメントする。この処理が終了すると処理はステップＳ１５５に戻される。
即ち、サイドバンド幅の下側のパワーが全て計算されるまで、ステップＳ１５５〜Ｓ１６０の処理が繰り返し行われる。そして、サイドバンド幅の下側のパワーが全て計算されると、ステップＳ１５５においてＮＯであると判定されて、処理はステップＳ１６１に進む。
【００９０】
ステップＳ１６１において、ＣＰＵ１０は、累積したサイドバンド幅の上側のパワーと、サイドバンド幅の下側のパワーとを加算する。この処理が終了すると、基音パワー計算処理は終了となる。
【００９１】
［倍音パワー計算処理］
次に、基音可視化装置１００が実行する倍音パワー計算処理について説明する。
倍音パワー計算処理とは、上述した図７の基音抽出処理における、ステップＳ７９の処理をいう。
図１３〜図１５は、図１の構成を有する基音可視化装置１００が実行する倍音パワー計算処理の流れの一例を示すフローチャートである。
【００９２】
ステップＳ１７１において、ＣＰＵ１０は、基音のパワーを算出する。
ステップＳ１７２において、ＣＰＵ１０は、スペクトルパターンとの比較評価値、即ち、スペクトルパターンの類似度をリセットする。
ステップＳ１７３において、ＣＰＵ１０は、カウンタｊに１をセットし、倍音を計算する。
【００９３】
ステップＳ１７４において、ＣＰＵ１０は、最大倍音数まで計算したか否かを判定する。
最大倍音数まで計算した場合には、ステップＳ１７４においてＮＯであると判定されて倍音パワー計算処理は終了となる。
これに対し、最大倍音数まで計算されていない場合には、ステップＳ１７４においてＹＥＳであると判定されて、処理はステップＳ１７５に進む。
【００９４】
ステップＳ１７５において、ＣＰＵ１０は、フレームサイズ（ｍ）の１／８まで計算したか否かを判定する。
フレームサイズ（ｍ）の１／８まで計算した場合には、ステップＳ１７５においてＮＯであると判定されて、処理はステップＳ１９６に進む。ステップＳ１９６以降の処理については、後述する。
ここで、フレームサイズ（ｍ）の１／８以上計算することにより算出されるパワーは小さく、無視できる程度である。したがって、この処理を行うことにより、無視できる程度のパワーの計算を省略し時間の短縮を図ることができる。
これに対し、フレームサイズ（ｍ）の１／８まで計算されていない場合には、ステップＳ１７５においてＹＥＳであると判定されて、処理はステップＳ１７６に進む。
【００９５】
ステップＳ１７６およびＳ１７７において、ＣＰＵ１０は、ポインタの値を初期化する。
ステップＳ１７８〜Ｓ１８３において、ＣＰＵ１０は、サイドバンド幅の上側のパワーを累積する。ステップＳ１７８〜Ｓ１８３の処理については、図１１のＳ１４６〜１５１の処理と同様であるため、説明を省略するが、サイドバンド幅の上側のパワーが全て計算されるまで、ステップＳ１７８〜Ｓ１８３の処理が繰り返し行われる。そして、サイドバンド幅の上側のパワーが全て計算されると、ステップＳ１７８においてＮＯであると判定されて、処理はステップＳ１８４に進む。
【００９６】
ステップＳ１８４において、ＣＰＵ１０は、基音を含めたパワーを累積する。
ステップＳ１８５において、ＣＰＵ１０は、倍音のみのパワーを累積する。
ステップＳ１８６およびＳ１８７において、ＣＰＵ１０は、ポインタの値を初期化する。
【００９７】
ステップＳ１８８〜Ｓ１９３において、ＣＰＵ１０は、サイドバンド幅の下側のパワーを累積する。ステップＳ１８８〜Ｓ１９３の処理については、図１１のＳ１５５〜１６０の処理と同様であるため、説明を省略するが、サイドバンド幅の下側のパワーが全て計算されるまで、ステップＳ１８８〜Ｓ１９３の処理が繰り返し行われる。そして、サイドバンド幅の下側のパワーが全て計算されると、ステップＳ１８８においてＮＯであると判定されて、処理はステップＳ１９４に進む。
【００９８】
ステップＳ１９４において、ＣＰＵ１０は、基音を含めて累積したサイドバンド幅の上側のパワーと、サイドバンド幅の下側のパワーとを加算する。
ステップＳ１９５において、ＣＰＵ１０は、倍音のみ累積したサイドバンド幅の上側のパワーと、サイドバンド幅の下側のパワーとを加算する。
【００９９】
ステップＳ１９６において、ＣＰＵ１０は、所定の式に基づいて、スペクトルパターンとの比較評価値を演算する。
ステップＳ１９７において、ＣＰＵ１０は、ポインタｊをインクリメントする。
この処理が終了すると処理はステップＳ１７４に戻される。そして、インクリメントされたポインタｊの値が高調波数より小さい場合、即ち最大倍音数まで計算し終えていなければ、ステップＳ１７４においてＹＥＳであると判定され、ステップＳ１７４〜Ｓ１９７の処理が繰り返し行われる。
【０１００】
［パワー補正処理］
次に、基音可視化装置１００が実行するパワー補正処理について説明する。
パワー補正処理とは、上述した図５の表示処理における、ＬチャンネルについてのステップＳ５５の処理と、ＲチャンネルについてのステップＳ５７の処理をいう。
図１６および図１７は、図１の構成を有する基音可視化装置１００が実行するパワー補正処理の流れの一例を示すフローチャートである。
【０１０１】
ステップＳ２１１において、ＣＰＵ１０は、カウンタｉに０をセットする。
ステップＳ２１２〜Ｓ２１９において、ＣＰＵ１０は、各基音のオフセット値を計算する。以下、ステップＳ２１２〜Ｓ２１９について、より詳細に説明する。
【０１０２】
ステップＳ２１２において、ＣＰＵ１０は、推定基音の数、即ち音源数分だけ処理したか否かを判定する。音源数分だけ処理した場合には、ステップＳ２１２においてＮＯであると判定されて、パワー補正処理は終了となる。これに対し、音源数分だけ処理した場合には、ステップＳ２１２においてＹＥＳであると判定されて、処理はステップＳ２１３に進む。
【０１０３】
ステップＳ２１３において、ＣＰＵ１０は、基音の周波数位置が計算済みであるか否かを判定する。基音の周波数位置が計算済みである場合には、ステップＳ２１３においてＮＯであると判定されて、処理はステップＳ２３０に進む。ステップＳ２３０以降の処理については後述する。これに対し、基音の周波数位置が未だ計算されていない場合には、ステップＳ２１３においてＹＥＳであると判定されて、処理はステップＳ２１４に進む。
【０１０４】
ステップＳ２１４において、ＣＰＵ１０は、所定の式に基づいて、基音のメモリ上の周波数位置を計算する。
ステップＳ２１５において、ＣＰＵ１０は、所定の式に基づいて、サイドバンド幅の上限の周波数を計算する。
ステップＳ２１６において、ＣＰＵ１０は、所定の式に基づいて、サイドバンド幅の下限の周波数を計算する。
【０１０５】
ステップＳ２１７において、ＣＰＵ１０は、サイドバンド幅の上限のパワーと、サイドバンド幅の下限のパワーは、どちらが大きいかを判定する。サイドバンド幅の上限のパワーの方が大きい場合には、ステップＳ２１７においてＹＥＳであると判定されて、処理はステップ２１８に進む。
ステップＳ２１８において、ＣＰＵ１０は、サイドバンド幅の上限をオフセット値として用いる。この処理が終了すると、処理はステップＳ２２０に進む。ステップＳ２２０以降の処理については、後述する。これに対し、サイドバンド幅の下限のパワースペクトルの方が大きい場合には、ステップＳ２１７においてＮＯであると判定されて、処理はステップ２１９に進む。
ステップＳ２１９において、ＣＰＵ１０は、サイドバンド幅の下限をオフセット値として用いる。
【０１０６】
ステップＳ２２０において、ＣＰＵ１０は、ポインタｋに１をセットし、ポインタの値を初期化する。
ステップＳ２２１〜２２４において、ＣＰＵ１０は、サイドバンド幅の上側のパワーを強調する。以下、ステップＳ２２１〜Ｓ２２４について、より詳細に説明する。
【０１０７】
ステップＳ２２１において、ＣＰＵ１０は、基音位置からサイドバンド幅の上限まで計算したか否かを判定する。基音位置からサイドバンド幅の上限まで計算していない場合には、ステップＳ２２１においてＹＥＳであると判定されて、処理はステップＳ２２２に進む。
【０１０８】
ステップＳ２２２において、ＣＰＵ１０は、パワーはオフセット値よりも大きいか否かを判定する。オフセット値よりも大きいパワーの場合には、ステップＳ２２２においてＮＯであると判定されて、処理はステップＳ２２４に進む。ステップＳ２２４以降の処理については後述する。これに対し、オフセット値よりも小さいパワーの場合には、ステップＳ２２２においてＹＥＳであると判定されて、処理はステップＳ２２３に進む。
【０１０９】
ステップＳ２２３において、ＣＰＵ１０は、パワーにオフセット値を加算することで、当該パワーを補正する。この処理を行うことにより、基音部分の強調表示を行うことができる。
【０１１０】
ステップＳ２２４において、ＣＰＵ１０は、カウンタｋをインクリメントする。この処理が終了すると処理はステップＳ２２１に戻る。即ち、基音位置からサイドバンド幅の上限まで全て計算されるまで、ステップＳ２２１〜Ｓ２２４の処理が繰り返し行われる。そして、基音位置からサイドバンド幅の上限まで全て計算されると、ステップＳ２２１においてＮＯであると判定されて、処理はステップＳ２２５に進む。
【０１１１】
ステップＳ２２５において、ＣＰＵ１０は、ポインタｋに１をセットすることで、ポインタの値を初期化する。
ステップＳ２２６〜２２９において、ＣＰＵ１０は、サイドバンド幅の下側のパワーを強調する。以下、ステップＳ２２６〜Ｓ２２９について、より詳細に説明する。
【０１１２】
ステップＳ２２６において、ＣＰＵ１０は、基音位置からサイドバンド幅の下限まで計算したか否かを判定する。基音位置からサイドバンド幅の下限まで計算していない場合には、ステップＳ２２６においてＹＥＳであると判定されて、処理はステップＳ２２７に進む。
【０１１３】
ステップＳ２２７において、ＣＰＵ１０は、パワーはオフセット値よりも大きいか否かを判定する。オフセット値よりも大きいパワーの場合には、ステップＳ２２７においてＮＯであると判定されて、処理はステップＳ２２９に進む。ステップＳ２２９以降の処理については後述する。これに対し、オフセット値よりも小さいパワーの場合には、ステップＳ２２７においてＹＥＳであると判定されて、処理はステップＳ２２８に進む。
【０１１４】
ステップＳ２２８において、ＣＰＵ１０は、パワーにオフセット値を加算することで、当該パワーを補正する。この処理を行うことにより、基音部分の強調表示を行うことができる。
【０１１５】
ステップＳ２２９において、ＣＰＵ１０は、カウンタｋをインクリメントする。この処理が終了すると処理はステップＳ２２６に戻る。即ち、基音位置からサイドバンド幅の下限まで全て計算されるまで、ステップＳ２２６〜Ｓ２２９の処理が繰り返し行われる。そして、基音位置からサイドバンド幅の下限まで全て計算されると、ステップＳ２２６においてＮＯであると判定されて、処理はステップＳ２３０に進む。
【０１１６】
図１の基音可視化装置１００は、以上図３〜図１７を参照して説明した処理を実行することで、基音を推定し、図１８に示すように、その推定されたピッチ（ピッチの候補）を強調表示することで、ピッチを可視化する。
図１８は、図１の基音可視化装置１００により可視化された基音の表示例を示す図である。
図１８（１）〜（４）の縦軸は、ピアノの８８鍵（ｉＨｅｉｇｈｔ）の各周波数に対応し、横軸は、時間軸（ｔｉｍｅｎ）を示す。また、図１８（１）、（３）は、通常のパワースペクトルのフレーム毎の表示例を示し、図１８（２）、（４）は、基音を強調したパワースペクトルのフレーム毎の表示例を示す。
また、図１８（１）〜（４）の左図は、「歌」＋「伴奏」の表示例を示し、図１８（１）〜（４）の右図は、「ピアノソロ曲」の表示例を示す。
図１８（１）〜（４）に示すように、基音可視化装置１００は、パワー毎に表示色を異ならせた（同図では、色の相違は表現が困難であるため、濃度の変化として表されている）パワースペクトルを曲頭から曲末尾までの時系列順にフレーム単位で画面表示する。
このように、縦軸が、ピアノの８８鍵に対応する表現となるため、ユーザによるピッチ（基音）の認識（読み取り）が容易となる。また、「歌」＋「伴奏」のような複雑な楽曲でも、曲に支配的なピッチ（基音）の大要をユーザが即座に把握することができる。また、図１８の例では、カラー表示できない為にモノクロ表示となっているが、実際には前述したように表示色を異ならせているため、ユーザがどの色（どの位置）で表示されるかで時系列的に変化する各音源の色を一目瞭然で把握することが容易となる。
【０１１７】
以上説明したように、本実施形態の基音可視化装置１００は、複数の音源から供給される音響波形データ（音響信号）を所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得し、前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する。そして、取得された前記所定時間単位の前記パワースペクトルについて、推定された基音のパワーを強調し、パワーが強調された基音を含むパワースペクトルを、所定時間単位毎に表示する制御を実行する可視化が行われる。したがって、ユーザは、可視化された箇所を視認することにより、音響波形データ（音響信号）をそのまま可視化したピッチ（基音）の認識、即ち、真実の内容に対するピッチ（基音）の認識が容易となる。また、基音可視化装置１００により可視化されるピッチ（基音）の内容は、あくまでも記号化される前の状態のアナログ的な音響波形データ（音響信号）に基づく可視化であるため、ユーザは、可視化された内容と聴いた印象との対比を容易に行うことができる。これにより、人間による音響波形データ（音響信号）の中にあるピッチ（基音）の認識を補助することが可能となる。
【０１１８】
また、本実施形態の基音可視化装置１００は、対象とする音響波形データ（音響信号）の音楽タイプ、音楽に含まれる音源の特徴、又はステレオ情報を利用して、基音を推定する。これにより、音楽タイプや音源の特徴等に基づき、基音を推定することができるので、幅広い範囲の音楽や音響波形データ（音響信号）に基づいてピッチ（基音）の可視化を行うことができる。
【０１１９】
また、本実施形態の基音可視化装置１００は、さらに、音源固有のスペクトルパターン、音域、高調波の数のうち、少なくとも１つに基づいて、基音を推定する。これにより、音源固有のスペクトルパターン、音域、高調波の数等に基づき、基音を推定することができるので、幅広い範囲の音楽や音響波形データ（音響信号）に基づいてピッチ（基音）の可視化を行うことができる。
【０１２０】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【０１２１】
例えば、上述の実施形態では、推定された基音のみならず、その前後のサイドバンドについても、パワーが強調されるように表示されたが、特にこれに限定されず、基音のみが強調されてもよい。しかしながら、あくまでも基音とは推定されたものであり、本発明の目的は、基音の自動抽出では無く、人間による基音の判断の支援であるため、上述の実施形態のように、基音のみならず、推定された基音を含む所定の周波数帯のパワーを強調する方が好適である。
【０１２２】
例えば、上述の実施形態では、ＣＰＵ１０は、音程チェック処理を行っているが必ずしも行う必要はない。例えば、ＣＰＵ１０は、基音抽出の精度を高める必要がない場合には、音程チェック処理を省略することができる。
【０１２３】
また、上述の実施形態では、ＣＰＵ１０は、フレームサイズ（ｍ）の１／８以上の計算を省略しているがこれに限られるものではない。例えば、ＣＰＵ１０は、フレームサイズ（ｍ）の全てについて計算することができる。これにより、精度を高めることができる。
【０１２４】
また、上述の実施形態では、本発明に係る基音可視化装置１００は、コンピュータを例として説明したが、特にこれに限定されない。
例えば、本発明は、表示制御機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、電子楽器、ノート型のパーソナルコンピュータ、プリンタ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等に適用可能である。
換言すると、図１のハードウェア構成は例示に過ぎず、特に限定されない。
【０１２５】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１２６】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定手段により推定された前記基音のパワーを強調する強調手段と、
前記強調手段によりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御手段と、
を備えることを特徴とする基音可視化装置。
［付記２］
前記基音推定手段は、対象とする前記音響波形データの音楽タイプ、音楽に含まれる音源の特徴、又はステレオ情報を利用して、前記基音を推定する、
ことを特徴とする付記１に記載の基音可視化装置。
［付記３］
前記基音推定手段は、さらに、音源固有のスペクトルパターン、音域、高調波の数のうち、少なくとも１つに基づいて、前記基音を推定する、
ことを特徴とする付記１又は２に記載の基音可視化装置。
［付記４］
前記強調手段は、さらに、前記基音推定手段により推定された前記基音を含む所定の周波数帯のパワーを強調する
ことを特徴とする付記１乃至３のうちの何れか１つに記載の基音可視化装置。
［付記５］
基音を含むパワースペクトルを表示する制御を実行する基音可視化装置が実行する基音可視化方法であって、
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得ステップと、
前記パワー取得ステップにより取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定ステップと、
前記パワー取得ステップにより取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定ステップにより推定された前記基音のパワーを強調する強調ステップと、
前記強調ステップによりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御ステップと、
を含む基音可視化方法。
［付記６］
基音を含むパワースペクトルを表示する制御を実行する基音可視化装置を制御するコンピュータを、
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得手段、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定手段、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定手段により推定された前記基音のパワーを強調する強調手段、
前記強調手段によりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御手段、
として機能させるプログラム。
【符号の説明】
【０１２７】
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  入力手段
１４  表示手段
１５  音響出力手段
１６  音響入力手段
１００  基音可視化装置
【図１】
2015043014.tif 000003
【図２】
2015043014.tif 000004
【図３】
2015043014.tif 000005
【図４】
2015043014.tif 000006
【図５】
2015043014.tif 000007
【図６】
2015043014.tif 000008
【図７】
2015043014.tif 000009
【図８】
2015043014.tif 000010
【図９】
2015043014.tif 000011
【図１０】
2015043014.tif 000012
【図１１】
2015043014.tif 000013
【図１２】
2015043014.tif 000014
【図１３】
2015043014.tif 000015
【図１４】
2015043014.tif 000016
【図１５】
2015043014.tif 000017
【図１６】
2015043014.tif 000018
【図１７】
2015043014.tif 000019
【図１８】
2015043014.tif 000020