Skip to main content
Pre-release

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

GGWave audio plugin

This is an OVOS audio transformer plugin for ggwave. It decodes audio QR codes (sound-based data messages) heard by the microphone and acts on them.

You can test the plugin from your browser, including WiFi setup.

The companion skill OpenVoiceOS/ovos-skill-ggwave lets you enable or disable this plugin by voice.

These skill stores support installing skills through GGWave:

To install skills this way, allow ovos-core to install Python packages:

"skills": {
    "installer": {
      "allow_pip": true,
      "allow_alphas": true,
      "break_system_packages": false
    }
}

TIP Allow ovos-core to install Python packages. Otherwise the install commands from this plugin fail.

Install

pip install ovos-audio-transformer-plugin-ggwave

ggwave fails to install on Python 3.11. Use the wheel from whl.smartgic.io instead, then the plugin install works.

Listener plugin

To load this plugin from dinkum-listener, enable it in mycroft.conf.

WARNING This is currently not recommended. See the bug report in dinkum-listener.

"listener": {
    "audio_transformers": {
        "ovos-audio-transformer-plugin-ggwave": {
            "start_enabled": true,
            "listen_timeout": 300
        }
    }
}

listen_timeout (seconds, default 300) auto-disables the listener after it has been enabled over the bus with ovos.ggwave.enable, so a stray or forgotten enable does not leave data-over-sound listening on forever. This is a security default: an enabled listener can trigger opcodes such as BUS:, PIP:, and GHS: (install a skill from a GitHub URL) for anyone in earshot. Set it to 0 (or a negative number) to disable this behavior and listen indefinitely once enabled. It has no effect on start_enabled: enabling the listener via config is an explicit operator decision to run always-on, and does not arm the timer.

Valid audio data

This repo provides a test interface on GitHub Pages. You can also test your own payloads at ggwave-js.ggerganov.com.

WiFi setup

Emit a message that sets the WiFi SSID:

SSID:123456

After the SSID is set, emit a message that sets the WiFi password:

PSWD:123456

If the password is empty, the plugin treats the network as open:

PSWD:

Once the password is received, the plugin sends a bus message for ovos-PHAL-plugin-network-manager to handle.

Install a GitHub skill

Install a skill from a GitHub URL:

GHS:https://github.com/OpenVoiceOS/skill-ovos-icanhazdadjokes

Install a Python package

Install any package from PyPI:

PIP:skill-wikipedia-for-humans

Utterance

Inject an utterance into the messagebus, as if the user spoke it to the microphone:

UTT:hello cruel world

Speak

Make an OVOS device speak:

SPEAK:hello world

Bus

Inject a simple message into the messagebus:

BUS:recognizer_loop:sleep

JSON

Inject a serialized message into the messagebus:

JSON:{"type": "speak", "data": {"utterance": "hello"}, "context": {}}

Related projects

Release files for ovos-audio-transformer-plugin-ggwave 1.1.0a2

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

Source distribution (sdist)

Source distribution for ovos-audio-transformer-plugin-ggwave 1.1.0a2
File Size Uploaded
ovos_audio_transformer_plugin_ggwave-1.1.0a2.tar.gz 13.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ovos-audio-transformer-plugin-ggwave 1.1.0a2
File Interpreter ABI Platform
ovos_audio_transformer_plugin_ggwave-1.1.0a2-py3-none-any.whl Python 3 none any Details

Total release size: 25.1 kB

Release files / ovos_audio_transformer_plugin_ggwave-1.1.0a2.tar.gz

Download URL ovos_audio_transformer_plugin_ggwave-1.1.0a2.tar.gz
Size 13.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bd510b7aef11798fad5c46475bdaf8c73c5bb18e4476c07d0306daf710cecb73
BLAKE2b-256 checksum
How to use checksums
b777871c954498a2ab51598da10e253cb59f416a4194cd39d23c19ff1a6c9fc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / ovos_audio_transformer_plugin_ggwave-1.1.0a2-py3-none-any.whl

Download URL ovos_audio_transformer_plugin_ggwave-1.1.0a2-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7172d66af1c922e2b6557e0328f57b868d0e9913b1144319b8f3904e025834f1
BLAKE2b-256 checksum
How to use checksums
3619b1aa77eb383406eb2e927cad2c1042a7a0769368e561acf6ddaa1f2b3a65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.1.0a2 This release

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

0.0.0

2 release files

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