当前位置:   article > 正文

小程序语音识别 “百度识别” 和 “科大讯飞”识别集成 服务端_微信小程序 对接科大讯飞语音识别流式版

微信小程序 对接科大讯飞语音识别流式版

场景介绍:

 在小程序上实现语音的识别

 这是MP3转PCM的工具类

  1. 要在小程序上实现语音识别,需要调用腾讯的小程序调起手机录音机。具体看小程序的api文档。
  2. 语音的识别运算在后端操作(这里用的是JAVA),首先在百度和讯飞创建应用
  3. 调起小程序的录音机之后,小程序会给到一个文件地址,把文件通过接口上传到后端
  4. 后端接收到请求把MP3文件存在本地在把MP3转换成PCM格式后,去调用百度、讯飞的接口 ,实现语音转文字
  1. public static boolean convertMP32Pcm(String mp3filepath, String pcmfilepath) {
  2. try {
  3. // 获取文件的音频流,pcm的格式
  4. AudioInputStream audioInputStream = getPcmAudioInputStream(mp3filepath);
  5. // 将音频转化为 pcm的格式保存下来
  6. AudioSystem.write(audioInputStream, AudioFileFormat.Type.WAVE, new File(pcmfilepath));
  7. return true;
  8. } catch (IOException e) {
  9. // TODO Auto-generated catch block
  10. e.printStackTrace();
  11. return false;
  12. }
  13. }
  14. protected static AudioInputStream getPcmAudioInputStream(String mp3filepath) {
  15. File mp3 = new File(mp3filepath);
  16. AudioInputStream audioInputStream = null;
  17. AudioFormat targetFormat = null;
  18. try {
  19. AudioInputStream in = null;
  20. MpegAudioFileReader mp = new MpegAudioFileReader();
  21. in = mp.getAudioInputStream(mp3);
  22. AudioFormat baseFormat = in.getFormat();
  23. targetFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), 16,
  24. baseFormat.getChannels(), baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false);
  25. audioInputStream = AudioSystem.getAudioInputStream(targetFormat, in);
  26. } catch (Exception e) {
  27. e.printStackTrace();
  28. }
  29. return audioInputStream;
  30. }

讯飞识别调用请看讯飞开发文档

地址:https://doc.xfyun.cn/rest_api/%E8%AF%AD%E9%9F%B3%E5%90%AC%E5%86%99.html

同理百度也是一样

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/77586
推荐阅读
相关标签
  

闽ICP备14008679号