[Библиотека] использования Яндекс.Станции в качестве терминала (синтез речи и управление)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
S_Nick
Сообщения: 67
Зарегистрирован: Сб сен 30, 2017 7:44 pm
Откуда: Минск
Благодарил (а): 9 раз
Поблагодарили: 56 раз
Контактная информация:

Re: [Библиотека] использования Яндекс.Станции в качестве терминала (синтез речи и управление)

Сообщение S_Nick » Сб апр 18, 2020 6:56 pm

dengi.76 писал(а):
Сб апр 18, 2020 11:46 am
S_Nick Здравствуйте ! Не могли бы Вы подсказать, как можно сделать очерёдность сообщений Алисы, а то сейчас если приходит два сообщения то первое из них "съедается". Спасибо.
Средствами Станции не думаю, что это возможно реализовать, никаких API в открытом доступе нет. Яндекс держит платформу закрытой.
Нужно реализовывать средствами MJDM. Единственный способ приходящий в голову, рассчитывать примерное время проговаривания текста и на это время делать паузу, перед следующей отправкой.

Паузу можно очень приблизительно рассчитать так:

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

$command = "Раз два три";
$pause = ceil(mb_strlen(str_replace(array('Повтори за мной:', ' '), '', $command)) * 5 / 48);
Но это не панацея, например, если отправить Алисе команду цифрами "1 2 3", она и будет проговаривать как текст "Раз два три", а код рассчитает паузу исходя из 3 символов.

Конечно можно реализовать и более сложный алгоритм, но всё равно это будет один большой "костыль".

Станцию можно использовать в параллели с основным голосовым выводом MJDM, но не в замен. Для вывода редких сообщений, к примеру, времени каждый час, изменения погоды, пробок на дорогах и тд.

В общем. Создать очередь сообщений на данный момент нельзя.
За это сообщение автора S_Nick поблагодарил:
dengi.76 (Сб апр 18, 2020 6:59 pm)
Рейтинг: 1.16%
dengi.76
Сообщения: 222
Зарегистрирован: Вт фев 06, 2018 9:40 pm
Откуда: Пермь
Благодарил (а): 117 раз
Поблагодарили: 7 раз

Re: [Библиотека] использования Яндекс.Станции в качестве терминала (синтез речи и управление)

Сообщение dengi.76 » Сб апр 18, 2020 6:59 pm

S_Nick писал(а):
Сб апр 18, 2020 6:56 pm
dengi.76 писал(а):
Сб апр 18, 2020 11:46 am
S_Nick Здравствуйте ! Не могли бы Вы подсказать, как можно сделать очерёдность сообщений Алисы, а то сейчас если приходит два сообщения то первое из них "съедается". Спасибо.
Средствами Станции не думаю, что это возможно реализовать, никаких API в открытом доступе нет. Яндекс держит платформу закрытой.
Нужно реализовывать средствами MJDM. Единственный способ приходящий в голову, рассчитывать примерное время проговаривания текста и на это время делать паузу, перед следующей отправкой.

Паузу можно очень приблизительно рассчитать так:

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

$command = "Раз два три";
$pause = ceil(mb_strlen(str_replace(array('Повтори за мной:', ' '), '', $command)) * 5 / 48);
Но это не панацея, например, если отправить Алисе команду цифрами "1 2 3", она и будет проговаривать как текст "Раз два три", а код рассчитает паузу исходя из 3 символов.

Конечно можно реализовать и более сложный алгоритм, но всё равно это будет один большой "костыль".

Станцию можно использовать в параллели с основным голосовым выводом MJDM, но не в замен. Для вывода редких сообщений, к примеру, времени каждый час, изменения погоды, пробок на дорогах и тд.

В общем. Создать очередь сообщений на данный момент нельзя.
Спасибо за подробный ответ !
Ответить