Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

mycroft-classic-listener

mycroft-classic-listener is the original Mycroft voice listener, ported to run on OVOS packages. It does not support instant_listen, multiple hotwords, VAD, listening modes, or fallback STT. It supports fallback hotwords through OPM (OVOS Plugin Manager).

Install

uv pip install -e .

Usage

The listener reads its settings from the stt, hotwords, and listener sections of mycroft.conf. Set the STT plugin, the hotword plugins, and the listener behavior there.

{

  // Speech to Text parameters
  // Override: REMOTE
  "stt": {
    // select a STT plugin as described in the respective readme
    "module": "ovos-stt-plugin-server",
    // the default instance is hosted by a OpenVoiceOS member
    // it is a google proxy equivalent to mycroft selene
    "ovos-stt-plugin-server": {"url": "https://stt.openvoiceos.com/stt"}
  },

  // Hotword configurations
  "hotwords": {
    "hey_mycroft": {
        "module": "ovos-ww-plugin-precise-lite",
        "model": "https://github.com/OpenVoiceOS/precise-lite-models/raw/master/wakewords/en/hey_mycroft.tflite",
        "expected_duration": 3,
        "trigger_level": 3,
        "sensitivity": 0.5,
        "fallback_ww": "hey_mycroft_precise"
    },
    "hey_mycroft_precise": {
        "module": "ovos-ww-plugin-precise",
        "version": "0.3",
        "model": "https://github.com/MycroftAI/precise-data/raw/models-dev/hey-mycroft.tar.gz",
        "expected_duration": 3,
        "trigger_level": 3,
        "sensitivity": 0.5,
        "fallback_ww": "hey_mycroft_vosk"
    },
    "hey_mycroft_vosk": {
        "module": "ovos-ww-plugin-vosk",
        "samples": ["hey mycroft", "hey microsoft", "hey mike roft", "hey minecraft"],
        "rule": "fuzzy",
        "fallback_ww": "hey_mycroft_pocketsphinx"
    },
    "hey_mycroft_pocketsphinx": {
        "module": "ovos-ww-plugin-pocketsphinx",
        "phonemes": "HH EY . M AY K R AO F T",
        "threshold": 1e-90,
        "lang": "en-us"
    },
    "wake_up": {
        "module": "ovos-ww-plugin-pocketsphinx",
        "phonemes": "W EY K . AH P",
        "threshold": 1e-20,
        "lang": "en-us"
    }
  },

  // Settings used by the wake-up-word listener
  // Override: REMOTE
  "listener": {
    "sample_rate": 16000,

    // if enabled the noise level is saved to a ipc file, useful for
    // debuging if microphone is working but writes a lot to disk,
    // recommended that you set "ipc_path" to a tmpfs
    "mic_meter_ipc": true,

    // Set 'save_path' to configure the location of files stored if
    // 'record_wake_words' and/or 'save_utterances' are set to 'true'.
    // WARNING: Make sure that user 'mycroft' has write-access on the
    // directory!
    // "save_path": "/tmp",
    // Set 'record_wake_words' to save a copy of wake word triggers
    // as .wav files under: /'save_path'/mycroft_wake_words
    "record_wake_words": false,

    // Set 'save_utterances' to save each sentence sent to STT -- by default
    // they are only kept briefly in-memory.  This can be useful for for
    // debugging or other custom purposes.  Recordings are saved
    // under: /'save_path'/mycroft_utterances/<TIMESTAMP>.wav
    "save_utterances": false,
    "wake_word_upload": {
      "disable": true,
      // official mycroft endpoint disabled, enable if you want to collect your own
      // eg, eltocino localcroft or personal backend
      "url": ""
    },

    // Override as SYSTEM or USER to select a specific microphone input instead of
    // the PortAudio default input.
    //   "device_name": "somename",  // can be regex pattern or substring
    //       or
    //   "device_index": 12,

    // Retry microphone initialization infinitely on startup
    "retry_mic_init" : true,

    // Stop listing to the microphone during playback to prevent accidental triggering
    // This is enabled by default, but instances with good microphone noise cancellation
    // can disable this to listen all the time, allowing 'barge in' functionality.
    "mute_during_output" : true,

    // How much (if at all) to 'duck' the speaker output during listening.  A
    // setting of 0.0 will not duck at all.  A 1.0 will completely mute output
    // while in a listening state.  Values in between will lower the volume
    // partially (this is optional behavior, depending on the enclosure).
    "duck_while_listening" : 0.3,

    // In milliseconds
    "phoneme_duration": 120,
    "multiplier": 1.0,
    "energy_ratio": 1.5,

    // NOTE, multiple hotwords are supported now, these fields define the main wake_word,
    // this is equivalent to setting "active": true in the "hotwords" section below IF "active" is missing
    // this field is also used to get a speakable string of main wake word, ie, mycrofts name
    // this is set by selene and used in naptime skill
    "wake_word": "hey_mycroft",
    "stand_up_word": "wake_up",

    // Settings used by microphone to set recording timeout
    "recording_timeout": 10.0,
    "recording_timeout_with_silence": 3.0
  }
}

License

Apache License 2.0. See LICENSE.

Metadata

Release files for mycroft-classic-listener 1.0.3a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mycroft-classic-listener 1.0.3a2
File Size Uploaded
mycroft_classic_listener-1.0.3a2.tar.gz 105.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mycroft-classic-listener 1.0.3a2
File Interpreter ABI Platform
mycroft_classic_listener-1.0.3a2-py3-none-any.whl Python 3 none any Details

Total release size: 210.7 kB

Release files / mycroft_classic_listener-1.0.3a2.tar.gz

Download URL mycroft_classic_listener-1.0.3a2.tar.gz
Size 105.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c7b5322c653c3ea817e3f6c813953d0ab84502558436d335fc62bf33925fc45a
BLAKE2b-256 checksum
How to use checksums
55fcf6c96bd68531666ff15388e8dc1a3cb4a8d687d020a68dab7fa4a614b88e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / mycroft_classic_listener-1.0.3a2-py3-none-any.whl

Download URL mycroft_classic_listener-1.0.3a2-py3-none-any.whl
Size 105.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60fdb7496eb79493ef90d7a8fe39176b3f117164e4a92fd7b36c521a7add923d
BLAKE2b-256 checksum
How to use checksums
6dd197d17d95396e3564d445eb251b3fc6680362d53cad0124d319242916b231
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page