NEWS
Драйвер sayit
-
Одну инстанцию настроить на женский (например sayit.0), одну на мужской (например sayit.1) `
А возможно одну инстанцию настроить на системный аудио выход, а вторую на sonos? Это я к чему, купил (еще идут почтой) я sonos play1 2шт..Получится ли 3 зоны (system + 2шт. sonos play1)? В скрипте придется прописывать два раза sayit.0 и sayit.1?
-
А возможно одну инстанцию настроить на системный аудио выход, а вторую на sonos? Это я к чему, купил (еще идут почтой) я sonos play1 2шт.. `
Да.
@vtec:Получится ли 3 зоны (system + 2шт. sonos play1)? В скрипте придется прописывать два раза sayit.0 и sayit.1? `
Да.
3885_soundtouchapi_discovery_v1.1.0.pdf
3885_soundtouchapi_webservices_v1.1.0.pdf -
Железо Cubieboard2, установка системы из wiKi, звук получаю из выхода для наушников.
Настройка драйвера.
!

При попытке воспроизвести сообщение: проигрывается звук извещения, а само сообщение - нет.При этом в логе следующее
!

Через некоторое время лог дополняется!

Если выключить извещение, то короткие фразы произносит без проблем, а вот состоящее из двух отдельных фраз ошибка аналогичная.Произносится только первая.
Где чего покрутить :?:
-
Таймаут можно поставить 5-10, а вот продолжительность увеличивайте до продолжительности самой длинной фразы. `
Но ведь, когда я отключаю звук извещения, то исчезают настройки длительности
filename="Скриншот 2015-10-05 07.32.13.png" index="1">~~
А проблема с двумя фразами остается
filename="Скриншот 2015-10-05 07.37.11_new.png" index="0">~~ -
Это означает, что устройство занято.
Нужно выставить длительность извещения больше на 1-2 сек, чем длительность самого извещения (например, если извещение длится 3 сек, то длительность извещения лучше выставить 5 сек).
Таймаут извещения это через какое время повторно воспроизводить извещение.
-
У меня Cubietruck. Это мои настройки, воспроизводит и по 2, и по 3 записи подряд. `
Но ведь судя по объяснению автора
@Bluefox:Длительность извещения - через сколько секунд после начала вступительного звука (извещения - например ТаДа) начать воспроизводить фразу.
0 - значит сразу начать с текста и ТаДа не проигрывать. Хотя на некоторых системах может проиграться только ТаДа. `
В вашей ситуации голосовое сообщение будет проиграно через 15 секунд после начала вступительного звука, т.е появится большая пауза между вступлением и самим сообщением.И это не объясняет занятость устройства при произнесении нескольких фраз.
Попробовал настройки spectrekr, отрабатывает вступительный звук, и через 10 секунд идет фраза. Т.е очень долгая пауза. Но ошибками сыпать перестала. Насчет нескольких фраз подряд буду пробовать позже
-
Ну чтож…
Попробовал несколько фраз, запустив скрипт
var idSayIt = "sayit.0.tts.text"; { setState (idSayIt, 'Прогноз погоды на сегодня: '+getState("forecast.today").val); setState (idSayIt, 'Прогноз погоды на завтра: '+getState("forecast.tomorrow").val); setState (idSayIt, 'Прогноз погоды на послезавтра: '+getState("forecast.dayAfterTomorrow").val); }Получил следующие ошибки.

