SoX:音频处理领域的“瑞士军刀”

1. 什么是 SoX

在 Linux / VoIP / ASR(语音识别)领域,提到命令行音频工具,很多人第一反应就是:

  • ffmpeg

  • lame

  • audacity

但对于真正长期做语音系统、电话系统、ASR 测试的人来说,

SoX 才是那个最稳定、最轻量、最容易自动化的工具。

SoX 全称:

Sound eXchange

官方网站:

SoX Official Website

它是一个经典的跨平台命令行音频处理工具,支持:

  • WAV

  • MP3

  • GSM

  • FLAC

  • OGG

  • RAW

  • μ-law

  • A-law

等大量音频格式。

在:

  • FreeSWITCH

  • OpenSIPS

  • Asterisk

  • UniMRCP

  • ASR/TTS

  • SIP IVR

  • 呼叫中心

等领域中极其常见。


2. 为什么 VoIP 工程师离不开 SoX

对于普通音频编辑,

图形界面软件已经够用了。

但在服务器环境中:

  • 没有 GUI

  • 需要批量处理

  • 需要自动化

  • 需要脚本化

这时:

SoX 的优势就非常明显。

它特别适合:

  • 自动转换采样率

  • 生成测试音频

  • 批量转码

  • 音量归一化

  • 去噪

  • 拼接音频

  • 电话语音格式转换


3. 安装 SoX

3.1 Ubuntu / Debian

bash 复制代码
sudo apt install sox

安装常见格式支持:

bash 复制代码
sudo apt install sox libsox-fmt-all

3.2 CentOS / RHEL

bash 复制代码
sudo yum install sox

4. 查看音频信息

这是最常用的命令之一:

bash 复制代码
soxi test.wav

输出示例:

复制代码
Input File     : 'test.wav'
Channels       : 1
Sample Rate    : 8000
Precision      : 16-bit
Duration       : 00:00:05.00
File Size      : 80.0k
Bit Rate       : 128k
Sample Encoding: 16-bit Signed Integer PCM

在 VoIP 中非常重要:

因为很多 ASR 平台要求:

  • 8000Hz

  • mono

  • PCM16

如果格式不对:

ASR 往往直接失败。


5. 音频格式转换

5.1 WAV 转 8k 电话语音

bash 复制代码
sox input.wav -r 8000 -c 1 output.wav

参数说明:

  • -r 8000

    设置采样率为 8000Hz

  • -c 1

    设置单声道

这是:

SIP / PSTN / ASR 最经典格式。


5.2 转换为 μ-law

很多 SIP 系统使用:

  • PCMU

  • G.711 μ-law

转换命令:

bash 复制代码
sox input.wav -r 8000 -c 1 -t ul output.ul

6. 调整音量

6.1 放大音频

bash 复制代码
sox input.wav output.wav gain 5

表示:

  • 增加 5dB

6.2 降低音量

bash 复制代码
sox input.wav output.wav gain -5

7. 生成静音

在 IVR 测试中很常见:

bash 复制代码
sox -n -r 8000 -c 1 silence.wav trim 0.0 3.0

生成:

  • 3 秒静音文件

8. 拼接多个音频

例如:

bash 复制代码
sox part1.wav part2.wav output.wav

可用于:

  • IVR 菜单拼接

  • 自动化测试语音

  • TTS 合成后处理


9. 截取音频片段

9.1 从第 2 秒开始截取 5 秒

bash 复制代码
sox input.wav output.wav trim 2 5

10. 生成测试音

10.1 生成 1kHz 测试音

bash 复制代码
sox -n test.wav synth 5 sine 1000

作用:

  • SIP RTP 测试

  • 音频链路测试

  • MRCP 调试

VoIP 工程师非常常用。


11. 查看音频波形统计

bash 复制代码
sox input.wav -n stat

输出:

  • 最大音量

  • RMS

  • clipping

  • 平均功率

对于:

  • ASR 输入质量分析

  • 电话录音质量分析

很有帮助。


12. 在 FreeSWITCH 中的典型用途

对于做 FreeSWITCH 的工程师来说:

SoX 经常用于:

12.1 转换 IVR 音频

bash 复制代码
sox welcome.mp3 -r 8000 -c 1 welcome.wav

12.2 ASR 测试集准备

例如:

  • AWS Transcribe

  • Google STT

  • Verbio

  • Deepgram

都可能要求:

  • mono

  • PCM16

  • 8k/16k

SoX 是最快的处理工具。


12.3 RTP 抓包后处理

配合:

  • tcpdump

  • Wireshark

  • sngrep

做音频恢复。


13. 一个非常实用的批量转换脚本

13.1 批量转换为 8k mono wav

bash 复制代码
#!/bin/bash

for file in *.wav
do
    sox "$file" -r 8000 -c 1 "converted_$file"
done

非常适合:

  • ASR 数据集处理

  • 呼叫中心语音预处理


14. SoX 与 ffmpeg 的区别

很多人会问:

既然有 ffmpeg,为什么还需要 SoX?

我的实际经验:

场景 推荐
视频处理 ffmpeg
电话语音 SoX
ASR测试 SoX
RTP音频处理 SoX
批量音频脚本 SoX
多媒体转码 ffmpeg

SoX:

  • 更轻

  • 更纯粹

  • 更适合语音

尤其:

在 8k 电话音频领域,

SoX 体验比 ffmpeg 更舒服。


15. 总结

SoX 是一个:

  • 经典

  • 稳定

  • 高效

  • 极其适合自动化

的命令行音频工具。

对于:

  • FreeSWITCH

  • OpenSIPS

  • UniMRCP

  • ASR/TTS

  • 呼叫中心

工程师来说,

它几乎是必备技能。

如果你长期做:

  • SIP

  • RTP

  • 电话语音

  • AI语音识别

建议一定要熟练掌握 SoX。

相关推荐
蝉蜕日记4 小时前
视频压缩 v1.1.31:高效压缩,无损画质,释放存储空间
音视频·生活·视频编解码·视频·软件需求
lumengabc5 小时前
视频制作流程MP4旁白语音生成裁剪视频压缩python处理ppt转视频M4a格式
音视频
音视频牛哥8 小时前
AI浪潮下,实时音视频SDK正在经历怎样的价值重构?
人工智能·音视频·实时音视频·rtmp推流·低延迟rtsp播放器·低延迟rtmp播放器·rtsp转rtmp推流
乐橙开放平台9 小时前
明厨亮灶笔记:乐橙轻应用 H5 + 小程序插件,一套 BFF 出两张播放凭证
人工智能·笔记·物联网·小程序·音视频·notepad++
ofoxcoding10 小时前
Seedance 2.0 与 Wan 2026 视频生成 API 成本效率深度对比分析
网络·人工智能·ai·音视频
xingyuzhisuan10 小时前
星宇智算 AI 视频生成工具九维度全测评与行业对标分析
人工智能·音视频
豌豆学姐10 小时前
likeadmin-api 视频生成工作流实战:Seedance 2.0 接口从素材到任务查询
aigc·音视频·api·视频生成·likeadmin-api
乐橙开放平台11 小时前
养殖 SaaS 笔记:乐橙 IoT 物模型管环境,视频 OpenAPI 管回看
数据库·笔记·物联网·mysql·音视频
山顶夕景1 天前
【MAE】音频自监督训练Masked Autoencoders that Listen
音视频·ssl·多模态·自监督·mae
小码哥0681 天前
短视频后台系统架构设计与行业应用深度分析-源码-技术支持
系统架构·音视频·短视频后台·短剧后台·微剧后台