Skip to content

JarbasHiveMind/hivemind-listener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HiveMind Listener

HiveMind Listener extends hivemind-core and integrates with ovos-simple-listener, enabling audio-based communication with advanced features for secure, distributed voice assistant functionality.


🌟 Key Features

  • Audio Stream Handling:
    Accepts encrypted binary audio streams, performing WakeWord detection, Voice Activity Detection (VAD), Speech-to-Text (STT), and Text-to-Speech (TTS) directly on the hivemind-listener instance.
    (Lightweight clients like hivemind-mic-satellite only run a microphone and VAD plugin.)

  • STT Service:
    Provides STT via the hivemind-websocket-client, accepting Base64-encoded audio inputs.

  • TTS Service:
    Provides TTS via the hivemind-websocket-client, returning Base64-encoded audio outputs.

  • Secure Plugin Access:
    Running TTS/STT via HiveMind Listener requires an access key, offering fine-grained access control compared to non-authenticated server plugins.

💡 Tip: HiveMind Listener replaces hivemind-core and is compatible with all existing HiveMind clients.


🚀 Getting Started

Installation

pip install hivemind-listener

🛠️ Commands Overview

$ hivemind-listener --help
Usage: hivemind-listener [OPTIONS] 

  Run the HiveMind Listener with configurable plugins.

  If a plugin is not specified, the defaults from mycroft.conf will be used.

  mycroft.conf will be loaded as usual for plugin settings

Options:
  --wakeword TEXT                 Specify the wake word for the listener.
                                  Default is 'hey_mycroft'.
  --stt-plugin TEXT               Specify the STT plugin to use.
  --tts-plugin TEXT               Specify the TTS plugin to use.
  --vad-plugin TEXT               Specify the VAD plugin to use.
  --dialog-transformers TEXT      dialog transformer plugins to load.
                                  Installed plugins: None
  --utterance-transformers TEXT   utterance transformer plugins to load. 
                                  Installed plugins: ['ovos-utterance-plugin-cancel']
  --metadata-transformers TEXT    metadata transformer plugins to
                                  load. Installed plugins: None
  --ovos_bus_address TEXT         Open Voice OS bus address
  --ovos_bus_port INTEGER         Open Voice OS bus port number
  --host TEXT                     HiveMind host
  --port INTEGER                  HiveMind port number
  --ssl BOOLEAN                   use wss://
  --cert_dir TEXT                 HiveMind SSL certificate directory
  --cert_name TEXT                HiveMind SSL certificate file name
  --db-backend [redis|json|sqlite]
                                  Select the database backend to use. Options:
                                  redis, sqlite, json.
  --db-name TEXT                  [json/sqlite] The name for the database
                                  file. ~/.cache/hivemind-core/{name}
  --db-folder TEXT                [json/sqlite] The subfolder where database
                                  files are stored. ~/.cache/{db_folder}}
  --redis-host TEXT               [redis] Host for Redis. Default is
                                  localhost.
  --redis-port INTEGER            [redis] Port for Redis. Default is 6379.
  --redis-password TEXT           [redis] Password for Redis. Default None
  --help                          Show this message and exit.

🌐 Example Use Cases

  1. Microphone Satellite: Use hivemind-mic-satellite to stream raw audio to the hivemind-listener.

    Microphones handle audio capture and VAD, while the Listener manages WakeWord, STT, and TTS processing.

  2. Authenticated STT/TTS Services: Connect clients securely using access keys for transcribing or synthesizing audio via the HiveMind Listener, ensuring robust access control.


🤝 Contributing

We welcome contributions!


⚖️ License

HiveMind Listener is open-source software, licensed under the Apache 2.0 License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages