Sending and receiving audio remotely

Hi, I’m trying to integrate mycroft into my own app, is it possible to send and receive an audio stream to and from Mycroft to play and receive audio from my app, from what I’ve seen (forgive me if I missed something), I can use the websocket to send and receive text but I would still have to handle TTS and STT on my app, does Mycroft handle sending and receive audio from a remote place?

I don’t think there is a native method available to send and receive audio from a remote place but you can look at extending mycroft to do this, I have implemented something on the similar lines of sending TTS to a external application from mycroft-core using the messagebus as a skill you can find it here GitHub - AIIX/remote-tts: Remote tts skill client using OVOS utils

1 Like

Does this only do TTS? STT is more intensive and the one I would want to make work remotely as much as possible.

Is it possible to pull out the STT from Mycroft and make my own websocket server run next to Mycroft to turn the audio into text and back to transfer to and from the client and Mycroft?

You can probably look at some experimental work done on a modified wave client which needs to run as a client inside core and a skill that translates raw pcm to wav which the wav client then uses, the raw pcm needs to be sent over the messagebus

Wave client: GitHub - AIIX/wave-client: wav client for mycroft
Remote Stt Skill: GitHub - AIIX/remote-stt: remote stt skill required for wave client

1 Like

Hi @AIIX

I’m trying to setup a remote STT and TTS mycroft instance.

Could you please clarify a few things for me regarding the docs on this page:

My questions are:

Assuming the “powerful” mycroft-core instance is called mycroft-server and the “remote” less powerful instance is mycroft-remote.

  • On which instance (mycroft-server or mycroft-remote) should Wave Client, Remote-STT , and Remote-TTS be installed respectively?

  • On which instance do you make the indicated changes to mycroft.conf?

  • Are there any other changes needed on either the remote or server instance that you know of?

Merry Christmas!

Mycroft-core needs to be installed on the server, Mycroft gui needs to be installed on the remote device, and Mycroft gui itself will act as a routing client

The wave client, remote stt/tts need to be installed on mycroft-core

Any changes to mycroft.conf need to be made server side