---
name: "silan"
section: "1"
platform: "linux"
package: "silan"
version: "0.4.0-2"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/silan"
---

# silan(1)

Soundfile Silence Analyzer

## NAME

silan - Soundfile Silence Analyzer

## SYNOPSIS

**silan** \[ *OPTIONS* \] *\<file-name\>*

## DESCRIPTION

silan - Audiofile Silence Analyzer.

## OPTIONS

- **-h**, **--help**

  display this help and exit

- **-b**, **--bounds**

  skip silence mid file. print start/end boundaries only.

- **-B**, **--fastbounds**

  same as **-b**, except the sound-off is detected by decoding backwards from the end. This is much faster but also inacurate.

- **-f**, **--format** \<format\>

  specify output format (default: 'txt')

- **-F**, **--filter** \<float\>

  high-pass filter coefficient (default:0.98) disable: 1.0; range 0 \< val \<= 1.0

- **-i**, **--include-initial**

  display initial state (don't assume initial silence at start).

- **-o**, **--output** \<filename\>

  write data to file instead of stdout

- **-p**, **--progress**

  show progress info on stderr

- **-q**, **--quiet**

  inhibit error messages

- **-s**, **--threshold** \<float\>

  RMS signal threshold (default 0.001 ^= **-60dB**) postfix with 'd' to specify decibels

- **-t**, **--holdoff** \<float\>

  holdoff time in seconds (default 0.5)

- **-u**, **--unit** \<unit\>

  specify output unit (default: 'seconds')

- **-v**, **--verbose**

  increase debug-level (can be used multiple times)

- **-V**, **--version**

  print version information and exit

This application reads a single audio file and analyzes it for silent periods. Timestamps/ranges of silence are printed to standard output.

Valid output formats are: txt, JSON, audacity (label file)

Valid output units are: samples, seconds or bytes (audacity format uses seconds regardless).

Sound is detected if the signal level exceeds a given threshold for a duration of at least \<holdoff\> time. Note that the returned timestamps are corrected for the holdoff-time.

The fast boundary scan can decrease the time it takes to analyze a file at the cost of accuracy. Use **--fastbounds** with care. Due to low-pass filtering and RMS calculation the results will be different (+- .1 sec), furthermore some codecs are not suitable for backwards decoding or sample-accurate seeking and may skew the timestamp by one second or more. The fast boundary scan mode requires a seekable file and does not work with streams.

## REPORTING BUGS

Report bugs to Robin Gareus \<robin@gareus.org\>\
 Website and manual: \<https://github.com/x42/silan\>

## COPYRIGHT

Copyright © GPL 2012-2018 Robin Gareus \<robin@gareus.org\>
