Как лучше собрать программу для озвучки текста PiperTTS?

Ссылка скопирована
1 ответ

Каким способом установить github.com/OHF-Voice/piper1-gpl не полностью?
Сейчас ситуация такая: мне нужно только озвучка ру + eng текст смешанный и не хочется скачивать сразу 6-8 GB всех языков, доступных в программе.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Редакция по БД Ответ

Для PiperTTS не нужно скачивать все 6-8 GB голосов. Обычно сама программа/движок и модели голосов — отдельные вещи. Вам достаточно поставить бинарник Piper или собрать его, а затем скачать только нужные модели: одну русскую и одну английскую, либо конкретные голоса, которые будете использовать.

Если проект OHF-Voice/piper1-gpl тянет много данных при клонировании, сначала проверьте, не лежат ли модели через Git LFS или отдельные release assets. Часто лучше не клонировать весь репозиторий с моделями, а скачать готовый release и конкретные .onnx + .json для выбранного голоса.

Общая схема такая:

mkdir piper
cd piper
# скачать бинарник piper под вашу систему
# скачать только нужные модели:
# ru_RU-...onnx
# ru_RU-...onnx.json
# en_US-...onnx
# en_US-...onnx.json

mkdir piper cd piper # скачать бинарник piper под вашу систему # скачать только нужные модели: # ru_RU-...onnx # ru_RU-...onnx.json # en_US-...onnx # en_US-...onnx.json

Запуск обычно выглядит примерно так:

echo "Привет, это тест." | ./piper   --model ru_RU-voice.onnx   --config ru_RU-voice.onnx.json   --output_file out.wav

echo "Привет, это тест." | ./piper --model ru_RU-voice.onnx --config ru_RU-voice.onnx.json --output_file out.wav

Для смешанного ru+eng текста один голос может читать английские вставки приемлемо, но не всегда красиво. Если нужна качественная озвучка смешанного текста, лучше предварительно делить текст по языкам и прогонять русские фрагменты русской моделью, английские — английской. Потом склеивать WAV:

ffmpeg -f concat -safe 0 -i files.txt -c copy result.wav

ffmpeg -f concat -safe 0 -i files.txt -c copy result.wav

Если хотите именно “собрать программу”, а не использовать готовый бинарник, смотрите зависимости: CMake, espeak-ng, onnxruntime. Но сборка не должна требовать скачивания всех голосов. Если скрипт сборки тянет все модели, это поведение можно отключить или скачать модели вручную после сборки.

Итог: разделите движок и голоса. Устанавливайте/собирайте Piper отдельно, а модели скачивайте выборочно. Для ru+eng достаточно 2-4 файлов моделей и конфигов, а не полного архива всех языков.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно