Страница 1 из 2

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

Добавлено: Вс мар 05, 2017 8:38 am
Gelezako
Подскажите где посмотреть детали реализации функции say()?
Столкнулся с проблемой что она не самым лучшим образом произносит слова написанные на английском языке.

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

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

Буду рад любым рассуждениям как это исправить. Спасибо.

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

Добавлено: Вс мар 05, 2017 12:57 pm
xor
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 = '')

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

Добавлено: Чт мар 09, 2017 7:11 pm
Gelezako
так, чт-то сложно там всё )
может кто-то знает как синтез речи переключить на другой язык?

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

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

С помощью скриптов js, vbs можно наверняка ТТС голос переключать в Винде.
Лет 5 назад помню, сам баловался.
На сайте, по-моему, и батник валялся с примером диалога - женщина спрашивает, мужчина отвечает.

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

Добавлено: Чт мар 09, 2017 9:01 pm
xor
Вот оттуда:
Диалог разными голосами:
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

*** Сообщение запрещено. Сообщение похоже на спам. ***

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

Добавлено: Пт мар 10, 2017 9:42 am
Bagir
Как вариант, написать свой модуль с подпиской на событие SAY. В нем уже распределять на какой TTС направлять задачу. Пример модуля можно посмотреть у меня теме Sound Direct Manager

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

Добавлено: Пт мар 10, 2017 9:53 am
Gelezako
всем спасибо, направление получил, пошёл разбираться

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

Добавлено: Пт мар 10, 2017 9:59 am
Bagir
в SDM есть параметр, которые переключает используемый движок. Я не выкладывал его. Там без проверок на количество и если криво попросить, то прога сразу крашится. Но если кому интересна тема переключения дикторов, то до оформлю. Мне просто идеи не пришли как это можно использовать. Разве что попросить: Алёна, позови Татьяну :)

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

Добавлено: Пт мар 10, 2017 10:06 am
Gelezako
Я был бы признателен если дооформишь и выложишь. Идея использования в том что некоторые данные с разных сервисов приходят не всегда на русском. И TTS который хорошо синтезирует русский текст, ужасно это делает если приходит английский или другой язык. Если иметь возможность переключать TTS который предназначен синтезировать английский язык, то мы получим нормальное произношение.

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

Добавлено: Пт мар 10, 2017 10:30 am
Bagir
Да, но для этого нужно полностью перейти на sdm. А работает прога только под WIndows. Переключение диктора происходит в этой программе и никак не повлияет на остальные. Прога просто видит все установленные в системе движки и позволяет выбрать нужный либо самому, либо с помощью переданного параметра.
В следующем обновлении добавлю этот параметр. Может кому и пригодится. Для переключения диктора можно будет добавить в код условие, что если буквы английские, то нужно выбрать другой движок.