sox guide.wav -r 8000 -c 1 guide.gsm

SoX [ general options ] [ format options ] infile1 [ [ format options ] infile2 ... ] [ format options ] outfile [ effect [ effect options ] ... ]

解释:
1). 输入文件可以为多个,至少为一个,输出文件为一个,上述[]表示的都是可选项。

2). SoX后跟的首先是general options(可选),指的是整个exe运行过程中的配置信息,如-h表示打印版本和用法信息,-V则把转换过程的信息也一并打印出来。

3). 对输入文件来说,format options可选。大部分音频文件在文件头部分都有格式信息,这时就不需要format options,但是有一些没有文件头、直接存储音频数据的文件则需要指明其格式,这时候就必须要求有format options。

4). 输出文件如果省略format options,则格式信息跟输入文件一样,如果要改变格式,则必须指明format options。

5). 转换过程中还可以给输出文件加一些音频效果,就是最后的effect选项,我们一般用不着,这里不细说了。

6). format options指的是如下几项:
  ① -t filetype:从文件名后缀可以得到一部分类型信息,但有的后缀名同时涵盖好几种类型或从文件头不能真正确定文件类型,则需要-t来指明。
  ② -r rate:采样率,当输入输出文件指明的采样率不一样时,则进行升降采样率的操作,有好几种升降采样率的方法,在effect中可以指明,不设置effect即采用默认方法。
  ③ -v volume:音量,即幅度信息。大于1.0增加音量,小于1.0减小音量,负值则改变音频数据的相位。
  ④ -s/-u/-U/-A/-a/-i/-g/-f:音频编码方式,分别为:有符号线性、无符号线性、u率、A率、ADPCM、IMA_ADPCM、GSM、浮点数。
  ⑤ -b/-w/-l/-d:量化位数,分别为:8bit、16bit、32bit、64bit。
  ⑥ -c channels:声道数。
  ⑦ -x:需要进行字节序调整,调整基元以量化位数为准。
  ⑧ -e:放在最后一个输入文件之后,作为输出文件的参数,但其后不用写输出文件,这样所有操作都直接作用于输入文件。注意,此时无输出文件,同时输出文件的参数也只能有-e,不能有其他的,但是还是可以有effect项。

SoX的应用格式就是这样,下一篇我会给出一些例子以加深理解。

这里给出一些SoX用法的一些例子,加深理解。 首先给出一条建议,给所有的SoX调用加上-V这个general option,这样转换的内部信息会显示出来。

1). SoX根据文件后缀判断文件类型,比如将Apple的AIFF格式转换为Microsoft的WAV格式,直接写出对应的文件名即可:
sox filename.aiff filename.wav

2). 一般我们要进行采样率和量化位数的转换,例如我们要把一个11.025K采样、16bit的WAV文件转化为8K采样、8bit的WAV文件,则写成下式:
sox infile.wav -r 8000 -b outputfile.wav

3). 如果输入文件为RAW格式,则需指定输入文件的format options,如将一个单声道、8K采样、8bit无符号PCM数据转化为WAV格式,则可以这样写:
sox -r 8000 -u -b -c 1 filename.raw filename.wav

4). 当把一个PCM编码文件转换为U律或者A律,可能会出现一些杂音或者破音,此时可以将输出的幅度降低一些,用到的是-v这个选项:
sox infile.wav -U -v .8 outputfile.wav

5). 如果需要将11.025K转换为8K,但是在转换之前加一个截止频率为3.7K的低通滤波器,则可以这么写(中间的|表示管道,前后用-分别代表输出文件和输入文件):

sox infile.wav -t raw -s -w -c 1 - lowpass 3700 | sox -t raw -r 11025 -s -w -c 1 - -r 8000 -U -b -c 1 outputfile.wav

6). 如果你对某种文件格式不清楚,想把它转化为认识的格式如WAV,则可以将输入文件格式设为auto,让sox自己去判断:
sox -V -t auto filename.snd filename.wav

7). 将sox用于批处理,可以这样写:
FOR %X IN (*.RAW) DO sox -r 11025 -w -s -t raw $X $X.wav

最 后交待一下sox的内部处理机制:sox处理一般压缩格式如U律、A律、ADPCM或者GSM,首先将文件读入,然后解压缩为32bit的有符号数,然后 再转换为所需要的格式。在解压缩输入文件时必然引入噪声,这个噪声又被压缩,传递到输出文件中,所以如果要对输出文件加很多effect的话,则一般是先 生成一个PCM格式的中间文件,然后对中间文件加所有的effects,最后再输出成所需的压缩格式,这样引入噪声最小。

参考:http://blog.chinaunix.net/uid-10697776-id-2935616.html

音频文件wav转gsm相关推荐

  1. 多种音频文件(.wav, .mp3, .ogg)转化为wav文件,支持分、秒级别切分

    多种音频文件(.wav, .mp3, .ogg)转化为wav文件,支持分.秒级别切分 需求:调用python脚本,输入源文件路径.目标路径.切割的时长.切割时长的时间单位,能够将对应路径的源音频文件按 ...

  2. VC++ 保存数据为音频文件(WAV)学习

    根据到目前我的认识,凡是保存为某种格式的文件的程序,都是用C++做的.下面来学习一下保存为wav文件: 1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050 ...

  3. C#中使用SoundPlayer播放音频文件(wav文件)

    场景 上位机软件中需要实现一个报警功能,即在某条件下循环播放能发出"嘟嘟"声的音频文件. 注: 博客主页: https://blog.csdn.net/badao_liumang_ ...

  4. PCM音频文件(.wav)压缩成ADPCM(.wav)

    PCM音频文件压缩成adpcm格式的文件有多中方法(如使用ms ACM.sox等),本文主要介绍使用公开的算法(如下所示,如果需要可到网上搜一下: ========================== ...

  5. PCM音频文件(.wav)压缩成ADPCM(.wav) ,wav文件分析,wav 文件格式

    本文来自: http://blog.csdn.net/jtlyr/article/details/5321884 这里还有介绍一些wav文件的其他网站,记录下: https://ccrma.stanf ...

  6. pcm 采样率转换_PCM编码与Waveform音频文件(.wav)格式详解

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PCM编码及Waveform音频文件格式. 嵌入式里有时候也会和音频打交道,比如最近特别火的智能音箱产品,离不开前端的音频信号采集.降噪 ...

  7. 痞子衡嵌入式:PCM编码与Waveform音频文件(.wav)格式详解

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PCM编码及Waveform音频文件格式. 嵌入式里有时候也会和音频打交道,比如最近特别火的智能音箱产品,离不开前端的音频信号采集.降噪 ...

  8. matlab 生成sine音频文件.wav (双声道.wav)--audiowrite

    1 直接上源码 close all clear all clc%set system parameter fs = 1000; %The frequency of the local oscillat ...

  9. linux 音频文件切割_linux下通过CUE分割APE、FLAC、WAV无损音频

    背景: 无损音乐的分享,大部分通过cue文件去播放一个很大的音频文件.这个在windows要去分割音频文件是意见很轻松的事情,在linux下面就要折腾点了,要在命令行下面进行处理,ape.flac.w ...

最新文章

  1. h3c交换机限制端口访问_H3C交换机端口限速和流量监管典型配置指导
  2. 06. 为知笔记 -- 我的修改
  3. CCRD_TOC_2015_EULAR专刊第二辑
  4. 【OpenCV环境配置】Xcode+OpenCV+pkg-config
  5. python 递归函数_让你Python到很爽的加速递归函数的装饰器
  6. 北京房租到底有多高? | 爬取北京海淀区一居室租房信息
  7. Maven项目缺少Maven Dependencies解决方法
  8. 蓝桥杯 ADV-79 算法提高 时间转换
  9. ASP人事工资管理系统毕设
  10. python连接mysql数据库简单例子
  11. oracle数据库ora01012错误,Oracle自定义异常收集(二)
  12. 洛谷试炼场 没了 不见了?
  13. mysql删除视图sql语句_删除视图的sql语句是什么
  14. centos查询 硬盘序列号查询_CentOS/Linux 查看硬件配置CPU内存磁盘
  15. SAP SHIFT语法注意
  16. COOC软件一款用于文献计量和知识图谱绘制的新软件
  17. 关于构建与优化数据仓库架构与模型设计
  18. VS Code利用GIT对源码进行管理
  19. 微信小程序云开发教程-互联网软件产品开发流程和团队分工
  20. Redis高性能缓存数据库

热门文章

  1. [TJOI2013]松鼠聚会
  2. 汉字点阵原理字模读取与显示
  3. 软文推广类的文章怎么写?
  4. 网站文章采集、撰写、推广注意要点
  5. 20200717——python 复习 一
  6. java制作SM2证书
  7. HTTPS是什么幺蛾子
  8. python安装第三方包_python 怎么安装第三方包
  9. 11 高可用的网站架构
  10. video.js插件播放hls、rtmp