Mozilla Hubs Bot supporting voice rooms

--help 38577a2058 Integrate ChatGPT into `conference_bot`. il y a 11 mois
.github e3ff183efd Add `workflow_dispatch` option. il y a 11 mois
docs b0ba3fce5b A workflow to build documentation with sphinx and push it to github pages (#1) il y a 11 mois
examples 38577a2058 Integrate ChatGPT into `conference_bot`. il y a 11 mois
hubsbot 729add80a6 Make `VoskVoiceConsumer` formally implement `TextConsumer`. il y a 11 mois
README.md 02f46a7c14 Initial bare-bone version. il y a 1 an
pyproject.toml b0ba3fce5b A workflow to build documentation with sphinx and push it to github pages (#1) il y a 11 mois

README.md

HubsBot


This is a course project for BICA taught in MEPhI by Alexei Samsonovich. The main goal is to create an easy-to-use programmatic API for Mozilla Hubs.

Comparison to analogues

There are quite a few similar pieces of software freely available, however none of them seem to provide an ability to use voice-chat features of the Hubs. The voice, however, is very important for any research involving the Human-AI interaction.

Therefore, the main feature of this project is that it allows to receive and send voice messages and control position and other properties of the avatar in Hubs by means of simple and minimalistic API, which the Hubs itself seems to lack.

Dependencies

  • pymediasoup -- Hubs voice capabilities are based on the MediaSoup protocol, which is inherited from the WebRTC. This library provides a python wrapper for this protocol. Note that it strictly requires Python <= 3.10 to build without errors;
  • hubsclient -- simple GraphQL wrapper for rooms and other avatars interactions;
  • aiortc -- required for audio acquisition.