NEWS
Драйвер sayit
-
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 -
пока не знаю почему. Перезапусти iobroker
-
Вопрос к Bluefox.
Может добавить в драйвер возможность задать время задержки перед дин дон?
Смысл в том что сделал усилитель D класса на микрушке, так вот у него есть логический вход FADE, т.е. при подачи управляющего сигнала он плавно включает громкость (примерно 2 сек.) и так же после снятия управляющего сигнала плавно убавляет громкость до 0 (чтобы небыло шума в динамиках при простое).
И кстати sayit.0.tts.playing у меня работает не корректно, менят статус через секунды 3 на false, хотя фраза еще произносится. `
Слишком специфичный случай. Вот если бы пришёл pul reuquest, я бы подумал..Вставь в файл дин дон 2 секунды тишины в начале.
-
То же иногда встречается проговаривание по 2-а раза. Тоже не пойму почему.
-
Вопрос к Bluefox.
Может добавить в драйвер возможность задать время задержки перед дин дон?
Смысл в том что сделал усилитель D класса на микрушке, так вот у него есть логический вход FADE, т.е. при подачи управляющего сигнала он плавно включает громкость (примерно 2 сек.) и так же после снятия управляющего сигнала плавно убавляет громкость до 0 (чтобы небыло шума в динамиках при простое).
И кстати sayit.0.tts.playing у меня работает не корректно, менят статус через секунды 3 на false, хотя фраза еще произносится. `
Слишком специфичный случай. Вот если бы пришёл pul reuquest, я бы подумал..Вставь в файл дин дон 2 секунды тишины в начале. `
Ну да специфичен, но а если стоит зонный услитель? и надо перед каждым произношение переключать зоны и тд.? я думаю задержка бы не помешала.Ок как будет время зайду на гит. А тишина вначале это у меня план Б)
-
Server-PC 2015-11-26 20:32:21 error host.Server-PC instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
sayit.0 2015-11-26 20:32:21 error Error: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3'
sayit.0 2015-11-26 20:32:21 error uncaught exception: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3
Сегодня выскочила такая ошибочка.
Насколько я понял он говорит я еб..я открывать файл)
-
Server-PC 2015-11-26 20:32:21 error host.Server-PC instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
sayit.0 2015-11-26 20:32:21 error Error: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3'
sayit.0 2015-11-26 20:32:21 error uncaught exception: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3
Сегодня выскочила такая ошибочка.
Насколько я понял он говорит я еб..я открывать файл) `
Хм. Ошибка говорит, что не могу открыть, т.к кто то уже открыл.. Осталось выяснить, кто. -
Хм. Ошибка говорит, что не могу открыть, т.к кто то уже открыл.. Осталось выяснить, кто. `
А что это за файл вообще? у меня свой стоит для диндона. -
Хм. Ошибка говорит, что не могу открыть, т.к кто то уже открыл.. Осталось выяснить, кто.
А что это за файл вообще? у меня свой стоит для диндона.
Это файл с текстом. -
пока не знаю почему. Перезапусти iobroker `
Я так понимаю когда setState ('sayit.0.tts.text', ''); устанавливает значение одновременно,происходит это насколько я понял из-за того что js выполняется не линейно
например:
setTimeout(function() {setState ('sayit.0.tts.text', 'Прогноз погоды на сегодня: '+getState("javascript.0.forecast.today").val); setState ('sayit.0.tts.text', 'Сейчас за окном '+ parseFloat(getState("mqtt.0.myhome.Bedroom.Temp_in").val).toFixed(0)+'°'); }, 1000); setTimeout(function() { setState ('sayit.0.tts.text', 'Курс доллара '+ (getState("javascript.0.Valuta.USD").val.toFixed(2)).toString().replace(/[.]+/g, ',')+' руб. , '+ 'курс евро '+ (getState("javascript.0.Valuta.EUR").val.toFixed(2)).toString().replace(/[.]+/g, ',')+ ' руб.'); }, 2000);
иногда (скорее всего, когда файла нет в кеше) произносится одновременно видимо из-за потраченного времени на преобразование переменных.
-
В коде драйвера не разбирался еще.
Может организовать буфер в виде массива? Например: по setState('sayit.0.tts.text', 'Str') добавляем в массив строку, а потом уже массив обрабатываем с начало до конца, с проверкой что предыдущий элемент выполнен или сдвигая элементы массива.
-
В коде драйвера не разбирался еще.
Может организовать буфер в виде массива? Например: по setState('sayit.0.tts.text', 'Str') добавляем в массив строку, а потом уже массив обрабатываем с начало до конца, с проверкой что предыдущий элемент выполнен или сдвигая элементы массива. `
Именно так это и работает -
В коде драйвера не разбирался еще.
Может организовать буфер в виде массива? Например: по setState('sayit.0.tts.text', 'Str') добавляем в массив строку, а потом уже массив обрабатываем с начало до конца, с проверкой что предыдущий элемент выполнен или сдвигая элементы массива. `
Именно так это и работаетОк.
Почему тогда бывают такие глюки, либо одновременно проговаривает две фразы, посланные в разное время,
либо первую фразу вообще пропускает и говорит только последнюю?
Щас вот в логе :
! Server-PC 2015-12-24 22:52:07 error host.Server-PC instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
! sayit.0 2015-12-24 22:52:07 error Error: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3'
! sayit.0 2015-12-24 22:52:07 error uncaught exception: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3'PS
Щас проговорила одновременно две фразы
! sayit.0 2015-12-24 23:00:06 info sayit.0 saying: 23:00
! sayit.0 2015-12-24 23:00:05 info sayit.0 saying: курс евро 76,04 руб -
Может по этому у меня через Sonos, то неделю молчит, то неделю говорит. Так же замечены повторения.
-
В коде драйвера не разбирался еще.
Может организовать буфер в виде массива? Например: по setState('sayit.0.tts.text', 'Str') добавляем в массив строку, а потом уже массив обрабатываем с начало до конца, с проверкой что предыдущий элемент выполнен или сдвигая элементы массива. `
Именно так это и работаетА получается что сначала пишем mp3 в файл, а потом его воспроизводим?
А нельзя его держать и воспроизводить из RAM, а потом когда драйвер не используется( все сказали) уже не спеша пишем в файлы.