Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.3.0a1 #4

Merged
merged 4 commits into from
Oct 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Changelog

## [0.2.0a1](https://github.com/JarbasHiveMind/hivemind-mic-satellite/tree/0.2.0a1) (2024-10-25)
## [0.3.0a1](https://github.com/JarbasHiveMind/hivemind-mic-satellite/tree/0.3.0a1) (2024-10-26)

[Full Changelog](https://github.com/JarbasHiveMind/hivemind-mic-satellite/compare/fb82358fa1493c32676647a2ace2420bc6aa4986...0.2.0a1)
[Full Changelog](https://github.com/JarbasHiveMind/hivemind-mic-satellite/compare/0.2.0...0.3.0a1)

**Merged pull requests:**

- feat:semver [\#1](https://github.com/JarbasHiveMind/hivemind-mic-satellite/pull/1) ([JarbasAl](https://github.com/JarbasAl))
- feat:phal [\#3](https://github.com/JarbasHiveMind/hivemind-mic-satellite/pull/3) ([JarbasAl](https://github.com/JarbasAl))



Expand Down
41 changes: 28 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,47 @@ OpenVoiceOS Microphone Satellite, connect to [HiveMind Listener](https://github.

A super lightweight version of [voice-satellite](https://github.com/JarbasHiveMind/HiveMind-voice-sat), only Microphone and VAD plugins runs on the mic-satellite, voice activity is streamed to `hivemind-listener` and all the processing happens there

> NOTE: `hivemind-listener` is required server side, the default `hivemind-core` does not provide audio streaming capabilities
## Server requirements

## Install

Install dependencies (if needed)
> ⚠️ `hivemind-listener` is required server side, the default `hivemind-core` does not provide STT and TTS capabilities.

```bash
sudo apt-get install -y libpulse-dev libasound2-dev
```
## Install

Install with pip

```bash
$ pip install git+https://github.com/JarbasHiveMind/hivemind-mic-satellite
$ pip install hivemind-mic-satellite
```


## Configuration

Voice relay is built on top of [ovos-simple-listener](https://github.com/TigreGotico/ovos-simple-listener), it uses the same OpenVoiceOS configuration `~/.config/mycroft/mycroft.conf`
Voice relay is built on top of [ovos-plugin-manager](https://github.com/OpenVoiceOS/ovos-plugin-manager), it uses the same OpenVoiceOS configuration `~/.config/mycroft/mycroft.conf`

Supported plugins:

| Plugin Type | Description | Required | Link |
|-------------|-------------|----------|------|
| Microphone | Captures voice input | Yes | [Microphone](https://openvoiceos.github.io/ovos-technical-manual/mic_plugins/) |
| VAD | Voice Activity Detection | Yes | [VAD](https://openvoiceos.github.io/ovos-technical-manual/vad_plugins/) |
| Plugin Type | Description | Required | Link |
|-------------|-------------------------------------|----------|--------------------------------------------------------------------------------|
| Microphone | Captures voice input | Yes | [Microphone](https://openvoiceos.github.io/ovos-technical-manual/mic_plugins/) |
| VAD | Voice Activity Detection | Yes | [VAD](https://openvoiceos.github.io/ovos-technical-manual/vad_plugins/) |
| PHAL | Platform/Hardware Abstraction Layer | No | [PHAL](https://openvoiceos.github.io/ovos-technical-manual/PHAL/) |

> NOTE: the mic satellite can not (yet) play media, if you ask OVOS to "play XXX" nothing will happen as the mic-satellite will ignore the received uri

The regular voice satellite is built on top of [ovos-dinkum-listener](https://github.com/OpenVoiceOS/ovos-dinkum-listener) and is full featured supporting all plugins

This repo needs less resources but it is also **missing** some features

- STT plugin (runs on server)
- TTS plugin (runs on server)
- WakeWord plugin (runs on server)
- Continuous Listening
- Hybrid Listening
- Recording Mode
- Sleep Mode
- Multiple WakeWords
- Audio Transformers plugins
- Dialog Transformers plugins
- TTS Transformers plugins
- Media Playback plugins
- OCP Stream plugins
12 changes: 12 additions & 0 deletions hivemind_mic_sat/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ def __init__(self):
self.hm_bus.on_mycroft("speak", self.handle_speak)
self.hm_bus.on_mycroft("speak:b64_audio.response", self.handle_speak_b64)
self.hm_bus.on_mycroft("ovos.utterance.handled", self.handle_complete)
try:
from ovos_PHAL.service import PHAL
self.phal = PHAL(bus=self.hm_bus)
self.phal.start()
except ImportError:
LOG.warning("PHAL is not available")
self.phal = None

def handle_stt_error(self, message: Message):
LOG.error("STT ERROR - transcription failed!")
Expand Down Expand Up @@ -119,6 +126,11 @@ def run(self):

self.running = False

def stop(self):
self.running = False
if self.phal:
self.phal.shutdown()


def run():
h = HiveMindMicrophoneClient()
Expand Down
4 changes: 2 additions & 2 deletions hivemind_mic_sat/version.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# START_VERSION_BLOCK
VERSION_MAJOR = 0
VERSION_MINOR = 2
VERSION_MINOR = 3
VERSION_BUILD = 0
VERSION_ALPHA = 0
VERSION_ALPHA = 1
# END_VERSION_BLOCK
Loading