Skip to content

brain-marchine/OfflineVoiceAssistant

Repository files navigation

离线语音助手 (Offline Voice Assistant)

面向 华为 Mate 60 / HarmonyOS 等 Android 设备的离线中文语音助手。语音识别在手机上完成,大模型推理可本地运行或通过 电脑 Ollama 远程调用,适合校园网、热点或蒲公英组网场景。

当前版本3.1.4versionCode 26


功能概览

模块 说明
离线语音识别 Vosk 中文大模型 cn-0.22,支持从 zip 导入
智能命令 时间、日期、手电筒、音量、打开应用、计算等
结尾词防误触 命令以「完毕」结尾才执行(可开关)
唤醒词 默认「贾克斯」(可切换直接命令模式)
电脑 Ollama 手机只传文字,电脑 GPU 跑 qwen2.5:7b 等模型
本地大模型 可选 Qwen2.5 0.5B GGUF(内存占用大,易 OOM)
离线知识库 RAG 导入 txt/md,本地检索增强回答
声纹验证 Sherpa-ONNX 说话人识别(导入音频注册)
微信通知摘要 可选 NotificationListener 读取通知
蓝牙麦克风 支持 FreeBuds 等耳机

快速开始

1. 安装 APK(推荐 slim 轻量包)

Releases 下载 OfflineVoiceAssistant-v3.1.4-slim-*.apk,或自行构建(见 构建说明)。

  1. 安装 APK,授予 麦克风通知 权限
  2. 在 App 内选择并导入 Vosk 中文模型 zip(约 1.3GB,解压后一次性使用)
  3. 推荐开启 「使用电脑 Ollama」,按 远程 Ollama 与组网 配置
  4. 点击 开始聆听,说:贾克斯,现在几点完毕

2. 电脑 Ollama(推荐)

# 在电脑上(需管理员 PowerShell 添加防火墙规则)
powershell -ExecutionPolicy Bypass -File scripts/start-ollama-lan.ps1

手机 App 填写:

  • 地址:http://<电脑IP>:11434(蒲公英示例:http://172.16.2.109:11434
  • 模型:qwen2.5:7b

文档目录

文档 内容
安装与使用 权限、模型导入、聆听流程、常见问题
远程 Ollama 与组网 热点、校园网、蒲公英、防火墙
构建说明 Gradle 构建 slim/full 包
架构与功能 模块结构、数据流、技术栈
声纹注册 导入音频注册与验证
语音命令参考 唤醒词、结尾词、命令列表
GitHub 发布指南 推送到 GitHub、打 Release

项目结构

OfflineVoiceAssistant/
├── app/src/main/java/com/offline/voiceassistant/
│   ├── MainActivity.kt              # 主界面
│   ├── VoiceAssistantService.kt     # 前台聆听服务
│   ├── VoiceprintEnrollActivity.kt  # 声纹注册(导入音频)
│   ├── speech/                      # Vosk 识别、音频采集
│   ├── nlp/                         # 唤醒词、结尾词、命令解析
│   ├── llm/                         # 本地 GGUF + 远程 Ollama
│   ├── speaker/                     # Sherpa 声纹引擎
│   ├── rag/                         # 离线知识库
│   └── action/                      # 系统动作执行
├── scripts/                         # 模型下载、Ollama 启动、打包
└── docs/                            # 使用与开发文档

技术栈

  • Kotlin + Android SDK 34,最低 API 26,仅 arm64-v8a
  • Vosk 离线 ASR
  • llama.cpp(JNI)本地 GGUF 推理
  • Ollama HTTP API 远程大模型
  • Sherpa-ONNX 声纹嵌入
  • SQLite 知识库

构建要求

  • JDK 17
  • Android SDK + NDK 26(可用项目内 scripts/install-android-sdk.py 或 Android Studio)
  • Windows 下推荐 PowerShell 执行 scripts/ 中的模型下载脚本

详见 docs/构建说明.md


隐私说明

  • 语音识别默认在 手机本地 完成
  • 使用「电脑 Ollama」时,仅将 识别后的文字 通过局域网 HTTP 发往你的电脑
  • 不上传语音到第三方云服务(除非你自行配置公网穿透)

致谢


License

MIT

About

Offline Chinese voice assistant for Android (Vosk + remote Ollama)

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors