# Voice-Diktiertool Starter-Kit

Bau dir dein eigenes KI-Diktiertool: Sprache zu Text per Tastenkürzel, Text landet direkt im aktiven Fenster. Drei Wege, von einfach bis komplett lokal.

Von Rasso Reng, ki-ecommerce-beratung.de. Begleitend zum Artikel "Sprechen statt tippen".

---

## Haftungsausschluss

Diese Anleitung ist eine Praxis-Hilfe ohne Gewähr. Preise, Modellnamen und Programmierschnittstellen der Anbieter ändern sich laufend, prüfe sie vor dem Einsatz an der Originalquelle. Du bist für deine eigenen Zugangsdaten (API-Schlüssel), die anfallenden Kosten und die Einhaltung von Datenschutz und Lizenzbedingungen selbst verantwortlich. Teste nie mit vertraulichen oder kundenbezogenen Inhalten, bevor der Datenschutz geklärt ist. Kein Rechts- oder Steuerrat.

---

## Überblick: Welcher Weg für wen

| Weg | Aufwand | Laufende Kosten | Datenschutz | Für wen |
|---|---|---|---|---|
| 1. OpenAI-API | niedrig | ca. 0,003 bis 0,006 USD/Min | Cloud (US) | Schnell starten, sehr günstig |
| 2. Google Cloud | mittel | nutzungsbasiert, Gratis-Kontingent | Cloud | Wer in der Google-Welt arbeitet |
| 3. Komplett lokal | höher | 0 (nur Hardware) | maximal, nichts verlässt den Rechner | Sensible Daten, Vielnutzer |

---

## Weg 1: OpenAI-API (empfohlen für den Start)

**Du brauchst:** einen OpenAI-Account mit API-Schlüssel, Python auf dem Rechner, ein Mikrofon.

**Schritte:**

1. API-Schlüssel anlegen unter platform.openai.com, Guthaben aufladen (neue Konten haben etwas Startguthaben).
2. Den Schlüssel als Umgebungsvariable speichern (niemals fest ins Skript schreiben):
   - macOS/Linux: `export OPENAI_API_KEY="dein-schluessel"`
   - Windows (PowerShell): `setx OPENAI_API_KEY "dein-schluessel"`
3. Python-Pakete installieren: `pip install openai sounddevice scipy pyperclip`
4. Beispiel-Skript speichern (siehe unten), starten, sprechen, fertig.

**Beispiel-Skript (nimm auf, transkribiere, leg den Text in die Zwischenablage):**

```python
import os, tempfile, sounddevice as sd
from scipy.io.wavfile import write
import pyperclip
from openai import OpenAI

client = OpenAI()  # liest OPENAI_API_KEY aus der Umgebung
FS = 16000
SEKUNDEN = 15  # Aufnahmedauer, nach Bedarf anpassen

print("Aufnahme laeuft, sprich jetzt...")
audio = sd.rec(int(SEKUNDEN * FS), samplerate=FS, channels=1)
sd.wait()

with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as f:
    write(f.name, FS, audio)
    with open(f.name, "rb") as audio_datei:
        text = client.audio.transcriptions.create(
            model="gpt-4o-mini-transcribe",  # guenstig; Alternativen: whisper-1, gpt-4o-transcribe
            file=audio_datei,
            language="de",
        ).text

pyperclip.copy(text)
print("Fertig, Text liegt in der Zwischenablage:")
print(text)
```

**Ausbaustufe:** Statt fester Sekundenzahl per Tastenkürzel starten und stoppen, und den Text automatisch einfügen (z. B. unter Windows mit AutoHotkey, auf dem Mac mit einem Shortcut oder Hammerspoon).

**Kosten:** gpt-4o-mini-transcribe ca. 0,003 USD/Min, whisper-1 und gpt-4o-transcribe ca. 0,006 USD/Min (Stand 2026, lt. OpenAI). 10 Stunden im Monat kosten also grob 1,80 bis 3,60 USD.

---

## Weg 2: Google Cloud Speech-to-Text

Technisch fast identisch zu Weg 1, nur mit Google-Zugangsdaten.

1. Google-Cloud-Projekt anlegen, Speech-to-Text API aktivieren, Dienstkonto-Schlüssel erzeugen.
2. `pip install google-cloud-speech sounddevice scipy pyperclip`
3. Im Skript statt des OpenAI-Clients den Google-Speech-Client nutzen und die Aufnahme an `recognize` schicken.
4. Abgerechnet wird nutzungsbasiert pro Audiominute, mit einem kostenlosen Monatskontingent. Aktuelle Preise auf der Google-Cloud-Preisseite prüfen.

Sinnvoll vor allem, wenn du ohnehin Google Cloud nutzt und alles an einem Ort halten willst.

---

## Weg 3: Komplett lokal (maximaler Datenschutz)

Nichts verlässt deinen Rechner, keine Nutzungskosten.

**Bausteine:**

- Spracherkennung: Whisper lokal, am einfachsten über `faster-whisper` oder `whisper.cpp`.
- Optional Textglättung: lokales Sprachmodell wie Qwen über Ollama.
- Optional Diktat-Oberfläche ohne Code: VoiceInk (Open Source, lokal) auf dem Mac.

**Einkaufsliste / Hardware:**

- Für flüssiges Arbeiten: Grafikkarte mit mindestens 8 bis 12 GB VRAM (z. B. RTX 3060). Dann ca. 1 bis 2 Sekunden Verzögerung.
- Ohne dedizierte Grafikkarte läuft es auch, aber langsamer. Ein kleines Whisper-Modell wählen.
- Mac mit Apple Silicon (M-Chip) funktioniert ebenfalls gut.

**Schnellstart:**

1. `pip install faster-whisper sounddevice scipy pyperclip`
2. Modell wählen: `small` oder `medium` als guter Kompromiss aus Tempo und Genauigkeit, `large` für beste Qualität.
3. Aufnahme wie in Weg 1, aber statt API-Aufruf lokal transkribieren:

```python
from faster_whisper import WhisperModel
model = WhisperModel("small", device="auto", compute_type="int8")
segments, info = model.transcribe("aufnahme.wav", language="de")
text = " ".join(s.text for s in segments).strip()
```

4. Optional den Rohtext an ein lokales Qwen-Modell über Ollama schicken, das Füllwörter entfernt und Satzzeichen setzt.

---

## Häufige Stolperfallen

- **API-Schlüssel im Code:** Nie fest ins Skript schreiben, immer als Umgebungsvariable. Sonst landet er schnell versehentlich in einem geteilten Ordner.
- **Falsche Sprache:** `language="de"` setzen, sonst rät das Modell und mischt gelegentlich Englisch rein.
- **Mikrofonrechte:** macOS und Windows fragen beim ersten Start nach der Freigabe fürs Mikrofon, sonst bleibt die Aufnahme stumm.
- **Datenschutz:** Für vertrauliche Inhalte lokal arbeiten (Weg 3). Cloud-Dienste senden die Aufnahme an externe Server.
- **Kostenkontrolle:** In der OpenAI- oder Google-Konsole ein Ausgabenlimit setzen.

---

Fragen oder Lust, so etwas sauber für dein Team zu bauen? Kostenloses Erstgespräch über das Kontaktformular auf ki-ecommerce-beratung.de. Ich freue mich.
