Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. Драйвер sayit

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Драйвер sayit

    This topic has been deleted. Only users with topic management privileges can see it.
    • aurodionov
      aurodionov last edited by

      instalator, а если пнутьв скрипте включение усилка выдержать паузу потом сказать фразу.

      я к тому что-бы задержку сделать не в драйвере а в скрипте.

      1 Reply Last reply Reply Quote 0
      • I
        instalator last edited by

        @aurodionov:

        instalator, а если пнутьв скрипте включение усилка выдержать паузу потом сказать фразу.

        я к тому что-бы задержку сделать не в драйвере а в скрипте. `
        А как ты угадаешь когда будет что то говорить? делать вывод каждый раз добавляя в скриптах задержку?

        1 Reply Last reply Reply Quote 0
        • aurodionov
          aurodionov last edited by

          @instalator:

          Нак FADE чем то же дёргаете перед тем как сказать фразу.

          Получается дёрнули FADE->pause->seyit. Или не?

          1 Reply Last reply Reply Quote 0
          • I
            instalator last edited by

            @aurodionov:

            @instalator:

            Нак FADE чем то же дёргаете перед тем как сказать фразу.

            Получается дёрнули FADE->pause->seyit. Или не?

            Fade дергаю sayit.0.tts.playing `

            1 Reply Last reply Reply Quote 0
            • aurodionov
              aurodionov last edited by

              @instalator:

              Fade дергаю sayit.0.tts.playing `
              Под линуксом sayit.0.tts.playing вроде не работает, или я не понял как пользоватся

              1 Reply Last reply Reply Quote 0
              • I
                instalator last edited by

                @aurodionov:

                @instalator:

                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

                1 Reply Last reply Reply Quote 0
                • Bluefox
                  Bluefox last edited by

                  пока не знаю почему. Перезапусти iobroker

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @instalator:

                    Вопрос к Bluefox.

                    Может добавить в драйвер возможность задать время задержки перед дин дон?

                    Смысл в том что сделал усилитель D класса на микрушке, так вот у него есть логический вход FADE, т.е. при подачи управляющего сигнала он плавно включает громкость (примерно 2 сек.) и так же после снятия управляющего сигнала плавно убавляет громкость до 0 (чтобы небыло шума в динамиках при простое).

                    И кстати sayit.0.tts.playing у меня работает не корректно, менят статус через секунды 3 на false, хотя фраза еще произносится. `
                    Слишком специфичный случай. Вот если бы пришёл pul reuquest, я бы подумал..

                    Вставь в файл дин дон 2 секунды тишины в начале.

                    1 Reply Last reply Reply Quote 0
                    • V
                      vtec last edited by

                      То же иногда встречается проговаривание по 2-а раза. Тоже не пойму почему.

                      1 Reply Last reply Reply Quote 0
                      • I
                        instalator last edited by

                        @Bluefox:

                        @instalator:

                        Вопрос к Bluefox.

                        Может добавить в драйвер возможность задать время задержки перед дин дон?

                        Смысл в том что сделал усилитель D класса на микрушке, так вот у него есть логический вход FADE, т.е. при подачи управляющего сигнала он плавно включает громкость (примерно 2 сек.) и так же после снятия управляющего сигнала плавно убавляет громкость до 0 (чтобы небыло шума в динамиках при простое).

                        И кстати sayit.0.tts.playing у меня работает не корректно, менят статус через секунды 3 на false, хотя фраза еще произносится. `
                        Слишком специфичный случай. Вот если бы пришёл pul reuquest, я бы подумал..

                        Вставь в файл дин дон 2 секунды тишины в начале. `
                        Ну да специфичен, но а если стоит зонный услитель? и надо перед каждым произношение переключать зоны и тд.? я думаю задержка бы не помешала.

                        Ок как будет время зайду на гит. А тишина вначале это у меня план Б)

                        1 Reply Last reply Reply Quote 0
                        • I
                          instalator last edited by

                          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

                          Сегодня выскочила такая ошибочка.

                          Насколько я понял он говорит я еб..я открывать файл)

                          1 Reply Last reply Reply Quote 0
                          • Bluefox
                            Bluefox last edited by

                            @instalator:

                            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

                            Сегодня выскочила такая ошибочка.

                            Насколько я понял он говорит я еб..я открывать файл) `
                            Хм. Ошибка говорит, что не могу открыть, т.к кто то уже открыл.. Осталось выяснить, кто.

                            1 Reply Last reply Reply Quote 0
                            • I
                              instalator last edited by

                              @Bluefox:

                              Хм. Ошибка говорит, что не могу открыть, т.к кто то уже открыл.. Осталось выяснить, кто. `
                              А что это за файл вообще? у меня свой стоит для диндона.

                              1 Reply Last reply Reply Quote 0
                              • Bluefox
                                Bluefox last edited by

                                @instalator:

                                @Bluefox:

                                Хм. Ошибка говорит, что не могу открыть, т.к кто то уже открыл.. Осталось выяснить, кто. А что это за файл вообще? у меня свой стоит для диндона.
                                Это файл с текстом.

                                1 Reply Last reply Reply Quote 0
                                • I
                                  instalator last edited by

                                  @Bluefox:

                                  пока не знаю почему. Перезапусти 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);
                                  

                                  иногда (скорее всего, когда файла нет в кеше) произносится одновременно видимо из-за потраченного времени на преобразование переменных.

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    instalator last edited by

                                    В коде драйвера не разбирался еще.

                                    Может организовать буфер в виде массива? Например: по setState('sayit.0.tts.text', 'Str') добавляем в массив строку, а потом уже массив обрабатываем с начало до конца, с проверкой что предыдущий элемент выполнен или сдвигая элементы массива.

                                    1 Reply Last reply Reply Quote 0
                                    • Bluefox
                                      Bluefox last edited by

                                      @instalator:

                                      В коде драйвера не разбирался еще.

                                      Может организовать буфер в виде массива? Например: по setState('sayit.0.tts.text', 'Str') добавляем в массив строку, а потом уже массив обрабатываем с начало до конца, с проверкой что предыдущий элемент выполнен или сдвигая элементы массива. `
                                      Именно так это и работает

                                      https://github.com/ioBroker/ioBroker.sa … n.js#L1027

                                      1 Reply Last reply Reply Quote 0
                                      • I
                                        instalator last edited by

                                        @Bluefox:

                                        @instalator:

                                        В коде драйвера не разбирался еще.

                                        Может организовать буфер в виде массива? Например: по setState('sayit.0.tts.text', 'Str') добавляем в массив строку, а потом уже массив обрабатываем с начало до конца, с проверкой что предыдущий элемент выполнен или сдвигая элементы массива. `
                                        Именно так это и работает

                                        https://github.com/ioBroker/ioBroker.sa … n.js#L1027 `

                                        Ок.

                                        Почему тогда бывают такие глюки, либо одновременно проговаривает две фразы, посланные в разное время,

                                        либо первую фразу вообще пропускает и говорит только последнюю?

                                        Щас вот в логе :

                                        ! 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 руб

                                        1 Reply Last reply Reply Quote 0
                                        • V
                                          vtec last edited by

                                          Может по этому у меня через Sonos, то неделю молчит, то неделю говорит. Так же замечены повторения.

                                          1 Reply Last reply Reply Quote 0
                                          • I
                                            instalator last edited by

                                            @Bluefox:

                                            @instalator:

                                            В коде драйвера не разбирался еще.

                                            Может организовать буфер в виде массива? Например: по setState('sayit.0.tts.text', 'Str') добавляем в массив строку, а потом уже массив обрабатываем с начало до конца, с проверкой что предыдущий элемент выполнен или сдвигая элементы массива. `
                                            Именно так это и работает

                                            https://github.com/ioBroker/ioBroker.sa … n.js#L1027 `

                                            А получается что сначала пишем mp3 в файл, а потом его воспроизводим?

                                            А нельзя его держать и воспроизводить из RAM, а потом когда драйвер не используется( все сказали) уже не спеша пишем в файлы.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            930
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            178
                                            47692
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo