RHVoice - проблеми прі збиранні синтезатора мовлення
RHVoice це - вільний мовний синтезатор з відкритим вихідним кодом. Він підтримує такі мови як російську, американську англійську, бразильську, португальську, есперанто,
грузинську, українську, киргизьку і татарську. По звучанню напевне не є ідеальним, але голоси розбірливі й приємні на слух.
Цей голосовий синтезатор розроблений російською програмісткою Ольгою Яковлевою, та підтримується на таких операційних системах як Windows, GNU/Linux та Android. Під GNU/Linux синтезатор треба зібрати самостійно, з початкових кодів, що доставляє деякі незручності. Але я спробував і мені це вдалось, що правда не з першого разу. Тут я зібрав деяку інформацію для себе, бо може через де який час знадобиться. А то що я забуду як це я робив, так це абсолютно точно.
Як встановлювати є опис Сборка в GNU/Linux. Якщо коротко, то треба було встановити такі пакети, наприклад, як було написано в цьому пості - Летопись моей установки RHVoice (Герасим без Му-му). У автора також виникли проблеми схожі з моїми.
sudo su
apt-get install gcc g++ git pkg-config scons libao4 libao-common libao-dev
Але де які пакети у мене вже були встановлені, тому пункт з установкою пакетів вирішив не виконувати. Такі пакунки як 'gcc g++ git pkg-config scons' у мене дійсно були, я перевіряв, а от 'libao4 libao-common libao-dev' перевірку не робив тому, що в описі на цій сторінки Building on Linux (Russian) (офіційна російськомовна wiki сторінка RHVoice) було сказано що потрібно щось одне з цього 'PulseAudio, Libao, PortAudio V19', а 'PulseAudio' у мене точно є, я й не парився. І це в де якій мірі була помилка.
Звантажив початковий код у вигляді zip архіву, та за допомоги архіватора Ark розпакував, перетягнувши теку `RHVoice-master` у теку `python` по шляху `/home/oleg/python/`. Чому туди не знаю, можливо там програмувати збирався на Python
![]() |
| Звантаження початкового коду у вигляді zip архіву |
![]() |
| Розпакування архіву у вибрану теку |
Потім я відкрив теку `RHVoice-master` у консолі, за допомоги правої кнопки миші та випадаючего контекстного меню.
![]() |
| Відкриття теки у консолі за допомоги контекстного меню у Delphi |
Та ввів у консолі, послідовно, такі команди:
sudo su
#scons
#scons install
#ldconfig
#ln -s /usr/local/bin/sd_rhvoice /usr/lib/speech-dispatcher-modules
Тест по команді:
$ echo test|RHVoice-testПройдений не був, звук не зʼявився, як і файл `sd_rhvoice`. Після цього я спробував ще раз виконати установку RHVoice, але це не дало результату. Став шукати відповіді у Google.
Ось що відбувається коли повторно виконуєш команду 'scons'. Він виводить те що знайшов, або не знайшов, помічаючи це 'yes' або 'no'. Ті проблемні міста які я зрозумів, що вони дійсно проблемні, ввів в таблицю та виділив червоним.
| 1 | root@oleg-System-Product-Name:/home/oleg/python/RHVoice-master# scons |
| 2 | scons: Reading SConscript files ... |
| 3 | Mkdir("build/linux") |
| 4 | Checking whether the C compiler works... (cached) yes |
| 5 | Checking whether the C++ compiler works... (cached) yes |
| 6 | Checking for pkg-config... (cached) yes |
| 7 | Checking for libpulse-simple... (cached) no |
| 8 | Checking for ao... (cached) no |
| 9 | Checking for portaudio-2.0... (cached) no |
| 10 | scons: done reading SConscript files. |
| 11 | scons: Building targets ... |
| 12 | scons: `.' is up to date. |
| 13 | scons: done building targets. |
| 14 | root@oleg-System-Product-Name:/home/oleg/python/RHVoice-master# |
Все це вказувало на те (пункт 7 та 8) що не хвата таких пакетів як - '
libao4 libao-common libao-devʼ. Чому так, гарно написано тут - О сборке RHVoice.
Якщо коротко, то ці відсутні фали/пакети розробки необхідні для роботи з 'pulseaudio', без
яких у мене не з'явився файл `sd_rhvoise`, та й і взагалі не працював
RHVoice, тобто не проходив тест. Тому, я все що встановив видалив, використавши як основу інструкцію, з сайту Синтезатор речи, в той частині де йдеться про видалення.
sudo su
scons --clean install scons --clean
А також видалив теку build:
rm -rf build
З початку хотів так, у файловому менеджері Dolphin, але не вийшло,
потребувало адміністраторських привілеїв, тому прийшлось видаляти від
імені суперкористувача у консолі.
![]() |
| Не вдала спроба видалення теки у менеджері файлів Dolphin |
Ну й вдала спроба видалення у консолі.
![]() |
| Вдала спроба видалення теки build у консолі |
Потім встанови відсутні фали - 'libao4 libao-common libao-devʼ.
![]() |
| Встановлення відсутніх пакетів 'libao4 libao-common libao-devʼ |
До речі якщо уважно придивитись, то встановлений лише один файл. Інші вже були встановленні.
Після я повторив дії, яки робив спочатку. Тобто відкрив теку `RHVoice-master` у консолі та ввів:
sudo scons
![]() |
| Введення у консолі команди sudo svons |
Все як вказано на сайті Ольги Яковлевої Building on Linux (Russian), ну майже, там не було `sudo`, це я від себе додав :).
Далі вже перейшов на права суперкористувача:
sudo suТа ввів такі команди (дивись Building on Linux (Russian))
# scons install
# ldconfig
Хотів виконати ще таку команду
# ln -s /usr/local/bin/sd_rhvoice /usr/lib/speech-dispatcher-modules
Але перед тим як її вводити вирішив спочатку подивитись є там - '/usr/local/bin/' - файл `sd_rhvoice`, він є і більш того він вже прописаний у теці `speech-dispatcher-modules` як символічне посилання (бо ln - це команда на створення символічного посилання). Думаю це пов'язано з тим що я вже цю команду виконував, але тоді не було файлу `sd_rhvoice` у зв'язку з некоректним збиранням `RHVoice`, а оскільки файлу не було то й символічного посилання теж.
![]() |
| Поява файлу `sd_rhvoice` |
До речі тест був пройдений. Все запрацювало.
![]() |
| Проходження тесту, звук був :) |









Коментарі
Дописати коментар