Skip to content

Voice playback drops or becomes silent in multi-user channels (possible libdave/DAVE issue) #7

@crygeo

Description

@crygeo

Hi, I believe I might be encountering an issue related to the voice layer (possibly libdave/DAVE) when using Discord.Net.

Scenario

  • Bot joins a voice channel and plays TTS audio.
  • With only 1 user + bot → audio works correctly.
  • When another user joins while audio is playing → playback gets interrupted.
  • If the bot joins a channel with multiple users already present → sometimes no audio is heard at all.

Observed behavior

  • Audio pipeline (TTS → PCM → queue) works as expected.
  • CreatePCMStream starts correctly.
  • Audio appears to be sent, but users do not hear anything.
  • In some cases, the voice WebSocket disconnects during playback.

Relevant logs

  • Voice disconnected: WebSocket connection was closed
  • SendAsync completed ... during successful runs
  • During failure cases, the disconnect happens while writing audio

Additional notes

  • The issue consistently appears in multi-user voice scenarios.
  • I implemented reconnect and retry logic, but the problem persists.
  • This suggests the issue might be related to how voice reconnection or encryption (DAVE/libdave) is handled internally.

Questions

  1. Is this a known limitation or issue with voice + DAVE/libdave in multi-user channels?
  2. Should IAudioClient handle reconnection transparently in these cases?
  3. Is there a recommended way to handle voice reconnections during active playback?
  4. Could voice state updates (users joining/leaving) invalidate the current audio stream?

If needed, I can provide more detailed logs and a minimal reproducible example.

Thanks in advance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions