功能介绍:

PC端将.speex文件解码为*.wav文件

使用场景:

在MAC/Linux下Java JNI 调用C Speex,后端Java处理微信服务器下载下来的微信高清语音.speex解码为.wav

### 环境:
1. MAC OS 10.12.5/Linux
2. Xcode
3. Gcc
4. JDK 1.8
5. speex 1.2.0

### 步骤:
1. 安装libspeex
> 从https://www.speex.org/downloads/下载speex-1.2.0.tar.gz

> 解压speex-1.2.0.tar.gz

>cd pathto/speex-1.2.0

>./configure

```
...
config.status: creating win32/VS2003/libspeex/Makefile
config.status: creating win32/VS2003/speexdec/Makefile
config.status: creating win32/VS2003/speexenc/Makefile
config.status: creating win32/VS2005/Makefile
config.status: creating win32/VS2005/libspeex/Makefile
config.status: creating win32/VS2005/speexdec/Makefile
config.status: creating win32/VS2005/speexenc/Makefile
config.status: creating win32/VS2005/tests/Makefile
config.status: creating win32/VS2008/Makefile
config.status: creating win32/VS2008/speexdec/Makefile
config.status: creating win32/VS2008/tests/Makefile
config.status: creating win32/VS2008/libspeex/Makefile
config.status: creating win32/VS2008/speexenc/Makefile
config.status: creating include/speex/speex_config_types.h
config.status: creating ti/Makefile
config.status: creating ti/speex_C54_test/Makefile
config.status: creating ti/speex_C55_test/Makefile
config.status: creating ti/speex_C64_test/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
Type "make; make install" to compile and install Speex
```

>sudo make install

```
Making install in libspeex
.././install-sh -c -d '/usr/local/lib'
/bin/sh ../libtool --mode=install /usr/bin/install -c libspeex.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libspeex.1.dylib /usr/local/lib/libspeex.1.dylib
libtool: install: (cd /usr/local/lib && { ln -s -f libspeex.1.dylib libspeex.dylib || { rm -f libspeex.dylib && ln -s libspeex.1.dylib libspeex.dylib; }; })
libtool: install: /usr/bin/install -c .libs/libspeex.lai /usr/local/lib/libspeex.la
libtool: install: /usr/bin/install -c .libs/libspeex.a /usr/local/lib/libspeex.a
libtool: install: chmod 644 /usr/local/lib/libspeex.a
libtool: install: ranlib /usr/local/lib/libspeex.a
make[2]: Nothing to be done for `install-data-am'.
Making install in include
Making install in speex
...

```

2.打包
> cd pathto/release

linux系统:
> make -f makefile-linux
> make -f makefile-linux install

mac系统:

> make -f makefile-mac
> make -f makefile-mac install

3.测试
SpeexUtils.decode("pathto/a.speex", "pathto/a-test.wav");

项目源码: https://github.com/guoguo11/JSpeex-util

JAVA版-微信高清语音.speex转.wav格式的更多相关文章

  1. 高清语音技术(WBS)及其在手机和蓝牙耳机中的实现

    高清语音也被称为宽带语音,是一种能为蜂窝网络.移动电话和无线耳机传输高清.自然语音质量的音频技术.与传统的窄带电话相比,高清语音很大程度上提高了语音质量,减少了听觉负担. 通信产业链上的所有网络和设备 ...

  2. 分享《Python 游戏编程快速上手(第3版)》高清中文版PDF+高清英文版PDF+源代码

    通过编写一个个小巧.有趣的游戏来学习Python,通过实例来解释编程的原理的方式.14个游戏程序和示例,介绍了Python基础知识.数据类型.函数.流程控制.程序调试.流程图设计.字符串操作.列表和字 ...

  3. 参考《利用Python进行数据分析(第二版)》高清中文PDF+高清英文PDF+源代码

    第2版针对Python 3.6进行全面修订和更新,涵盖新版的pandas.NumPy.IPython和Jupyter,并增加大量实际案例,可以帮助高效解决一系列数据分析问题. 第2版中的主要更新了Py ...

  4. 参考学习《Python学习手册(第4版)》高清中文PDF+高清英文PDF+源代码

    看到第38章了,整体感觉解释详细,例子丰富:关于Python语言本身的讲解全面详尽而又循序渐进不断重复,同时详述语言现象背后的机制和原理:除语言本身,还包含编程实践和设计以及高级主题.边看边写代码.不 ...

  5. 《最优化导论第4版》高清中文版PDF+高清英文版PDF+习题题解

    <最优化导论第4版>高清中文版PDF+高清英文版PDF+习题题解 存放在语雀 凸优化 · 语雀

  6. (原创)speex与wav格式音频文件的互相转换(二)

    之前写过了如何将speex与wav格式的音频互相转换,如果没有看过的请看一下连接 http://www.cnblogs.com/dongweiq/p/4515186.html 虽然自己实现了相关的压缩 ...

  7. java版微信公众平台自定义菜单创建代码实现

    微信公众平台自定义菜单创建代码实现—java版 搞了两天的自定义菜单,终于搞定了,现在分享下心得,以便后来者少走弯路...... 好了,先看先微信官方的API 官方写的很详细,但是我看完后很茫然,不知 ...

  8. Java pdf转高清图片

    为什么80%的码农都做不了架构师?>>>   package com.hyb.kai.web.controller; import java.awt.image.BufferedIm ...

  9. (原创)speex与wav格式音频文件的互相转换

    我们的司信项目又有了新的需求,就是要做会议室.然而需求却很纠结,要继续按照原来发语音消息那样的形式来实现这个会议的功能,还要实现语音播放的计时,暂停,语音的拼接,还要绘制频谱图等等. 如果是wav,m ...

随机推荐

  1. 基于LDAP下的Samba服务

    基于LDAP下的Samba服务 一.环境情况: 实验环境:俩台机器,分别为2012R2,安装有 AD 并作为域控制器Domain Controller(DC),同时也作为 DNS 服务器和时间服务器: ...

  2. iBatis --> MyBatis

    从 Clinton Begin 到 Google(从 iBatis 到 MyBatis,从 Apache Software Foundation 到 Google Code),Apache 开源代码项 ...

  3. Spark - 经典案例

    初识 Spark 大数据处理,目前还只是小白阶段,初步搭建起运行环境,慢慢学习之. 本文熟悉下 Spark 数据处理的几个经典案例. 首先将 Scala SDK 的源码导入 IDEA,方便查看和调试代 ...

  4. CH2601 电路维修(双端队列bfs)建图恶心

    CH2601 电路维修 双端队列bfs,其实就是因为只有0和1所以可以直接2维护队列单调性(和优先队列一个道理) 建图的过程需要仔细斟酌(想一想id为什么这么写) 还有,空间要开够(很玄学),我一开始 ...

  5. 第九届蓝桥杯大赛个人赛决赛(软件类)真题Java

    更新中.......... 同一年的题解:https://www.cnblogs.com/dgwblog/p/10111903.html   01 结果填空 (满分11分) 标题:年龄问题 s夫人一向 ...

  6. 【Python】二进制转ASCII码小脚本

    #coding:utf-8 #developed by carrypan! import binascii import optparse def main(): usage="%prog ...

  7. python __getattribute__、__getattr__、__setattr__详解

    __getattribute__ 官方文档中描述如下: 该方法可以拦截对对象属性的所有访问企图,当属性被访问时,自动调用该方法(只适用于新式类).因此常用于实现一些访问某属性时执行一段代码的特性. 需 ...

  8. Java - 尚学堂第八章常用类(将输入的string类型的值转为整数、浮点型、日期类型)

    import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...

  9. oracle--等待事件

    1. Buffer busy waits 从本质上讲,这个等待事件的产生仅说明了一个会话在等待一个Buffer(数据块),但是导致这个现象的原因却有很多种,常见的两种是:当一个会话试图修改一个数据块, ...

  10. Java学习之路(二):流程控制语句

    Java流程控制语句 java的流程控制语句: 默认,顺序执行 if...else...条件控制语句 switch 选择语句 for循环 while循环 do...while循环 break,cont ...