voice_recognizer library

语音识别组件库

基于阿里 Paraformer-zh 模型的离线语音识别组件 支持流式识别(边录边识别)、长按录音交互

核心组件

推荐使用方式(提前初始化,优化用户体验)

// 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

VoiceRecognizerRegistryX on VoiceRecognizerRegistry
便捷扩展方法

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)
状态变化回调