Понял что у драйвера нет буфера на входе - то о чем просил electric69 в первом посте этой темы.Соответственно нужно контролировать переменную sayit.0.tts.playing и запускать следующую фразу только после установки ее в false.
Я пока так делать не умею :(
Покажите пожалуйста пример.
-
@kID:Ну чтож…
Попробовал несколько фраз, запустив скрипт
var idSayIt = "sayit.0.tts.text"; { setState (idSayIt, 'Прогноз погоды на сегодня: '+getState("forecast.today").val); setState (idSayIt, 'Прогноз погоды на завтра: '+getState("forecast.tomorrow").val); setState (idSayIt, 'Прогноз погоды на послезавтра: '+getState("forecast.dayAfterTomorrow").val); }Получил следующие ошибки.
filename="Скриншот 2015-10-06 20.33.06.png" index="0">~~
Понял что у драйвера нет буфера на входе - то о чем просил electric69 в первом посте этой темы.Соответственно нужно контролировать переменную sayit.0.tts.playing и запускать следующую фразу только после установки ее в false.
Я пока так делать не умею :(
Покажите пожалуйста пример. `
Я так понимаю с последним обновление должно быть исправлено, сам не проверял еще. -
Получить значение
getState('sayit.0.tts.playing').val, а дальше или через условие, или через цикл ждать. `
Ни в коем случае не через цикл. Это не ардуино.В последней версии javascript появилось:
setState (idSayIt, 'Прогноз погоды на сегодня: '+getState("forecast.today").val,); setStateDelayed (idSayIt, 'Прогноз погоды на завтра: '+getState("forecast.tomorrow").val,10000); setStateDelayed (idSayIt, 'Прогноз погоды на послезавтра: '+getState("forecast.dayAfterTomorrow").val, 20000); -
Заметил в логе ощибки
! host-Server-PC 2015-10-27 10:06:10 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
! TypeError: 2015-10-27 10:06:09 error at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
! TypeError: 2015-10-27 10:06:09 error at null._onTimeout (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:1911:34)
! TypeError: 2015-10-27 10:06:09 error at Adapter.emit (events.js:98:17)
! TypeError: 2015-10-27 10:06:09 error at Adapter.sayLastGeneratedText (C:\ioBroker\node_modules\iobroker.sayit\main.js:27:13)
! TypeError: 2015-10-27 10:06:09 error at sayIt (C:\ioBroker\node_modules\iobroker.sayit\main.js:1037:13)
! TypeError: 2015-10-27 10:06:09 error at getLength (C:\ioBroker\node_modules\iobroker.sayit\main.js:172:23)
! TypeError: 2015-10-27 10:06:09 error at C:\ioBroker\node_modules\iobroker.sayit\main.js:1038:51
! TypeError: 2015-10-27 10:06:09 error at Object.sayItWindows [as func] (C:\ioBroker\node_modules\iobroker.sayit\main.js:766:9)
! TypeError: 2015-10-27 10:06:09 error at sayItSystem (C:\ioBroker\node_modules\iobroker.sayit\main.js:698:21)
! TypeError: 2015-10-27 10:06:09 error Cannot call method 'platform' of undefined
! uncaught 2015-10-27 10:06:09 error exception: Cannot call method 'platform' of undefined -
Поправил. Спасибо.
5278_unbenannt.png -
Добрался я до sayit наконец то, но не тут то было, драйвер не работает
! sayit.0 2015-11-01 22:27:55 error TypeError: Cannot call method 'exec' of undefined at sayItSystem (C:\ioBroker\node_modules\iobroker.sayit\main.js:733:37) at Object.sayItWindows [as func] (C:\ioBroker\node_modules\iobroker.sayit\main.js:767:9) at C:\ioBroker\node_modules\iobroker.sayit\main.js:1042:51 at getLength (C:\ioBroker\node_modules\iobroker.sayit\main.js:172:23) at sayIt (C:\ioBroker\node_modules\iobroker.sayit\main.js:1041:13) at Adapter.sayLastGeneratedText (C:\ioBroker\node_modules\iobroker.sayit\main.js:27:13) at Adapter.emit (events.js:98:17) at null._onTimeout (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:1911:34) at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
! sayit.0 2015-11-01 22:27:55 error uncaught exception: Cannot call method 'exec' of undefined! host-Server-PC 2015-11-01 22:22:53 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
! TypeError: 2015-11-01 22:22:53 error at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
! TypeError: 2015-11-01 22:22:53 error at null._onTimeout (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:1911:34)
! TypeError: 2015-11-01 22:22:53 error at Adapter.emit (events.js:98:17)
! TypeError: 2015-11-01 22:22:53 error at Adapter.sayLastGeneratedText (C:\ioBroker\node_modules\iobroker.sayit\main.js:27:13)
! TypeError: 2015-11-01 22:22:53 error at sayIt (C:\ioBroker\node_modules\iobroker.sayit\main.js:1041:13)
! TypeError: 2015-11-01 22:22:53 error at getLength (C:\ioBroker\node_modules\iobroker.sayit\main.js:172:23)
! TypeError: 2015-11-01 22:22:53 error at C:\ioBroker\node_modules\iobroker.sayit\main.js:1042:51
! TypeError: 2015-11-01 22:22:53 error at Object.sayItWindows [as func] (C:\ioBroker\node_modules\iobroker.sayit\main.js:767:9)
! TypeError: 2015-11-01 22:22:53 error at sayItSystem (C:\ioBroker\node_modules\iobroker.sayit\main.js:733:37)
! TypeError: 2015-11-01 22:22:53 error Cannot call method 'exec' of undefined
! uncaught 2015-11-01 22:22:52 error exception: Cannot call method 'exec' of undefined -
Добрался я до sayit наконец то, но не тут то было, драйвер не работает
! sayit.0 2015-11-01 22:27:55 error TypeError: Cannot call method 'exec' of undefined at sayItSystem (C:\ioBroker\node_modules\iobroker.sayit\main.js:733:37) at Object.sayItWindows [as func] (C:\ioBroker\node_modules\iobroker.sayit\main.js:767:9) at C:\ioBroker\node_modules\iobroker.sayit\main.js:1042:51 at getLength (C:\ioBroker\node_modules\iobroker.sayit\main.js:172:23) at sayIt (C:\ioBroker\node_modules\iobroker.sayit\main.js:1041:13) at Adapter.sayLastGeneratedText (C:\ioBroker\node_modules\iobroker.sayit\main.js:27:13) at Adapter.emit (events.js:98:17) at null._onTimeout (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:1911:34) at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
! sayit.0 2015-11-01 22:27:55 error uncaught exception: Cannot call method 'exec' of undefined! host-Server-PC 2015-11-01 22:22:53 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
! TypeError: 2015-11-01 22:22:53 error at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
! TypeError: 2015-11-01 22:22:53 error at null._onTimeout (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:1911:34)
! TypeError: 2015-11-01 22:22:53 error at Adapter.emit (events.js:98:17)
! TypeError: 2015-11-01 22:22:53 error at Adapter.sayLastGeneratedText (C:\ioBroker\node_modules\iobroker.sayit\main.js:27:13)
! TypeError: 2015-11-01 22:22:53 error at sayIt (C:\ioBroker\node_modules\iobroker.sayit\main.js:1041:13)
! TypeError: 2015-11-01 22:22:53 error at getLength (C:\ioBroker\node_modules\iobroker.sayit\main.js:172:23)
! TypeError: 2015-11-01 22:22:53 error at C:\ioBroker\node_modules\iobroker.sayit\main.js:1042:51
! TypeError: 2015-11-01 22:22:53 error at Object.sayItWindows [as func] (C:\ioBroker\node_modules\iobroker.sayit\main.js:767:9)
! TypeError: 2015-11-01 22:22:53 error at sayItSystem (C:\ioBroker\node_modules\iobroker.sayit\main.js:733:37)
! TypeError: 2015-11-01 22:22:53 error Cannot call method 'exec' of undefined
! uncaught 2015-11-01 22:22:52 error exception: Cannot call method 'exec' of undefined `Заработал, нужно было выбрать System а стоял Windows engine
-
Вопрос к Bluefox.
Может добавить в драйвер возможность задать время задержки перед дин дон?
Смысл в том что сделал усилитель D класса на микрушке, так вот у него есть логический вход FADE, т.е. при подачи управляющего сигнала он плавно включает громкость (примерно 2 сек.) и так же после снятия управляющего сигнала плавно убавляет громкость до 0 (чтобы небыло шума в динамиках при простое).
И кстати sayit.0.tts.playing у меня работает не корректно, менят статус через секунды 3 на false, хотя фраза еще произносится.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
