docs: OS-Audio-Geräte wechseln (GUI/Bluetooth/ReSpeaker) in Teil B2

ReSpeaker-Mikrofon als Eingabe und Bluetooth-Box als Ausgabe ueber die
Ubuntu-Toneinstellungen waehlen; Bluetooth-Kopplung, pactl-Aequivalente,
weitere Einstellungen (Lautstaerke/Gain, Pro-App-Routing). Erklaert das
Zusammenspiel mit voice_loop: Ausgabe folgt dem System-Default automatisch,
Eingabe braucht --device plughw:6,0 (ReSpeaker = Karte 6).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-17 18:30:56 +02:00
commit ece64711a5

View file

@ -250,27 +250,81 @@ Vorlesen ist Standard (früher Ton); `--stream-text` zeigt den Text live dazu.
> Gateway**. Welches Mikrofon/welcher Lautsprecher/welches Bluetooth-Gerät tatsächlich > Gateway**. Welches Mikrofon/welcher Lautsprecher/welches Bluetooth-Gerät tatsächlich
> genutzt wird, steuerst du **heute auf Betriebssystem-Ebene** (bei Aufnahme/Wiedergabe). > genutzt wird, steuerst du **heute auf Betriebssystem-Ebene** (bei Aufnahme/Wiedergabe).
**Welche Geräte gibt es?** ### Der einfachste Weg: Ubuntu-Systemeinstellungen (grafisch) — empfohlen
So hat es der Nutzer erfolgreich gemacht (Eingabe = ReSpeaker-Mikrofon, Ausgabe =
Bose-Bluetooth-Box). Das ist der **bequemste** Weg und gilt systemweit:
1. **Einstellungen → Ton** öffnen (oben rechts auf das Lautstärke-Symbol → *Toneinstellungen*,
oder *Aktivitäten → „Ton" suchen*).
2. **Ausgabe (Output):** Unter *Ausgabegerät* das gewünschte Gerät wählen — z. B.
die Bluetooth-Box. Bluetooth-Geräte erscheinen hier erst, nachdem sie **gekoppelt**
sind (siehe unten).
3. **Eingabe (Input):** Unter *Eingabegerät* das Mikrofon wählen — z. B.
**„reSpeaker XVF3800 4-Mic Array"**. Der Pegelbalken zeigt, ob das Mikro Schall
empfängt (probehalber sprechen).
4. **Lautstärke/Pegel** lassen sich auf derselben Seite pro Gerät einstellen
(Ausgabe-Lautstärke, Eingabe-Empfindlichkeit/Gain).
**Bluetooth-Box koppeln (einmalig):** *Einstellungen → Bluetooth → Bluetooth einschalten*,
die Box in den Kopplungsmodus bringen (bei der Bose Revolve SoundLink die Bluetooth-Taste
gedrückt halten, bis der Kopplungston kommt), in der Liste anwählen → *Verbinden*. Danach
taucht sie unter *Ton → Ausgabegerät* auf und wird oft automatisch als Standard gesetzt.
### Per Kommandozeile (gleicher Effekt, ohne GUI)
```bash ```bash
arecord -L # Eingabegeräte (Mikrofone) arecord -L # Eingabegeräte (Mikrofone) auflisten
aplay -L # Ausgabegeräte (Lautsprecher/Kopfhörer) aplay -L # Ausgabegeräte (Lautsprecher/Kopfhörer/Bluetooth) auflisten
arecord -l # Karten-/Geräte-Nummern (hw:X,Y) hier z. B. Karte 6 = ReSpeaker
pactl info # aktuelle Standard-Quelle/-Senke anzeigen
pactl list short sources # alle Quellen (Mikrofone)
pactl list short sinks # alle Senken (Ausgaben, inkl. Bluetooth)
# Standard-Gerät systemweit setzen (Apps, die dem Default folgen, nutzen es dann):
pactl set-default-source <SOURCE_NAME> # z. B. das ReSpeaker
pactl set-default-sink <SINK_NAME> # z. B. die Bluetooth-Box
``` ```
**Mikrofon (Quelle) wählen:** > Hinweis zu diesem Rechner: `wpctl`/`pw-record` melden hier teils
```bash > `pw_context_connect() failed`. **`pactl`** funktioniert dagegen zuverlässig (über
python scripts/voice_loop.py --device hw:1,0 # Helfer mit bestimmtem Mikrofon > `pipewire-pulse`). Für feines Routing pro App gibt es grafisch **`pavucontrol`**
arecord -D hw:1,0 -f S16_LE -r 16000 -c 1 frage.wav # manuell > (Reiter *Wiedergabe*/*Aufnahme* → einzelne App auf ein bestimmtes Gerät legen).
```
**Lautsprecher/Kopfhörer (Ausgabe) wählen:** ### Wie das mit dem Sprech-Loop (`voice_loop.py`) zusammenspielt — wichtig
```bash
aplay -D hw:0,0 -f S16_LE -r 24000 -c 1 antwort.pcm
```
**Bluetooth / Standardgerät (PipeWire/PulseAudio):** Gerät am System koppeln und als - **Ausgabe (Wiedergabe):** `voice_loop.py` spielt über das **System-Standard-Ausgabegerät**.
Standard setzen — dann nutzen `arecord`/`aplay`/`voice_loop.py` automatisch dieses Sobald die Bluetooth-Box dort als Standard gesetzt ist (Schritt 2 oben), kommt die
Gerät. Grafisch mit `pavucontrol`, per Kommandozeile z. B. mit `wpctl status` / gesprochene Antwort **automatisch über die Box** — ohne zusätzliche Option. Das ist der
`wpctl set-default <id>`. Grund, warum die Bluetooth-Umleitung „einfach funktioniert".
- **Eingabe (Aufnahme):** Die Aufnahme folgt **nicht** automatisch dem System-Default —
`voice_loop.py` nimmt mit einem fest gewählten Gerät auf. Damit der **ReSpeaker** genutzt
wird, das Gerät explizit angeben (ReSpeaker = **Karte 6**`plughw:6,0`):
```bash
python scripts/voice_loop.py --recorder arecord --device plughw:6,0
```
(Auf diesem Rechner ist `--recorder arecord` mit `plughw:…` der zuverlässige Weg, weil die
Default-folgenden Recorder `pw-record`/`parecord` hier nicht stabil verbinden. Die richtige
Kartennummer notfalls mit `arecord -l` prüfen.)
Kurz: **Lautsprecher/Bluetooth umstellen → System-Einstellungen genügen.**
**Mikrofon für den Sprech-Loop → zusätzlich `--device plughw:6,0` mitgeben.**
### Weitere Einstellungen, die du vornehmen kannst
- **Ausgabe-Lautstärke / Mikrofon-Empfindlichkeit:** *Ton*-Seite oder
`pactl set-sink-volume <SINK> 80%` / `pactl set-source-volume <SOURCE> 80%`.
- **Stummschalten:** *Ton*-Seite oder `pactl set-sink-mute <SINK> toggle`.
- **Pro-App-Routing:** `pavucontrol` → eine laufende App gezielt auf ein anderes Gerät legen
(z. B. nur den Player auf die Bluetooth-Box, Systemtöne aufs interne Audio).
- **Zurückschalten:** in den *Ton*-Einstellungen wieder das alte Gerät wählen (z. B. zurück
auf die MOTU M2, Karte 5 → `plughw:5,0` im Sprech-Loop).
- **Manuelle Aufnahme/Wiedergabe mit bestimmtem Gerät** (zum Testen ohne Sprech-Loop):
```bash
arecord -D plughw:6,0 -f S16_LE -r 16000 -c 1 frage.wav # ReSpeaker
aplay -D plughw:5,0 -f S16_LE -r 24000 -c 1 antwort.pcm # bestimmte Ausgabe
```
**Gateway-Endpunkt-Auswahl (Routing-Ebene, vorbereitet):** **Gateway-Endpunkt-Auswahl (Routing-Ebene, vorbereitet):**
```bash ```bash