使用net在linux服务器上实现amr音频格式转化

本文介绍了如何在Docker中安装sox工具,包括更改Docker下载源、更新包管理器、安装sox及其依赖,以及展示了一系列sox命令用于音频处理,如格式转换、播放、截取、音量调整等。
摘要由CSDN通过智能技术生成

1 应用代码

// amr文件的全路径
var amrFile= Path.GetFullPath("a.amr", AppContext.BaseDirectory);
// 新文件mp3的全路径
var newFilePath = amrFile.Replace(ext, ".mp3");
//创建一个ProcessStartInfo对象 使用系统shell 指定命令和参数 设置标准输出
var psi = new ProcessStartInfo("sox", $" {amrFile} {newFilePath}");
//启动
using var proc = Process.Start(psi);
proc.Close();
 

2 Docker中安装sox

1.一般情况下,docker中可能不包含sox安装源,所以首先更改下载源
//打开配置文件
vi /etc/docker/daemon.json

//添加如下内容
{
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
//一些国内下载源
1.网易
http://hub-mirror.c.163.com
2.Docker中国区官方镜像
https://registry.docker-cn.com
3.中国科技大学
https://docker.mirrors.ustc.edu.cn
4.阿里云容器  服务
https://cr.console.aliyun.com/

//重启docker服务
systemctl restart docker
2.更新
//我的这种就可以
sudo apt-get update

//不行则执行upgrade
sudo apt-get upgrade
//下载命令
sudo apt-get install xxxxx

//不行则尝试
sudo apt-get install aptitude
//下载命令
sudo aptitude install xxxxx
3.下载sox
apt-get install lame

apt-get install sox

apt-get install libsox-fmt-mp3

这样就可以进行音频格式转化了。

4.sox命令扩展
//播放音频
play input.wav
//查看音频文件信息
sox input.wav -n stat
//查看音频文件信息input
soxi input.wav
//不失真最大调整量
sox input.wav -n stat -v
//调整音量0.8,(大于1为扩大,小于1为缩小)
sox -v 0.8 input.wav output.wav
//截取0秒开始,10秒长度的音频
sox *.wav *1.wav trim 0 10
//wav格式文件转mp3格式(需要安装mp3lame或libmad库支持)
sox *.wav sox *.mp3
//将两个单声道音频文件合并成一个立体声音频文件,文件长度和最长的音频一样
sox -M input1.wav input2.wav output.wav
//音频文件转采样率16k,单声道文件
sox input.wav -r 16000 -c 1 output.wav
//音道转换(-c2转换为双声道,-c1为单声道)
sox input.wav -c2 output.wav
//增加原来速度的2倍
sox input.wav output.wav speed 2
//录音
rec *.wav
//修改频率(48k)、通道数(1)、位深(16)
sox input.wav -r 48k -c 1 -b 16 output.wav
//将wav音频转为raw数据
sox input.wav -b 16 -e signed-integer -c 1 -r 48k -t raw output.raw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FlYFlOWERANDLEAF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值