TTS audio container mismatch and Opus conversion patches

NousResearch/hermes-agent · cluster 36131 · agent/transports

Data as of

Nothing open on GitHub. Fix merged in #73507. Check it covers your case.

The short answer

0open issues
0open PRs
11items grouped
Known?
Yes. 11 related items grouped here, 3 issues already closed.
Fix event
A fix was merged to main in PR #73507. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this partially resolved, deciding PR #73507. That is separate from the fix event.
Still open
Nothing open on GitHub.

Several TTS providers (Edge, Piper, MiniMax, xAI) were saving non-Opus audio under .ogg extensions, breaking Telegram voice bubbles and on-device transcription. Patches add magic-byte container detection and proper transcoding to Opus before delivery.

Open issues0

No open issues.

Open PRs0

No open pull requests.

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

  • #73507 fix(gateway): central magic-byte container detection for all inbound audio

    merged to main

    files: contributors/emails/[redacted:email], contributors/emails/[redacted:email], gateway/platforms/base.py, gateway/platforms/signal.py, plugins/platforms/telegram/adapter.py, tests/gateway/test_document_cache.py, tests/gateway/test_extract_local_files.py, tests/gateway/test_platform_base.py, tests/gateway/test_signal.py, tests/gateway/test_telegram_documents.py, tests/tools/test_audio_container.py, tests/tools/test_send_message_tool.py, tests/tools/test_transcription_tools.py, tools/audio_container.py, tools/send_message_tool.py, tools/transcription_tools.py, tools/tts_tool.py

7 PRs closed without merging

From the close comments: duplicate 2 · merged via another change 1 · stale or abandoned 1 · superseded by another PR 1 · other 2

  • #36166 fix(gateway): sniff cached audio container type · merged via another change → 156edc5, a1582a7, #73507
  • #36179 fix(gateway): sniff audio magic bytes in cache_audio_from_bytes to fix wrong .ogg extension · superseded by another PR → #36166, #36176
  • #57069 fix(tts): convert Edge TTS MP3 to Opus when caller supplies .ogg path · duplicate → #20882, #57048
  • #57080 fix(tts): convert explicit Edge OGG output · stale or abandoned
  • #57190 fix(tts): transcode edge ogg output paths · other → #73072
Show 2 more
  • #58848 fix(tts): convert Piper WAV-in-OGG to real Opus on Telegram · other → #73072
  • #59196 fix(tts): convert Piper raw WAV to Opus before sending as .ogg · duplicate → #58848, #58845, #59092
Closed issues · 3
  • Closed#36131[BUG]Audio attachments cached with wrong .ogg extension (real format MP4/QuickTime+AAC) → on-device transcription fails
  • Closed#57048Edge TTS provider silently saves MP3 bytes under a .ogg extension when given an explicit .ogg output_path (breaks Telegram voice bubbles)
  • Closed#58845[Bug]: Piper TTS writes raw WAV to .ogg output path — Opus conversion skipped, Telegram shows 0-second voice bubble
How this cluster was grouped
  • Link evidence (partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
  • Members outside that structural core may belong to a different underlying problem.
  • Pairwise link density 0.16: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. 1.00 means every pair is linked.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Subsystem
agent/transports
Merged PRs
#73507
Closed issues
3
Attempts
7 PRs closed without merging
Fix link checked
28 Jul 2026

For your agent

The same facts, typed.