IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 小程序上对接阿里的语音识别 -> 正文阅读

[人工智能]小程序上对接阿里的语音识别

通过查询阿里官方文档,《实时语音识别》需要通过服务器中转实现,这里希望简单一点,直接客户端搞定,然后确定使用《一句话识别》中的RESTful API的方式。

实现语音识别分以下几个步骤:

1、小程序录音生成临时录音文件(阿里识别要求pcm编码);

音频格式:PCM编码、16bit采样位数、单声道(mono)。

音频采样率:8000Hz/16000Hz。


//参数
format: 音频编码格式。支持格式:PCM/OPUS。默认:PCM。

2、连接阿里服务器,把录音文件作为请求参数,返回识别的文字;

3、清除临时文件。

实现

1、生成录音文件

首先想到的是wx.startRecord,但是测试发现生成的是silk文件,还需要转换,放弃。

然后微信还提供了另一个录音的api:wx.getRecorderManager(),支持直接录制pcm格式

?于是:

 /**
     * 开始录音
     */

_startRecord(){
      console.log(TAG_NAME, '_startRecord')
      const options = {
        duration: 60000, //指定录音的时长,单位 ms,最大为10分钟(600000),默认为1分钟(60000)
        sampleRate: 16000, //采样率
        numberOfChannels: 1, //录音通道数
        encodeBitRate: 96000, //编码码率
        format: 'pcm', //音频格式,有效值 aac/mp3
        frameSize: 50, //指定帧大小,单位 KB
      }
      //开始录音计时
      //that.recordingTimer();
      //开始录音
      recorderManager.start(options);
      recorderManager.onStart(() => {
        console.log(TAG_NAME, '...recorderManager onStart...')
      });
      //错误回调
      recorderManager.onError((res) => {
        console.log(TAG_NAME, res);
      })
    }

结束录音后,开启语音识别:

/**
     * 结束录音
     */
    _stopRecord(){
      console.log(TAG_NAME, '_stopRecord')
      recorderManager.stop();
      recorderManager.onStop((res) => {
        console.log(TAG_NAME, '...recorderManager onStop...', res.tempFilePath)
        this.setData({tempAudioFilePath: res.tempFilePath})
        //结束录音计时
        //clearInterval(that.data.setInter);

        //开始asr语音识别
        this._startAsr()
      })
    }

识别比较简单:

先获取token,然后

wx.request({
          url: app.globalData.aliAsrServerUrl,
          method: 'POST',
          header:{
            'X-NLS-Token':tokenData.token,
            'Content-type':'application/octet-stream',
            'Host':'nls-gateway.cn-shanghai.aliyuncs.com'
          },
          data: fs.readFileSync(audioFilePath),
          success: (res) =>{
            console.log(TAG_NAME, 'asr success:', res)
            //删除临时文件
            fs.removeSavedFile()
            wx.showToast({
              icon: 'none',
              title: res.data.result,
            })
            this.setData({messageContent: res.data.result})
            this._chat()
          },
          fail: (res) =>{
            console.error(TAG_NAME, 'asr fail:', res)
          }
        })

搞定。

参考资料

https://www.cnblogs.com/westwin/p/11277449.html

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:38:15  更:2021-07-31 16:40:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/2 13:56:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码