AFTonePair(3) AFTonePair(3) NAME AFTonePair - generate a ULAW tone pair SYNTAX #include <AF/AFUtils.h> extern void AFTonePair(double f1, double dBgain1, double f2, double dBgain2, int gainramp, unsigned char *buffer, int length); DESCRIPTION AFTonePair is a subroutine which is suitable for generating ringback, busy, dialtones, and other telecommunications sounds represented by pairs of tones at given frequencies and power levels. ARGUMENTS f1 are the frequencies of the two tones. The sample rate is known to be 8000 Hz, so the tone frequencies must be in the range 0-4000Hz. dBgain1 are the power levels of the two tones. These are values relative to "0 dBm" or the digital milliwatt, which in turn is defined to be 3.16 dB below the digital clipping level, where signals distort. gainramp is the number of samples over which the tones reach their full ampli- tude. At the beginning of the block, the signal will ramp linearly up to full power over so many samples. This tends to make the signals sound cleaner and reduces frequency splatter. At the end of the block, the signals will ramp down to silence over the same period. buffer is a pointer to the signal buffer that will be filled in by AFTonePair. length is the length of the block desired. EXAMPLES Typical usage is: unsigned char busytone[4000]; /* fill block with 1/2 second of a busy signal */ AFTonePair(480.0, -12.0, 620.0, -12.0, 24, busytone, 4000); /* the parameters for other tones are: * ringing 440, -19, 480, -19 * busy 480, -12, 620, -12 * dialtone 350, -13, 440, -13 */ SEE ALSO AFDialPhone(3) BUGS If you encounter a reproducible bug, please submit a problem report to (af-bugs@crl.dec.com). COPYRIGHT Copyright 1990-1994, Digital Equipment Corporation. See AF(1) for a full statement of rights and permissions. AUTHORS Larry Stewart, Digital Cambridge Research Lab