/* * sound.cpp * * Created on: 03 ÿíâ. 2016 ã. * Author: Sergey */ #include "sound.h" /*//16-bit sine table (0..Pi/2) const int16_t sine_tab[64] = { 0, 804, 1607, 2410, 3211, 4011, 4807, 5601, 6392, 7179, 7961, 8739, 9511, 10278,11039,11792,12539,13278,14009,14732, 15446,16151,16845,17530,18204,18867,19519,20159,20787,21402, 22005,22594,23170,23731,24279,24811,25329,25832,26319,26790, 27245,27683,28105,28510,28898,29268,29621,29956,30273,30571, 30852,31113,31356,31580,31785,31971,32137,32285,32412,32521, 32609,32678,32728,32757 }; */ /*int16_t get_sine(uint8_t phase8){ auto result = (phase8 & 0x40) ? sine_tab[63 - (phase8 & 0x3F)] : sine_tab[phase8 & 0x3F]; if (phase8 & 0x80) result = -result; return result; }*/ const unsigned char sinetable[256] = { 128,131,134,137,140,143,146,149,152,156,159,162,165,168,171,174, 176,179,182,185,188,191,193,196,199,201,204,206,209,211,213,216, 218,220,222,224,226,228,230,232,234,236,237,239,240,242,243,245, 246,247,248,249,250,251,252,252,253,254,254,255,255,255,255,255, 255,255,255,255,255,255,254,254,253,252,252,251,250,249,248,247, 246,245,243,242,240,239,237,236,234,232,230,228,226,224,222,220, 218,216,213,211,209,206,204,201,199,196,193,191,188,185,182,179, 176,174,171,168,165,162,159,156,152,149,146,143,140,137,134,131, 128,124,121,118,115,112,109,106,103,99, 96, 93, 90, 87, 84, 81, 79, 76, 73, 70, 67, 64, 62, 59, 56, 54, 51, 49, 46, 44, 42, 39, 37, 35, 33, 31, 29, 27, 25, 23, 21, 19, 18, 16, 15, 13, 12, 10, 9, 8, 7, 6, 5, 4, 3, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 18, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 42, 44, 46, 49, 51, 54, 56, 59, 62, 64, 67, 70, 73, 76, 79, 81, 84, 87, 90, 93, 96, 99, 103,106,109,112,115,118,121,124 }; uint8_t get_sine(uint8_t phase8) { return sinetable[phase8]; }