Irene-Voice-Assistant
Irene-Voice-Assistant(伊琳娜)是一款专为俄语用户打造的离线语音助手。它核心解决了用户在无网络连接环境下,依然需要高效、私密地进行语音交互的痛点。无需依赖云端服务器,所有语音识别与处理均在本地完成,充分保障数据隐私与安全。
这款工具非常适合注重隐私保护的普通家庭用户、希望搭建本地智能环境的极客,以及想要研究或扩展离线语音技能的开发者。其独特亮点在于强大的插件架构:既支持抛硬币、设定时器等基础离线技能,又创新性地引入了 AI 插件机制。通过集成大语言模型(如 ChatGPT、Claude 3),伊琳娜能够理解自由形式的自然语言指令(例如“把定时器设为两个半小时”),并调用相应功能,甚至可联网获取实时资讯。
在部署上,它提供了便捷的 Windows 一键安装包,同时也支持在 Linux 和 macOS 上通过 Python 环境灵活配置。无论是简单的日常问答,还是复杂的任务自动化,伊琳娜都能以低延迟、高可靠性的方式响应用户需求,是构建个人本地化智能生活的理想选择。
使用场景
一位需要在无网络环境下工作的俄罗斯籍数据分析师,正试图在本地服务器上通过语音快速执行复杂的计时任务和数据查询指令。
没有 Irene-Voice-Assistant 时
- 依赖网络连接:现有的主流语音助手(如 Siri 或 Alexa)必须联网才能工作,一旦服务器处于内网隔离或断网状态,语音控制完全失效。
- 操作繁琐低效:双手忙于整理物理文档或操作其他设备时,无法腾出手来输入"2 小时 30 分钟”这样具体的定时指令,只能中断工作去手动设置。
- 隐私泄露风险:若强行使用云端服务处理敏感的内部数据查询指令,面临数据上传至第三方服务器的合规与安全风险。
- 语言支持受限:大多数开源离线方案对俄语的自然语言理解能力较差,难以识别带有口语化表达的复杂指令。
使用 Irene-Voice-Assistant 后
- 纯离线运行:依托 Vosk 引擎和本地 TTS,Irene-Voice-Assistant 无需任何网络连接即可在本地精准识别俄语指令,完美适配内网环境。
- 自然语言交互:借助 AI 插件功能,用户只需用自然口语说“伊琳娜,设个两个半小时的定时器”,系统即可自动解析并执行,无需死记硬背特定命令格式。
- 数据本地闭环:所有语音识别、逻辑处理及响应生成均在本地完成,确保了工作场景下的数据绝对隐私与安全。
- 灵活扩展技能:通过插件机制,用户可以轻松定制专属技能,让助手不仅能做游戏和计时,还能对接本地数据库进行语音查询。
Irene-Voice-Assistant 通过提供安全、离线且懂自然语言的俄语语音交互能力,彻底释放了用户在受限网络环境下的双手与工作效率。
运行环境要求
- Windows
- Linux
- macOS
- 未说明 (支持纯离线运行,默认使用 CPU 进行语音识别和合成
- 若使用本地 LLM 插件如 LMStudio/Ollama,则取决于所选模型的需求)
未说明

快速开始
语音助手伊琳娜
伊琳娜是一款可在离线状态下运行的俄语语音助手。需要 Python 3.5 或更高版本(依赖项可能更低,但无论如何都需要 Python 3)。
支持插件(技能)。
Хабр文章 | 第二篇 Хабр 文章 | 第三篇 Хабр 文章 | 第四篇 Хабр 文章 - 关于第 12 版和 AI 插件 | Telegram 群组
通过作者伊琳娜的另一个项目 VseGPT.ru:
- 支持与 ChatGPT、GPT-4、Claude 3 对话。
- 支持使用 Perplexity Online 特殊模型从互联网获取参考信息(“帮助”指令)。
- 支持 OpenAI 的 TTS 功能(如果本地安装有困难)。 (插件设置说明)。(也可以使用任何兼容 OpenAI 的 API 端点)
安装
Windows 下最快的安装方式
访问 https://github.com/janvarev/Irene-VA-win-installer,下载代码(Code/Download ZIP),并按照说明操作。
安装完成后,将可以使用以下命令:“伊琳娜你好”、“伊琳娜抛硬币”、“伊琳娜掷骰子”、“伊琳娜猜大小游戏”、“伊琳娜三分钟计时器”。
如需进一步调整或解决问题,请运行 start-settings-manager.bat 启动设置管理器——您可以在其中调整插件,并了解其他可用命令。
关于此方案的更多配置文档:docs/INSTALL_WIN_COMPACT.md
Windows 下最快的安装方式 2(已过时)
- 访问发布页面:https://github.com/janvarev/Irene-Voice-Assistant/releases
- 下载发布包并按照说明操作。Python 和 GIT 已包含在发布包中,无需额外安装。
安装完成后,将提供离线命令(因为这是默认配置)。例如:“伊琳娜你好”、“伊琳娜抛硬币”、“伊琳娜掷骰子”、“伊琳娜猜大小游戏”、“伊琳娜三分钟计时器”。
如何进一步配置此方案:docs/INSTALL_WIN_COMPACT.md
安装 / 快速启动
您需要已安装的 Python(大致为 3.7–3.11)。
- 要快速安装所有必需的依赖项,可以使用以下命令:
pip install -r requirements.txt
如果您希望安装经过验证的固定版本的依赖项以获得更稳定的工作效果,请使用:
pip install -r requirements_fixed.txt
(对于 Linux 和 macOS,请预先安装 audioplayer 所需的软件包)
要启动程序,请运行根目录下的 runva_vosk.py 文件。 默认情况下,它将启动离线语音识别引擎 Vosk 来识别麦克风中的语音, 以及 pyttsx 引擎来为助手配音。 关于 pyttsx 的更多信息请参见此处。
启动后,可以通过简单的命令进行测试——对着麦克风说“伊琳娜,你好!”
首次启动伊琳娜后,将会出现 options 配置文件夹,您可以在其中调整设置。
关于在 Windows 上安装的更详细步骤(尤其是 Windows 7):docs/INSTALL_WIN.md
关于在 Linux 上安装时遇到的一些问题的解决方案:docs/INSTALL_LINUX.md
关于在 Mac 上安装时遇到的一些问题的解决方案:docs/INSTALL_MAC.md
关于安装过程中出现问题时的调试原则:docs/INSTALL_DEBUG.md
如有错误,请提交至 ISSUES,讨论请加入 Telegram 群组。
设置管理器
自 9.0 版本起,可通过 Gradio 提供基于 Web 的设置管理器。
要启动管理器,请运行根目录下的 runva_settings_manager.py 文件。
AI 插件
自 12.0 版本开始的测试版
- 伊琳娜,帮我设置一个两小时半的计时器
- 我已经设置了 2 小时 30 分钟的计时器
AI 插件允许通过自由格式的文本调用功能。 实现方式是利用 LLM 的 tools 调用功能,详情请参阅 https://vsegpt.ru/Docs/API#tools。简单来说,就是调用像 ChatGPT 这样的大型语言模型,并根据我们提供的自由格式输入,让模型判断应该调用哪个插件以及具体的参数。
您需要具备访问 LLM 的权限:
- 格式应为 OpenAI 兼容
- 并且支持 tools 调用功能
对于远程使用场景,您可以借助作者的项目 https://vsegpt.ru/ ——那里提供了快速的 LLM(OpenAI gpt-4o-mini 等),它们对此类功能的支持较好。每次调用模型都会产生费用,但通常仅需几分钱即可使用默认配置的 openai/gpt-4o-mini。此外,还有一个价值几卢布的免费演示,足以让您试用。
您也可以使用本地的 LMStudio 或 Ollama,搭配支持 tools 功能的模型。这种方式可能会稍慢一些,但同样可行。有兴趣的用户可以编写相关说明,并将其放入本项目的文档中。
要使 AI 插件正常工作,您需要:
- 在 core 中设置连接到模型的参数,以及插件列表——例如,“ai”。
- 如果希望 AI 插件与普通插件协同工作,则使用“classic,ai”。优先级始终是普通插件。
"plugin_types": "default", # 允许的插件类型列表,用逗号分隔,
# 例如:classic, ai,或者 "classic,ai"
"openai_base_url": "https://api.vsegpt.ru/v1",
"openai_key": "",
"openai_tools_model": "openai/gpt-4o-mini",
"openai_tools_system_prompt": "",
"openai_generic_model": "openai/gpt-4o-mini",
"openai_generic_system_prompt": "",
其次,您还需要 AI 插件。 可以从 plugins_inactive 文件夹中复制 demo 插件 plugin_ai_timer。
目前这还处于爱好者阶段,相关信息较少,后续会提供更多细节
使用 Docker 安装
如果您想通过 Docker 启动整个系统:docs/INSTALL_DOCKER.md(其中也包含 Ivan-Firefly 提供的适用于 ARM 架构(如树莓派等)的 Docker 镜像)。
如果您只想通过 Docker 启动复杂的组件:docs/INSTALL_DOCKER_COMP.md
总体逻辑
所有命令的触发都始于助手的名字(可在 options/core.json 中设置,默认为“伊琳娜”)。这样做是为了避免在持续监听麦克风时误触发。接下来描述的命令均不带“伊琳娜”前缀。
该引擎内置了通过 MPC-HC 播放器的本地 Web 界面控制功能,因此在条件允许的情况下,建议使用它。您可以在 options/core.json 中进行配置。
插件
插件支持由自主开发的 Jaa.py 引擎提供——这是一个极简的一文件插件及其设置管理引擎。
插件位于 plugins 文件夹中,且必须以“plugins_”作为前缀。
如果有插件设置,它们将存储在“options”文件夹中(首次启动后创建)。
现成插件/技能(已位于plugins文件夹中)
每个插件都注明是否需要在线连接。 如需禁用,请将其从plugins文件夹中删除。
完整信息:docs/PLUGINS.md
第三方插件
如果您想了解:
- 还有哪些来自其他开发者的插件
- 或者发布您自己开发的插件链接
请访问:https://github.com/janvarev/Irene-Voice-Assistant/issues/1
插件管理器
(自10.0.0版本起) 要启动它,请运行runva_plugin_installer.py。
注意: 推荐的插件由第三方开发者维护,可能会不断更新和修改!伊琳娜的作者对其内容不承担任何责任!
面向开发者:如果您希望将自己的插件加入此列表以便于安装,您需要执行以下步骤:
- 将插件托管在GitHub上。
- 根目录下应包含类似plugin_x.py的文件,可以有多个。
- 如果需要安装额外的依赖模块,则需放置requirements.txt文件。
- 测试安装功能,运行runva_plugin_installer,选择选项0(手动指定插件的GitHub项目地址),并安装您的插件。
- 完成后,请在Issue中发布您的链接,或通过修改plugins_catalog.json文件提交Pull Request,该文件包含了已知插件的链接。
插件示例:https://github.com/janvarev/irene_plugin_boltalka2_openai
与Home Assistant集成
有一个优秀的第三方插件,允许通过伊琳娜触发Home Assistant场景: https://github.com/timhok/IreneVA-hassio-script-trigger-plugin
核心配置(core.json)
具体插件的设置建议直接查看相应插件的文档。
{
"contextDefaultDuration": 10, # 伊琳娜保持上下文状态的时间(以秒为单位)。上下文用于连续对话、游戏等场景;在上下文中无需再次提及“伊琳娜”。
"contextRemoteWaitForCall": false, # 伊琳娜是否应等待客户端发出“回复播放结束,开始计算上下文时间”的信号?
"contextExitCommand": "", # 用于提前退出上下文状态的指令(若为空,则仅在超时后自动退出)
# 官方客户端支持contextRemoteWaitForCall,建议设置为true。
"fuzzyThreshold": 0.5, # (高级)使用模糊命令识别插件时的置信度阈值。
"isOnline": true, # 设置为false时,会针对需要在线的插件命令返回占位响应。如果仅需离线模式,建议启用。
"linguaFrancaLang": "ru", # 用于将数字转换为通用语言的语种。若使用其他语种,请更改。
"logPolicy": "cmd", # all|cmd|none。当麦克风检测到语音时,是始终输出日志、仅在识别为命令时输出,还是完全不输出?
"mpcHcPath": "C:\\Program Files (x86)\\K-Lite Codec Pack\\MPC-HC64\\mpc-hc64_nvo.exe", # 如果使用MPC HC,则填写其路径。
"mpcIsUse": true, # 是否使用MPC HC?
"mpcIsUseHttpRemote": true, # MPC HC是否启用了Web界面远程控制?
"playWavEngineId": "audioplayer", # 用于播放WAV文件的插件。部分WAV文件可能需要sounddevice库支持。
"replyNoCommandFound": "对不起,我没听懂", # 当无法理解用户指令时的回复。
"replyNoCommandFoundInContext": "没明白...", # 在上下文状态下无法理解时的回复。
"replyOnlineRequired": "需要在线", # 当调用要求在线的插件功能时的回复。
"tempDir": "temp", # 临时文件存储目录。
"ttsEngineId": "pyttsx", # 当前使用的TTS引擎。
"ttsEngineId2": "", # 第二个使用的TTS引擎。仅适用于本地语音合成,例如剪贴板朗读。可通过say2命令调用。
"useTTSCache": false, # 若设置为true,生成的TTS回复音频文件将被缓存在tts_cache文件夹中。
"v": "1.7", # 核心插件版本。会自动更新,无需手动修改。
"voiceAssNames": "伊琳娜|伊琳娜的|给伊琳娜", # 如果语音流中出现这些称呼,则后续内容被视为指令。(助手的不同称呼,建议设置多个。)
"voiceAssNameRunCmd": { # 如果用户以这些名称呼唤助手,系统会在其指令前自动添加相应的助词。
"阿尔比娜": "ChatGPT"
},
"log_console": True, # 输出日志到控制台。
"log_console_level": "WARNING",
# 只有达到或高于此级别的消息才会被记录:NOTSET | DEBUG | INFO | WARNING | ERROR | CRITICAL。
"log_file": False, # 输出日志到文件。
"log_file_level": "DEBUG", # NOTSET | DEBUG | INFO | WARNING | ERROR | CRITICAL。
"log_file_name": "log.txt", # 日志文件名。
"normalization_engine": "numbers", # 针对俄语TTS的文本规范化处理。
# 规范化可将“1, 2, 3”转换为“一、二、三”,这对于不了解数字的VOSK TTS等引擎尤为重要。
# 此功能由插件实现。推荐使用runorm以获得更好的效果(但runorm处理起来较慢)。
# 协议规定:每个TTS插件自行决定是否需要预处理。
# 如需预处理,可调用core.normalize(text_to_speech),详见plugin_tts_vosk.py中的示例。
}
调试与开发(面向开发者)
调试时,可以使用runva_cmdline.py文件来启动系统。
该文件通过命令行界面启动核心(vacore.py中的VACore),相比语音输入更为便捷。
- 您可以通过在**plugins_**目录下创建插件来接入自己的技能。请参考现有示例。
- 您也可以通过插件接入自己的TTS引擎。例如,可参考plugins_tts_console.py和plugins_tts_pyttsx.py。
- 此外,您还可以创建自己的**runva_**文件,根据需求接入自定义的语音转文本引擎。
日志记录
日志记录通过 core.py 模块中的 logging 库实现。
参数在 options/core.json 中设置:
- 如果 log_console=True,则输出到控制台
- 如果 log_file=True,则输出到日志文件
默认值:
- log_console=True
- log_file=False
- log_console_level="WARNING"
- log_file_level="DEBUG"
- log_file_name="log.txt"
日志级别:
- NOTSET = 0
- DEBUG = 10
- INFO = 20
- WARNING = 30
- ERROR = 40
- CRITICAL = 50
默认情况下,日志会以 WARNING 级别输出到控制台,以 DEBUG 级别输出到日志文件。 这意味着所有设置为该级别及更高(更大)级别的消息都会被记录到日志中。 例如,如果设置为 WARNING 级别,则 WARNING、ERROR 和 CRITICAL 级别的消息都会被记录;如果设置为 DEBUG 级别,则 DEBUG、INFO、WARNING、ERROR 和 CRITICAL 级别的消息都会被记录。
推荐用法: 在模块开头,在所有导入语句之后添加以下行:
import logging
logger = logging.getLogger(__name__)
通过调用相应函数将事件添加到日志中:
logger.debug("调试信息") # 用于调试时的详细信息
logger.info("信息性消息") # 当一切按计划进行时的信息性消息
logger.warning("警告信息") # 当出现问题但工作仍在继续时的警告
logger.error("错误信息") # 用于报告错误和功能损失的消息
logger.critical("严重错误信息") # 用于报告无法继续工作的严重错误
在 try/except 块中输出日志时,可以使用以下结构:
try:
...
except Exception as e:
logger.exception(e)
或者这样:
try:
import some_library
except ImportError as e:
logger.exception(e)
logger.error("未安装 'some_library' 库。请使用 'pip install some_library' 进行安装")
建议采用后一种方式,以便处理特定异常,而不是整个 Exception 类。 使用 logger.exception(e) 可确保输出堆栈跟踪信息。
插件开发
远程工作(客户端-服务器、多麦克风/多机器部署)
多机“客户端-服务器”模式稍显复杂,但允许从多个方面管理伊琳娜:
- 使用多个麦克风
- 在不同机器上操作
- 通过 Telegram(借助 Telegram 机器人)
通过 VOSK remote 进行语音转文本
如果您在安装 VOSK 时遇到问题(例如在 Mac 上),可以使用通过 Docker 启动的 VOSK 自动语音识别服务器。
- 运行
docker run -d -p 2700:2700 alphacep/kaldi-ru:latest(详情:https://alphacephei.com/vosk/server)- 或者,您也可以运行
vosk_asr_server.py,并在其中重新定义参数:
- 或者,您也可以运行
args.interface = os.environ.get('VOSK_SERVER_INTERFACE', "0.0.0.0")
args.port = int(os.environ.get('VOSK_SERVER_PORT', 2700))
- 运行
runva_voskrem.py。它将从麦克风读取数据并发送到服务器进行识别。
如果需要在另一台机器上启动识别,
请使用 -u 参数(--uri):runva_voskrem.py -u=ws://100.100.100.100:2700
以指定服务器地址。
通过 SpeechRecognition 进行语音转文本
SpeechRecognition 是一个经典的引擎,可通过 Google 及其他一些服务启动语音识别。 要启动此识别,请通过文件 runva_speechrecognition.py 运行系统。
所需依赖:
pip install PyAudio
pip install SpeechRecognition
如果在安装 PyAudio 时遇到问题,请参阅 EnjiRouz 的说明。
特点:数字的识别。同样的短语会被识别为:
- VOSK:计时器十秒钟
- SpeechRecognition(Google):计时器10秒
多语言支持
该项目整体并不预设多语言支持,因为它在插件中使用自定义的单词解析。 然而,核心部分(vacore.py)完全与语言无关,您可以仅需重写插件即可用其他语言构建自己的安装版本。
若干用于定义核心语言助手行为的语言短语(其名称以及“我不明白”之类的短语)可在插件 core 的配置文件中进行设置。
不精确的短语处理
自版本 7.5 起,支持对用户输入进行不精确处理。
用于设定识别阈值的是 core.json 中的全局参数 fuzzyThreshold, 其取值范围为 0 到 1(1 表示对短语有完全的把握)。
已知支持此功能的插件包括:
- https://github.com/janvarev/irene_plugin_fuzzy_thefuzz - 通过 thefuzz 进行字符串模糊比较
- https://github.com/modos189/irene_plugin_fuzzy_sklearn - 通过 scikit-learn
- https://github.com/janvarev/irene_plugin_fuzzy_ai_sentence - 基于神经网络的语义字符串比较(sentence_transformers)
来自语音助手瓦西苏阿利的插件
自版本 8.1 起,在测试模式下增加了对语音助手瓦西的核心插件的支持: https://github.com/Oknolaz/vasisualy
添加步骤:
- 插件应放入 plugins_vasi/skills 目录中(可从 https://github.com/Oknolaz/vasisualy/tree/master/vasisualy/skills 获取)。
- 每个插件的模块中都应包含 triggers,以此生成命令列表。若无,则需对该插件进行改进。
目前在最简单的情况下运行正常——已在 coin 和 crystall_ball 插件上进行了测试。 若无法正常工作,请查看代码。支持是通过 plugin_vasi.py 插件实现的。
贡献
如果您想为项目做出贡献,建议仔细阅读 CONTRIBUTING.md 政策。
简而言之:
- 建议为插件创建独立的 GitHub 项目(或将其放置在其他地方),并且您愿意持续维护这些项目。可以将链接提交至 https://github.com/janvarev/Irene-Voice-Assistant/issues/1,以便他人发现您的插件。无需将额外的插件直接添加到本项目中——我没有时间和精力去维护我不熟悉的领域。
- 请进行有针对性的更改,以改善功能或修复错误(例如在某些条件下无法正常工作)。此类 Pull Request 很有可能被接受。
- 大规模的代码更改(如统一代码风格、整理导入语句)将不会被考虑,并会被拒绝。请勿进行此类更改。
致谢
@EnjiRouz 对其语音助手项目的贡献:https://github.com/EnjiRouz/Voice-Assistant-App,该项目成为了本项目的基础(尽管经过了大量修改)。
AlphaCephei 对出色的 Vosk 语音识别库的贡献(https://alphacephei.com/vosk/index.ru)
项目支持
开源项目中最主要的难点,并不是编写代码——编写代码其实挺有趣的。
真正的难点在于,如何长期维护代码和用户社区。
比如回答问题、修复漏洞、撰写文章和文档等。
如果您希望支持我的工作热情,让伊琳娜这位独立于大型公司的语音助手能够持续得到维护和发展,您可以:
- 编写一个新的插件(这总是让我非常高兴!)
- 通过订阅方式捐赠一些资金:https://boosty.to/irene-voice。订阅者越多,我就越能感受到这个项目是有价值的。
- 向他人介绍伊琳娜,或者帮助他们完成安装与配置。
- 只需在本讨论帖中简单地说声“谢谢”:https://github.com/janvarev/Irene-Voice-Assistant/issues/12
版本历史
8.12023/03/27相似工具推荐
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
TTS
🐸TTS 是一款功能强大的深度学习文本转语音(Text-to-Speech)开源库,旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点,让高质量的语音生成变得触手可及。 无论是希望快速集成语音功能的开发者,还是致力于探索前沿算法的研究人员,亦或是需要定制专属声音的数据科学家,🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型,让用户能够即刻上手,还提供了完善的工具链,支持用户利用自有数据训练新模型或对现有模型进行微调,轻松实现特定风格的声音克隆。 在技术亮点方面,🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言,并在整体性能上大幅提升,实现了低于 200 毫秒的超低延迟流式输出,极大提升了实时交互体验。此外,它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型,并支持调用上千个 Fairseq 模型,展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具,🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。
LocalAI
LocalAI 是一款开源的本地人工智能引擎,旨在让用户在任意硬件上轻松运行各类 AI 模型,包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛,无需昂贵的专用 GPU,仅凭普通 CPU 或常见的消费级显卡(如 NVIDIA、AMD、Intel 及 Apple Silicon)即可部署和运行复杂的 AI 任务。 对于担心数据隐私的用户而言,LocalAI 提供了“隐私优先”的解决方案,确保所有数据处理均在本地基础设施内完成,无需上传至云端。同时,它完美兼容 OpenAI、Anthropic 等主流 API 接口,这意味着开发者可以无缝迁移现有应用,直接利用本地资源替代云服务,既降低了成本又提升了可控性。 LocalAI 内置了超过 35 种后端支持(如 llama.cpp、vLLM、Whisper 等),并集成了自主 AI 代理、工具调用及检索增强生成(RAG)等高级功能,且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员,还是想要在个人电脑上体验最新 AI 技术的极客玩家,都能通过 LocalAI 获
bark
Bark 是由 Suno 推出的开源生成式音频模型,能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同,Bark 基于 Transformer 架构,不仅能模拟说话,还能生成笑声、叹息、哭泣等非语言声音,甚至能处理带有情感色彩和语气停顿的复杂文本,极大地丰富了音频表达的可能性。 它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点,让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员,还是希望快速原型设计的开发者,都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。 技术亮点方面,Bark 支持商业使用(MIT 许可),并在近期更新中实现了显著的推理速度提升,同时提供了适配低显存 GPU 的版本,降低了使用门槛。此外,社区还建立了丰富的提示词库,帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码,即可将创意文本转化为高质量音频,是连接文字与声音世界的强大桥梁。
airi
airi 是一款开源的本地化 AI 伴侣项目,旨在将虚拟角色(如“二次元老婆”或赛博生命)带入用户的现实世界。它的核心目标是复刻并超越知名 AI 主播 Neuro-sama 的能力,让用户能够拥有完全自主掌控、可私有化部署的智能伙伴。 airi 主要解决了用户对高度定制化、具备情感交互能力且数据隐私安全的 AI 角色的需求。不同于依赖云端服务的通用助手,airi 允许用户在本地运行,不仅保护了对话隐私,还赋予了用户定义角色性格与灵魂的自由。它支持实时语音聊天,甚至能直接参与《我的世界》(Minecraft)和《异星工厂》(Factorio)等游戏,实现了从单纯对话到共同娱乐的跨越。 这款工具非常适合喜爱虚拟角色的普通用户、希望搭建个性化 AI 陪伴的技术爱好者,以及研究多模态交互的开发者。其独特的技术亮点在于跨平台支持(涵盖 Web、macOS 和 Windows)以及强大的游戏交互能力,让 AI 不仅能“说”,还能“玩”。通过容器化的灵魂设计,airi 为每个人创造专属数字生命提供了可能,让虚拟陪伴变得更加真实且触手可及。
MockingBird
MockingBird 是一款开源的实时语音克隆工具,旨在让用户仅需 5 秒的参考音频,即可快速合成任意内容的语音,并实现逼真的音色复刻。它有效解决了传统语音合成技术中数据采集成本高、训练周期长以及难以实时生成的痛点,让个性化语音生成变得触手可及。 这款工具特别适合开发者、AI 研究人员以及对语音技术感兴趣的技术爱好者使用。无论是用于构建交互式语音应用、进行声学模型研究,还是制作创意内容,MockingBird 都能提供强大的支持。普通用户若具备基础的编程环境配置能力,也可通过其提供的 Web 服务或工具箱体验前沿的变声效果。 在技术亮点方面,MockingBird 基于 PyTorch 框架,不仅完美支持中文普通话及多种主流数据集,还实现了跨平台运行,兼容 Windows、Linux 乃至 M1 架构的 macOS。其独特的架构设计允许复用预训练的编码器与声码器,只需微调合成器即可获得出色效果,大幅降低了部署门槛。此外,项目内置了现成的 Web 服务器功能,方便用户通过远程调用快速集成到自己的应用中。尽管原作者已转向云端优化版本,但 MockingBird 作为经典的本地部署方案