1.准备工作
1.1 开通讯飞开放平台账号
/
可以领取免费套餐:/free
1.2 下载语音处理类库TarsosDSP
https://0110.be/releases/TarsosDSP/TarsosDSP-2.4/TarsosDSP-2.4.jar
建议发布到maven仓库,便于集成。参考命令(本地安装):
POM文件添加依赖:
1.3 下载媒体处理软件ffmpeg
科大讯飞的接口不支持AMR等格式的音频文件,需要转换为PCM格式,因此需要使用功能强大的ffmpeg进行转码。为简化ffmpeg的使用,我们将利用TarsosDSP类库。TarsosDSP类库会在指定位置启动ffmpeg命令,我们预先下载好,可以避免TarsosDSP类库动态下载ffmpeg导致的长时间等待。
ffmpeg下载地址:
https://0110.be/releases/TarsosDSP/TarsosDSP-static-ffmpeg/linux_64_bits_ffmpeg
https://0110.be/releases/TarsosDSP/TarsosDSP-static-ffmpeg/windows_64_bits_ffmpeg.exe
win7下的存储路径:
C:\Users\<你的用户名>\AppData\Local\Temp\windows_64_bits_ffmpeg.exe
linux下的存储路径:
/tmp/linux_64_bits_ffmpeg
-------------------------------------------------------- 华丽的分割线 ------------------------------------------------------------
下面都是干(yuan)货(ma)。
2. 定义一个音频转换处理工具类
我们首先定义一个音频转换处理的工具类,用于将任意格式的音频文件转换为科大讯飞接口支持的PCM格式。
工具类主体代码:
文件输出工具类代码:
我们可以用以下代码试听一下处理后的文件内容:
3. 定义一个语音识别工具类
POM加入netty依赖,用于与科大讯飞平台建立WebSocket通信。
主体代码:
URL拼接方法:
自定义的WebSocket客户端处理器: