@muguilin/xf-voice-dictation
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

@muguilin/xf-voice-dictation

MIT License

基于 讯飞语音听写流式接口 进行二次封装,用于在 1 分钟内的即时语音转文字技术,支持实时返回识别结果,达到一边上传音频一边获得识别文本的效果。

该语音能力是通过 Websocket API 的方式给开发者提供一个通用的接口。Websocket API 具备流式传输能力,适用于需要流式数据传输的 AI 服务场景,比如边说话边识别。相较于 SDK,API 具有轻量、跨语言的特点;相较于 HTTP API,Websocket API 协议有原生支持跨域的优势。

🏡 下载安装:

# 使用npm命令下载安装
$ npm i @muguilin/xf-voice-dictation

# 使用yarn命令下载安装
$ yarn add @muguilin/xf-voice-dictation

🔍 实例效果:

语音听写 DEMO(流式版)WebAPI (muguilin.github.io)

讯飞语音听写(流式版)WebAPI 文档 | (xfyun.cn)

🚀 使用方法:

【关于:】服务接口认证信息这 3 个参数据:APPID、APISecret、APIKey,请到官网申请(https://www.xfyun.cn/services/voicedictation)

【注意:】APISecret 和 APIKey 的长度都差不多很相似,所以要填错哦!

import { XfVoiceDictation } from '@muguilin/xf-voice-dictation';

let times = null;
const xfVoice = new XfVoiceDictation({
    APPID: 'xxx',
    APISecret: 'xxx',
    APIKey: 'xxx',

    // webSocket请求地址 非必传参数,默认为:wss://iat-api.xfyun.cn/v2/iat
    // url: '',

    // 监听录音状态变化回调
    onWillStatusChange: function (oldStatus, newStatus) {
        // 可以在这里进行页面中一些交互逻辑处理:注:倒计时(语音听写只有60s),录音的动画,按钮交互等!
        console.log('识别状态:', oldStatus, newStatus);
    },

    // 监听识别结果的变化回调
    onTextChange: function (text) {
        // 可以在这里进行页面中一些交互逻辑处理:如将文本显示在页面中
        console.log('识别内容:',text)

        // 如果3秒钟内没有说话,就自动关闭(60s后也会自动关闭)
        if (text) {
            clearTimeout(times);
            times = setTimeout(() => {
                this.stop();
            }, 3000);
        };
    },

    // 监听识别错误回调
    onError: function(error){
        console.log('错误信息:', error)
    }
});


// 给Dom元素加添事件,来调用开始语音识别!
// xfVoice.start();


// 给Dom元素加添事件,来调用关闭语音识别!
// xfVoice.stop();

Package Sidebar

Install

npm i @muguilin/xf-voice-dictation

Weekly Downloads

46

Version

1.0.1

License

MIT

Unpacked Size

261 kB

Total Files

6

Last publish

Collaborators

  • muguilin