yovoice CLI
Локальный синтез речи для агентов: команда и скилл озвучивают текст, клонируют голос по записи и собирают музыку из партитуры без облака и платы за символы
- 1 968 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Скачивает из сети движок и модели размером в гигабайты и запускает их на вашем компьютере
- Читает ваши записи голоса и пишет аудио и данные в `~/.yovoice`
- Режим `yovoice serve --listen 0.0.0.0:8080` открывает сервис по сети, один общий токен дает доступ ко всем сохраненным голосам и аудио
Установка
- Работает в
Ручная установка
yovoice setupСкачивает движок audio.cpp v0.9.1: на Mac с Metal, в Windows и Linux на процессоре. Другой вариант выбирается ключом `--backend`.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Скачивает из сети движок и модели размером в гигабайты и запускает их на вашем компьютере
- Читает ваши записи голоса и пишет аудио и данные в `~/.yovoice`
- Режим `yovoice serve --listen 0.0.0.0:8080` открывает сервис по сети, один общий токен дает доступ ко всем сохраненным голосам и аудио
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
yovoice — открытая локальная студия озвучки и музыки, и для агентов в ней есть автономная команда `yovoice` и скилл `skills/yovoice`. Команда работает без настольного приложения на macOS с Apple Silicon, Windows x64 и Linux x64. `yovoice setup` скачивает движок audio.cpp v0.9.1, `yovoice models download` ставит выбранную модель, а `yovoice generate` превращает текст из `--text` или `--text-file` в файл WAV. Голос задается записью-образцом (`--reference`, от 1 до 60 секунд, до 20 МБ) или сохраненным голосом (`--voice`); часть моделей умеет собирать голос по текстовому описанию и держит встроенные голоса. Скилл учит агента порядку работы: проверить `yovoice --help` и `yovoice status --json`, узнать настоящие идентификаторы моделей и голосов через `yovoice models list --json` и `yovoice voices list --json`, положить длинный текст в файл UTF-8 и запустить генерацию. Результат приходит JSON-строкой в стандартный вывод с абсолютным путем и длительностью, ход работы идет в поток ошибок. Текст скилла написан по-китайски. Те же возможности агент получает по MCP: `yovoice mcp` запускается подпроцессом по stdio, а `yovoice serve` поднимает HTTP API и MCP-сервис для других машин с токеном не короче 32 символов. Отдельная команда `yovoice score render` собирает музыку из JSON-партитуры или MIDI с помощью звукового банка General MIDI и сохраняет общий файл и дорожки по отдельности.
Для кого. Для разработчиков и авторов контента, которым нужно озвучить текст, сделать закадровый голос или фоновую музыку из агента, не отправляя тексты и записи голоса в облачный сервис.
Подходит, если
- Агенту поручено озвучить статью или сценарий из текстового файла голосом из записи-образца
- Нужен голос по словесному описанию без записи образца (модели VoxCPM2 и Qwen3-TTS VoiceDesign)
- Из заметок нужно собрать фоновую музыку: партитура в JSON или MIDI превращается в WAV и отдельные дорожки
- Генерацию нужно вынести на другую машину с видеокартой и подключать к ней агента по HTTP или MCP
Не подходит, если
- Нужна озвучка в реальном времени потоком: каждая модель сначала создает файл целиком, потокового режима нет
- Нужны песни со словами через команду `generate`: модели музыки ACE-Step и YuE2 работают только в настольном приложении
- Компьютер не подходит: поддерживаются macOS на Apple Silicon, Windows x64 и Linux x64, пакета для Linux ARM64 нет
- Модель нужно подставить свою: ставятся только модели из списка yovoice, импорта локального GGUF нет
Пример запроса к агенту
Озвучь текст из narration.txt голосом из записи voice.wav, спокойным тоном, и сохрани результат как narration.wavОграничения
- Лицензия Apache-2.0 относится к коду, у моделей свои условия: веса OmniVoice, YuE2 и Breeze TTS 2 разрешено использовать только в некоммерческих целях, OmniVoice выпущена под CC-BY-NC. Клонируйте только голоса, на использование которых у вас есть разрешение.
- Каталог данных `~/.yovoice` в каждый момент занимает одно приложение, одна команда или один сервер; при открытом приложении используйте `--data-dir` или его локальный API. Сервер выполняет одну загрузку или генерацию за раз, при занятости отвечает 409 без очереди и хранит записи о последних 100 задачах только в памяти.
- Результат сохраняется только в WAV и не перезаписывает существующий файл; каждая команда `generate` заново загружает модель.
- Модели занимают от 1,35 до 8,08 ГБ и по умолчанию скачиваются с ModelScope, источники `--source huggingface` и `--source mirror` выбираются отдельно. Для Windows и Linux движок по умолчанию работает на процессоре, видеокартам нужны совместимые драйверы.
- Автор не обещает фиксированный результат: эмоции зависят от модели, текста и образца. Скилл просит не заявлять, что качество проверено, пока озвучка не прослушана.
Как отключить. Команды удаления в документации нет. Уберите папку скилла из каталога скиллов агента и запись `yovoice` из MCP-настроек, затем удалите папку, куда распаковали архив команды, и ее путь из PATH. Модели, голоса и аудио остаются в `~/.yovoice` и удаляются вручную.
Частые вопросы
Нужно ли настольное приложение, чтобы озвучить текст из агента?
Нет. Команда `yovoice` автономна, в архив входит конвертер звука, поэтому отдельные FFmpeg, Python и Go не нужны. Движок и модели скачиваются отдельно командами `yovoice setup` и `yovoice models download`.
Какие записи подходят как образец голоса?
Длиной от 1 до 60 секунд и размером до 20 МБ. Принимаются WAV, MP3, M4A/AAC, FLAC, OGG/Opus, AIFF, WMA и WebM, конвертация идет автоматически. Голос можно сохранить командой `yovoice voices import voice.wav --name Narrator` и дальше брать по `--voice`.
Умеет ли yovoice озвучивать на русском?
У моделей Qwen3-TTS параметр языка принимает значение ru, VoxCPM2 определяет язык по тексту среди 30 поддерживаемых. IndexTTS 2.5 заявляет китайский, английский, японский, испанский и арабский, русского в этом списке нет.
Как подключить yovoice к Claude Code или Cursor как MCP-сервер?
Добавьте в настройки MCP запись `{"mcpServers": {"yovoice": {"command": "yovoice", "args": ["mcp"]}}}`. Клиент сам запустит подпроцесс по stdio, токен и порт не нужны. Если исполняемого файла нет в PATH, укажите полный путь.
Что делает `yovoice serve` и как его защитить?
Команда поднимает HTTP API и MCP на адресе `127.0.0.1:8080` по умолчанию. Токен берется из переменной `YOVOICE_API_TOKEN` и должен быть не короче 32 символов. Вне доверенной сети включайте HTTPS ключами `--tls-cert` и `--tls-key`. Описание запросов лежит на странице `/docs/` запущенного сервера.
Можно ли получить песню командой генерации?
Нет. ACE-Step и YuE2 работают только в настольном приложении, `generate` их не поддерживает. Для музыки в командной строке служит `yovoice score render`, которая рендерит партитуру через звуковой банк `musescore-general-sf2`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыДесять скиллов от ElevenLabs: озвучка текста, расшифровка, голосовые агенты, звуковые эффекты, музыка, дубляж и очистка голоса через API
Скилл учит агента собирать видео с закадровой озвучкой через narrator-ai-cli: поиск ролика, шаблон, музыка, голос, текст и монтаж
MCP-сервер голосового API SaluteSpeech от Сбера: записывает речь с микрофона, распознает ее и озвучивает ответ агента
Скилл пишет промпты для генерации видео, картинок и музыки на 14 платформах и по желанию отправляет их в браузере
Набор скиллов, CLI и MCP-сервер, чтобы Claude Code или Codex делали видео по описанию: монтаж, графика, озвучка и субтитры
Скилл для Cursor, Claude Code и Codex: по названию продукта или ссылке собирает 4K-ролик с музыкой, озвучкой и проверкой
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| yovoice (эта запись) | нет | 1 968 | ||
| VoiceMode | да | не нужна | 1 427 | голосовой разговор с Claude Code: распознавание и синтез речи, локально или через облако |
| ElevenLabs Skills | да | 516 | озвучка, расшифровка и музыка через облачный API ElevenLabs | |
| MCP SaluteSpeech | да | API-ключ | 9 | MCP-сервер облачного голосового API SaluteSpeech от Сбера |
Из блога
Коротко о README
В репозитории лежат настольное приложение (папки `desktop` и `web`), сервис на Go (`cmd` и `internal`), скилл `skills/yovoice` со справочниками по моделям, аудио, партитурам и удаленному доступу, документация по команде, API, моделям, партитурам и разработке, журнал изменений и список сторонних лицензий. Описание на английском и китайском перечисляет возможности, таблицу моделей, пакеты установки для macOS и Windows и пример запроса агенту.
Бейдж для README
Исходный SKILL.md
--- name: yovoice description: 使用 yovoice 本地 CLI 或远程 HTTP API/MCP 生成语音,用于配音、旁白、朗读、声音设计和音色克隆;也可写乐谱渲染配乐。无需桌面 App。 --- # yovoice 配音 ## 选择运行方式 - 用户指定远程服务或已有可用的 yovoice MCP 连接时,优先复用该服务,阅读[远程调用参考](references/remote.md)。客户端无需安装 CLI、引擎或模型。 - 使用本地推理时,按下方流程准备 CLI。用户明确选择的运行方式优先;远程连接失败时先核对地址和认证,不擅自改用本地或安装模型。 - 模型与音色 ID 来自所选服务或本地实例,不能跨实例直接复用。 ## 本地 CLI 使用 `yovoice --help` 检查命令是否可用,再运行 `yovoice status --json`。CLI 独立运行,无需安装桌面应用或开发环境。 ## 安装 CLI 命令不可用时,从 [GitHub Releases](https://github.com/leemysw/yovoice/releases) 下载对应平台的独立 CLI 压缩包。文件名中的 `<版本>` 为 Release 标签,例如 `v0.1.0`。 | 平台 | 安装包 | 可执行文件 | | --- | --- | --- | | macOS · Apple Silicon | `yovoice-<版本>-cli-macos-arm64.zip` | `yovoice` | | Windows · x64 | `yovoice-<版本>-cli-windows-x64.zip` | `yovoice.exe` | | Linux · x64 | `yovoice-<版本>-cli-linux-x64.zip` | `yovoice` | 完整解压并保留同级 `tools/` 目录,将可执行文件所在目录加入用户 PATH,重新启动 Agent,再执行 `yovoice --version` 验证安装。也可通过可执行文件的绝对路径调用。压缩包包含本 Skill;安装 Skill 不会自动安装 CLI、引擎或模型。 ## 准备 - 仅支持 Apple Silicon macOS、Windows x64 和 Linux x64。所有命令的选项放在命令及位置参数之后。 - 默认数据目录与 App 相同(`~/.yovoice`,App 中迁移过则为迁移后的位置)。如果被 App 或另一个 CLI 占用,不终止用户任务;使用用户指定的独立 `--data-dir`,所有后续命令保持同一路径。新目录需要独立准备运行时和登记模型。 - `yovoice models list --json` 查看真实模型 ID 和安装状态;`yovoice voices list --json` 查看可用音色 ID。 - 安装引擎、选择 CPU/GPU、下载或登记模型时,阅读[引擎与模型参考](references/setup.md)。 - 用户提供参考文件时用 `--reference`。常见音频格式内部自动转换;格式、时长限制和复用方式见[音频参考](references/audio.md)。IndexTTS 需要参考音色;VoxCPM2 可无需参考音频进行声音设计,模式与参数见同一参考文档。 - 选择模型变体、内置音色、设计属性或高级生成参数时,阅读[模型能力参考](references/models.md)。Qwen Base、CustomVoice、VoiceDesign 的输入不同,不混用参考音频、内置说话人和设计描述。 ## 生成 把长正文写入 UTF-8 文件,避免 shell 转义和命令行长度问题。例如: ```sh yovoice generate --text-file narration.txt --reference voice.wav --model index-2.5-q8 --language zh --speed 1 --output narration.wav --json ``` 已有音色改用 `--voice ID`,与 `--reference` 互斥。IndexTTS 需要情绪指导时添加 `--emotion-text "温柔、平静"`;效果受模型、文本和参考音频影响,不承诺固定效果。仅在用户需要时调节参数,默认沿用参考音色。不要使用不存在的预设参数。 命令阻塞到完成,进度在 stderr,stdout 只有最终 JSON;失败返回非零退出码,错误 JSON 在 stderr。Ctrl-C 取消当前命令并清理引擎,不提供跨进程取消命令。不要因首次模型加载慢反复启动任务。 成功后使用 JSON 的绝对 `path` 和 `duration` 交付音频;能够播放时展示播放器。没有实际试听,不宣称音质验证通过。参数错误先修正,下载或推理失败保留错误和日志线索,不无条件循环重试。输出文件默认拒绝覆盖,重新生成使用新文件名。 ## 编曲配乐 用户需要配乐、垫底音乐或把 MIDI 渲染为音频时,阅读[编曲参考](references/score.md):写乐谱 JSON,用 `yovoice score render` 渲染混音和分轨。