voice_recognizer library
语音识别组件库
基于阿里 Paraformer-zh 模型的离线语音识别组件 支持流式识别(边录边识别)、长按录音交互
核心组件
- VoiceRecordButton - 长按录音按钮,松开结束识别
- VoiceRecordOverlay - 语音录入弹窗,带动画效果
- VoiceRecognizerRegistry - 语音识别服务注册中心(推荐使用)
- ParaformerRecognizerService - Paraformer 流式识别服务
推荐使用方式(提前初始化,优化用户体验)
// 1. 在应用启动时提前初始化(异步,不阻塞启动)
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 提前初始化语音识别服务
VoiceRecognizerRegistry.instance.preInitialize();
runApp(MyApp());
}
// 2. 使用按钮组件(自动使用全局服务)
VoiceRecordButton(
maxDuration: 10,
onResult: (text) => print('识别结果: $text'),
)
// 3. 使用弹窗(自动使用全局服务)
final result = await showVoiceRecordOverlay(
context: context,
maxDuration: 10,
);
自定义配置
// 在初始化前配置模型路径等参数
VoiceRecognizerRegistry.instance.configure(
modelAssetPath: 'your/custom/path',
modelFileName: 'model.onnx',
);
VoiceRecognizerRegistry.instance.preInitialize();
Classes
- AudioRecorderService
- 音频录制服务
- FadeInText
- 文字渐入动画组件
- GlobalTextCorrector
- 全局文本纠错器单例
- ParaformerRecognizerService
- Paraformer 流式语音识别服务
- ProgressRing
- 进度环组件
- PulseAnimation
- 脉冲动画组件
- RecognitionResult
- 语音识别结果
- RecordingDot
- 录音指示点动画
- RecordingResult
- 录音结果
- RippleAnimation
- 波纹动画组件
- SimpleParaformerRecognizer
- 简化版识别器(离线非流式,用于模型不支持流式的情况)
- SoundLevelIndicator
- 音量指示器组件
- SoundLevelPainter
- 音量指示器绘制器
- TextCorrector
- 中文文本纠错工具
- VoiceRecognizerRegistry
- 语音识别服务注册中心
- VoiceRecordButton
- 语音录入按钮组件
- VoiceRecordOverlay
- 语音录入弹窗组件
- WaveformDisplay
- 波形显示组件
- WaveformPainter
- 波形绘制器
Enums
- InitializationStatus
- 初始化状态
- RecognizerState
- 语音识别结果模型 识别状态
- RecordingState
- 录音状态
Extensions
Functions
-
showVoiceRecordOverlay(
{required BuildContext context, Color? themeColor, int maxDuration = 10, String title = '语音输入', String hintText = '长按按钮开始录音...', String? modelAssetPath, bool useGlobalService = true}) → Future< String?> - 显示语音录入弹窗
Typedefs
- RecognitionCallback = void Function(RecognitionResult result)
- 识别回调类型
- SoundLevelCallback = void Function(double level)
- 音量级别回调
- StateCallback = void Function(RecognizerState state)
- 状态变化回调