试试 FreeSWITCH 的 tone2wav

先建软链接:

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,是不是很方便?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值