Habr AI→ оригинал

Repka-Pi 4 recebe síntese de fala local com Piper e FastAPI, sem GPU e com inicialização automática

Foi montado para a Repka-Pi 4 um sintetizador de fala local baseado em Piper e FastAPI. O sistema funciona sem GPU, aceita requisições HTTP de clientes externos

◐ Слушать статью

На Repka-Pi 4 показали рабочий сценарий локального синтеза речи с использованием нейросетевого движка Piper. Даже на одноплатнике с 2 ГБ ОЗУ и без GPU плата может озвучивать текст по HTTP, автоматически запускаться при старте системы и обслуживать внешние устройства.

Почему это интересно

История здесь не про очередной облачный API, а про перенос TTS прямо на компактный локальный компьютер. Автор показывает, что современный одноплатник уже тянет не только простые скрипты, но и русскоязычный синтез речи приемлемого качества. Для сценариев, где важны приватность, автономность и работа без интернета, это критично: устройства умного дома, голосовые киоски, игрушки, локальные помощники и учебные стенды могут говорить сами, без отправки текста во внешние сервисы.

Отдельно важен контраст между двумя подходами. Лёгкий eSpeak NG почти не требует ресурсов и запускается сразу, но звучит слишком механически. Piper, напротив, использует нейросетевую модель в формате ONNX и даёт более живой голос даже без графического ускорителя.

Это делает Repka-Pi 4 не просто платой для экспериментов, а базой для реальных интерфейсов, где синтез должен быть понятным и терпимым на слух, а не только формально рабочим.

Из чего состоит решение

Практическая схема собрана из открытых компонентов, которые можно развернуть локально. В качестве базового варианта автор использует eSpeak NG, а для более качественного звука — Piper TTS. Установка Piper идёт через Python-окружение, после чего на плату загружается русскоязычная модель голоса. Дальше синтез можно запускать либо из командной строки, либо напрямую из Python, передавая текст в поток и сразу отправляя аудио на воспроизведение.

«Это голос робота из 80-х» — так в статье описан результат eSpeak NG по сравнению с

Piper. * eSpeak NG — самый лёгкий вариант для плат с жёсткими ограничениями по ресурсам.

  • Piper TTS — нейросетевой синтез на базе VITS и ONNX с заметно более естественной речью.
  • FastAPI-сервер — HTTP-интерфейс для внешних клиентов, которые отправляют текст на озвучивание.
  • Очередь и отдельный поток — механизм, который позволяет не блокировать клиента до конца синтеза. * systemd-сервис — автозапуск TTS после включения питания платы. В статье отдельно разбираются два режима работы Piper: через запись WAV-файла и через потоковый вывод без промежуточного файла. Второй вариант особенно полезен для встраиваемых сценариев, потому что убирает лишние операции с диском и ускоряет путь от текста до звука. Автор также показывает, как использовать aplay и sounddevice, и отмечает, что предупреждения о недоборе аудиобуфера или отсутствии GPU на Repka-Pi 4 не мешают получить пригодный для практики результат.

Как работает сервер Ключевая часть проекта — сервер синтеза речи на базе FastAPI.

Он поднимается на самой Repka-Pi 4, слушает HTTP-запросы и принимает текст через маршрут POST /say. После этого сервер не заставляет клиента ждать, пока фраза будет целиком озвучена. Вместо этого задача кладётся в очередь, а отдельный фоновый поток уже занимается вызовом Piper, сборкой PCM-потока и выводом звука через sounddevice.

Для систем автоматизации это удобнее, чем синхронный вызов, который подвешивает всю логику устройства. Есть и служебный маршрут GET /status: по нему можно проверить, свободен ли сервер, идёт ли сейчас воспроизведение и сколько задач уже стоит в очереди. Модель загружается один раз при старте приложения, поэтому её не нужно инициализировать на каждый запрос заново.

Для постоянной работы предусмотрен unit-файл systemd: он запускает сервис после загрузки системы, включает перезапуск при сбоях и позволяет смотреть логи через journalctl. По описанию автора, задержка до начала озвучивания составляет от одной до нескольких секунд и зависит от длины текста.

Что это значит

Практическая ценность кейса в том, что локальный голосовой интерфейс больше не требует дорогого железа или постоянной связи с облаком. Repka-Pi 4 уже можно использовать в домашних автоматизациях, терминалах, роботах и учебных проектах, а с появлением более мощных плат логично ждать более быстрый офлайн-TTS, связку синтеза с распознаванием речи и полноценные русскоязычные ассистенты, работающие целиком на устройстве. Для русскоязычного DIY-рынка это редкий пример того, как готовый стек можно быстро перенести из статьи в рабочий прототип.

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 400+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
Загружаем комментарии…