Public 型 | Static Public メソッド

クラス NSHarkBinaural::Harmonics

#include <Harmonics.hpp>

すべてのメンバ一覧

Public 型

typedef boost::shared_ptr
< HarmonicSound
HarmonicSoundPtr
typedef std::vector
< HarmonicSoundPtr
HarmonicSoundVector
typedef boost::shared_ptr
< HarmonicSoundVector
HarmonicSoundVectorPtr
typedef std::vector< BandBandVector
typedef boost::shared_ptr
< BandVector
BandVectorPtr

Static Public メソッド

static HarmonicSoundVectorPtr ExtractAllHarmonics (const BandVectorPtr proxyBands)
 与えられた代表値リストから、調波構造(ハーモニックス)を抽出する.
static HarmonicSoundVectorPtr GetHumanHarmonics (const HarmonicSoundVectorPtr harmonicsList, size_t bandSize, const BandInformation &bi, int threshold=2)
 与えられた調波構造一覧の中で、人間の声の調波構造を取得する.
static Band GetNHarmonic (const BandVectorPtr proxyBands, int fundamental, int n)
 与えられた基音のN倍音を取得する.
static HarmonicSoundPtr GetHarmonics (const BandVectorPtr proxyBands, int fundamental)
 与えられた代表値リストから、与えられた音程を基音とする調波構造を抽出する.
static int CheckHarmonics (const HarmonicSoundPtr sound, const BandInformation &bi)
 check harmonics correctness.

型定義


関数

int NSHarkBinaural::Harmonics::CheckHarmonics ( const HarmonicSoundPtr  sound,
const BandInformation bi 
) [static]

check harmonics correctness.

I can not help but using heuristic rules, I suppose.

引数:
sound 調波構造
bi 周波数バンド情報
戻り値:
-4 -> false -3 -> false no 1,2 -2 -> false no 1,3 -1 -> false no 2,4,6 0 -> false fundamental > 300Hz 1 -> true pure tone 2 -> true nh-c <= 1 3 -> true nh<=5,c>=3 4 -> true nh>=5,c>=3
Harmonics::HarmonicSoundVectorPtr NSHarkBinaural::Harmonics::ExtractAllHarmonics ( const BandVectorPtr  proxyBands  )  [static]

与えられた代表値リストから、調波構造(ハーモニックス)を抽出する.

引数:
proxyBands 代表値の周波数バンドのリスト
戻り値:
抽出された調波構造一覧
Harmonics::HarmonicSoundPtr NSHarkBinaural::Harmonics::GetHarmonics ( const BandVectorPtr  proxyBands,
int  fundamental 
) [static]

与えられた代表値リストから、与えられた音程を基音とする調波構造を抽出する.

引数:
proxyBands 代表値の周波数バンドのリスト
fundamental 基音(proxyBandsでのインデックス)
戻り値:
調波構造がある場合はその調波構造。ない場合はnull
Harmonics::HarmonicSoundVectorPtr NSHarkBinaural::Harmonics::GetHumanHarmonics ( const HarmonicSoundVectorPtr  harmonicsList,
size_t  bandSize,
const BandInformation bi,
int  threshold = 2 
) [static]

与えられた調波構造一覧の中で、人間の声の調波構造を取得する.

ヒューリスティックな方法を用いて、与えられた調波構造の中から 人間の声と思われる調波構造を発見する。

引数:
harmonicsList 調波構造一覧
bandSize 周波数バンドの種類数(ndft / 2 + 1)
bi 周波数バンド情報
threshold CheckHarmonics()の戻り値がこの値以上なら人間の声と判断する
戻り値:
人間の声の調波構造一覧
Band NSHarkBinaural::Harmonics::GetNHarmonic ( const BandVectorPtr  proxyBands,
int  fundamental,
int  n 
) [static]

与えられた基音のN倍音を取得する.

引数:
proxyBands 代表値の周波数バンドのリスト
fundamental 基音(proxyBandsでのインデックス)
n 取得したい倍音の、基音に対する倍率(X倍音ならXを指定する)
戻り値:
倍音がある場合はその倍音(代表値の周波数バンド)。ない場合はBand()

このクラスの説明は次のファイルから生成されました: