Priler/jarvis
GitHub: Priler/jarvis
基于 Rust 和 Tauri 构建的离线语音助手,支持本地语音识别、合成和唤醒词检测,完全不依赖云端。
Stars: 2687 | Forks: 565
# JARVIS 语音助手 (本自述文件已过时)

`Jarvis` - 是一个作为实验制作的语音助手,利用神经网络实现 **STT/TTS/Wake Word/NLU** 等功能。
我们要实现的主要项目目标是:
- 100% 离线 *(无云端)*
- 开源 *(完全透明)*
- 无数据收集 *(尊重您的隐私)*
我们的后端技术栈是 🦀 **[Rust](https://www.rust-lang.org/)** 和 ❤️ **[Tauri](https://tauri.app/)**。
前端我们使用 ⚡️ **[Vite](https://vitejs.dev/)** + 🛠️ **[Svelte](https://svelte.dev/)**。 *其他库、工具和包可以在源代码中找到。* ## 神经网络 这是我们目前使用的神经网络: - 语音转文字 - [Vosk Speech Recognition Toolkit](https://github.com/alphacep/vosk-api) 通过 [Vosk-rs](https://github.com/Bear-03/vosk-rs) - 文字转语音 - [~~Silero TTS~~](https://github.com/snakers4/silero-models) *(当前未使用)* - [~~Coqui TTS~~](https://github.com/coqui-ai/TTS) *(当前未使用)* - [~~WinRT~~](https://github.com/ndarilek/tts-rs) *(当前未使用)* - [~gTTS~](https://github.com/nightlyistaken/tts_rust) *(当前未使用)* - [~~SAM~~](https://github.com/s-macke/SAM) *(当前未使用)* - 唤醒词 - [Rustpotter](https://github.com/GiviMAD/rustpotter) *(部分实现,仍在开发中)* - [Picovoice Porcupine](https://github.com/Picovoice/porcupine) 通过 [官方 SDK](https://github.com/Picovoice/porcupine#rust) *(需要 API key)* - [Vosk Speech Recognition Toolkit](https://github.com/alphacep/vosk-api) 通过 [Vosk-rs](https://github.com/Bear-03/vosk-rs) *(非常慢)* - [~~Snowboy~~](https://github.com/Kitt-AI/snowboy) *(当前未使用)* - NLU - 暂无。 - 聊天 - [~~ChatGPT~~](https://chat.openai.com/) (即将推出) ## 支持的语言 目前,仅支持俄语。
但很快,界面、唤醒词检测和语音识别将添加乌克兰语和英语支持。 ## 如何构建? 构建这个项目没有使用什么特别的东西。
你只需要在系统上安装 Rust 和 NodeJS。
除此之外,你需要做的就是安装所有依赖项,然后使用 `cargo tauri build` 命令编译代码。
或者使用 `cargo tauri dev` 运行开发环境。
*考虑到你可能需要一些针对 [PvRecorder](https://github.com/Picovoice/pvrecorder) 和 [Vosk](https://github.com/alphacep/vosk-api) 的平台特定库。* ## 作者 Abraham Tugalov ## Python 版本? 旧版本的 Jarvis 是用 Python 构建的。
最后的 Python 版本提交可以在[这里](https://github.com/Priler/jarvis/tree/943efbfbdb8aeb5889fa5e2dc7348ca4ea0b81df)找到。 ## 许可证 [Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)
有关更多详细信息,请参阅 LICENSE.txt 文件。
前端我们使用 ⚡️ **[Vite](https://vitejs.dev/)** + 🛠️ **[Svelte](https://svelte.dev/)**。 *其他库、工具和包可以在源代码中找到。* ## 神经网络 这是我们目前使用的神经网络: - 语音转文字 - [Vosk Speech Recognition Toolkit](https://github.com/alphacep/vosk-api) 通过 [Vosk-rs](https://github.com/Bear-03/vosk-rs) - 文字转语音 - [~~Silero TTS~~](https://github.com/snakers4/silero-models) *(当前未使用)* - [~~Coqui TTS~~](https://github.com/coqui-ai/TTS) *(当前未使用)* - [~~WinRT~~](https://github.com/ndarilek/tts-rs) *(当前未使用)* - [~gTTS~](https://github.com/nightlyistaken/tts_rust) *(当前未使用)* - [~~SAM~~](https://github.com/s-macke/SAM) *(当前未使用)* - 唤醒词 - [Rustpotter](https://github.com/GiviMAD/rustpotter) *(部分实现,仍在开发中)* - [Picovoice Porcupine](https://github.com/Picovoice/porcupine) 通过 [官方 SDK](https://github.com/Picovoice/porcupine#rust) *(需要 API key)* - [Vosk Speech Recognition Toolkit](https://github.com/alphacep/vosk-api) 通过 [Vosk-rs](https://github.com/Bear-03/vosk-rs) *(非常慢)* - [~~Snowboy~~](https://github.com/Kitt-AI/snowboy) *(当前未使用)* - NLU - 暂无。 - 聊天 - [~~ChatGPT~~](https://chat.openai.com/) (即将推出) ## 支持的语言 目前,仅支持俄语。
但很快,界面、唤醒词检测和语音识别将添加乌克兰语和英语支持。 ## 如何构建? 构建这个项目没有使用什么特别的东西。
你只需要在系统上安装 Rust 和 NodeJS。
除此之外,你需要做的就是安装所有依赖项,然后使用 `cargo tauri build` 命令编译代码。
或者使用 `cargo tauri dev` 运行开发环境。
*考虑到你可能需要一些针对 [PvRecorder](https://github.com/Picovoice/pvrecorder) 和 [Vosk](https://github.com/alphacep/vosk-api) 的平台特定库。* ## 作者 Abraham Tugalov ## Python 版本? 旧版本的 Jarvis 是用 Python 构建的。
最后的 Python 版本提交可以在[这里](https://github.com/Priler/jarvis/tree/943efbfbdb8aeb5889fa5e2dc7348ca4ea0b81df)找到。 ## 许可证 [Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)
有关更多详细信息,请参阅 LICENSE.txt 文件。
标签:NLU, Rust, Rustpotter, SBOM分析, STT, Svelte, Tauri, TTS, Vite, Vosk, 人工智能, 可视化界面, 唤醒词, 实验性项目, 开源, 无数据收集, 本地处理, 桌面应用, 用户模式Hook绕过, 神经网络, 离线语音, 网络安全, 网络流量审计, 语音助手, 语音合成, 语音识别, 通知系统, 通知系统, 隐私保护