D:/work/code_by/Wave/pitchlib.cpp 檔案參考文件

#include <math.h>
#include <stdlib.h>
#include <string.h>

查看本檔案的原始碼.

函式

float freqToSmtn (float freq)
float smtnToFreq (int smtn)
static int round (float f)
static float frameFreq (int *frame, int frameSize, int sampleRate)
static float medianIgnore0 (float *vec, int vecSize)
static int medianIgnore0 (int *vec, int vecSize)
void processWave (int *wave, int waveSize)
int waveToPitch (int *wave, int waveSize, int sampleRate, int pitchRate, float *&fpitch, int *used)
void smoothPitch (float *fpitch, int pitchSize, int rate)
void correctPitch (float *fpitch, int pitchSize, int *pitch)
void limitPitch (float *fpitch, int pitchSize, float minPitch, float maxPitch)
 將超過音高門檻值的音高設為零
void limitPitch (int *pitch, int pitchSize, int minPitch, int maxPitch)
 將超過音高門檻值的音高設為零
void trimPitch (float *pitch, int pitchSize, int &from, int &to)
 將頭尾音高為零的pitch去掉
void trimPitch (int *pitch, int pitchSize, int &from, int &to)
 將頭尾音高為零的pitch去掉
int stairPitch (int *pitch, int pitchSize, int pitchRate, int tempo, int beatsPerMeasure)
int pitchToMidi (int *pitch, int pitchSize, int *midi)

變數

static const double LOG2 = 0.69314718


函式說明文件

void correctPitch ( float *  fpitch,
int  pitchSize,
int *  pitch 
)

定義在 pitchlib.cpp 檔案之第 212 行.

static float frameFreq ( int *  frame,
int  frameSize,
int  sampleRate 
) [static]

定義在 pitchlib.cpp 檔案之第 22 行.

被參考於 waveToPitch().

float freqToSmtn ( float  freq  ) 

定義在 pitchlib.cpp 檔案之第 7 行.

參考 LOG2.

被參考於 waveToPitch().

void limitPitch ( int *  pitch,
int  pitchSize,
int  minPitch,
int  maxPitch 
)

將超過音高門檻值的音高設為零

參數:
pitch 要被調整的pitch,pitch的type是int
pitchSize pitch的長度
minPitch 音高的最低門檻值
maxPitch 音高的最高門檻值

定義在 pitchlib.cpp 檔案之第 273 行.

void limitPitch ( float *  fpitch,
int  pitchSize,
float  minPitch,
float  maxPitch 
)

將超過音高門檻值的音高設為零

參數:
fpitch 要被調整的pitch,pitch的type是float
pitchSize pitch的長度
minPitch 音高的最低門檻值
maxPitch 音高的最高門檻值

定義在 pitchlib.cpp 檔案之第 253 行.

被參考於 main().

static int medianIgnore0 ( int *  vec,
int  vecSize 
) [static]

定義在 pitchlib.cpp 檔案之第 98 行.

static float medianIgnore0 ( float *  vec,
int  vecSize 
) [static]

定義在 pitchlib.cpp 檔案之第 63 行.

被參考於 smoothPitch(), 及 stairPitch().

int pitchToMidi ( int *  pitch,
int  pitchSize,
int *  midi 
)

定義在 pitchlib.cpp 檔案之第 384 行.

void processWave ( int *  wave,
int  waveSize 
)

定義在 pitchlib.cpp 檔案之第 132 行.

static int round ( float  f  )  [static]

定義在 pitchlib.cpp 檔案之第 17 行.

void smoothPitch ( float *  fpitch,
int  pitchSize,
int  rate 
)

定義在 pitchlib.cpp 檔案之第 172 行.

參考 medianIgnore0().

被參考於 main().

float smtnToFreq ( int  smtn  ) 

定義在 pitchlib.cpp 檔案之第 12 行.

int stairPitch ( int *  pitch,
int  pitchSize,
int  pitchRate,
int  tempo,
int  beatsPerMeasure 
)

定義在 pitchlib.cpp 檔案之第 321 行.

參考 medianIgnore0().

void trimPitch ( int *  pitch,
int  pitchSize,
int &  from,
int &  to 
)

將頭尾音高為零的pitch去掉

參數:
pitch 要被調整的pitch,pitch的type是int
pitchSize pitch的長度
from 前面從何開始刪,刪完後的index存回去
to 後面從何開始刪,刪完後的index存回去

定義在 pitchlib.cpp 檔案之第 311 行.

void trimPitch ( float *  pitch,
int  pitchSize,
int &  from,
int &  to 
)

將頭尾音高為零的pitch去掉

參數:
pitch 要被調整的pitch,pitch的type是float
pitchSize pitch的長度
from 前面從何開始刪,刪完後的index存回去
to 後面從何開始刪,刪完後的index存回去

定義在 pitchlib.cpp 檔案之第 294 行.

被參考於 main().

int waveToPitch ( int *  wave,
int  waveSize,
int  sampleRate,
int  pitchRate,
float *&  fpitch,
int *  used 
)

定義在 pitchlib.cpp 檔案之第 147 行.

參考 frameFreq(), 及 freqToSmtn().

被參考於 main().


變數說明文件

const double LOG2 = 0.69314718 [static]

定義在 pitchlib.cpp 檔案之第 5 行.

被參考於 freqToSmtn().


產生日期:Tue Jul 11 11:52:19 2006, 專案:cbmr, 產生器:  doxygen 1.4.7