NEWS
Драйвер sayit
-
Это означает, что устройство занято.
Нужно выставить длительность извещения больше на 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, хотя фраза еще произносится.
-
instalator, а если пнутьв скрипте включение усилка выдержать паузу потом сказать фразу.
я к тому что-бы задержку сделать не в драйвере а в скрипте.
-
instalator, а если пнутьв скрипте включение усилка выдержать паузу потом сказать фразу.
я к тому что-бы задержку сделать не в драйвере а в скрипте. `
А как ты угадаешь когда будет что то говорить? делать вывод каждый раз добавляя в скриптах задержку? -
Нак FADE чем то же дёргаете перед тем как сказать фразу.
Получается дёрнули FADE->pause->seyit. Или не?
-
Нак FADE чем то же дёргаете перед тем как сказать фразу.
Получается дёрнули FADE->pause->seyit. Или не?
Fade дергаю sayit.0.tts.playing `
-
Fade дергаю sayit.0.tts.playing `
Под линуксом sayit.0.tts.playing вроде не работает, или я не понял как пользоватся -
Fade дергаю sayit.0.tts.playing
Под линуксом sayit.0.tts.playing вроде не работает, или я не понял как пользоватся
У меня винда.Bluefox.
Драйвер сегодня стал проговаривать любую фразу по два раза. В логе ошибок нет
! sayit.0 2015-11-03 18:34:09 info sayit.0 saying: 1
! sayit.0 2015-11-03 18:34:07 info sayit.0 saying: 1
! sayit.0 2015-11-03 18:34:05 info sayit.0 saying: C:\ioBroker\node_modules\iobroker.sayit/gong.mp3
! sayit.0 2015-11-03 18:34:05 info sayit.0 saying: C:\ioBroker\node_modules\iobroker.sayit/gong.mp3
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
