Skip to content

Add silence-based stop for audio sync transmission - #11

Open
netmindz wants to merge 1 commit into
MoonModules:mainfrom
netmindz:broadcastSilence
Open

Add silence-based stop for audio sync transmission#11
netmindz wants to merge 1 commit into
MoonModules:mainfrom
netmindz:broadcastSilence

Conversation

@netmindz

@netmindz netmindz commented Jun 7, 2026

Copy link
Copy Markdown
Collaborator

This pull request adds a new feature to the audio synchronization system: the ability for the sender to automatically stop transmitting UDP audio sync packets after 30 seconds of continuous silence. This is configurable and exposed in the sync settings. The implementation tracks silence duration and skips transmission when appropriate, and the new setting is included in both the configuration and the user interface.

This very useful when you have one (or more) line-in setups combined with devices with their own mic set to "receive or local"

Audio sync silence stop feature:

  • Added a new static boolean audioSyncSilenceStop to control whether the sender should stop transmitting UDP packets after 30 seconds of silence.
  • Introduced a syncSilenceStart variable to track when continuous silence begins on the sender.
  • Updated the UDP transmit logic to skip sending data if silence has persisted for more than 30 seconds and the feature is enabled.

Configuration and UI updates:

  • Included the silence_stop parameter in the sync configuration JSON for both saving and loading settings. [1] [2]
  • Added a dropdown for the new silence stop feature in the sync settings UI, allowing users to enable or disable the behavior.

@netmindz
netmindz requested a review from softhack007 June 7, 2026 09:33
@softhack007

Copy link
Copy Markdown
Collaborator

@netmindz looks good 👍

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Silence state persists across mode transitions, and unsupported devices receive a nonfunctional setting.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Adds configurable silence-based suspension of UDP audio synchronization.

Changes:

  • Tracks continuous sender silence and stops packets after 30 seconds.
  • Persists and exposes the setting in the UI.
File summaries
File Description
audio_reactive.h Implements silence tracking, transmission gating, configuration, and UI.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 2
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread audio_reactive.h
Comment on lines +2439 to +2442
if (audioSyncEnabled & AUDIOSYNC_SEND) {
if (volumeSmth >= 1.0f) syncSilenceStart = 0; // sound detected - clear silence timer
else if (syncSilenceStart == 0) syncSilenceStart = millis(); // just went silent - start timer
}
Comment thread audio_reactive.h
Comment on lines +3218 to +3222
// silence_stop: Sender stops transmitting UDP packets after 30s of continuous silence
oappend(SET_F("dd=addDropdown(ux,'sync:silence_stop');"));
oappend(SET_F("addOption(dd,'Off',0);"));
oappend(SET_F("addOption(dd,'On',1);"));
oappend(SET_F("addInfo(ux+':sync:silence_stop',1,'<i>stop sending after 30s silence</i> ☾<br> Sync audio data with other WLEDs');")); // must append this to the last field of 'sync'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants