📄 soundtable.h
字号:
#ifndef SOUNDTABLE_DATA
#define SOUNDTABLE_DATA
const fractional SIN_TBL[256] =
{
0, 804, 1607, 2410, 3211, 4011, 4807, 5601, 6392, 7179,
7961, 8739, 9511, 10278, 11038, 11792, 12539, 13278, 14009, 14732,
15446, 16150, 16845, 17530, 18204, 18867, 19519, 20159, 20787, 21402,
22004, 22594, 23169, 23731, 24278, 24811, 25329, 25831, 26318, 26789,
27244, 27683, 28105, 28510, 28897, 29268, 29621, 29955, 30272, 30571,
30851, 31113, 31356, 31580, 31785, 31970, 32137, 32284, 32412, 32520,
32609, 32678, 32727, 32757, 32767, 32757, 32727, 32678, 32609, 32520,
32412, 32284, 32137, 31970, 31785, 31580, 31356, 31113, 30851, 30571,
30272, 29955, 29621, 29268, 28897, 28510, 28105, 27683, 27244, 26789,
26318, 25831, 25329, 24811, 24278, 23731, 23169, 22594, 22004, 21402,
20787, 20159, 19519, 18867, 18204, 17530, 16845, 16150, 15446, 14732,
14009, 13278, 12539, 11792, 11038, 10278, 9511, 8739, 7961, 7179,
6392, 5601, 4807, 4011, 3211, 2410, 1607, 804, 0, -804,
-1607, -2410, -3211, -4011, -4807, -5601, -6392, -7179, -7961, -8739,
-9511,-10278,-11038,-11792,-12539,-13278,-14009,-14732,-15446,-16150,
-16845,-17530,-18204,-18867,-19519,-20159,-20787,-21402,-22004,-22594,
-23169,-23731,-24278,-24811,-25329,-25831,-26318,-26789,-27244,-27683,
-28105,-28510,-28897,-29268,-29621,-29955,-30272,-30571,-30851,-31113,
-31356,-31580,-31785,-31970,-32137,-32284,-32412,-32520,-32609,-32678,
-32727,-32757,-32767,-32757,-32727,-32678,-32609,-32520,-32412,-32284,
-32137,-31970,-31785,-31580,-31356,-31113,-30851,-30571,-30272,-29955,
-29621,-29268,-28897,-28510,-28105,-27683,-27244,-26789,-26318,-25831,
-25329,-24811,-24278,-23731,-23169,-22594,-22004,-21402,-20787,-20159,
-19519,-18867,-18204,-17530,-16845,-16150,-15446,-14732,-14009,-13278,
-12539,-11792,-11038,-10278, -9511, -8739, -7961, -7179, -6392, -5601,
-4807, -4011, -3211, -2410, -1607, -804
};
typedef struct
{
int mphzinc; //调制phz增量值
int mphzacc; //调制phz累加器
int mindexslope; //调制索引斜率值
int mindex; //调制索引
int cphzinc; //载波phz增量值(.10986Hz 增量)
int cphzacc; //载波phz累加器
int campslope; //载波幅值斜率值
int camp; //载波幅值
} FMGenStruct;
typedef struct
{
int minc0; //波形发生器0初始调制phz增量值
int mindx0; //波形发生器0初始调制索引值
int cinc0; //波形发生器0初始载波phz增量值
int camp0; //波形发生器0初始载波幅值值
int minc1; //波形发生器1初始调制phz增量值
int mindx1; //波形发生器1初始调制索引值
int cinc1; //波形发生器1初始载波phz增量值
int camp1; //波形发生器1初始载波幅值值
int minc2; //波形发生器2初始调制phz增量值
int mindx2; //波形发生器2初始调制索引值
int cinc2; //波形发生器2初始载波phz增量值
int camp2; //波形发生器2初始载波幅值值
}FMInitStruct;
typedef struct
{
int changepos; //当改变时应该发生(每1/7200秒自增)
int mslope0; //FM波形发生器0调制索引斜率值
int caslope0; //FM波形发生器0载波幅值斜率值
int mslope1; //FM波形发生器1调制索引斜率值
int caslope1; //FM波形发生器1载波幅值斜率值
int mslope2; //FM波形发生器2调制索引斜率值
int caslope2; //FM波形发生器2载波幅值斜率值
} FMDataStruct;
//==============================================
//滴答声频率1.2KHz
const FMInitStruct TICK_INI =
{ //minc, mindx, cinc, camp
13653,10000,10923,10000, //波形发生器0
0,0,0,0, //波形发生器1
0,0,0,0 //波形发生器2
};
const FMDataStruct TICK_DATA[3] =
{// pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
50,-200,-100,0,0,0,0,
100, 0,-100,0,0,0,0,
0,0,0,0,0,0,0
};
//==============================================
// 托科鸟声音,频率为960Hz
const FMInitStruct TOCK_INI =
{ //minc, mindx, cinc, camp
13653,10000,8738,10000, //波形发生器0
0,0,0,0, //波形发生器1
0,0,0,0 //波形发生器2
};
const FMDataStruct TOCK_DATA[3] =
{// pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
50,-200,-100,0,0,0,0,
100, 0,-100,0,0,0,0,
0,0,0,0,0,0,0
};
//==============================================
// 一声铃响声,频率为1500Hz
const FMInitStruct BELL1_INI =
{ //minc, mindx, cinc, camp
9751,10010,13653,0, //波形发生器0
0,0,0,0, //波形发生器1
0,0,0,0 //波形发生器2
};
const FMDataStruct BELL1_DATA[8] =
{// pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
30, -143,800, 0,0,0,0, //4mS
70, -143,-12, 0,0,0,0, //10ms
1000, 0,-12, 0,0,0,0,
2000, 0, -6, 0,0,0,0,
3000, 0, -3, 0,0,0,0,
4000, 0, -2, 0,0,0,0,
5000, 0, -1, 0,0,0,0,
0,0,0,0,0,0,0
};
//==============================================
//两声铃响声
const FMInitStruct BELL2_INI =
{ //minc, mindx, cinc, camp
9751,10010,13653,0, //波形发生器0
9751,10010,13653,0, //波形发生器1
0,0,0,0 //波形发生器2
};
const FMDataStruct BELL2_DATA[12] =
{// pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
30, -143,800, 0, 0,0,0, //4mS
70, -143,-12, 0, 0,0,0, //10ms
1000, 0,-12, 0, 0,0,0,
2000, 0, -6, 0, 0,0,0,
2030, 0, -6,-143,800,0,0,
2070, 0, -6,-143,-12,0,0,
3000, 0, -3, 0,-12,0,0,
4000, 0, -2, 0, -6,0,0,
5000, 0, -1, 0, -3,0,0,
6000, 0, 0, 0, -2,0,0,
7000, 0, 0, 0, -1,0,0,
0,0,0,0,0,0,0
};
//==============================================
// 三声铃响声
const FMInitStruct BELL3_INI =
{ //minc, mindx, cinc, camp
9751,10000,13653,0, //波形发生器0
9751,10010,13653,0, //波形发生器1
9751,10010,13653,0, //波形发生器2
};
const FMDataStruct BELL3_DATA[16] =
{// pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
30, -143,800, 0, 0, 0, 0, //4mS
70, -143,-12, 0, 0, 0, 0, //10ms
1000, 0,-12, 0, 0, 0, 0,
2000, 0, -6, 0, 0, 0, 0,
2030, 0, -6,-143,800, 0, 0,
2070, 0, -6,-143,-12, 0, 0,
3000, 0, -3, 0,-12, 0, 0,
4000, 0, -2, 0, -6, 0, 0,
4030, 0, -2, 0, -6,-143,800,
4070, 0, -2, 0, -6,-143,-12,
5000, 0, -1, 0, -3, 0,-12,
6000, 0, 0, 0, -2, 0, -6,
7000, 0, 0, 0, -1, 0, -3,
8000, 0, 0, 0, 0, 0, -2,
9000, 0, 0, 0, 0, 0, -1,
0,0,0,0,0,0,0
};
//==============================================
// 铜锣声'A'调,频率为880Hz
const FMInitStruct GONG_A_INI =
{ //minc, mindx, cinc, camp
20017,12000,8010,24000, //波形发生器0
19222,8000,2403,12000, //波形发生器1
1976,4000,524,12000 //波形发生器2
};
const FMDataStruct GONG_A_DATA[14] =
{// pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
500, 0, -8, 0, -4, 0, -4,
1000, -3, -8, -2, -4, -1, -4,
2000, -3, -5, -2, -3, -1, -3,
2500, -3, -4, -2, -2, -1, -2,
3000, -6, -4, -4, -2, -2, -2,
4000, 0, -2, 0, -1, 0, -1,
5000, 0, -2, 0, -1, 0, -1,
6000, 0, -1, 0, -1, 0, -1,
7000, 0, 0, 0, 0, 0, 0,
8000, 0, -1, 0, 0, 0, 0,
9000, 0, 0, 0, 0, 0, 0,
10000, 0, -1, 0, 0, 0, 0,
14000, 0, 0, 0, 0, 0, 0,
0,0,0,0,0,0,0
};
//==============================================
// 铜锣声'C'调,频率为523.4Hz
const FMInitStruct GONG_C_INI =
{ //minc, mindx, cinc, camp
11906,12000,4764,24000, //波形发生器0
11433,8000,1429,12000, //波形发生器1
1976,4000,524,12000 //波形发生器2
};
const FMDataStruct GONG_C_DATA[14] =
{// pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
500, 0, -8, 0, -4, 0, -4,
1000, -3, -8, -2, -4, -1, -4,
2000, -3, -5, -2, -3, -1, -3,
2500, -3, -4, -2, -2, -1, -2,
3000, -6, -4, -4, -2, -2, -2,
4000, 0, -2, 0, -1, 0, -1,
5000, 0, -2, 0, -1, 0, -1,
6000, 0, -1, 0, -1, 0, -1,
7000, 0, 0, 0, 0, 0, 0,
8000, 0, -1, 0, 0, 0, 0,
9000, 0, 0, 0, 0, 0, 0,
10000, 0, -1, 0, 0, 0, 0,
14000, 0, 0, 0, 0, 0, 0,
0,0,0,0,0,0,0
};
//==============================================
// 铜锣声'E'调,频率为659.2Hz
const FMInitStruct GONG_E_INI =
{ //minc, mindx, cinc, camp
14994,12000,6000,24000, //波形发生器0
14399,8000,1800,12000, //波形发生器1
2489,4000,660,12000 //波形发生器2
};
const FMDataStruct GONG_E_DATA[14] =
{// pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
500, 0, -8, 0, -4, 0, -4,
1000, -3, -8, -2, -4, -1, -4,
2000, -3, -5, -2, -3, -1, -3,
2500, -3, -4, -2, -2, -1, -2,
3000, -6, -4, -4, -2, -2, -2,
4000, 0, -2, 0, -1, 0, -1,
5000, 0, -2, 0, -1, 0, -1,
6000, 0, -1, 0, -1, 0, -1,
7000, 0, 0, 0, 0, 0, 0,
8000, 0, -1, 0, 0, 0, 0,
9000, 0, 0, 0, 0, 0, 0,
10000, 0, -1, 0, 0, 0, 0,
14000, 0, 0, 0, 0, 0, 0,
0,0,0,0,0,0,0
};
//==============================================
// 铜锣声'F'调,频率为698.4Hz
const FMInitStruct GONG_F_INI =
{ //minc, mindx, cinc, camp
15886,12000,6356,24000, //波形发生器0
15256,8000,1907,12000, //波形发生器1
1976,4000,524,12000 //波形发生器2
};
const FMDataStruct GONG_F_DATA[14] =
{// pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
500, 0, -8, 0, -4, 0, -4,
1000, -3, -8, -2, -4, -1, -4,
2000, -3, -5, -2, -3, -1, -3,
2500, -3, -4, -2, -2, -1, -2,
3000, -6, -4, -4, -2, -2, -2,
4000, 0, -2, 0, -1, 0, -1,
5000, 0, -2, 0, -1, 0, -1,
6000, 0, -1, 0, -1, 0, -1,
7000, 0, 0, 0, 0, 0, 0,
8000, 0, -1, 0, 0, 0, 0,
9000, 0, 0, 0, 0, 0, 0,
10000, 0, -1, 0, 0, 0, 0,
14000, 0, 0, 0, 0, 0, 0,
0,0,0,0,0,0,0
};
//==============================================
//杜鹃声频率为1000Hz和817Hz
const FMInitStruct CUCKOO_INI =
{ //minc, mindx, cinc, camp
0,0,9102,0, //波形发生器0
0,0,7439,0, //波形发生器1
0,0,0,0 //波形发生器2
};
const FMDataStruct CUCKOO_DATA[8] =
{// pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
72, 0, 444, 0, 0, 0, 0, //10mS上升
504, 0, 0, 0, 0, 0, 0, //60ms开
576, 0, -444, 0, 0, 0, 0, //10ms下降
1584, 0, 0, 0, 0, 0, 0, //140ms间隙
1656, 0, 0, 0, 444, 0, 0, //10ms上升
2448, 0, 0, 0, 0, 0, 0, //110ms保持
2520, 0, 0, 0, -444, 0, 0, //10ms下降
0,0,0,0,0,0,0
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -