语音转文字
- 百度智能云
- JAVA代码实现
考虑到在识别mp3文件是否有声音之后,后续会做语音转文字这些功能
就提前去搜索了一下,貌似基本只能靠第三方来实现
百度智能云
1.创建一个百度/百度智能云用户,有的直接登录就行
2.进入右上角管理控制台
3.产品服务里面找到语音技术4.
里面有多重方式
因为这里限制了语音时长,所以就不考虑,如果符合要求可以考虑这个
继续找
这里就满足需求了
去下载demo,然后创建应用 ,提前领取免费的接口额度,虽然时间不长,足够测试用了
创建好之后会有个应用列表,里面有appID ,APIkey, Secret Key ,之后都会用到
JAVA代码实现
因为我是springboot项目,所以在pom.xml里面引入了依赖包
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.2.1</version>
</dependency>
<!-- 引入org.json所需依赖 -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20190722</version>
</dependency>
然后把demo里面的代码拷贝过来
修改Const 里面的配置信息 ,这里就用到了自己应用管理里面给你分配的
public interface Const {
/* 下面2个是鉴权信息 ,具体参数在sendStartFrame() 方法内 */
int APPID = APPID ;
String APPKEY = "APPKEY ";
/* dev_pid 是语言模型 , 可以修改为其它语言模型测试,如远场普通话 19362*/
int DEV_PID = 15372;
/* 可以改为wss:// */
String URI = "ws://vop.baidu/realtime_asr";
}
接着发现文档描述的只支持pcm格式的音频文件
还好我提前去了解了一下sound包里面的audioInputStream
这里可以参考我上一篇写的
Java判断mp3文件是否有声音
使用inputStream 的子类audioInputStream 然后再配置format
测试:
这里测试成功,能成功读取mp3里面内容
这里我用了工具Audacity把pcm文件转成mp3文件
不知道会不会有影响
有空我再去测一下其他mp3文件
当然这个文档也标明了嘈杂的环境等可能会对识别有影响
这篇文章应该是不完善的,只是提供一个思路
新手发帖,希望多多提一下宝贵的意见和建议,谢谢
更多推荐
Java语音转文字功能
发布评论