录音文件识别极速版

最近更新时间:2023-10-26 15:51:31

我的收藏

Flutter SDK

SDK 以插件的方式封装了录音文件识别极速版功能,提供 flutter 版本的录音文件识别极速版,本文介绍 SDK 的安装方法及示例。

开发环境

Dart >= 2.18.4
Flutter >= 3.3.8
Android API Level >= 16
iOS >= 9.0

获取安装

下载SDK SDK 内 asr_plugin 目录即为 flutter 插件,插件内 example 目录下为 demo 示例。

接入指引

此插件仅支持 Android 和 iOS 两个平台且包含了平台相关的库,使用时请确保开发环境包含 Android Studio 及 XCode 否则可能会出现集成时的编译问题。
1. 将项目中 asr_plugin 目录复制到自己的 Flutter 工程下。
2. 在自己项目的配置文件 pubspec.yaml 下添加依赖。
asr_plugin:
# 该路径根据asr_plugin存放路径改变
path: ../asr_plugin
3. 在需要使用到的页面,导入 asr_plugin 的依赖。
import 'package:asr_plugin/asr_plugin.dart';

接口说明

接口示例代码为 demo 部分代码,完整代码请参考位于 example 里的 demo 示例。

FlashFileASRParams

录音文件识别极速版请求的相关参数,可参考录音文件识别极速版的描述。
示例
var _params = FlashFileASRParams();
_params.data = Uint8List.view((await rootBundle.load("assets/30s.wav")).buffer);
_params.voice_format = OneSentenceASRParams.FORMAT_WAV;

FlashFileASRController

控制录音文件识别极速版的流程及获取录音文件识别极速版的结果。
方法
Future<FlashFileASRResult> recognize(FlashFileASRParams params) async;
示例
var ret = (await _controller.recognize(_params));

FlashFileASRResult

返回录音文件识别极速版的结果,数据类型与 API 文档描述对应,可参考录音文件识别极速版的描述。
参数
String response_body = ""; // 服务端返回原始信息
late int code; // 0:正常,其他,发生错误
late String message; // code 非0时,message 中会有错误消息
late String request_id; // 请求唯一标识,请您记录该值,以便排查错误
late int audio_duration; // 音频时长,单位为毫秒
List<Result>? flash_result; // 声道识别结果列表

Sentence

Sentence 数据类型,可参考录音文件识别极速版的描述。
参数
String text; // 句子/段落级别文本
int start_time; // 开始时间
int end_time; // 结束时间
int speaker_id; // 说话人 Id(请求中如果设置了 speaker_diarization,可以按照 speaker_id 来区分说话人)
List<Word>? word_list;// 词级别的识别结果列表

Result

Result 数据类型,可参考录音文件识别极速版的描述。
参数
int channel_id = 0; // 声道标识,从0开始,对应音频声道数
String text = ""; // 声道音频完整识别结果
List<Sentence>? sentence_list; // 句子/段落级别的识别结果列表