Skip to main content

respeaker-led

Python 3.12 License: MIT

respeaker-led ist die offizielle Python-Bibliothek und CLI-Steuerung für den reSpeaker XVF3800 LED-Ring.

Das Paket bietet sowohl einen automatischen Hintergrund-Daemon (mit robuster USB-Auto-Reconnect-Logik) als auch eine direkte Einbettung (ControllerService) in eigene Python-Anwendungen (z. B. Sprachassistenten oder STT-Pipelines).


Features

  • 🔌 USB Auto-Reconnect & Resilienz: Automatischer Verbindungsaufbau, Heartbeat-Überwachung und Wiederherstellung des Hardware-Modus bei Kabeltrennung.
  • 🐍 Direkte Python-Einbettung: ControllerService im selben Prozess ausführen — ohne HTTP-Latenz oder externe Services.
  • 💻 CLI-Steuerung mit Auto-Daemon: Befehle wie respeaker-led set state listening starten den Hintergrunddienst bei Bedarf automatisch.
  • 🎨 Umfangreiche Effekt-Bibliothek: 24 Zustände (Listening, Processing, Speaking, etc.), 20 flüchtige Events, 13 Overlays (DOA-Richtungsanzeige, Countdown-Ring) und Preset-Support.
  • 🖼️ Virtueller Vorschau-Modus: Kann auch ohne angeschlossene Hardware zur Entwicklung verwendet werden (console-preview).

Installation

pip install respeaker-led

Optional: GUI-Demo (PySide6)

Wenn du das mitgelieferte PySide6-Beispiel zur Echtzeit-Visualisierung im Fenster ausführen möchtest:

pip install respeaker-led[demo]

Nutzung 1: Direkte Einbettung in Python-Apps (Embedded)

Für Sprachassistenten, STT-Pipelines oder eigene GUI-Anwendungen:

from respeaker_led import ControllerService

# Service im selben Prozess starten
with ControllerService(use_device=True) as service:
    # 1. Hauptzustand setzen
    service.set_state_target("listening")

    # 2. Kurzes Event auslösen (z. B. Wake-Word)
    service.emit_event_target("short_flash", {"color": "0xFFFFFF"})

    # 3. Overlay setzen (z. B. DOA-Richtungsanzeige)
    service.set_overlay_target("direction_indicator", channel="doa", inputs={"angle": 180.0})

    # ... Anwendungslogik ...

    service.set_state_target("processing")

👉 Vollständiges Anwender-Handbuch & Effekt-Tabellen:
Siehe docs/integration_guide.md


Nutzung 2: CLI-Befehle

Nach der Installation stehen dir folgende Konsolenbefehle zur Verfügung:
respeaker-led, led-controller, ledctl, respeaker, led

# Zustand setzen (startet den Daemon automatisch im Hintergrund)
respeaker-led set state listening

# Hintergrund-Zustand ändern
respeaker-led set state solid_color --params '{"color":"0x00AAFF"}'

# Kurzes Event auslösen
respeaker-led emit event short_flash --params '{"color":"0xFFFFFF"}'

# Helligkeit regeln
respeaker-led set brightness 0.5

# Status abfragen
respeaker-led status

# Daemon explizit als Service im Vordergrund betreiben
respeaker-led serve

Nutzung 3: PySide6 Demo-Anwendung

Das Repository enthält eine einsatzbereite PySide6 GUI-Anwendung mit einem virtuellen 12-LED-Ring in Echtzeit:

# Virtueller Modus (ohne Hardware):
python examples/pyside6_demo.py

# Mit echter USB-Hardware:
python examples/pyside6_demo.py --device

Entwicklung & Tests

Für die lokale Entwicklung mit uv:

# Abhängigkeiten synchronisieren
uv sync --all-groups

# Test-Suite ausführen (192 Tests)
uv run pytest -q

# Paket lokal bauen
uv build

Dokumentation


Lizenz

MIT License © Marco Sudau

Release files for respeaker-led 0.1.2

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

Source distribution (sdist)

Source distribution for respeaker-led 0.1.2
File Size Uploaded
respeaker_led-0.1.2.tar.gz 2.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for respeaker-led 0.1.2
File Interpreter ABI Platform
respeaker_led-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 2.4 MB

Release files / respeaker_led-0.1.2.tar.gz

Download URL respeaker_led-0.1.2.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
c3514e32808bf6b5fea17c5f1d67d780b6af19b1c3e72a4a2816b5baea3fd198
BLAKE2b-256 checksum
How to use checksums
8156bab8f7e7f1f432c2b850e82741fc18dc2ee0aa281714ad4cfd1b273b187b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 6, 2026.

Transparency log

Release files / respeaker_led-0.1.2-py3-none-any.whl

Download URL respeaker_led-0.1.2-py3-none-any.whl
Size 91.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab40e0f30d3aa2647cb549623e2b434aa3aaea69f38a31cb9761de958a0cb561
BLAKE2b-256 checksum
How to use checksums
aa96d061b5576ac037e0d9b7ee2e0b13faca243955d53a318ce02db10cc55bb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 6, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.4

2 release files

0.1.3

2 release files

This release

0.1.2 This release

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