Nodaro Docs
DocumentationNode ReferenceModelsAI Agents (MCP)DevelopersSelf-hostingResearch
Audio

Silence Detect

Find the silent spans in a recording or a video and get them as time ranges, ready to cut dead air in an edit. A flat 10 credits per run, with no AI model.

The Silence Detect node finds the silent spans in a recording or a video and returns them as a list of time ranges. Use the ranges to cut dead air from a podcast or an interview, for example with Edit Plan. The node runs locally, with no AI model and no provider key, so it works on every edition.

When to use it

  • Find dead air and long pauses in a podcast or an interview before you edit it.
  • Give an edit step the exact silences to remove.
  • Measure how much of a recording is silence and how much is speech.

Quick start

Add the node

Press Tab on the canvas and choose Audio › Analyze › Silence Detect.

Wire the recording

Wire an audio or a video node into the Audio or Video input. For a video, the node uses its sound track.

Run it

Click Run on the node. The silent spans appear on the Silences output as data.

audioaudio or videosourcestranscriptsilenceedlUpload VideoPodcast episodeTranscribeSilence DetectEdit PlanTightenApply EDL
A podcast is transcribed and scanned for silences; Edit Plan uses both to tighten the episode, and Apply EDL renders the cut.

Input and output

InputAcceptsWhat it does
Audio or VideoAudio and video nodesThe recording to scan. Required.

The output, Silences, is data, not audio. Wire it into a node that reads data, such as the Silence input of Edit Plan or an Extract Field node.

Settings

SettingWhat it does
Silence threshold (dB)Sound quieter than this level counts as silence. From -60 to -10. The default is -35. A lower value is stricter: only near-total quiet counts.
Minimum silence (ms)Only gaps at least this long are reported. From 100 to 3,000. The default is 700.
Speech padding (ms)Space kept around speech. From 0 to 1,000. The default is 120. Each silent span is shrunk inward by this amount at both ends, so that a cut does not clip a breath or the start of a word. A span that would shrink to nothing is dropped.

Read the result

The Silences output looks like this:

{
  "version": 1,
  "ranges": [
    { "startMs": 2120, "endMs": 3880 }
  ],
  "durationMs": 6000
}
  • ranges — the silent spans, in the order they occur, in milliseconds on the clock of the original recording. endMs is exclusive and always greater than startMs.
  • durationMs — the length of the whole recording, in milliseconds.

Example

A 6-second recording is silent between the 2-second and the 4-second marks. With the default settings:

  1. The node finds one silent span from about 2,000 to about 4,000 milliseconds. At 2 seconds, it is longer than the 700 ms minimum.
  2. The 120 ms speech padding shrinks the span at both ends. The start becomes 2,000 + 120 = 2,120 ms, and the end becomes 4,000 - 120 = 3,880 ms.

The result is the JSON above, and the run costs 10 credits.

Credits

Silence Detect costs a flat 10 credits per run. The length of the recording, the settings and the number of ranges found do not change the price.

The node analyzes a small, low-resolution copy of the sound track, so even a long recording is scanned in seconds.

Tips

  • Ignore breaths. Raise Minimum silence to skip short breaths and the gaps between words. Lower it to catch brief pauses.
  • Protect the words. If cuts clip the start of words, raise Speech padding. If the silences feel too generous, lower it.
  • Treat room tone as silence. A quiet room can be louder than the default threshold. Lower Silence threshold, for example to -45.
  • Keep the source clock. The ranges use the original recording's timeline, so they line up with the same audio or video in a later edit.

From the API

POST /v1/silence-detect takes audioUrl and the optional thresholdDb (default -35), minSilenceMs (default 700) and padMs (default 120). The finished run's output_data.json is the result above. The MCP tool is silence_detect. See Voice and media.

Frequently asked questions

Last updated on

On this page