STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
# SpeechToText
|
|
|
|
|
|
|
|
|
|
Lokaler, schneller Spracherkennungs-Dienst (Sprache → Text) auf Basis von
|
|
|
|
|
[faster-whisper](https://github.com/SYSTRAN/faster-whisper) — das STT-Gegenstück zu
|
|
|
|
|
[chatterbox-tts-cli](https://kitux.de/forgejo/dschlueter/chatterbox-tts-cli).
|
|
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
Gedacht als Baustein für Sprachassistenten und Smarthome: **Home Assistant** (Wyoming),
|
|
|
|
|
**Mikrocontroller** wie ESP32 (HTTP/WebSocket), **Skripte** (CLI) und **OpenAI-kompatible Tools**.
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
|
|
|
|
- **Schnell:** Modell bleibt geladen. Gemessen auf RTX 3090 mit `large-v3-turbo`:
|
|
|
|
|
5,8 s Audio → 0,2 s, 35 s Audio → 0,7 s Rechenzeit; ~2,4 GB VRAM.
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
- **Nicht blockierend:** Inferenz in einem Worker-Thread, begrenzte Warteschlange (503 statt Stau).
|
|
|
|
|
- **Äußerungsende per Sprechpause** (Silero-VAD) statt Stoppwort; Text ca. 1 s nach Sprechende.
|
|
|
|
|
- **Robust:** automatischer CPU-Fallback, beliebige Audioformate, Filter gegen Whisper-Halluzinationen.
|
|
|
|
|
- **Lokal:** keine Cloud; Internet nur zum einmaligen Herunterladen des Modells.
|
2026-09-14 00:48:02 +02:00
|
|
|
- **Optionale LLM-Korrektur** (`--llm-correct`, lokales `gemma4:12b`) mit Schutz gegen verfälschte Antworten.
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
## Dokumentation
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
| Dokument | Für wen | Inhalt |
|
|
|
|
|
|---|---|---|
|
|
|
|
|
| **[BEDIENUNGSANLEITUNG.md](BEDIENUNGSANLEITUNG.md)** | Anwender | Installation, Starten, CLI, Mikrofon, Home Assistant, Einstellungen, Fehlerbehebung |
|
|
|
|
|
| **[docs/API.md](docs/API.md)** | Client-Entwickler | HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, Beispiele (Python, curl, ESP32) |
|
Dokumentation aktualisiert, CHANGELOG ergänzt, Version 0.2.0
- CHANGELOG.md neu (0.1.0, 0.2.0)
- Bedienungsanleitung: LLM-Korrektur in Überblick, Voraussetzungen, Installation, Deinstallation
- Entwicklerdoku: Output-Klasse, STT_LLM_*-Konfiguration, Nebenläufigkeitsregel für Ausgaben,
Erweitern (LLM/Prompt), Grenzen und nächste Schritte
- README, CLAUDE.md: Verweise und Befehle ergänzt
- stt_core.__version__ = 0.2.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 01:02:21 +02:00
|
|
|
| **[docs/ENTWICKLER.md](docs/ENTWICKLER.md)** | Programmierer am Projekt | Architektur, Module, Nebenläufigkeit, LLM-Korrektur, Tests, Erweitern, Designentscheidungen |
|
|
|
|
|
| **[CHANGELOG.md](CHANGELOG.md)** | alle | Änderungen je Version (aktuell 0.2.0) |
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
## Schnellstart
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
|
|
|
|
```bash
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
cd ~/Python_Programs/SpeechToText
|
|
|
|
|
python3 -m venv --system-site-packages .venv
|
|
|
|
|
.venv/bin/pip install -r requirements.txt
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
# Dienst starten (GPU per UUID aus `nvidia-smi -L`; ohne GPU einfach weglassen)
|
|
|
|
|
CUDA_VISIBLE_DEVICES=GPU-<uuid> .venv/bin/python stt_service.py
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
# in einem zweiten Terminal
|
|
|
|
|
curl http://127.0.0.1:9998/health # "status":"ok" = bereit
|
|
|
|
|
.venv/bin/python stt_cli.py aufnahme.wav # Datei → Text
|
|
|
|
|
.venv/bin/python stt_cli.py -v # Mikrofon → Text (Strg+C beendet)
|
2026-09-14 00:48:02 +02:00
|
|
|
.venv/bin/python stt_cli.py --until-enter # Pausen erlaubt, Enter beendet → ein Text
|
Dokumentation aktualisiert, CHANGELOG ergänzt, Version 0.2.0
- CHANGELOG.md neu (0.1.0, 0.2.0)
- Bedienungsanleitung: LLM-Korrektur in Überblick, Voraussetzungen, Installation, Deinstallation
- Entwicklerdoku: Output-Klasse, STT_LLM_*-Konfiguration, Nebenläufigkeitsregel für Ausgaben,
Erweitern (LLM/Prompt), Grenzen und nächste Schritte
- README, CLAUDE.md: Verweise und Befehle ergänzt
- stt_core.__version__ = 0.2.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 01:02:21 +02:00
|
|
|
.venv/bin/python stt_cli.py --until-enter --llm-correct # zusätzlich per lokalem LLM korrigieren (Ollama)
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
```
|
|
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
Beim ersten Start wird das Modell geladen (`large-v3-turbo` ≈ 1,6 GB). Schnittstellen zum Ausprobieren
|
|
|
|
|
im Browser: http://127.0.0.1:9998/docs
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
## Schnittstellen auf einen Blick
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
| Schnittstelle | Adresse | Zweck |
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|---|---|---|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
| `GET /health` | `:9998` | Status, Modell, Gerät, Warteschlange |
|
|
|
|
|
| `POST /v1/audio/transcriptions` | `:9998` | OpenAI-kompatibel (multipart) |
|
|
|
|
|
| `POST /transcribe` | `:9998` | Audio direkt im Body (WAV/MP3/… oder rohes PCM) — ideal für Mikrocontroller |
|
|
|
|
|
| `WS /ws/stream` | `:9998` | Live-Streaming mit automatischer Satzende-Erkennung |
|
|
|
|
|
| Wyoming | `tcp :10300` | Home Assistant / ESPHome-Satelliten |
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
curl --data-binary @aufnahme.wav http://127.0.0.1:9998/transcribe
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
curl -F file=@aufnahme.mp3 http://127.0.0.1:9998/v1/audio/transcriptions
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
```
|
|
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
> Der Dienst hat keine Authentifizierung — nur im eigenen Netz betreiben.
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
## Projektaufbau
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
| Datei | Aufgabe |
|
|
|
|
|
|---|---|
|
|
|
|
|
| `stt_core.py` | Kern: Whisper-Engine, Audio-Hilfen, Halluzinationsfilter, Satzende-Erkennung |
|
|
|
|
|
| `stt_service.py` | FastAPI-Dienst: HTTP, WebSocket, Worker, Start des Wyoming-Servers |
|
|
|
|
|
| `stt_wyoming.py` | Wyoming-Protokoll für Home Assistant |
|
|
|
|
|
| `stt_cli.py` | Kommandozeile: Dateien und Mikrofon über den Dienst oder lokal |
|
2026-09-14 00:48:02 +02:00
|
|
|
| `stt_llm.py` | optionale LLM-Nachkorrektur (Ollama oder OpenAI-kompatibel), nur mit `--llm-correct` |
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
| `tests/` | Unit-Tests (ohne Modell) und Integrationstests (echtes Whisper) |
|
|
|
|
|
| `deploy/stt-service.service` | systemd-User-Unit für den Dauerbetrieb |
|
|
|
|
|
| `legacy/` | alte Einzelskripte `stt.py`, `stt_respeaker.py` (historisch, nicht gepflegt) |
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
|
|
|
|
|
## Tests
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-09-14 00:48:02 +02:00
|
|
|
.venv/bin/python -m pytest # 49 Unit-Tests, ohne Modell
|
|
|
|
|
.venv/bin/python -m pytest -m integration # 5 Integrationstests: Whisper small (CPU) + Silero, espeak-ng; LLM über Ollama
|
STT-Dienst: Kern, HTTP/WebSocket/Wyoming-Service, CLI, Tests, systemd-Unit
- stt_core.py: Whisper-Engine (einmal laden, CPU-Fallback), Audio-Dekodierung
jedes Formats, Halluzinationsfilter, Äußerungserkennung per Silero-VAD
- stt_service.py: /health, /v1/audio/transcriptions (OpenAI), /transcribe (Rohdaten),
WS /ws/stream; Inferenz im Worker-Thread, begrenzte Warteschlange (503)
- stt_wyoming.py: Home-Assistant-Anbindung (TCP 10300)
- stt_cli.py: Datei/Mikrofon über den Dienst oder lokal
- Tests (Unit + Integration), README, requirements.txt, deploy/stt-service.service
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:34:03 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Bekannte Grenzen
|
|
|
|
|
|
|
|
|
|
- Wörtlich wiederholte Sätze innerhalb eines 30-s-Fensters fasst Whisper teils zusammen
|
|
|
|
|
(bei natürlicher Sprache selten).
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
- Keine Zwischenergebnisse während des Sprechens — Text kommt pro Äußerung.
|
|
|
|
|
- Keine Authentifizierung und kein TLS.
|
Dokumentation aktualisiert, CHANGELOG ergänzt, Version 0.2.0
- CHANGELOG.md neu (0.1.0, 0.2.0)
- Bedienungsanleitung: LLM-Korrektur in Überblick, Voraussetzungen, Installation, Deinstallation
- Entwicklerdoku: Output-Klasse, STT_LLM_*-Konfiguration, Nebenläufigkeitsregel für Ausgaben,
Erweitern (LLM/Prompt), Grenzen und nächste Schritte
- README, CLAUDE.md: Verweise und Befehle ergänzt
- stt_core.__version__ = 0.2.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 01:02:21 +02:00
|
|
|
- LLM-Korrektur nur in der CLI; kostet ~1 s pro Text, das erste Laden des LLM rund eine Minute.
|
Dokumentation: Bedienungsanleitung, API-Referenz, Entwicklerdoku, README überarbeitet
- BEDIENUNGSANLEITUNG.md: Installation, Betrieb, CLI, Mikrofon, Home Assistant,
Einstellungen, Modellwahl, Fehlerbehebung, Datenschutz
- docs/API.md: HTTP, WebSocket-Protokoll, Wyoming, Fehlercodes, geprüfte Beispiele
- docs/ENTWICKLER.md: Architektur, Module, Nebenläufigkeit, Tests, Erweitern,
Designentscheidungen
- CLAUDE.md: Verweis auf die Dokumentation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:29:33 +02:00
|
|
|
|
|
|
|
|
## Lizenz und Autor
|
|
|
|
|
|
|
|
|
|
Autor: dschlueter. Verwendete Komponenten: faster-whisper (MIT), OpenAI Whisper-Modelle (MIT),
|
|
|
|
|
Silero VAD (MIT), Wyoming (MIT), FastAPI (MIT).
|