произношение say не на русском

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

Модератор: immortal

Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

произношение say не на русском

Сообщение Gelezako » Вс мар 05, 2017 8:38 am

Подскажите где посмотреть детали реализации функции say()?
Столкнулся с проблемой что она не самым лучшим образом произносит слова написанные на английском языке.

Вижу 2 выхода:
1. Динамично переключать TTS с указанием языка текста, который нужно произнести.
2. Сначала переводить (транслитировать), а потом уже произносить на русском.

Для первого не представляю куда лезть даже.
Для второго погуглил несколько реализаций API Google translate, но они все достаточно сложные и реализованы как ООП. А у нас как я понимаю процедурные вставки в пхп блоки.

Буду рад любым рассуждениям как это исправить. Спасибо.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

Re: произношение say не на русском

Сообщение xor » Вс мар 05, 2017 12:57 pm

common.class.php
/**
* Summary of say
* @param mixed $ph Phrase
* @param mixed $level Level (default 0)
* @param mixed $member_id Member ID (default 0)
* @return void
*/
function say($ph, $level = 0, $member_id = 0, $source = '')
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: произношение say не на русском

Сообщение Gelezako » Чт мар 09, 2017 7:11 pm

так, чт-то сложно там всё )
может кто-то знает как синтез речи переключить на другой язык?
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

Re: произношение say не на русском

Сообщение xor » Чт мар 09, 2017 8:58 pm

Для Виндовс ТТС есть программка такая Говорилка, там голос подключается как параметр.
http://www.vector-ski.ru/vecs/govorilka ... lka_cp.htm

С помощью скриптов js, vbs можно наверняка ТТС голос переключать в Винде.
Лет 5 назад помню, сам баловался.
На сайте, по-моему, и батник валялся с примером диалога - женщина спрашивает, мужчина отвечает.
За это сообщение автора xor поблагодарил:
Gelezako (Пт мар 10, 2017 9:53 am)
Рейтинг: 1.16%
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

Re: произношение say не на русском

Сообщение xor » Чт мар 09, 2017 9:01 pm

Вот оттуда:
Диалог разными голосами:
dim shell
set shell=createobject("wscript.shell")
shell.run "Govorilka_cp.exe -E ""Adult Female #1 Russian (L&H)"" ""Привет!""", 0, true
shell.run "Govorilka_cp.exe -P20 -E ""Adult Male #1 Russian (L&H)"" ""Привет!""", 0, true
shell.run "Govorilka_cp.exe -E ""Adult Female #1 Russian (L&H)"" ""Как дела?""", 0, true
shell.run "Govorilka_cp.exe -P20 -E ""Adult Male #1 Russian (L&H)"" ""Хорошо!""", 0, true
set shell=nothing

*** Сообщение запрещено. Сообщение похоже на спам. ***
За это сообщение автора xor поблагодарил:
Gelezako (Пт мар 10, 2017 9:53 am)
Рейтинг: 1.16%
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: произношение say не на русском

Сообщение Bagir » Пт мар 10, 2017 9:42 am

Как вариант, написать свой модуль с подпиской на событие SAY. В нем уже распределять на какой TTС направлять задачу. Пример модуля можно посмотреть у меня теме Sound Direct Manager
За это сообщение автора Bagir поблагодарил:
Gelezako (Пт мар 10, 2017 9:52 am)
Рейтинг: 1.16%
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: произношение say не на русском

Сообщение Gelezako » Пт мар 10, 2017 9:53 am

всем спасибо, направление получил, пошёл разбираться
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: произношение say не на русском

Сообщение Bagir » Пт мар 10, 2017 9:59 am

в SDM есть параметр, которые переключает используемый движок. Я не выкладывал его. Там без проверок на количество и если криво попросить, то прога сразу крашится. Но если кому интересна тема переключения дикторов, то до оформлю. Мне просто идеи не пришли как это можно использовать. Разве что попросить: Алёна, позови Татьяну :)
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: произношение say не на русском

Сообщение Gelezako » Пт мар 10, 2017 10:06 am

Я был бы признателен если дооформишь и выложишь. Идея использования в том что некоторые данные с разных сервисов приходят не всегда на русском. И TTS который хорошо синтезирует русский текст, ужасно это делает если приходит английский или другой язык. Если иметь возможность переключать TTS который предназначен синтезировать английский язык, то мы получим нормальное произношение.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: произношение say не на русском

Сообщение Bagir » Пт мар 10, 2017 10:30 am

Да, но для этого нужно полностью перейти на sdm. А работает прога только под WIndows. Переключение диктора происходит в этой программе и никак не повлияет на остальные. Прога просто видит все установленные в системе движки и позволяет выбрать нужный либо самому, либо с помощью переданного параметра.
В следующем обновлении добавлю этот параметр. Может кому и пригодится. Для переключения диктора можно будет добавить в код условие, что если буквы английские, то нужно выбрать другой движок.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить