Java集成阿里云的实时语音识别遇到的一些问题

这篇具有很好参考价值的文章主要介绍了Java集成阿里云的实时语音识别遇到的一些问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

集成阿里云的实时语音识别遇到的问题:

困扰了一周时间,主要涉及到流的处理问题。

集成处理逻辑:

集成是通过引用maven依赖加载。

前端录音通过流的方式传到后端,后端再把流上传到Minio,后端拿到文件地址,调微服务(集成语音识别的是另一个独立的微服务)去Minio获取输入流,再上传到阿里云(公有云的服务)。然后监听返回识别的结果,最后返回结果文本给前端。

问题:

偶发性,,监听不到返回的结果就关闭了服务端。该音频是正常的,拿去官网下载的demo执行,是有监听到返回的结果。这时就很纳闷,多数在我集成的代码里是可以监听到结果的,少数没有监听到,一开始以为是音频问题,所以就去demo执行,验证音频,是没问题的。

解决:

最后叫同事一起帮忙对比代码debug,终于发现了,demo里切片上传的是文件输入流,但我的是直接上传的是从Minio获取到的输入流,,,重点是文件输入流和单单的输入流是有区别的。因为是偶发性,一直没留意这里。

区别:

InputStream不可以读取文件,它是一个抽象类,根本不可能实例化,是所有输入流的基类。而FileInputStream是InputStream的一个实现类,用于读取诸如图像数据之类的原始字节流。FileInputStream是读取一个文件来作InputStream,FileInputStream是字节流。文章来源地址https://www.toymoban.com/news/detail-786269.html

问题代码:


            //获取文件名
            String fileName = path.substring(path.lastIndexOf("/"));
            InputStream fis = MinioUtil.getMinioFile(MinioUtil.getBucketName(), fileName);


            byte[] b = new byte[6400];
            int len;
            while ((len = fis.read(b)) > 0) {
                logger.info("send data pack length: " + len);
                recognizer.send(b, len);
                // 8000采样率情况下,3200byte字节建议 sleep 200ms,16000采样率情况下,3200byte字节建议 sleep 100ms
                int deltaSleep = getSleepDelta(len, 8000);
               
            }

解决代码:


        //获取文件名
        String fileName = path.substring(path.lastIndexOf("/"));
        InputStream fis2 = MinioUtil.getMinioFile(MinioUtil.getBucketName(), fileName);
        //创建临时文件
        File file = File.createTempFile(IdWorker.getIdStr(),"");
        FileUtil.writeFromStream(fis2,file);
        FileInputStream fis = new FileInputStream(file);

        byte[] b = new byte[6400];
        int len;
        while ((len = fis.read(b)) > 0) {
            logger.info("send data pack length: " + len);
            transcriber.send(b, len);
            // 8000采样率情况下,3200byte字节建议 sleep 200ms,16000采样率情况下,3200byte字节建议 sleep 100ms
            int deltaSleep = getSleepDelta(len, 16000);
          
        }

到了这里,关于Java集成阿里云的实时语音识别遇到的一些问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [python]基于faster whisper实时语音识别语音转文本

    语音识别转文本相信很多人都用过,不管是手机自带,还是腾讯视频都附带有此功能,今天简单说下: faster whisper地址: https://github.com/SYSTRAN/faster-whisper https://link.zhihu.com/?target=https%3A//github.com/SYSTRAN/faster-whisper 实现功能: 从麦克风获取声音进行实时语音识别转文本 代码仅仅

    2024年02月03日
    浏览(43)
  • 【RV1126】移植kaldi实时语音识别

    参考:Greedy search与beam search 在下面会用到解码的方法选择 greedy_search :贪心搜索,贪心搜索是一种来自计算机科学的算法,生成第一个词的分布以后,它将会根据你的条件语言模型挑选出最有可能的第一个词进入你的机器翻译模型中,在挑选出第一个词之后它将会继续挑选出

    2024年02月04日
    浏览(47)
  • FreeSWITCH对接vosk实现实时语音识别

    环境:CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 Python版本:3.9.2 vosk是一个开源语音识别工具,可识别中文,之前介绍过python使用vosk进行中文语音识别,今天记录下FreeSWITCH对接vosk实现实时语音识别。 vosk离线语音识别可参考我之前写的文章: python使用vosk进行中文语音识别 可直接使用

    2024年02月02日
    浏览(43)
  • java使用阿里云的短信服务

    这里我已经购买过一次了,所以10块钱200条一年,第一次购买应该是3块钱200条三个月 发送成功 要使用阿里云的业务,这个 AccessKey ID和AccessKey Secret 是必须要获取的

    2024年02月16日
    浏览(45)
  • 百度飞桨paddlespeech实现小程序实时语音流识别

    前言: 哈哈,这是我2023年4月份的公司作业。如果仅仅是简单的语音识别倒也没什么难度,wav文件直接走模型输出结果的事。可是注意标题,流式识别、实时! 那么不得不说一下流式的优点了。 1、解决内存溢出的烦恼。 2、打算做成无文件生成,接收语音流直接走模型,减

    2023年04月21日
    浏览(58)
  • 关于stm32控制esp8266链接阿里云时遇到的一些问题

    目录 问题一:关于mqtt的AT命令 固件问题而产生的其他问题: 关于mqtt报文连接阿里云的问题 用串口调试助手发送: AT+MQTTCONN=0,\\\"iot-06z00fmgtrunfzt.mqtt.iothub.aliyuncs.com\\\",1883,0 一直回复error,连不上的问题 当我的esp8266烧录的是1112号的固件,这个固件我不知道是不是有问题,有时候能

    2024年01月25日
    浏览(47)
  • 鸿蒙应用开发-录音并使用WebSocket实现实时语音识别

    功能介绍: 录音并实时获取RAW的音频格式数据,利用WebSocket上传数据到服务器,并实时获取语音识别结果,参考文档使用AudioCapturer开发音频录制功能(ArkTS),更详细接口信息请查看接口文档:AudioCapturer8+和@ohos.net.webSocket (WebSocket连接)。 知识点: 熟悉使用AudioCapturer录音并实时

    2024年04月25日
    浏览(44)
  • 基于阿里云微信小程序语音识别

    页面效果 其中采用阿里云语音识别:阿里云一句话语音识别 语音识别页面 聊天组件

    2024年02月16日
    浏览(38)
  • 极速进化,光速转录,C++版本人工智能实时语音转文字(字幕/语音识别)Whisper.cpp实践

    业界良心OpenAI开源的Whisper模型是开源语音转文字领域的执牛耳者,白璧微瑕之处在于无法通过苹果M芯片优化转录效率,Whisper.cpp 则是 Whisper 模型的 C/C++ 移植版本,它具有无依赖项、内存使用量低等特点,重要的是增加了 Core ML 支持,完美适配苹果M系列芯片。 Whisper.cpp的张量

    2024年02月02日
    浏览(68)
  • 将大模型集成到语音识别系统中的例子

    本文旨在探索将大型语言模型(LLMs)集成到自动语音识别(ASR)系统中以提高转录准确性的潜力。 文章介绍了目前的ASR方法及其存在的问题,并对使用LLMs的上下文学习能力来改进ASR系统的性能进行了合理的动机论证。 本文设计了使用Aishell-1和LibriSpeech数据集的实验,通过与

    2024年02月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包