FreeSWITCH™ can generate many complex sequences of tones. This relieves you of having to generate sound files in many cases.
tone_stream://[L=x;][v=y;]%(<on-duration>, <off-duration>, <freq-1> [, freq-2] [, freq-3] [, freq-n] [;loops=x])
- Durations are specified in milliseconds
- Frequencies are specified in Hz
'''L=x;''' create x copies of the specified tone stream in memory before playing.
Note that L=-1 is not valid, use loops=-1 to loop continuously. Specify L= at the beginning of the tone definition string.
''';loops=x''' Loop x times, use ;loops=-1 for endless loop. This generates the tone, then repeats the generation process so it presumably consumers less cpu and memory than the L= parameter. Note that ;loops=x is postfix notation so it should appear at the end of the tone definition string.
'''v=y''' Volume of tones expressed as the equivalent in dB (deciBels) in a PCM waveform. 0 = maximum volume, negative integers represent quieter volume (loudness). Do not enter positive values greater than zero! Note that non-linear formats such as G.711 and G.723 will offer slightly lower amplitudes as an artifact of their algorithms.
Adds a repeating (loop) 800Hz tone with a duration of 100ms and a 15 second intervening silence to a session:
Plays a stutter-like tone 100 times:
The frequencies specified are all additive. For example, %(4000,0,350,440) will simply play four seconds of 350 Hz with 440 Hz overlaid. To mimic frequency modulation, ring modulation theory can be used. Ring modulation works by taking the frequencies output by two oscillators, and both adding and subtracting them, producing "sum and difference" frequencies.
For example, the ringback tone of Romania is 450 Hz modulated by 25 Hz, for 1.85s on and 4.15s off. So frequency 1 should be 450 + 25 = 475 Hz, and frequency 2 should be 450 - 25 = 425 Hz:
Worldwide Frequencies and Cadences Listed by ITU-T
Various tones used in national networks (According to ITU-T Recommendation E.180) Updated 1st May 2010.
TGML: complete listing of capabilities and syntax
This Is A Recording — A list of tones used around the world