blob: a0120dbdca39482a52a6f5bd3ad8937b4c926232 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
typedef struct dtmf {
int samplerate; /* samplerate */
char tone; /* current tone to be played */
int pos; /* sample counter for tone */
int max; /* max number of samples for tone duration */
double phaseshift256[2]; /* how much the phase of sine wave changes per sample */
double phase256[2]; /* current phase */
} dtmf_t;
void dtmf_init(dtmf_t *dtmf, int samplerate);
void dtmf_set_tone(dtmf_t *dtmf, char tone);
void dtmf_tone(dtmf_t *dtmf, int16_t *samples, int length);
|