Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. ioBroker драйвера
  5. Драйвер sayit

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Драйвер sayit

Geplant Angeheftet Gesperrt Verschoben ioBroker драйвера
178 Beiträge 16 Kommentatoren 55.1k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • V Offline
    V Offline
    vtec
    schrieb am zuletzt editiert von
    #10

    Как из вне присвоить переменной sayit.N.tts.text значение?

    В описание драйвера sayit, написано что можно воспроизвести mp3 файл, есть переменная sayit.0.tts.mp3 присваивал /tmp/doorbell-1.mp3 не воспроизводит.

    Еще вопрос, у меня был настроен asterisk на отправку номер звонящего на сервер majordomo и был скрипт который принимал GET переменной номер и через elseif проверялся телефон, если телефон находился то проговаривалось имя звонящего.

    Как реализовать?

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #11

      @vtec:

      Как из вне присвоить переменной sayit.N.tts.text значение? `
      https://github.com/ioBroker/ioBroker/wi … -state-set

      Но только со следующей версии.

      В этой будет работать:

      iobroker state setplain sayit.0.tts.text "Текст сказать"
      
      
      1 Antwort Letzte Antwort
      0
      • BluefoxB Offline
        BluefoxB Offline
        Bluefox
        schrieb am zuletzt editiert von
        #12

        > В описание драйвера sayit, написано что можно воспроизвести mp3 файл, есть переменная sayit.0.tts.mp3 присваивал /tmp/doorbell-1.mp3 не воспроизводит.
        Надо давать полный путь.. А какой метод воспроизведения?

        1 Antwort Letzte Antwort
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #13

          ` > Еще вопрос, у меня был настроен asterisk на отправку номер звонящего на сервер majordomo и был скрипт который принимал GET переменной номер и через elseif проверялся телефон, если телефон находился то проговаривалось имя звонящего.

          Как реализовать? `
          В web можно активировать simple-api.

          Через javascript драйвер можно получать номера:

          createState("phoneNumber","");
          on({id:"javascript.0.phoneNumber", change:"any"}, function (obj) {
              console.log(obj.newState.val);
          });
          
          

          И вызвать````
          http://localhost:8082/set/javascript.0.phoneNumber?value=12345

          Ну и дальше скриптом смотреть в таблице
          1 Antwort Letzte Antwort
          0
          • V Offline
            V Offline
            vtec
            schrieb am zuletzt editiert von
            #14

            Есть два пожелания:

            1. Чтобы перед произношением голоса можно было вкл. или выкл воспроизведение короткого mp3 файла (типа дин дон и потом голос). Это нужно чтобы не пугаться от резкого начала произношения голоса. И еще, чтобы вот этот дин дон файл можно было самому загружать.

            2. У sayit есть кэш, его хотелось бы очищать, можно в настройках по кнопочки, чтобы не лезть на сервак и ручками

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

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #15

              @vtec:

              Есть два пожелания:

              1. Чтобы перед произношением голоса можно было вкл. или выкл воспроизведение короткого mp3 файла (типа дин дон и потом голос). Это нужно чтобы не пугаться от резкого начала произношения голоса. И еще, чтобы вот этот дин дон файл можно было самому загружать.

              2. У sayit есть кэш, его хотелось бы очищать, можно в настройках по кнопочки, чтобы не лезть на сервак и ручками

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

              1 Antwort Letzte Antwort
              0
              • E Offline
                E Offline
                electric69
                schrieb am zuletzt editiert von
                #16

                @Bluefox:

                Интересные замечания. Надо подумать. ;) `
                Просто мы (я и vtec) - бывшие пользователи MajorDoMo, привыкли что ли…

                А звука в начале произношения фразы действительно не хватает.

                И он должен воспроизводиться не совсем перед каждым использованием sayit, если драйвер отработал менее 10 секунд назад (к примеру), то повторно этот дин-дон не нужен уже, можно сразу в бой. Сделать что то вроде таймера...

                1 Antwort Letzte Antwort
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  schrieb am zuletzt editiert von
                  #17

                  @electric69:

                  @Bluefox:

                  Интересные замечания. Надо подумать. ;) `
                  Просто мы (я и vtec) - бывшие пользователи MajorDoMo, привыкли что ли…

                  А звука в начале произношения фразы действительно не хватает.

                  И он должен воспроизводиться не совсем перед каждым использованием sayit, если драйвер отработал менее 10 секунд назад (к примеру), то повторно этот дин-дон не нужен уже, можно сразу в бой. Сделать что то вроде таймера... `
                  Давно хотел спросить о преимуществах и недостатках MajorDoMo. Может распишешь мне?

                  1 Antwort Letzte Antwort
                  0
                  • V Offline
                    V Offline
                    vtec
                    schrieb am zuletzt editiert von
                    #18

                    Фиг знает, мне пока много чего не понятно, но точно могу сказать, что мне нравится iobroker :)

                    Да те же обновления контента через ajax, против socket

                    1 Antwort Letzte Antwort
                    0
                    • E Offline
                      E Offline
                      electric69
                      schrieb am zuletzt editiert von
                      #19

                      BlueFox, еще предложение, точнее пожелание.

                      Я так понял, реализовано воспроизведение длинных фраз. Строка просто режется по количеству символов наверно и отправляется в google. Можно ли сделать так, чтобы резалось по предложениям и не по символам? Попробовал отправить в sayit длинную фразу из нескольких предложений, адаптер порезал на mp3-шки не по знакам препинания, звучало не понятно))

                      1 Antwort Letzte Antwort
                      0
                      • V Offline
                        V Offline
                        vtec
                        schrieb am zuletzt editiert von
                        #20

                        @Bluefox:

                        В web можно активировать simple-api.

                        Через javascript драйвер можно получать номера:

                        createState("phoneNumber","");
                        on({id:"phoneNumber", change:"any"}, function (obj) {
                            console.log(obj.newState.val);
                        });
                        
                        

                        И вызвать````
                        http://localhost:8082/set/javascript.0.phoneNumber?value=12345

                        Ну и дальше скриптом смотреть в таблице `  
                        

                        Bluefox, можешь пояснить:

                        simple-api запустил.

                        Создал скрипт, обозвал.

                        Вставил код:

                        createState("incomingPhoneNumber","");
                        on({id:"incomingPhoneNumber", change:"any"}, function (obj) {
                            console.log(obj.newState.val);
                        });
                        

                        Здесь что есть что? createState это я как понял создает в БД пустую переменную incomingPhoneNumber.

                        On? За что отвечает? Смотрит изменение переменной incomingPhoneNumber в БД? Если произошло изменение то в лог новое значение пишем?

                        Тогда как этот скрипт сделать цикличным, потому что вызов url вида http://192.168.0.200:8087/set/javascrip … lue=789090 может прилететь в любую секунду?

                        1 Antwort Letzte Antwort
                        0
                        • E Offline
                          E Offline
                          electric69
                          schrieb am zuletzt editiert von
                          #21

                          @vtec:

                          Bluefox, можешь пояснить:

                          simple-api запустил.

                          Создал скрипт, обозвал.

                          Вставил код:

                          createState("incomingPhoneNumber","");
                          on({id:"incomingPhoneNumber", change:"any"}, function (obj) {
                              console.log(obj.newState.val);
                          });
                          

                          Здесь что есть что? createState это я как понял создает в БД пустую переменную incomingPhoneNumber. `
                          Именно https://github.com/ioBroker/ioBroker.javascript#createstate.
                          @vtec:

                          On? За что отвечает? Смотрит изменение переменной incomingPhoneNumber в БД? Если произошло изменение то в лог новое значение пишем? `
                          Опять в принципе https://github.com/ioBroker/ioBroker.javascript#on–-subscribe-on-changes-or-updates-of-some-state!

                          @vtec:

                          Тогда как этот скрипт сделать цикличным, потому что вызов url вида http://192.168.0.200:8087/set/javascrip … lue=789090 может прилететь в любую секунду? `
                          Сама функция https://github.com/ioBroker/ioBroker.javascript#on–-subscribe-on-changes-or-updates-of-some-state - это "Subscribe on changes or updates of some state".

                          Т.е. как только значение переменной incomingPhoneNumber поменяется на любое ( change:"any") будут выполнены инструкции в теле функции, т.е. в лог запишется новое значение переменной.

                          Читайте гитхаб почаще, там все (ну или почти все) есть! :oops:

                          1 Antwort Letzte Antwort
                          0
                          • V Offline
                            V Offline
                            vtec
                            schrieb am zuletzt editiert von
                            #22

                            Не срабатывал у меня subscribe! Поэтому еще раз уточнил правильно ли я все понимаю :-)

                            Без документации на гитхабе я бы столько не осилил бы ;-) Я в кое каких местах уже в код слазил :-)

                            Оказывается был небольшой недочет в примере Bluefox'а. Нужно было полный путь до переменной incomingPhoneNumber писать.Вот так работает (чем больше мы с вами тут напишем, тем легче будет разбираться другим):

                            on({id:'javascript.0.incomingPhoneNumber', change:'any'}, function (obj) {
                                log('Входящий вызов: '+obj.newState.val);
                            });
                            

                            Всем спасибо за понимание и терпение! %-)

                            1 Antwort Letzte Antwort
                            0
                            • E Offline
                              E Offline
                              electric69
                              schrieb am zuletzt editiert von
                              #23

                              @vtec:

                              Добавлю свои 5 копеек, еще есть движок и от амазона, на мой взгляд один из лучших, не плохо было бы и его добавить. http://www.ivona.com/ `
                              Есть еще один нюанс при использовании этого движка, точнее минус.

                              Если в тексте присутствуют английские слова, Татьяна их произносит как русские, написанные латиницей.

                              Гугл-девушка этим не страдает, читает по английски.

                              1 Antwort Letzte Antwort
                              0
                              • BluefoxB Offline
                                BluefoxB Offline
                                Bluefox
                                schrieb am zuletzt editiert von
                                #24

                                @vtec:

                                Не срабатывал у меня subscribe! Поэтому еще раз уточнил правильно ли я все понимаю :-)

                                Без документации на гитхабе я бы столько не осилил бы ;-) Я в кое каких местах уже в код слазил :-)

                                Оказывается был небольшой недочет в примере Bluefox'а. Нужно было полный путь до переменной incomingPhoneNumber писать.Вот так работает (чем больше мы с вами тут напишем, тем легче будет разбираться другим):

                                on({id:'javascript.0.incomingPhoneNumber', change:'any'}, function (obj) {
                                    log('Входящий вызов: '+obj.newState.val);
                                });
                                

                                Всем спасибо за понимание и терпение! %-) `
                                Кстати я поправил и в последней версии должно работать

                                on({id:'incomingPhoneNumber',...
                                
                                1 Antwort Letzte Antwort
                                0
                                • V Offline
                                  V Offline
                                  vtec
                                  schrieb am zuletzt editiert von
                                  #25

                                  @electric69:

                                  @vtec:

                                  Добавлю свои 5 копеек, еще есть движок и от амазона, на мой взгляд один из лучших, не плохо было бы и его добавить. http://www.ivona.com/ `
                                  Есть еще один нюанс при использовании этого движка, точнее минус.

                                  Если в тексте присутствуют английские слова, Татьяна их произносит как русские, написанные латиницей.

                                  Гугл-девушка этим не страдает, читает по английски. `

                                  Если смесь из рус. и англ., то да, а если полностью предложение из англ., то можно в sayit прописать использовать англ. ивону.

                                  1 Antwort Letzte Antwort
                                  0
                                  • V Offline
                                    V Offline
                                    vtec
                                    schrieb am zuletzt editiert von
                                    #26

                                    @Bluefox:

                                    Кстати я поправил и в последней версии должно работать

                                    on({id:'incomingPhoneNumber',...
                                    ```` `  
                                    

                                    Работает.

                                    1 Antwort Letzte Antwort
                                    0
                                    • V Offline
                                      V Offline
                                      vtec
                                      schrieb am zuletzt editiert von
                                      #27

                                      Поднимем снова тему с проигрыванием mp3. А то подпрыгиваешь от внезапного голоса :)

                                      Не работает код, что я делаю не так? Файл находится в системной папке /tmp

                                      var playMp3 = "sayit.0.tts.mp3";
                                      setState(playMp3, '/tmp/1.mp3');
                                      
                                      
                                      1 Antwort Letzte Antwort
                                      0
                                      • BluefoxB Offline
                                        BluefoxB Offline
                                        Bluefox
                                        schrieb am zuletzt editiert von
                                        #28

                                        @vtec:

                                        Поднимем снова тему с проигрыванием mp3. А то подпрыгиваешь от внезапного голоса :)

                                        Не работает код, что я делаю не так? Файл находится в системной папке /tmp

                                        var playMp3 = "sayit.0.tts.mp3";
                                        setState(playMp3, '/tmp/1.mp3');
                                        
                                        ```` `  
                                        

                                        sayit.0.tts.mp3 - это системный бинарный файл для vis и sonos.

                                        Нужно использовать sayit.0.tts.text

                                        setState('sayit.0.tts.text', '/tmp/1.mp3');
                                        
                                        

                                        983_test2.txt
                                        983_bai.308523.xls

                                        1 Antwort Letzte Antwort
                                        0
                                        • BluefoxB Offline
                                          BluefoxB Offline
                                          Bluefox
                                          schrieb am zuletzt editiert von
                                          #29

                                          @vtec:

                                          Поднимем снова тему с проигрыванием mp3. А то подпрыгиваешь от внезапного голоса :)

                                          Не работает код, что я делаю не так? Файл находится в системной папке /tmp

                                          var playMp3 = "sayit.0.tts.mp3";
                                          setState(playMp3, '/tmp/1.mp3');
                                          
                                          ```` `  
                                          

                                          Пришли мне файлик. :) Что у него с лицензией?

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          848

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe