先建软链接:
ln -sf /usr/local/freeswitch/bin/tone2wav /usr/bin
tone2wav,不带任何参数,看帮助
Invalid input!
USAGE: tone2wav [options] <file> <tones>
================================================================================
Options:
-s Stereo
-h Help
-R<rate> Set Rate (8000,16000,32000,48000) etc.
-v Verbose Logging
<file> Any file supported by libsndfile
<tones> A valid teletone script http://wiki.freeswitch.org/wiki/TGML
我们产生 dtmf1234:
tone2wav -s -R8000 -v dtmf1234.wav 'tone_stream://1234'
2025-01-08 14:26:14.097783 0.00% [INFO] mod_sndfile.c:498
LibSndFile Version : libsndfile-1.2.0 Supported Formats
================================================================================
AIFF (Apple/SGI) (extension "aiff")
AU (Sun/NeXT) (extension "au")
AVR (Audio Visual Research) (extension "avr")
CAF (Apple Core Audio File) (extension "caf")
FLAC (Free Lossless Audio Codec) (extension "flac")
HTK (HMM Tool Kit) (extension "htk")
IFF (Amiga IFF/SVX8/SV16) (extension "iff")
MAT4 (GNU Octave 2.0 / Matlab 4.2) (extension "mat")
MAT5 (GNU Octave 2.1 / Matlab 5.0) (extension "mat")
MPC (Akai MPC 2k) (extension "mpc")
MPEG-1/2 Audio (extension "m1a")
OGG (OGG Container format) (extension "oga")
OGG (OGG Container format) (extension "ogg")
PAF (Ensoniq PARIS) (extension "paf")
PVF (Portable Voice Format) (extension "pvf")
RAW (header-less) (extension "raw")
RF64 (RIFF 64) (extension "rf64")
SD2 (Sound Designer II) (extension "sd2")
SDS (Midi Sample Dump Standard) (extension "sds")
SF (Berkeley/IRCAM/CARL) (extension "sf")
VOC (Creative Labs) (extension "voc")
W64 (SoundFoundry WAVE 64) (extension "w64")
WAV (Microsoft) (extension "wav")
WAV (NIST Sphere) (extension "wav")
WAVEX (Microsoft) (extension "wav")
WVE (Psion Series 3) (extension "wve")
XI (FastTracker 2) (extension "xi")
================================================================================
2025-01-08 14:26:14.099855 0.00% [CONSOLE] switch_loadable_module.c:1785 Successfully Loaded [mod_sndfile]
2025-01-08 14:26:14.099956 0.00% [NOTICE] switch_loadable_module.c:389 Adding API Function 'sndfile_debug'
2025-01-08 14:26:14.100121 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'aiff'
2025-01-08 14:26:14.100162 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'au'
2025-01-08 14:26:14.100196 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'avr'
2025-01-08 14:26:14.100230 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'caf'
2025-01-08 14:26:14.100262 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'flac'
2025-01-08 14:26:14.100294 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'htk'
2025-01-08 14:26:14.100326 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'iff'
2025-01-08 14:26:14.100570 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'mat'
2025-01-08 14:26:14.100620 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'mpc'
2025-01-08 14:26:14.100762 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'm1a'
2025-01-08 14:26:14.101020 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'oga'
2025-01-08 14:26:14.101211 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'paf'
2025-01-08 14:26:14.101375 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'pvf'
2025-01-08 14:26:14.101632 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'raw'
2025-01-08 14:26:14.101699 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'rf64'
2025-01-08 14:26:14.101950 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'sd2'
2025-01-08 14:26:14.102004 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'sds'
2025-01-08 14:26:14.102250 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'sf'
2025-01-08 14:26:14.102306 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'voc'
2025-01-08 14:26:14.102339 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'w64'
2025-01-08 14:26:14.102488 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'wav'
2025-01-08 14:26:14.102730 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'wve'
2025-01-08 14:26:14.102787 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'xi'
2025-01-08 14:26:14.103158 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'r8'
2025-01-08 14:26:14.103400 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'r16'
2025-01-08 14:26:14.103729 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'r24'
2025-01-08 14:26:14.103962 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'r32'
2025-01-08 14:26:14.104248 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'gsm'
2025-01-08 14:26:14.104448 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'ul'
2025-01-08 14:26:14.104509 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'ulaw'
2025-01-08 14:26:14.104860 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'al'
2025-01-08 14:26:14.104922 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'alaw'
2025-01-08 14:26:14.104956 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'adpcm'
2025-01-08 14:26:14.104988 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'vox'
2025-01-08 14:26:14.105290 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'oga'
2025-01-08 14:26:14.105355 0.00% [NOTICE] switch_loadable_module.c:455 Adding File Format 'ogg'
Ignoring Empty Map [t]!
Ignoring Empty Map [o]!
Ignoring Empty Map [n]!
Ignoring Empty Map [e]!
Ignoring Empty Map [_]!
Ignoring Empty Map [s]!
Ignoring Empty Map [t]!
Ignoring Empty Map [r]!
Ignoring Empty Map [e]!
Ignoring Empty Map [a]!
Ignoring Empty Map [m]!
Ignoring Empty Map [:]!
Ignoring Empty Map [/]!
Ignoring Empty Map [/]!
Generate: (697.00+1209.00) [volume -7.00dB; samples 1000(125ms) x 2 channels; wait 200(25ms); decay_factor 1.00dB; decay_step 0(0ms); wrote 2400 bytes]
Generate: (697.00+1336.00) [volume -7.00dB; samples 1000(125ms) x 2 channels; wait 200(25ms); decay_factor 1.00dB; decay_step 0(0ms); wrote 2400 bytes]
Generate: (697.00+1477.00) [volume -7.00dB; samples 1000(125ms) x 2 channels; wait 200(25ms); decay_factor 1.00dB; decay_step 0(0ms); wrote 2400 bytes]
Generate: (770.00+1209.00) [volume -7.00dB; samples 1000(125ms) x 2 channels; wait 200(25ms); decay_factor 1.00dB; decay_step 0(0ms); wrote 2400 bytes]
File: dtmf1234.wav generated...
-s Stereo 默认是 Mono
-R8000 速率8000,但不要写成 -R 8000,加上空格就不能工作了
-v verbose,打印详细日志
dtmf1234.wav 不要写成 dtmf-1234.wav,但可以写成 dtmf_1234.wav
'tone_stream://1234' TGML,可以查看相关文档
我们产生香港(邻居)的回铃音:
tone2wav -R8000 hongkong_ringback.wav '%(400,200,440,480);%(400,3000,440,480)'
`tonestream://` 可以忽略掉
tone2wav -R8000 hongkong_ringback.wav 'v=-5;%(400,200,440,480);%(400,3000,440,480)'
同上,但音量为 -5
SIPp 可以播放 wav,是不是很方便?