Озвучка для робота-пылесоса: дайте пылесосу новый голос
Роботы-пылесосы объявляют всё подряд: начало уборки, низкий заряд, застрял, возвращаюсь на базу. Этот голос заменяют на персонажа игры, робота из фильма или голос на родном языке. Приложения производителей предлагают только официальные пакеты, но роботы с открытой прошивкой Valetudo могут загрузить ваш собственный.
В этом руководстве — как устроен голосовой пакет Dreame по данным сообщества, как озвучить каждую фразу бесплатным движком SuperClonica и как установить пакет через Valetudo.
Что нужно сначала
Для своих пакетов нужен робот с Valetudo — прошивкой без облака, которая заменяет облако производителя и требует рутования робота. Рут вы делаете на свой риск, он может повлиять на гарантию; поддерживаемые модели смотрите в документации Valetudo. Это руководство опирается на пакеты сообщества для роботов Dreame; автор одного из них пишет, что пакет работает как минимум на L10 Pro, Z10 Pro, W10 и D9. У роботов Roborock другой формат пакетов.
Список фраз
Проект сообщества ccoors/dreame_voice_packs публикует sound_list.csv: 187 звуковых файлов с номерами вместо имён, у каждого своя английская фраза, например 7.ogg — «Start cleaning.» (начинаю уборку); 0.ogg — звук включения. Переведите фразы, если нужен другой язык, а имена файлов оставьте ровно такими же.
Озвучьте каждую фразу
Поставьте бесплатный движок командой python -m pip install superclonica-cpu и в Python после import csv, from superclonica import Superclonica and tts = Superclonica(), then for name, text in csv.reader(open("sound_list.csv", encoding="utf-8")): audio, rate = tts.synthesize(text, voice="voice.json", lang="ru", seed=7); tts.save(name.replace(".ogg", ".wav"), audio). Фиксированный seed сохраняет один голос во всех файлах. Для звука включения оставьте короткую мелодию или запишите смешную фразу. Затем переведите каждый файл в Ogg с частотой 16 кГц, как делают пакеты сообщества, например ffmpeg -i 7.wav -ar 16000 -ac 1 -c:a libvorbis 7.ogg.
Упакуйте и установите через Valetudo
Упакуйте файлы командой tar czf voice_pack.tar.gz *.ogg, запишите MD5-хеш и размер в байтах и выложите архив по веб-адресу, доступному роботу. В Valetudo откройте Robot Settings, затем Misc Settings, и заполните раздел Voice packs: URL, код языка, хеш и размер файла, затем нажмите Set Voice Pack. Один автор из сообщества пишет, что на его версии загрузка оставила папку пустой и помогло ручное копирование файлов, так что проверьте заметки для своей модели.
Выберите голос
Попробуйте голоса бесплатно на их страницах с фразой на 30–100 символов, без регистрации: персонаж игры или фильма — для смеха, спокойный диктор — для тихого дома. Сообщения о низком заряде и ошибках должны быть понятны с другого конца комнаты. Большинство голосов каталога записаны на русском, так что русская озвучка звучит естественно. Движок говорит на 31 языке; китайский пока не поддерживается. Голоса персонажей в каталоге — фанатские, распространяйте пакеты как фанатские работы.