#include <Harmonics.hpp>
Public 型 | |
typedef boost::shared_ptr < HarmonicSound > | HarmonicSoundPtr |
typedef std::vector < HarmonicSoundPtr > | HarmonicSoundVector |
typedef boost::shared_ptr < HarmonicSoundVector > | HarmonicSoundVectorPtr |
typedef std::vector< Band > | BandVector |
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. |
typedef std::vector<Band> NSHarkBinaural::Harmonics::BandVector |
typedef boost::shared_ptr<BandVector> NSHarkBinaural::Harmonics::BandVectorPtr |
typedef boost::shared_ptr<HarmonicSound> NSHarkBinaural::Harmonics::HarmonicSoundPtr |
typedef std::vector<HarmonicSoundPtr> NSHarkBinaural::Harmonics::HarmonicSoundVector |
typedef boost::shared_ptr<HarmonicSoundVector> NSHarkBinaural::Harmonics::HarmonicSoundVectorPtr |
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 | 周波数バンド情報 |
Harmonics::HarmonicSoundVectorPtr NSHarkBinaural::Harmonics::ExtractAllHarmonics | ( | const BandVectorPtr | proxyBands | ) | [static] |
与えられた代表値リストから、調波構造(ハーモニックス)を抽出する.
proxyBands | 代表値の周波数バンドのリスト |
Harmonics::HarmonicSoundPtr NSHarkBinaural::Harmonics::GetHarmonics | ( | const BandVectorPtr | proxyBands, | |
int | fundamental | |||
) | [static] |
与えられた代表値リストから、与えられた音程を基音とする調波構造を抽出する.
proxyBands | 代表値の周波数バンドのリスト | |
fundamental | 基音(proxyBandsでのインデックス) |
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を指定する) |