feat(audio): Audio-Sinks oto und null mit eigener WAV-Dekodierung

Sink-Vertrag Play/Name; oto-Sink (github.com/ebitengine/oto/v3, auf
v3.5.0 gepinnt — aktuelle stabile Major-Version; purego statt CGO, damit
cross-compilierbar) spielt RIFF/WAVE-PCM blockierend, ein Context pro
PCM-Format gecacht, da oto nur einen Kontext pro Prozess erlaubt.
null-Sink verwirft (CI/Server/Tests) und loggt optional. WAV-Parser
(RIFF-Chunks, PCM 8/16 Bit, Float32) mit klarer Fehler für alles andere.
Echte Wiedergabe nur hinter TALK_TEST_REAL_AUDIO=1.
This commit is contained in:
m3ta-chiron committed 2026-10-18 15:39:09 +02:00
1 parent 5f450ea015
commit 523e6f4bf2
7 files changed
+439 -4

No files matched your search

+10 -1
View File
@@ -2,4 +2,13 @@ module code.m3ta.dev/m3tam3re/talk
go 1.26.8
require github.com/BurntSushi/toml v1.6.0
require (
github.com/BurntSushi/toml v1.6.0
github.com/ebitengine/oto/v3 v3.5.0
)
require (
github.com/ebitengine/purego v0.11.0 // indirect
github.com/jfreymuth/pulse v0.1.3 // indirect
golang.org/x/sys v0.47.0 // indirect
)