Озвучка для локальных LLM и чат-ботов
Языковая модель на вашем компьютере, через Ollama, llama.cpp или LM Studio, сохраняет разговоры приватными. Отправлять её ответы в облачный сервис синтеза — значит свести это на нет. Голос тоже должен быть локальным.
Движок SuperClonica озвучивает текст офлайн на обычном процессоре или видеокарте NVIDIA, из Python или как небольшой HTTP-сервис. В этом руководстве — как подключить его к локальной модели, как сократить задержку и как сделать ответы приятными на слух.
Как устроен локальный голосовой ассистент
Каждую часть можно заменить отдельно: другая модель, другой голос — та же цепочка.
- Необязательное распознавание речи, например локальная модель Whisper, превращает ваш голос в текст.
- Языковая модель пишет ответ локально.
- SuperClonica превращает ответ в речь — тоже локально.
- Ничто не покидает компьютер, и нет оплаты ни за символы, ни за запросы.
Послушайте голос бесплатно онлайн
Прежде чем писать код, откройте страницу голоса, впишите типичный ответ от 30 до 100 символов, выберите язык и нажмите «Озвучить». Через несколько секунд вы услышите, как будет звучать ассистент, без регистрации.
Озвучивайте каждое предложение сразу
В наших замерах медиана короткой фразы — 0,12 с на RTX 5070 Ti и 0,43 с на настольном Ryzen с четырьмя потоками.
- Поставьте движок один раз: python -m pip install superclonica-cpu, или superclonica-gpu-cuda для видеокарты NVIDIA.
- Создайте движок один раз, tts = Superclonica(), и используйте повторно: загрузка занимает несколько секунд, каждая следующая фраза — доли секунды.
- Пока модель выдаёт ответ потоком, режьте его по концам предложений и озвучивайте каждое: audio, rate = tts.synthesize(sentence, voice="F1", lang="ru").
- Проигрывайте предложение, пока генерируется следующее, — аудиобиблиотекой вроде sounddevice или сохраняя и проигрывая файл.
Ответы, которые хорошо звучат
Модели любят отвечать в Markdown: звёздочки, списки, таблицы и код странно звучат вслух. Попросите модель в системном промпте отвечать короткими простыми разговорными фразами без списков и форматирования, а остатки удаляйте перед озвучкой. Движок сам читает числа словами в большинстве языков и убирает эмодзи и неизвестные символы. Для программы не на Python запустите движок как локальный HTTP-сервис, docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu, и отправляйте каждое предложение в POST /synthesize; инструментам, которые ждут OpenAI-совместимый эндпоинт речи, нужен небольшой адаптер.
Выбор голоса
Десять стандартных голосов модели, M1–M5 и F1–F5, идут с бесплатным движком и не требуют дополнительных файлов. Для личного ассистента с характером выберите голос из каталога, например один из голосов Джарвиса, и сначала проверьте его на типичном ответе. Для своего голоса или голоса члена семьи, который согласился, обучите его в студии на компьютере с видеокартой NVIDIA или закажите на бирже. Каждый голос говорит на 31 языке Supertonic 3; китайский пока не поддерживается.