Преобразование текста в речь сторонней программой

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
oleolay
Сообщения: 7
Зарегистрирован: Ср май 13, 2015 10:26 am

Преобразование текста в речь сторонней программой

Сообщение oleolay »

Всем доброго времени суток.
Решил попробовать грамотно научить читать MD большие тексты. Есть довольно неплохое бесплатное приложение для этого вот тут. Самое главное, что программа запускается отдельным процессом из консоли, использует SAPI5, имеет великое множество параметров и самое главное поддерживает различного рода словари для настройки произношения. Ну так вот, запускается она из командной строки к примеру вот так:

Код: Выделить всё

C:\balabolka_console.exe -t "Привет" 
... я решил сделать отдельную функцию, рядом с встроенной в MD

Код: Выделить всё

say($ph, $level=0) 
и назвал ее

Код: Выделить всё

sayBalabolka($ph) 
, где передается все та же переменная $ph Запуск осуществляется вот так:

Код: Выделить всё

exec ('C:\balabolka_console.exe -t "'.$ph.'"'); 
при выполнении я ее даже вывел echo, чтобы убедиться в правильности кодировок... Но вот обидно, echo пишет букву в букву, а вот произносится белеберда. Я так понимаю, что при выполнении exec как-то криво передаются русские символы. Подскажите кто-нибудь, во что их перекодировать??? Функцией mb_convert_encoding перепробовал все на свете... Я в программировании на php новичок, может где-то чего-то недочитал...
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Преобразование текста в речь сторонней программой

Сообщение sergejey »

попробуйте вместо exec использовать safe_exec -- по сути тоже самое, только последняя команда работает в отдельном от веб-сервера процессе и перекодирует русский текст в win-кодировку на лету.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
oleolay
Сообщения: 7
Зарегистрирован: Ср май 13, 2015 10:26 am

Re: Преобразование текста в речь сторонней программой

Сообщение oleolay »

Прикрутил выразительного диктора для оффлайн чтения текста, если кому интересно, могу рассказать подробненько.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

Re: Преобразование текста в речь сторонней программой

Сообщение skysilver »

oleolay писал(а):Прикрутил выразительного диктора для оффлайн чтения текста, если кому интересно, могу рассказать подробненько.
Не спрашивайте, сразу делитесь своими наработками. )) Уверен, многим будет интересно.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Преобразование текста в речь сторонней программой

Сообщение Bagir »

Вся заморочка в том, что для этой задачи нужно строить очередь. Если система отправляет на чтения два разных сообщения, то они должны звучать один за другим. И это еще не все. Кроме чтения текста у нас есть еще и проигрывание коротких звуков. Без общей очереди звуки будут накладываться на читаемый текст, и будет совершенно некрасиво.
Вообщем вот: http://majordomo.smartliving.ru/forum/v ... =18&t=2194
Сейчас я снова вернулся и продолжу разработку этой программы.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Преобразование текста в речь сторонней программой

Сообщение Amarok »

oleolay писал(а):Прикрутил выразительного диктора для оффлайн чтения текста, если кому интересно, могу рассказать подробненько.
А он под винды или под линукс? Да и вообще; хотим хлеба и зрелищ. В смысле - рассказывай давай :)
Моя Алиска живёт на Proxmox в Debian 12
Ответить