资源简介
能够生成指定分贝数的音频波形,并可选择正弦波、方形波、三角波以及锯齿波,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
评论
共有 条评论