JP2015043014A - 基音可視化装置、基音可視化方法およびプログラム - Google Patents
基音可視化装置、基音可視化方法およびプログラム Download PDFInfo
- Publication number
- JP2015043014A JP2015043014A JP2013174238A JP2013174238A JP2015043014A JP 2015043014 A JP2015043014 A JP 2015043014A JP 2013174238 A JP2013174238 A JP 2013174238A JP 2013174238 A JP2013174238 A JP 2013174238A JP 2015043014 A JP2015043014 A JP 2015043014A
- Authority
- JP
- Japan
- Prior art keywords
- fundamental
- power
- fundamental tone
- sound
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Auxiliary Devices For Music (AREA)
Abstract
【解決手段】本実施形態の基音可視化装置100は、複数の音源から供給される音響波形データ(音響信号)を所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得し、前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する。そして、取得された前記所定時間単位の前記パワースペクトルについて、推定された基音のパワーを強調し、パワーが強調された基音を含むパワースペクトルを、所定時間単位毎に表示する制御を実行する。
【選択図】図18
Description
即ち、ピッチ(基音)の確認という点においては、機械的に自動でピッチを抽出するよりもユーザ(人間)が大局的に確認した方が優れている点が未だ多い。
また、困難な課題、例えば、ノイズの影響、複音の場合のオクターブ誤り、ミッシング・ファンダメンタル(missing fundamental)等についても、人間の確認に頼らざるを得ない状況である。
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定手段により推定された前記基音のパワーを強調する強調手段と、
前記強調手段によりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御手段と、
を備えることを特徴とする。
本実施形態の基音可視化装置は、音響信号の調波構造によってピッチが生じるという前提のもとに、ピッチを推定する。具体的には、本実施形態の基音可視化装置は、音源の音楽タイプや音源の特徴を利用して、調波構造と捉えた音のパワーの大きさやパターンとの比率に基づいて、ピッチを推定する。そして、本実施形態の基音可視化装置は、その推定されたピッチ(ピッチの候補)を強調表示することで、ピッチを可視化する。
ユーザは、可視化されたピッチ(ピッチの候補の強調表示)をみることで、音響波形データ(音響信号)の中にあるピッチの特徴を掴み取りやすくなり、ピッチを視覚的に捉えることができるようになる。
以下、このような本実施形態の基音可視化装置について、図面を参照してさらに詳しく説明する。
なお、以下の説明では、ピッチを「基音」と適宜呼ぶ。
図1は、本発明の一実施形態による基音可視化装置100の全体構成を示すブロック図である。
基音可視化装置100は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12、入力手段13、表示手段14、音響出力手段15および音響入力手段16を備える。
RAM12には、CPU10が各種の処理を実行する上において必要なデータ等も適宜記憶される。
例えば、CPU10は、入力手段13を介してユーザにより入力されるコマンドに応じて装置各部を制御する。ユーザにより入力されるコマンドの種類には、処理終了を指示する終了コマンド、再生機能の実行を指示する再生コマンド、音響入力機能の実行を指示する音響入力コマンド、演奏入力機能の実行を指示する演奏入力コマンドがある。
音響入力機能とは、音響入力手段14によって、ステレオ音場として収音したステレオ成分の音響信号をサンプリングし、これにより得られる音響波形データ(Lチャンネル;Lch)、(Rチャンネル;Rch)をRAM12の波形データエリアに保存する機能である。
演奏入力機能とは、入力手段13を介して外部MIDI楽器から入力される演奏データ(MIDIデータ)を取り込んでRAM12の演奏データエリアに保存する機能である。
このようにして、推定された基音が強調されたパワースペクトルの時間推移が表示されるので、基音についてのユーザの確認を支援することが容易にできる。
RAM12は、音響入力機能によって取り込まれた音響波形データ(Lチャンネル、Rチャンネル)を保存する音響波形データエリアや、演奏入力機能によって取り込まれた演奏データ(MIDIデータ)を保存するデータエリア(不図示)の他、CPU10の作業エリアとして各種レジスタ・フラグデータを一時記憶するワークエリアWEを備える。
音響出力手段15は、音響波形データを再生する場合には、CPU10の制御の下にRAM12のデータエリアから読み出される音響波形データ(Lチャンネル、Rチャンネル)をD/A変換器にてアナログ信号形式に変換した後、ノイズ除去用のフィルタおよびアンプを介してステレオ再生用スピーカから放音出力する。
一方、音響出力手段15は、演奏データを再生する場合には、CPU10の制御の下にRAM12のデータエリアから読み出される演奏データに基づき音源装置が楽音波形データを発生し、この楽音波形データをD/A変換器にてアナログ信号形式に変換した後、ノイズ除去用のフィルタおよびアンプを介してステレオ再生用スピーカから放音出力する。
音響入力手段16は、CPU10の制御の下に、ステレオ音場として収音したステレオ成分の音響信号をサンプリングし、これにより得られる音響波形データ(Lチャンネル、Rチャンネル)をRAM12の波形データエリアに記憶する。
次に、上記構成による基音可視化装置100の動作、即ち、CPU10が実行する処理について説明する。
CPU10は、処理を実行する上で、RAM12のワークエリアWEに複数の機能グループ毎に一時記憶される主要なレジスタのデータ(変数)を用いる。そこで、先ず、これらのレジスタについて、図2を参照して説明する。
次に、図3〜図17を参照して、CPUが実行する処理の流れについて説明する。本実施形態位においてCPU10が実行する処理としては、メインフロー処理、分析処理、表示処理、基音抽出処理、ポインタセット処理、音程チェック処理、基音パワー計算処理、倍音パワー計算処理およびパワー補正処理が存在する。
複数の機能グループとは、基音表示機能を具現化する際に必要な体系的な共通点をもつ群であり、本実施形態においては、「パワースペクトル」、「基音推定用」、「音色スペクトルパターン比較用」、「音域」、「高調波の数」、「音程チェック用」、「サイドバンド幅定義用」、「ステレオ情報」、「抽出された基音」といった機能グループが含まれる。
図2には、主に基音表示機能を具現する際に使われる複数のグループの各レジスタの説明が示されている。
「パワースペクトル」の機能グループに含まれるレジスタとして、レジスタa[n]、レジスタm、レジスタfsがある。レジスタa[n]には、周波数nの1フレームのパワーがストアされる。但し、レジスタa[n]の前半(0〜iFrame2−1)には、Rチャンネルのパワーがストアされ、レジスタa[n]の後半(iFrame2〜iFrame2×2)には、Lチャンネルのパワーがストアされる。レジスタmには、1フレームのサイズの値がストアされる。レジスタfsには、サンプリング周波数の値がストアされる。
「基音推定用」の機能グループに含まれるレジスタとして、レジスタpoly、レジスタmtype、レジスタssource[mtype][poly]、レジスタinstがある。ピッチ(基音)の推定は、倍音構造を含む調波構造の基音の位置を推定することにより行われる。レジスタpolyには、与えられた音響信号から推定する基音(推定基音)の数の値がストアされる。レジスタmtypeには、音楽タイプの値がストアされる。レジスタssource[mtype][poly]には、音楽タイプから音源種類を定義する値がストアされる。レジスタinstには、音源の種類の番号用変数(音源種番号の値)がストアされる。
「音色スペクトルパターン比較用」の機能グループに含まれるレジスタとして、レジスタspctr[ssource][n]、レジスタsimile、レジスタsimilemin、レジスタminvalue[n]、レジスタhmin、レジスタhminvalue[n]がある。レジスタspctr[ssource][n]には、音源毎のスペクトルパターン(基音と各倍音の比率がわかるもの)の値がストアされる。レジスタsimileには、スペクトルパターンとの比較評価値(値が小さい程似ている)がストアされる。レジスタsimileminには、評価値の最小値がストアされる。レジスタminvalue[n]には、評価値の最小値(保存用)がストアされる。
「音域」の機能グループに含まれるレジスタとして、レジスタkrange[ssource][n]と、レジスタiMaxPointと、レジスタiMinPointがある。レジスタkrange[ssource][n]には、音源の種類から想定される音源毎の音域(下限と上限)を定義する値がストアされる。レジスタiMaxPointには、上限の周波数表現の値がストアされる。レジスタiMinPointには、下限の周波数表現の値がストアされる。
「高調波の数」の機能グループに含まれるレジスタとして、レジスタiOrderws[ssource]と、レジスタiOrderがある。レジスタiOrderws[ssource]には、音源毎の高調波の数の値がストアされる。レジスタiOrderには、妥当な高調波の数の値がストアされる。
「音程チェック用」の機能グループに含まれるレジスタとして、レジスタcentchk[ssource][ccn]と、レジスタcentと、レジスタcent2と、レジスタalreadyがある。レジスタcentchk[ssource][ccn]には、音源毎の重複禁止音程の定義用の値がストアされる。レジスタcentには、確定済み基音の音程の値がストアされる。レジスタcent2には、抽出対象の基音の音程の値がストアされる。レジスタalreadyには、禁止音程フラグの値がストアされる。
「サイドバンド幅定義用」に対応するレジスタとして、レジスタbandnと、レジスタdo50cents[ssource]と、レジスタdo50centと、レジスタp50centと、レジスタm50centがある。レジスタbandnには、サイドバンド数の値がストアされる。レジスタdo50cents[ssource]には、音源毎のサイドバンド幅の値がストアされる。レジスタdo50centには、サイドバンド幅の値がストアされる。レジスタp50centには、サイドバンド幅の周波数表現の値がストアされる。レジスタm50centには、サイドバンド幅の周波数表現の値がストアされる。
「ステレオ情報」の機能グループに含まれるレジスタとして、レジスタpan, pan2と、レジスタpanadjと、レジスタpanadjratioがある。レジスタpan, pan2には、定位値がストアされる。レジスタpanadjには、定位値による補正値がストアされる。レジスタpanadjratioには、定位値による補正割合の値がストアされる。
「抽出された基音」の機能グループに含まれるレジスタとして、レジスタpt[poly]が含まれる。レジスタpt[poly]には、基音と推定された周波数位置の値がストアされる。
次に、基音可視化装置100が実行するメインフロー処理について説明する。メインフロー処理では、処理の終了が指示された場合を除き、各種指示に基づいて音響波形データの読み込み、分析処理、表示処理等が行われる。
基音可視化装置100がパワーオン(電源投入)されると、CPU10は図3に図示するメインフロー処理を実行する。
ステップS12において、CPU10は、終了指示を受けたか否かを判定する。終了指示を受けた場合には、ステップS12においてYESであると判定されて、メインフロー処理は終了となる。これに対し、終了指示を受けていない場合には、ステップS12においてNOであると判定されて、処理はステップS13に進む。
続いて、ステップS13〜S16において、CPU10は、入力手段13を介してユーザ操作により入力されるコマンドの種類(終了コマンド、再生コマンド、音響入力コマンド、演奏入力コマンドおよび選曲コマンド)を判定する。
コマンド入力がなければ、ステップS13〜S16の各判定結果が何れも「NO」となるので、ステップS13〜S16の各判定処理が繰り返されることで、コマンド入力待ちの状態となる。
何れかのコマンドが入力されると、次のような処理が実行される。
この処理が終了すると、処理はステップS12に戻る。
この処理が終了すると、処理はステップS12に戻る。
この処理が終了すると、処理はステップS12に戻る。
なお、分析処理のさらなる詳細については、図4等を参照して後述する。
なお、表示処理のさらなる詳細について、図5等を参照して後述する。
この処理が終了すると、処理はステップS12に戻る。
次に、基音可視化装置100が実行する分析処理について説明する。
図4は、図1の構成を有する基音可視化装置100が実行する分析処理(図3のステップS21の処理)の流れの一例を示すフローチャートである。
なお、ポインタiとは、「0」の場合にLチャンネルの音響波形データを指定し、「1」の場合にRチャンネルの音響波形データを指定するポインタである。
ポインタiが「MAX」より大きく、左右両チャンネルの音響波形データについて分析し終えている場合には、ステップS32においてNOであると判定され、分析処理は終了となる。
これに対し、ポインタiが「MAX」より小さく、左右両チャンネルの音響波形データについて分析し終えていなければ、ステップS32においてYESであると判定され、処理はステップS33に進む。
なお、ポインタjとは、分析フレームの切り出し数(オーバーラップ数)を表すポインタである。
本実施形態では、1つのチャンネルの音響波形データについて、2つのフレーム(j=0,1)で重複切り出しする形態が採用されている。したがって、この処理では、1つのチャンネルの音響波形データについて分析し終えたかどうかを判断する処理が行われる。
具体的には、ポインタjが「2」より大きい場合には、1つのチャンネルの音響波形データについて分析し終えたことになるので、ステップS34においてNOであると判定されて、処理はステップS41に進む。ステップS41以降の処理については、後述する。
これに対し、ポインタjが「2」より小さい場合には、1つのチャンネルの音響波形データについて分析が未完であるので、ステップS34においてYESであると判定されて、処理はステップS35に進み、次のような一連の処理により分析が行われる。
ステップS36において、CPU10は、ステップS35において切り出したフレームに対し、窓関数(例えばハニング窓関数)を乗算する。
ステップS38において、CPU10は、FFTにより得られた実数部と虚数部の二乗和平方根を算出することで、パワースペクトルを算出する。
ステップS39において、CPU10は、算出したパワースペクトルをRAM12に記憶する。具体的には、算出されたパワースペクトルは、周波数毎のパワー(値)がレジスタa[1]〜a[n]にそれぞれストアされる(nは、所定の周波数分割数であり、本実施形態では鍵盤数)。
ステップS40において、CPU10は、ポインタjをインクリメントする。
この処理が終了すると処理はステップS34に戻る。
ステップS34〜S40の処理が繰り返し行われることにより、まず、Lチャンネルの音響波形データについてのパワースペクトルの取得が行われる。
ステップS41において、CPU10は、ポインタiをインクリメントする。この処理が終了すると、処理はステップS32に戻る。
即ち、CPU10は、Rチャンネルの音響波形データについて、2つのフレーム(j=0,1)で重複切り出しするパワースペクトル分析を行うべく、上記ステップS34〜S40の処理を繰り返し実行する。これにより、Rチャンネルの音響波形データから取得されたパワーがRAM12に記憶される。そして、ステップS34〜S40の処理の繰り返しによりポインタjの値が「2」になると、ステップS32においてNOであると判定されて、分析処理は終了となる。
このようにして分析処理(図3のステップS21の処理)が実行されると、次に表示処理(図3のステップS22の処理)が実行される。
表示処理による表示は、全てのフレームに対しフレーム毎に行われる。表示処理の実行時には、保存(又は演算)されたパワースペクトルデータをa[]として、参照可能となっている。表示処理は、1フレーム毎に全体でtimen回繰り返し行われる。
なお、カウンタiは、「0」から横軸の「表示領域幅timen」までのフレーム数を計数するカウンタである。
フレーム数(カウンタi)が横軸の「表示領域幅timen」より小さい場合、即ち、表示領域幅timenまで表示し終えていない場合には、ステップS52においてYESであると判定されて、処理はステップS53に進む。
ステップS54において、CPU10は、基音抽出処理(Lch)を実行する。
即ち、CPU10は、音源毎の初期値を設定し、Lチャンネルの基音パワーと倍音パワーが最大のものをmaxptとし、スペクトルパターンが最も類似するものをレジストデータsimileminとして、これら当該フレームの基音の候補として取得する。
なお、基音抽出処理のさらなる詳細については、図6等を参照して後述する。
即ち、CPU10は、Lchの各基音のパワーを強調するように補正する。
なお、パワー補正処理のさらなる詳細については、図10等を参照して後述する。
この処理が終了すると、処理はステップS52に戻る。以後、インクリメントされたカウンタiの値が横軸(時間軸)の「表示領域幅timen」に達するまで上記ステップS52〜S59が繰り返されることによって、定位情報panに応じて表示色が変化するパワースペクトルが、曲頭から曲末尾までの時系列順に画面表示される。
そして、インクリメントされたカウンタiの値が横軸(時間軸)の「表示領域幅timen」を超えると、ステップS52においてNOであると判定されて、表示処理は終了となる。
次に、基音可視化装置100が実行する基音抽出処理について説明する。
基音抽出処理とは、上述した図5の表示処理における、LチャンネルについてのステップS54の処理と、RチャンネルについてのステップS56の処理をいう。
基音抽出処理による処理は、推定する基音の数だけ繰り返し行われる。基音抽出処理において、CPU10は、1フレームの中で、ステレオ情報の利用処理、音程チェック、基音パワー計算、倍音パワー計算等を行いつつ、スペクトルパターンとの比較を行う。これにより、基音パワーおよび倍音パワーの最大値を持つ箇所と、スペクトルパターンとの比が最小の箇所が、基音の候補として抽出される。
即ち、図5のステップS54の基音抽出処理(Lch)と、図5のステップS56の基音抽出処理(Rch)として、図6及び図7のフローチャートに従った処理がそれぞれ実行される。ただし、説明の便宜上、図6及ぶ図7の説明では、図5のステップS54の基音抽出処理(Lch)についてのみ言及する。
ステップS62において、CPU10は、カウンタiiに0をセットする。
ステップS63において、CPU10は、カウンタiiの値がレジスタpolyの値よりも小さいか否か、即ち、処理数が推定基音の数に達しているか否かを判定する。これにより、CPU10は、音源数を特定する。カウンタiiの値がレジスタpolyの値よりも大きい場合、即ち、推定基音の数に達している場合には、ステップS63においてNOであると判定されて、基音抽出処理は終了となる。これに対し、カウンタiiの値がレジスタpolyの値よりも小さい場合、即ち、推定基音の数に未だ達していない場合には、ステップS63においてYESであると判定されて、処理はステップS64に進む。
ステップS65において、CPU10は、音源毎のサイドバンド幅に基づき、サイドバンド幅を特定する。
ステップS66において、CPU10は、音源毎の高調波(倍音)の数に基づいて、高調波(倍音)の数を特定する。
ステップS67およびS68において、CPU10は、所定の式に基づいて、音源の下限および上限の周波数を特定する。
ステップS69において、CPU10は、ステップS61〜S69において設定した初期値について、新たに計算が必要かどうかを判定し、設定した初期値をポインタcalcにセットする。
ステップS73において、CPU10は、禁止音程か否かを判定する処理として、音程チェック処理を実行する。なお、音程チェック処理の詳細については、図10等を参照して後述する。
レジスタalreadyに「0」がストアされている場合、即ち、禁止音程フラグの値がストアされている場合には、ステップS74においてNOであると判定されて、処理はステップS87に進む。ステップS87以降の処理については、後述する。
これに対し、レジスタalreadyに「0」がストアされていない場合、即ち、禁止音程フラグの値がストアされていない場合には、ステップS74においてYESであると判定されて、処理はステップS75に進む。
ステップS75において、CPU10は、ポインタcalcに1をセットする。
ステップS77において、CPU10は、所定の式に基づいて、Lチャンネルのサイドバンド幅の下限を特定する。
ステップS78において、CPU10は、基音パワー計算処理を行う。即ち、CPU10は、処理対象の周波数について、サイドバンド幅を含めた基音のパワーを計算する。なお、基音パワー計算処理の詳細については、図11等を参照して後述する。
ステップS79において、CPU10は、倍音パワー処理を行う。即ち、CPU10は、処理対象の周波数について、サイドバンド幅を含めた倍音のパワーを計算する。なお、倍音パワー計算処理の詳細については、図13等を参照して後述する。
ステップS81〜S84において、CPU10は、周波数毎に計算したパワーのうち、最大のものをLチャンネルのmaxptとする。即ち、処理対象の周波数のパワーが、これまでの中で最大であれば、maxptの値として上書きされ、そうでない場合,maxptの値はこれまでの値のまま保持される。
ステップS85〜S87において、CPU10は、周波数毎に計算したパワーのうち、スペクトルパターンが最も類似するものをレジスタsimileminにストアする。即ち、処理対象の周波数のパワーが、スペクトルパターンに最も類似していれば、simileminの値として上書きされ、そうでない場合,maxptの値はこれまでの値のまま保持される。
ステップS89において、CPU10は、カウンタiiをインクリメントする。
この処理が終了すると、処理はステップS63に戻る。以後、CPU10は、インクリメントされたカウンタiiの値がレジスタpolyの値に達するまで、上記ステップS63〜S89の処理を繰り返し行う。そして、インクリメントされたカウンタiの値がレジスタpolyの値を超えると、ステップS63においてNOであると判定されて、基音抽出処理は終了となる。
次に、図8および図9を参照して基音可視化装置100が実行するポインタセット処理について説明する。
ポインタセット処理とは、上述した図7の基音抽出処理における、ステップS72の処理をいう。
ポインタセット処理は、ステレオ情報のそれぞれを利用するための各種変数をポインタにセットする処理である。
図8は、図1の構成を有する基音可視化装置100が実行するポインタセット処理の流れの一例を示すフローチャートである。図9は、図8のポインタセット処理に基づきセットされるポインタの模式図である。
ポインタiLRが0でない場合、即ち、指定された音響波形データはRチャンネルである場合には、ステップS101においてNOであると判定されて、処理はステップS106に進み、ステップS106〜S109の処理が実行される。ただし、ステップS106以降の処理については後述する。
これに対し、ポインタiLRが0である場合、即ち、指定された音響波形データがLチャンネルである場合には、ステップS101においてYESであると判定されて、処理はステップS102に進み、ステップS102〜S105の処理が行われる。
ステップS103において、CPU10は、ポインタiYuに、i+m/2をセットする。
ステップS104において、CPU10は、ポインタiMeoSTに0をセットする。
ステップS105において、CPU10は、ポインタiYuOstにm/2をセットする。この処理が終了すると、ポインタセット処理は終了となる。
ステップS107において、CPU10は、ポインタiYuに1をセットする。
ステップS108において、CPU10は、ポインタiMeOstにm/2をセットする。
ステップS109において、CPU10は、ポインタiYuOstに0をセットする。この処理が終了すると、ポインタセット処理は終了となる。
次に、基音可視化装置100が実行する音程チェック処理について説明する。
音程チェック処理とは、上述した図7の基音抽出処理における、ステップS73の処理をいう。
音程チェック処理では、CPU10は、周波数値から半音毎のセント値(MIDIのノート番号)に変換し、変換したセント値が所定の関係かどうかをチェック(検査)する。
図10は、図1の構成を有する基音可視化装置100が実行する音程チェック処理の流れの一例を示すフローチャートである。
ステップS122において、CPU10は、レジスタalreadyにストアされている禁止音程フラグの値をゼロリセットする。
ステップS126において、CPU10は、レジスタcentに、確定済み基音の音程の値として音源jの基音のMIDI番号をストアする。
ステップS127において、CPU10は、レジスタcent2に、抽出対象の基音の音程の値として今回の音高のMIDI番号をストアする。
ステップS129において、CPU10は、カウンタkは[ccn]よりも小さいか否かを判定する。
カウンタkは[ccn]よりも大きい場合には、ステップS129においてNOであると判定されて、音程チェック処理は終了となる。
これに対し、カウンタkは[ccn]よりも小さい場合には、ステップS129においてYESであると判定されて、処理はステップS130に進む。
ステップS132において、CPU10は、カウンタkをインクリメントする。この処理が終了すると、処理はステップS129に戻る。以後、インクリメントされたカウンタkの値が[ccn]に達するまで上記ステップS129〜S132の処理が繰り返し行われる。
次に、基音可視化装置100が実行する基音パワー計算処理について説明する。
基音パワー計算処理とは、上述した図7の基音抽出処理における、ステップS78の処理をいう。
図11および図12は、図1の構成を有する基音可視化装置100が実行する基音パワー計算処理の流れの一例を示すフローチャートである。
ステップS142において、CPU10は、所定の式に基づいて、ステレオ情報の音源の定位置を計算する。
ステップS143〜S145において、CPU10は、ポインタの値を初期化する。
サイドバンド幅の上側が全て計算された場合には、ステップS146においてNOであると判定されて、処理はステップS152に進む。ステップS152以降の処理については、後述する。
これに対し、サイドバンド幅の上側が全て計算されていない場合には、ステップS146においてYESであると判定されて、処理はステップS147に進む。
ステップS148において、CPU10は、所定の式に基づいて定位置による補正値の計算を行う。
ステップS149において、CPU10は、計算された定位置および定位置による補正値に基づいてサイドバンド幅の上側のパワーを累積する。
ステップS150において、CPU10は、サイドバンドの数の値をインクリメントする。
この処理が終了すると処理はステップS146に戻される。即ち、サイドバンド幅の上側のパワーが全て計算されるまで、ステップS146〜S151の処理が繰り返し行われる。そして、サイドバンド幅の上側のパワーが全て計算されると、ステップS146においてNOであると判定されて、処理はステップS152に進む。
ステップS153およびS154において、CPU10は、ポインタの値を初期化する。
ステップS155〜S160において、CPU10は、サイドバンド幅の下側のパワーを累積する。以下、ステップS155〜S160について、より詳細に説明を行う。
ステップS156において、CPU10は、所定の式に基づいて定位置の計算を行う。
ステップS157において、CPU10は、所定の式に基づいて定位置による補正値の計算を行う。
ステップS158において、CPU10は、計算された定位置および定位置による補正値に基づいてサイドバンド幅の下側のパワーを累積する。
ステップS159において、CPU10は、サイドバンドの数の値をインクリメントする。
即ち、サイドバンド幅の下側のパワーが全て計算されるまで、ステップS155〜S160の処理が繰り返し行われる。そして、サイドバンド幅の下側のパワーが全て計算されると、ステップS155においてNOであると判定されて、処理はステップS161に進む。
次に、基音可視化装置100が実行する倍音パワー計算処理について説明する。
倍音パワー計算処理とは、上述した図7の基音抽出処理における、ステップS79の処理をいう。
図13〜図15は、図1の構成を有する基音可視化装置100が実行する倍音パワー計算処理の流れの一例を示すフローチャートである。
ステップS172において、CPU10は、スペクトルパターンとの比較評価値、即ち、スペクトルパターンの類似度をリセットする。
ステップS173において、CPU10は、カウンタjに1をセットし、倍音を計算する。
最大倍音数まで計算した場合には、ステップS174においてNOであると判定されて倍音パワー計算処理は終了となる。
これに対し、最大倍音数まで計算されていない場合には、ステップS174においてYESであると判定されて、処理はステップS175に進む。
フレームサイズ(m)の1/8まで計算した場合には、ステップS175においてNOであると判定されて、処理はステップS196に進む。ステップS196以降の処理については、後述する。
ここで、フレームサイズ(m)の1/8以上計算することにより算出されるパワーは小さく、無視できる程度である。したがって、この処理を行うことにより、無視できる程度のパワーの計算を省略し時間の短縮を図ることができる。
これに対し、フレームサイズ(m)の1/8まで計算されていない場合には、ステップS175においてYESであると判定されて、処理はステップS176に進む。
ステップS178〜S183において、CPU10は、サイドバンド幅の上側のパワーを累積する。ステップS178〜S183の処理については、図11のS146〜151の処理と同様であるため、説明を省略するが、サイドバンド幅の上側のパワーが全て計算されるまで、ステップS178〜S183の処理が繰り返し行われる。そして、サイドバンド幅の上側のパワーが全て計算されると、ステップS178においてNOであると判定されて、処理はステップS184に進む。
ステップS185において、CPU10は、倍音のみのパワーを累積する。
ステップS186およびS187において、CPU10は、ポインタの値を初期化する。
ステップS195において、CPU10は、倍音のみ累積したサイドバンド幅の上側のパワーと、サイドバンド幅の下側のパワーとを加算する。
ステップS197において、CPU10は、ポインタjをインクリメントする。
この処理が終了すると処理はステップS174に戻される。そして、インクリメントされたポインタjの値が高調波数より小さい場合、即ち最大倍音数まで計算し終えていなければ、ステップS174においてYESであると判定され、ステップS174〜S197の処理が繰り返し行われる。
次に、基音可視化装置100が実行するパワー補正処理について説明する。
パワー補正処理とは、上述した図5の表示処理における、LチャンネルについてのステップS55の処理と、RチャンネルについてのステップS57の処理をいう。
図16および図17は、図1の構成を有する基音可視化装置100が実行するパワー補正処理の流れの一例を示すフローチャートである。
ステップS212〜S219において、CPU10は、各基音のオフセット値を計算する。以下、ステップS212〜S219について、より詳細に説明する。
ステップS215において、CPU10は、所定の式に基づいて、サイドバンド幅の上限の周波数を計算する。
ステップS216において、CPU10は、所定の式に基づいて、サイドバンド幅の下限の周波数を計算する。
ステップS218において、CPU10は、サイドバンド幅の上限をオフセット値として用いる。この処理が終了すると、処理はステップS220に進む。ステップS220以降の処理については、後述する。これに対し、サイドバンド幅の下限のパワースペクトルの方が大きい場合には、ステップS217においてNOであると判定されて、処理はステップ219に進む。
ステップS219において、CPU10は、サイドバンド幅の下限をオフセット値として用いる。
ステップS221〜224において、CPU10は、サイドバンド幅の上側のパワーを強調する。以下、ステップS221〜S224について、より詳細に説明する。
ステップS226〜229において、CPU10は、サイドバンド幅の下側のパワーを強調する。以下、ステップS226〜S229について、より詳細に説明する。
図18は、図1の基音可視化装置100により可視化された基音の表示例を示す図である。
図18(1)〜(4)の縦軸は、ピアノの88鍵(iHeight)の各周波数に対応し、横軸は、時間軸(timen)を示す。また、図18(1)、(3)は、通常のパワースペクトルのフレーム毎の表示例を示し、図18(2)、(4)は、基音を強調したパワースペクトルのフレーム毎の表示例を示す。
また、図18(1)〜(4)の左図は、「歌」+「伴奏」の表示例を示し、図18(1)〜(4)の右図は、「ピアノソロ曲」の表示例を示す。
図18(1)〜(4)に示すように、基音可視化装置100は、パワー毎に表示色を異ならせた(同図では、色の相違は表現が困難であるため、濃度の変化として表されている)パワースペクトルを曲頭から曲末尾までの時系列順にフレーム単位で画面表示する。
このように、縦軸が、ピアノの88鍵に対応する表現となるため、ユーザによるピッチ(基音)の認識(読み取り)が容易となる。また、「歌」+「伴奏」のような複雑な楽曲でも、曲に支配的なピッチ(基音)の大要をユーザが即座に把握することができる。また、図18の例では、カラー表示できない為にモノクロ表示となっているが、実際には前述したように表示色を異ならせているため、ユーザがどの色(どの位置)で表示されるかで時系列的に変化する各音源の色を一目瞭然で把握することが容易となる。
例えば、本発明は、表示制御機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、電子楽器、ノート型のパーソナルコンピュータ、プリンタ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等に適用可能である。
換言すると、図1のハードウェア構成は例示に過ぎず、特に限定されない。
[付記1]
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定手段により推定された前記基音のパワーを強調する強調手段と、
前記強調手段によりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御手段と、
を備えることを特徴とする基音可視化装置。
[付記2]
前記基音推定手段は、対象とする前記音響波形データの音楽タイプ、音楽に含まれる音源の特徴、又はステレオ情報を利用して、前記基音を推定する、
ことを特徴とする付記1に記載の基音可視化装置。
[付記3]
前記基音推定手段は、さらに、音源固有のスペクトルパターン、音域、高調波の数のうち、少なくとも1つに基づいて、前記基音を推定する、
ことを特徴とする付記1又は2に記載の基音可視化装置。
[付記4]
前記強調手段は、さらに、前記基音推定手段により推定された前記基音を含む所定の周波数帯のパワーを強調する
ことを特徴とする付記1乃至3のうちの何れか1つに記載の基音可視化装置。
[付記5]
基音を含むパワースペクトルを表示する制御を実行する基音可視化装置が実行する基音可視化方法であって、
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得ステップと、
前記パワー取得ステップにより取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定ステップと、
前記パワー取得ステップにより取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定ステップにより推定された前記基音のパワーを強調する強調ステップと、
前記強調ステップによりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御ステップと、
を含む基音可視化方法。
[付記6]
基音を含むパワースペクトルを表示する制御を実行する基音可視化装置を制御するコンピュータを、
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得手段、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定手段、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定手段により推定された前記基音のパワーを強調する強調手段、
前記強調手段によりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御手段、
として機能させるプログラム。
11 ROM
12 RAM
13 入力手段
14 表示手段
15 音響出力手段
16 音響入力手段
100 基音可視化装置
Claims (6)
- 複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定手段と、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定手段により推定された前記基音のパワーを強調する強調手段と、
前記強調手段によりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御手段と、
を備えることを特徴とする基音可視化装置。 - 前記基音推定手段は、対象とする前記音響波形データの音楽タイプ、音楽に含まれる音源の特徴、又はステレオ情報を利用して、前記基音を推定する、
ことを特徴とする請求項1に記載の基音可視化装置。 - 前記基音推定手段は、さらに、音源固有のスペクトルパターン、音域、高調波の数のうち、少なくとも1つに基づいて、前記基音を推定する、
ことを特徴とする請求項1又は2に記載の基音可視化装置。 - 前記強調手段は、さらに、前記基音推定手段により推定された前記基音を含む所定の周波数帯のパワーを強調する
ことを特徴とする請求項1乃至3のうちの何れか1項に記載の基音可視化装置。 - 基音を含むパワースペクトルを表示する制御を実行する基音可視化装置が実行する基音可視化方法であって、
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得ステップと、
前記パワー取得ステップにより取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定ステップと、
前記パワー取得ステップにより取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定ステップにより推定された前記基音のパワーを強調する強調ステップと、
前記強調ステップによりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御ステップと、
を含む基音可視化方法。 - 基音を含むパワースペクトルを表示する制御を実行する基音可視化装置を制御するコンピュータを、
複数の音源から供給される音響波形データを所定時間単位毎に周波数分析することで、当該所定時間単位のパワースペクトルを取得するパワー取得手段、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルに基づいて、前記音源毎の基音を推定する基音推定手段、
前記パワー取得手段により取得された前記所定時間単位の前記パワースペクトルについて、前記基音推定手段により推定された前記基音のパワーを強調する強調手段、
前記強調手段によりパワーが強調された前記基音を含む前記パワースペクトルを、前記所定時間単位毎に表示する制御を実行する表示制御手段、
として機能させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013174238A JP6307814B2 (ja) | 2013-08-26 | 2013-08-26 | 基音可視化装置、基音可視化方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013174238A JP6307814B2 (ja) | 2013-08-26 | 2013-08-26 | 基音可視化装置、基音可視化方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015043014A true JP2015043014A (ja) | 2015-03-05 |
JP6307814B2 JP6307814B2 (ja) | 2018-04-11 |
Family
ID=52696568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013174238A Active JP6307814B2 (ja) | 2013-08-26 | 2013-08-26 | 基音可視化装置、基音可視化方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6307814B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580912A (zh) * | 2019-10-21 | 2019-12-17 | 腾讯音乐娱乐科技(深圳)有限公司 | 音乐可视化的方法、装置及系统 |
CN113066512A (zh) * | 2021-03-24 | 2021-07-02 | 平安科技(深圳)有限公司 | 佛教音乐识别方法、装置、设备及存储介质 |
CN113295765A (zh) * | 2021-05-14 | 2021-08-24 | 四川陆通检测科技有限公司 | 一种孔道压浆缺陷检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04261591A (ja) * | 1991-01-07 | 1992-09-17 | Brother Ind Ltd | 自動採譜装置 |
JP2001067068A (ja) * | 1999-08-25 | 2001-03-16 | Victor Co Of Japan Ltd | 音楽パートの識別方法 |
JP2005202354A (ja) * | 2003-12-19 | 2005-07-28 | Toudai Tlo Ltd | 信号解析方法 |
JP2006171008A (ja) * | 2001-09-28 | 2006-06-29 | Nippon Telegr & Teleph Corp <Ntt> | 基本周波数抽出装置、その方法、そのプログラム並びにそのプログラムを記録した記録媒体 |
JP2007033479A (ja) * | 2005-07-22 | 2007-02-08 | Kawai Musical Instr Mfg Co Ltd | 自動採譜装置及びプログラム |
-
2013
- 2013-08-26 JP JP2013174238A patent/JP6307814B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04261591A (ja) * | 1991-01-07 | 1992-09-17 | Brother Ind Ltd | 自動採譜装置 |
JP2001067068A (ja) * | 1999-08-25 | 2001-03-16 | Victor Co Of Japan Ltd | 音楽パートの識別方法 |
JP2006171008A (ja) * | 2001-09-28 | 2006-06-29 | Nippon Telegr & Teleph Corp <Ntt> | 基本周波数抽出装置、その方法、そのプログラム並びにそのプログラムを記録した記録媒体 |
JP2005202354A (ja) * | 2003-12-19 | 2005-07-28 | Toudai Tlo Ltd | 信号解析方法 |
JP2007033479A (ja) * | 2005-07-22 | 2007-02-08 | Kawai Musical Instr Mfg Co Ltd | 自動採譜装置及びプログラム |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580912A (zh) * | 2019-10-21 | 2019-12-17 | 腾讯音乐娱乐科技(深圳)有限公司 | 音乐可视化的方法、装置及系统 |
CN110580912B (zh) * | 2019-10-21 | 2022-02-22 | 腾讯音乐娱乐科技(深圳)有限公司 | 音乐可视化的方法、装置及系统 |
CN113066512A (zh) * | 2021-03-24 | 2021-07-02 | 平安科技(深圳)有限公司 | 佛教音乐识别方法、装置、设备及存储介质 |
CN113066512B (zh) * | 2021-03-24 | 2024-02-23 | 平安科技(深圳)有限公司 | 佛教音乐识别方法、装置、设备及存储介质 |
CN113295765A (zh) * | 2021-05-14 | 2021-08-24 | 四川陆通检测科技有限公司 | 一种孔道压浆缺陷检测方法 |
CN113295765B (zh) * | 2021-05-14 | 2024-04-26 | 四川陆通检测科技有限公司 | 一种孔道压浆缺陷检测方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6307814B2 (ja) | 2018-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3723080A1 (en) | Music classification method and beat point detection method, storage device and computer device | |
JP6017687B2 (ja) | オーディオ信号分析 | |
US9646592B2 (en) | Audio signal analysis | |
CN104050974A (zh) | 声音信号分析设备以及声音信号分析方法和程序 | |
Selamtzis et al. | Analysis of vibratory states in phonation using spectral features of the electroglottographic signal | |
CN108206027A (zh) | 一种音频质量评价方法及系统 | |
JP6307814B2 (ja) | 基音可視化装置、基音可視化方法およびプログラム | |
EP4250291A1 (en) | Audio detection method and apparatus, computer device and readable storage medium | |
WO2020015411A1 (zh) | 一种训练改编水平评价模型、评价改编水平的方法及装置 | |
JP6252147B2 (ja) | 音響信号分析装置及び音響信号分析プログラム | |
Hoffmann et al. | Bass enhancement settings in portable devices based on music genre recognition | |
JP5395399B2 (ja) | 携帯端末、拍位置推定方法および拍位置推定プログラム | |
CN113096689B (zh) | 一种歌曲演唱的评价方法、设备及介质 | |
Goldstein et al. | Guitar Music Transcription from Silent Video. | |
Bozkurt | A system for tuning instruments using recorded music instead of theory-based frequency presets | |
JP5077847B2 (ja) | 残響時間推定装置及び残響時間推定方法 | |
CN112365568A (zh) | 音频处理方法、装置、电子设备和存储介质 | |
CN110751935A (zh) | 乐器演奏点的确定及节奏评分的方法 | |
KR100659884B1 (ko) | 음악에서의 비브라토 자동 검출방법 | |
CN115728382A (zh) | 水果成熟度检测方法、装置、设备及存储介质 | |
Alcabasa et al. | Automatic guitar music transcription | |
WO2020249870A1 (en) | A method for processing a music performance | |
JP5203404B2 (ja) | テンポ値検出装置およびテンポ値検出方法 | |
Zhang et al. | A matlab-based signal processing toolbox for the characterization and analysis of musical vibrato | |
CN113744721B (zh) | 模型训练方法、音频处理方法、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160825 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170908 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180226 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6307814 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |