##### 前言

(截图来源:[https://blog.csdn.net/u014470361/article/details/88837776](https://blog.csdn.net/u014470361/article/details/88837776))
> 我的理解:
>
> 首先需要知道的是u-law/a-law是用于脉冲编码的压缩/解压缩算法。而**G.711**是指在**8KHz采样率**(单声道)中,使用的**u-law或a-law算法**对音频进行压缩的**一种语音压缩标准**。但是,使用这两种压缩算法进行压缩的音频并不一定是G.711,要在8KHz采样率(单声道)的才是,压缩其他采样率和多声道得到的u-law/a-law文件只要设置对应的采样率和声道数照样能解压播放。
### 1. 编译
demo引用了开源代码[`g711.c`](https://www.speech.kth.se/cost250/refsys/latest/src/g711.c)和[`g711.h`](https://www.speech.kth.se/cost250/refsys/latest/src/g711.h),然后在此基础上封装成`g711_wraper.c`和`g711_wraper.h`,并编写自己的测试程序`main.c`进行验证。整个demo程序共5个源文件,可以编译到任意环境下使用(非类Unix系统可能需要简单调整`main.c`中包含的头文件):
```bash
$ make # 或者: make CC=your-crosscompile-gcc
```
### 2. 使用
```bash
examples:
./pcm_alaw_ulaw -h
./pcm_alaw_ulaw --help
./pcm_alaw_ulaw -m pcm_2_alaw -i ./audio/test_8000_16_1.pcm -o ./test_8000_8_1.g711a
./pcm_alaw_ulaw -m pcm_2_ulaw -i ./audio/test_8000_16_1.pcm -o ./test_8000_8_1.g711u
./pcm_alaw_ulaw -m alaw_2_pcm -i ./audio/test_8000_8_1.g711a -o ./test_8000_16_1.pcm
./pcm_alaw_ulaw -m ulaw_2_pcm -i ./audio/test_8000_8_1.g711u -o ./test_8000_16_1.pcm
./pcm_alaw_ulaw -m alaw_2_ulaw -i ./audio/test_8000_8_1.g711a -o ./test_8000_8_1.g711u
./pcm_alaw_ulaw -m ulaw_2_alaw -i ./audio/test_8000_8_1.g711u -o ./test_8000_8_1.g711a
./pcm_alaw_ulaw --mode pcm_2_ulaw --input_file=./audio/test_8000_16_2.pcm --output_file=./test_8000_8_2.ulaw
./pcm_alaw_ulaw --mode pcm_2_ulaw --input_file=./audio/test_22050_16_1.pcm --output_file=./test_22050_8_1.ulaw
./pcm_alaw_ulaw --mode pcm_2_alaw --input_file=./audio/test_44100_16_2.pcm --output_file=./test_44100_8_2.alaw
...
[mode: pcm_2_alaw | pcm_2_ulaw | alaw_2_pcm | ulaw_2_pcm | alaw_2_ulaw | ulaw_2_alaw]
```
### 附录:demo目录架构
```bash
.
├── audio
│ ├── test_22050_16_1.pcm
│ ├── test_22050_8_1.ulaw
│ ├── test_44100_16_2.pcm
│ ├── test_44100_8_2.alaw
│ ├── test_8000_16_1.pcm
│ ├── test_8000_16_2.pcm
│ ├── test_8000_8_1.g711a
│ ├── test_8000_8_1.g711u
│ └── test_8000_8_2.ulaw
├── docs
│ ├── G711编码原理及代码_szfhy的博客-CSDN博客_g711编码.mhtml
│ └── 音频采样及编解码——LPCM 、ADPCM、G711、G726、AAC_夜风的博客-CSDN博客_adpcm.mhtml
├── main.c
├── Makefile
├── pcm_aulaw.c
├── pcm_aulaw.h
├── pcm_aulaw_wraper.c
├── pcm_aulaw_wraper.h
└── README.md
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论





























收起资源包目录






















共 18 条
- 1
资源评论


R-QWERT
- 粉丝: 2628
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 数据库系统概论复习资料.doc
- 计算机图形信息处理考试题.doc
- 用户情绪对社交媒体算法的影响.pptx
- 互联网时代会计工作的转型升级路径探究.docx
- 单片机的电子密码锁的研究与设计开发.doc
- 实施六大信息化工程推动贵州信息化跨越式发展.docx
- 通信设备行业发展有利因素及不利因素分析报告.docx
- 医药公司网站建设方案.doc
- rbf网络学习算法.ppt
- 基于Visual-C++6.0的声音文件操作.docx
- 图像边缘检测与提取算法的比较方面的研究.doc
- 手机大数据在城市综合交通规划中的运用分析.docx
- 上海设施蔬菜栽培的现状与展望---台大农业自动化中心.doc
- 计算机软件工程的维护措施和方法.docx
- 论互联网+在汽车电器课程教学改革的应用研究.docx
- 转炉自动化炼钢技术应用分析.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
