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

      1. Если длительность извещения стоит 2 сек, выходит ошибка:

      sayit-0	2015-06-04 22:13:50	error	Can't find a suitable libao driver. (Is device in use?)
      sayit-0	2015-06-04 22:13:50	error	MPEG 2.0 layer III, 48 kbit/s, 22050 Hz mono
      sayit-0	2015-06-04 22:13:50	error	Playing MPEG stream from 657cadb8f2d65eec11b189003b07636f.mp3 ...
      sayit-0	2015-06-04 22:13:50	error	Directory: /opt/iobroker/cache
      sayit-0	2015-06-04 22:13:50	error	tcgetattr(): Inappropriate ioctl for device
      sayit-0	2015-06-04 22:13:50	error	THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
      sayit-0	2015-06-04 22:13:50	error	Uses code from various people. See 'README' for more!
      sayit-0	2015-06-04 22:13:50	error	now maintained by Nanakos Chrysostomos and others.
      sayit-0	2015-06-04 22:13:50	error	Version 0.3.2-1 (2012/03/25). Written and copyrights by Joe Drew,
      sayit-0	2015-06-04 22:13:50	error	Cannot play:Error: Command failed: High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.
      
      

      Если длительность извещения 3 сек, то нормально. Я как понимаю дин-дон не успевает завершиться и пытается воспроизвестись голос, а выход уже как бы занят.

      2. Еще обнаружил, создал скрипт (при этом переменная sayit.0.tts.volume = 100)

      setState("sayit.0.tts.text", "Привет");
      

      Все хорошо, если устанавливаю громкость

      setState("sayit.0.tts.text", "100;Привет");
      

      то почему то дин-дон тихо, а голос нормально

      3. Для linux, тип system, я как понимаю воспроизведение происходит через mpg321

      Неплохо было бы сделать так, чтобы можно было выбрать ПО для воспроизведения (что то не очень последнее время мне нравится mpg321):

      system:mpg321

      system:mplayer

      system:vlc

      4. Кстати как нибудь интернет радио запустить можно как например будильник?

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

        @vtec:

        1. Если длительность извещения стоит 2 сек, выходит ошибка:

        sayit-0	2015-06-04 22:13:50	error	Can't find a suitable libao driver. (Is device in use?)
        sayit-0	2015-06-04 22:13:50	error	MPEG 2.0 layer III, 48 kbit/s, 22050 Hz mono
        sayit-0	2015-06-04 22:13:50	error	Playing MPEG stream from 657cadb8f2d65eec11b189003b07636f.mp3 ...
        sayit-0	2015-06-04 22:13:50	error	Directory: /opt/iobroker/cache
        sayit-0	2015-06-04 22:13:50	error	tcgetattr(): Inappropriate ioctl for device
        sayit-0	2015-06-04 22:13:50	error	THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
        sayit-0	2015-06-04 22:13:50	error	Uses code from various people. See 'README' for more!
        sayit-0	2015-06-04 22:13:50	error	now maintained by Nanakos Chrysostomos and others.
        sayit-0	2015-06-04 22:13:50	error	Version 0.3.2-1 (2012/03/25). Written and copyrights by Joe Drew,
        sayit-0	2015-06-04 22:13:50	error	Cannot play:Error: Command failed: High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.
        
        

        Если длительность извещения 3 сек, то нормально. Я как понимаю дин-дон не успевает завершиться и пытается воспроизвестись голос, а выход уже как бы занят. `
        Для этого я и ввёл длительность. Пытался определять автоматически, но не нашёл.

        @vtec:

        2. Еще обнаружил, создал скрипт (при этом переменная sayit.0.tts.volume = 100)

        setState("sayit.0.tts.text", "Привет");
        

        Все хорошо, если устанавливаю громкость

        setState("sayit.0.tts.text", "100;Привет");
        

        то почему то дин-дон тихо, а голос нормально `
        Это так сделано. Половина громкости.. Сделаю настраиваемой.

        @vtec:

        3. Для linux, тип system, я как понимаю воспроизведение происходит через mpg321

        Неплохо было бы сделать так, чтобы можно было выбрать ПО для воспроизведения (что то не очень последнее время мне нравится mpg321):

        system:mpg321

        system:mplayer

        system:vlc `
        А mplayer и vlc видны отовсюду? Я так понимаю, что команду надо сделать настраиваемой.

        @vtec:

        4. Кстати как нибудь интернет радио запустить можно как например будильник? `
        Как запустить это из коммандной строки? Плюс надо, что бы это работало и в браузере тоже…. Не думаю, что это хорошая идея.

        Сделай через скрипт и скажи нам как 😉

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

          V 0.3.8
          * (bluefox) make the volume for announce configurable 
          * (bluefox) make the command for "system" configurable
          
          1 Reply Last reply Reply Quote 0
          • V
            vtec last edited by

            @Bluefox:

            Для этого я и ввёл длительность. Пытался определять автоматически, но не нашёл. `
            А зачем разные потоки? Почему нельзя сделать одним потоком? Воспроизводится дин-дон, а после него идет голос, типа как плей лист работает?

            @Bluefox:

            Это так сделано. Половина громкости.. Сделаю настраиваемой. `
            Не понял зачем в половину, у меня этот дин-дон и так не громкий. Ну да ладно…

            @Bluefox:

            А mplayer и vlc видны отовсюду? Я так понимаю, что команду надо сделать настраиваемой. `
            Что значит отовсюду? Так же как и mpg321, нужно установить ПО и обращайся к нему: mplayer 123.mp3 или vlc 123.mp3

            @Bluefox:

            Как запустить это из коммандной строки? Плюс надо, что бы это работало и в браузере тоже…. Не думаю, что это хорошая идея.

            Сделай через скрипт и скажи нам как 😉 `

            Ну например из командной строки: mplayer <url_radio>и vlc так же.

            Точно знаю, что у vlc есть api (у xbmc/kodi тоже) через который можно данным плеером управлять через web. Чтобы играть через браузер, думаю тут html5 + библиотечка какая нибудь.

            Через скрипт можно подумать, только как то тормозить это дело тоже нужно</url_radio>

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

              @Bluefox:

              V 0.3.8
              * (bluefox) make the volume for announce configurable 
              * (bluefox) make the command for "system" configurable
              ```` `  
              

              Вот спасибо опробую, а то дин-дон почти не слышно и снова ивона стала пугать %)

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

                Рискну предложить проговаривать тексты разными голосами.

                Так как у ивоны появился новый голос (мужской), хотелось бы разговаривать разными голосами. Мне кажется так будет интересней точно :). Мне женский, жене мужской %)

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

                  А как определять с кем говоришь?

                  Это и сейчас возможно - разговаривать разными голосами.

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

                  1 Reply Last reply Reply Quote 0
                  • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            747
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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