資源簡介
能夠生成指定分貝數的音頻波形,并可選擇正弦波、方形波、三角波以及鋸齒波,sample的類型有16位,32位整型以及單精度浮點數。
帶有wav文件的讀寫類,wavOutFile和WavInFile能夠很方便的多謝wav文件
代碼片段和文件信息
#include?“WavFile.h“
#include?
#include?>
#include?
using?namespace?std;
static?const?int?bitsPerSample?=?32;?//?32位float
static?const?float?pi?=?4.0?*?atan(1.0);?//?PI
struct?Oscillator
{
double?sampleRate;?//?采樣率
double?twoPIdivSamplerate;?//?2?*?pi?/?sampleRate
double?curFreq;?//?當前頻率
double?curPhase;?//?當前相位
double?incrSample;?//?每個sample增長的值
Oscillator(double?_sampleRate)
:sampleRate(_sampleRate)
curFreq(0)
curPhase(0)
incrSample(0)
{
twoPIdivSamplerate?=?2?*?pi?/?sampleRate;
}
//?正弦波
double?sinetick(double?freq)
{
auto?val?=?sin(curPhase);
updateFreq(freq);
updatePhase();
return?val;
}
//?方形波
double?squaretick(double?freq)
{
updateFreq(freq);
double?val;
if?(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5499??2016-12-16?17:21??main.cpp
?????文件???????7470??2016-11-24?15:41??STTypes.h
?????文件??????26718??2015-09-20?10:41??WavFile.cpp
?????文件???????9223??2015-09-20?10:41??WavFile.h
-----------?---------??----------?-----??----
????????????????48910????????????????????4
評論
共有 條評論