返回

专注连锁门店会员营销管理系统

线上+线下+进销存+收银+会员
HiShop > Hi小程序 > 小程序开发 > 开发实例 >

小程序录音文件上传与讯飞语音识别

2020-09-27 作者:秩名


 

  package com.example.service.impl;

  import com.example.service.XunFeiService;

  import com.example.utils.FFMPEGUtil;

  import com.example.utils.SR2Words;

  import com.example.utils.SRTool;

  import org.springframework.stereotype.Service;

  import org.springframework.web.multipart.MultipartFile;

  import java.io.File;

  import java.io.IOException;

  import java.util.HashMap;

  import java.util.Map;

  import java.util.UUID;

  /**

  * Created by songzs on 2017/12/12.

  */

  @Service

  public class XunFeiServiceImpl implements XunFeiService {

  @Override

  public Map speechRecognition(MultipartFile multi) {

  Map map =new HashMap<>();

  UUID uuid = UUID.randomUUID();

  String path = "/home/workspace/audio";

  String fileName = uuid.toString()+".silk";

  //临时silk文件

  String tempFile = "/home/workspace/audio/"+uuid.toString()+".silk";

  //中间过渡pcm文件

  String pcmFile = "/home/workspace/audio/"+uuid.toString()+".pcm";

  //可识别的wav文件

  String wavFile = "/home/workspace/audio/"+uuid.toString()+".wav";

  File file = new File(path,fileName);

  try {

  multi.transferTo(file);

  } catch (IOException e) {

  e.printStackTrace();

  }

  /*移除临时silk文件首字节start*/

  //标准silk文件

  String silkFile = FFMPEGUtil.silk_remove_word(tempFile);

  /*移除临时silk文件首字节end*/

  //silk文件转换成pcm文件

  String silk2Pcm = FFMPEGUtil.silk2Pcm(silkFile, pcmFile);

  //pcm文件转换成wav文件

  String pcm2Wav = FFMPEGUtil.pcm2Wav(silk2Pcm, wavFile);

  //讯飞语音识别接口识别wav音频文件,转成文字返回

  SRTool sr = new SRTool();

  String words = null;

  try {

  words = sr.voice2words(pcm2Wav);

  } catch (InterruptedException e) {

  e.printStackTrace();

  } catch (IOException e) {

  e.printStackTrace();

  }

  System.out.println("讯飞识别的语音结果:"+words);

  if("".equals(words)){

  System.out.println("讯飞识别的语音结果:null");

  map.put("status","error");

  map.put("content","对不起,请您在描述一遍!");

  return map;

  }

  String result = SR2Words.sr2words(words);

  System.out.println("讯飞识别的语音结果:"+result);

  map.put("status","success");

  map.put("content",result);

  return map;

  }

  }

线上+线下+进销存+收银+会员门店零售管理好帮手

  • 极速收银管理

    门店能实现快速收银,提升门店经营效率。

  • 进销存管理

    系统自带进销存管理,更好管理库存销售。

  • 软硬件一体化

    配备收银硬件一站式整体服务。

收 银 会员管理 库存管理 商品管理 交接班 数据报表 营销促单 售后处理 多种收款

获取报价

推荐文章

门店系统 获取报价 立即咨询 免费试用