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.
    • V
      vtec last edited by

      @Bluefox:

      А как определять с кем говоришь? `
      Ну это я так для примера :), сейчас пока мы не умеем определять. Но вот с утра погоду рассказать женским голосом, а новости мужским. Думаю по интересней будет.
      @Bluefox:

      Это и сейчас возможно - разговаривать разными голосами. `
      Это как? В настройках менять?
      @Bluefox:

      Либо использовать 2 инстанции или использовать задания "голос;текст" `
      Мне понятней громкость;голос;текст

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

        @vtec:

        Это как? В настройках менять? `
        Одну инстанцию настроить на женский (например sayit.0), одну на мужской (например sayit.1)
        @vtec:

        Мне понятней громкость;голос;текст `
        Если ivona настроена, то можно ввести

        "ru-RU_AZ_Female;Женский голос"

        "ru-RU_AZ_Male;Мужской голос"

        Мужской голос на ивоне работает только с последней версией sayit.

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

          Все работает, спасибо.

          Пример для муж. голоса: setState("sayit.0.tts.text", "ru-RU_AZ_Male;100;Привет");

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

            @Bluefox:

            Одну инстанцию настроить на женский (например sayit.0), одну на мужской (например sayit.1) `
            А возможно одну инстанцию настроить на системный аудио выход, а вторую на sonos? Это я к чему, купил (еще идут почтой) я sonos play1 2шт..

            Получится ли 3 зоны (system + 2шт. sonos play1)? В скрипте придется прописывать два раза sayit.0 и sayit.1?

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

              @vtec:

              А возможно одну инстанцию настроить на системный аудио выход, а вторую на 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

              1 Reply Last reply Reply Quote 0
              • K
                kID last edited by

                Железо Cubieboard2, установка системы из wiKi, звук получаю из выхода для наушников.

                Настройка драйвера.

                ! 265__________2015-10-05_07.32.56.png
                При попытке воспроизвести сообщение: проигрывается звук извещения, а само сообщение - нет.

                При этом в логе следующее

                ! 265__________2015-10-05_07.37.11.png
                Через некоторое время лог дополняется

                ! 265__________2015-10-05_07.46.24.png
                Если выключить извещение, то короткие фразы произносит без проблем, а вот состоящее из двух отдельных фраз ошибка аналогичная.

                Произносится только первая.

                Где чего покрутить :?:

                1 Reply Last reply Reply Quote 0
                • S
                  spectrekr last edited by

                  Таймаут можно поставить 5-10, а вот продолжительность увеличивайте до продолжительности самой длинной фразы.

                  1 Reply Last reply Reply Quote 0
                  • K
                    kID last edited by

                    @spectrekr:

                    Таймаут можно поставить 5-10, а вот продолжительность увеличивайте до продолжительности самой длинной фразы. `
                    Но ведь, когда я отключаю звук извещения, то исчезают настройки длительности
                    filename="Скриншот 2015-10-05 07.32.13.png" index="1">~~
                    А проблема с двумя фразами остается
                    filename="Скриншот 2015-10-05 07.37.11_new.png" index="0">~~

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

                      Это означает, что устройство занято.

                      Нужно выставить длительность извещения больше на 1-2 сек, чем длительность самого извещения (например, если извещение длится 3 сек, то длительность извещения лучше выставить 5 сек).

                      Таймаут извещения это через какое время повторно воспроизводить извещение.

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

                        Bluefox, у ивоны есть регулировка скорости произношения. Вопрос какая она стоит по умолчанию? Т.к. заметил, что скорость произношения отличается(в ускоренную сторону) от той, что у меня на работе (работает через php скрипт).

                        1 Reply Last reply Reply Quote 0
                        • S
                          spectrekr last edited by

                          286_12.jpg
                          У меня Cubietruck. Это мои настройки, воспроизводит и по 2, и по 3 записи подряд.

                          1 Reply Last reply Reply Quote 0
                          • K
                            kID last edited by

                            @spectrekr:

                            У меня Cubietruck. Это мои настройки, воспроизводит и по 2, и по 3 записи подряд. `
                            Но ведь судя по объяснению автора
                            @Bluefox:

                            Длительность извещения - через сколько секунд после начала вступительного звука (извещения - например ТаДа) начать воспроизводить фразу.

                            0 - значит сразу начать с текста и ТаДа не проигрывать. Хотя на некоторых системах может проиграться только ТаДа. `
                            В вашей ситуации голосовое сообщение будет проиграно через 15 секунд после начала вступительного звука, т.е появится большая пауза между вступлением и самим сообщением.

                            И это не объясняет занятость устройства при произнесении нескольких фраз.

                            Попробовал настройки spectrekr, отрабатывает вступительный звук, и через 10 секунд идет фраза. Т.е очень долгая пауза. Но ошибками сыпать перестала. Насчет нескольких фраз подряд буду пробовать позже

                            1 Reply Last reply Reply Quote 0
                            • K
                              kID last edited by

                              Ну чтож…

                              Попробовал несколько фраз, запустив скрипт

                               var idSayIt = "sayit.0.tts.text";
                                  {
                              setState (idSayIt, 'Прогноз погоды на сегодня: '+getState("forecast.today").val);
                              setState (idSayIt, 'Прогноз погоды на завтра: '+getState("forecast.tomorrow").val);
                              setState (idSayIt, 'Прогноз погоды на послезавтра: '+getState("forecast.dayAfterTomorrow").val);
                                  }
                              

                              Получил следующие ошибки.
                              265__________2015-10-06_20.33.06.png
                              Понял что у драйвера нет буфера на входе - то о чем просил electric69 в первом посте этой темы.

                              Соответственно нужно контролировать переменную sayit.0.tts.playing и запускать следующую фразу только после установки ее в false.

                              Я пока так делать не умею 😞

                              Покажите пожалуйста пример.

                              1 Reply Last reply Reply Quote 0
                              • S
                                spectrekr last edited by

                                Получить значение````
                                getState('sayit.0.tts.playing').val

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

                                  @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.

                                  Я пока так делать не умею 😞

                                  Покажите пожалуйста пример. `
                                  Я так понимаю с последним обновление должно быть исправлено, сам не проверял еще.

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

                                    @spectrekr:

                                    Получить значение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);
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • V
                                      vtec last edited by

                                      У меня у одного sayit после обновления по три раза говорит?

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

                                        Заметил в логе ощибки

                                        ! 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

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

                                          Поправил. Спасибо.
                                          5278_unbenannt.png

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

                                            Добрался я до 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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            178
                                            47668
                                            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