whisper_dart:离线语音转文字实战指南 📅 发布时间:2026/8/22 7:48:36 👁 浏览次数: whisper_dart离线语音转文字实战指南【免费下载链接】whisper_dartspeech recognition in dart support all audio format and support server side client side, support all language, only support in cpu only项目地址: https://gitcode.com/gh_mirrors/wh/whisper_dart给客户做 App产品提了一条硬需求语音转文字必须做在本地音频不允许离开设备。云端 ASR 服务被一票否决你开始翻方案最终找到 whisper_dart——一个面向 Dart/Flutter 的离线语音转文字库模型与推理全在设备端完成全程不联网只吃 CPU。先搞清楚它是什么whisper_dart 是一个离线语音识别库解决音频要转文字、但数据不能出设备这类需求同一套库既能在 Android 手机上跑也能在 Linux 服务器上批量转写目前已覆盖 Android、Linux 与 CLI 三种环境Windows、Web、iOS 在路线图里排队。技术底座是 OpenAI 的 Whisper 模型 whisper.cpp 推理引擎 GGML 张量库原生 C/C 代码经 CMake 编译成 libwhisper.so 这类共享库Dart 侧通过 FFI 直接调用中间不经过任何服务。编译入口在native/CMakeLists.txt一条脚本产出多平台产物。技术内核从 C 到 Dart 的三层链路第一层是原生层。native/目录内置 whisper.cpp 与 GGML 源码按 C20 -O3 LTO 编译CMake 配置按平台分流产出 .so、.dylib、.dllAndroid 走 NDK 交叉编译跑一次native/compile.sh就能把 arm64-v8a、armeabi-v7a、x86_64、x86 四个 ABI 全部编完。第二层是接口层。说白了整个转写流程被设计成一次 JSON 请求Dart 侧拆成package/whisper/主入口、whisper_flutter 插件、whisper_library 的 FFI 绑定三部分对外暴露 getVersion、transcribeSync、transcribeRealtime 三个 API同步转写与实时转写各自独立调用。第三层是资源占用这才是它真正的卖点。全链路 CPU 推理不要求 GPU也不需要网络。Whisper 模型家族覆盖 99 种语言按设备选规格即可模型磁盘占用运行内存tiny75 MB125 MBlarge2.9 GB3.3 GB作者的真机测试清单里包括 2GB 内存的小米 Redmi 4A、3GB 内存的 REALME 5 和 16GB 内存的 MSI 笔记本全部通过。换句话说Whisper 离线语音转文字的完整链路就是这三层它瞄准的是低端硬件而不只是高端机型。哪些场景真正用得上客服录音本地归档— 合规要求录音不出内网直接在设备侧转成文本入库检索。听障辅助转写— 离线低延迟地铁隧道、信号差的山区语音依然能实时变成文字。多语言语音转文本— 模型本身覆盖 99 种语言一套模型文件搞定跨语言转写。会议与课堂录音— 服务器端批量转写16GB 内存的机器跑得动 large 模型。车载与智能设备语音入口— 不联网、不占流量、不按时长计费的离线语音入口。和同类方案的差别CPU 离线推理— 全链路本地执行音频数据不出设备隐私问题不存在协商空间。全格式直投— 底层由 FFmpeg 负责格式转换mp3、m4a、flac 直接丢进去省去手动转 wav 的步骤。客户端服务端一套库— 同一份代码在 Flutter 应用和服务器任务里通用Flutter 本地 ASR 不用维护两套实现。2GB 内存设备验证— 测试清单里有 2GB 内存的 Redmi 4A这类超低端设备很多云端 SDK 都装不上。五分钟跑起来前置条件Dart SDK ≥ 3.3.3自编译原生库需要 CMake ≥ 3.10Android 另需 NDK再准备一个 ggml 格式的 Whisper 模型文件。先克隆仓库拿到原生构建脚本与 Dart 源码git clone https://gitcode.com/gh_mirrors/wh/whisper_dart把编译好的 libwhisper.so 与模型文件放到应用目录即可发起第一次转写import dart:io; import package:whisper/whisper.dart; // 创建实例并发起一次同步转写 final whisper Whisper(); final res await whisper.request( whisperLib: libwhisper.so, // 编译好的原生库 whisperRequest: WhisperRequest.fromWavFile( audio: File(audio.wav), // 待识别音频 model: File(ggml-tiny.bin), // Whisper 模型文件 ), ); print(res); // 输出识别出的文本项目当前处于 1.7.2 版本路线图继续补齐实时转写与其余平台支持。把 tiny 模型放进项目跑一次看看你的第一段音频会被翻译成什么。【免费下载链接】whisper_dartspeech recognition in dart support all audio format and support server side client side, support all language, only support in cpu only项目地址: https://gitcode.com/gh_mirrors/wh/whisper_dart创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考