1
0
mirror of https://github.com/janvarev/Irene-Voice-Assistant.git synced 2025-12-02 22:58:35 +02:00
Files
Irene-Voice-Assistant/docs/DEV_WEBAPI_INTEGRATION.md
Janvarev Vladislav 3f699787e3 webapi fixes
2023-12-10 15:27:49 +03:00

3.1 KiB

Интеграция с 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