Skip to content

Latest commit

 

History

History
47 lines (27 loc) · 3.1 KB

DEV_WEBAPI_INTEGRATION.md

File metadata and controls

47 lines (27 loc) · 3.1 KB

Интеграция с WebAPI

Для интеграции сторонних клиентов - микрофонов на ESP и проч. есть специальные функции интеграции в webapi Ирины.

Основные точки (REST HTTP)

Вызываются по адресу: http://<ip_Ирины>:port/<точка_вызова>

Документация: http://<ip_Ирины>:port/docs, обычно http://localhost:5003/docs

Можно найти

  • sendRawTxt - который принимает распознанный текст и выполняет его (если там есть ключевое слово)
  • sendSimpleTxtCmd - тупо выполняет команду через плагины
  • ttsWav - рендерит текст в звук

Вторым параметром у sendRawTxt и sendSimpleTxtCmd идет returnFormat, представляет собой строку. Варианты:

  • none - обработать и вывести звук на сервере
  • saytxt - вернуть текст на клиент
  • saywav - вернуть звук на клиент
  • none,saytxt - звук на сервере, текст на клиент (и прочие комбинации работают)

Websocket точки

  • wsmic - получает RAW WAV поток из микрофона 48 кгц, возвращает saytxt,saywav данные

Слабо тестировано:

  • wsmic_48000_none - получает RAW WAV поток из микрофона 48 кгц, выполняет все на сервере. Идеально, если у вас "тонкий микрофон"
  • wsmic_22050_none - получает RAW WAV поток из микрофона 22 кгц, выполняет все на сервере. Идеально, если у вас "тонкий микрофон"
  • wsmic_44100_none - получает RAW WAV поток из микрофона 44 кгц, выполняет все на сервере. Идеально, если у вас "тонкий микрофон"
  • wsrawtext - получает JSON-данные в вебсокет. Ожидаемые элементы JSON-dict:
    • txt:str - сырой текст (вместе с кодовым словом ассистента или без него; во втором случае текст просто будет пропущен)
    • returnFormat:str - (опционально) - комбинация none,saytxt,saywav - чтобы знать, что возвращать клиенту. По дефолту - none.
  • wsrawtextcmd - получает JSON-данные в вебсокет. Ожидаемые элементы JSON-dict:
    • txt:str - текст команды (то, что идет после имени ассистента)
    • returnFormat:str - (опционально) - комбинация none,saytxt,saywav - чтобы знать, что возвращать клиенту. По дефолту - none.

Пример использования wsmic_ пойнтов в https://github.com/janvarev/Remote-Irene/blob/master/run_remoteva_micrem.py