Skip to content

OnkelTem/audio_silence_marks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Create silence marks for your audio files

Creates a list of "silences" timecodes in audio files using FFmpeg and its filter silencedetect.

Currently, only Audipo player marks format is supported.

Prerequisites

Installation

$ pip install audio_silence_marks

Usage

Run the tool against one file or a directory tree:

$ audio_silence_marks . file.mp3 > marks.audipomark
$ audio_silence_marks . '**/*.mp3' > marks.audipomark

Then upload this file to your phone's directory Interal Storage/Audipo/Mark, e.g.:

$ adb push marks.audipomark /storage/emulated/0/Audipo/Mark/

Open your Audipo player, go to Menu > Preferences and click on Import all marks item. Restart the player.

Result

Example:

Unit 23 Unit 24
image image

Processing audiobooks

The script accepts two parameters which highly affect the output, i.e. the amount and the positions of the marks. They are:

  • --noise, -n - noise tolerance in decibels (negated for convenience).

    Acts like a reverse noise gate, passing through parts with the volume below defined. The default value is 50 (which makes -50dB).

  • --duration, -d - duration of silence in milliseconds.

    Sets the minimum duration of silence. The default value is 1000 (ms).

Thus, even a book with some background music which level is less than of the speech, can be successfully marked by --noise parameter tuning.

An example profile for a regular book:

audio_silence_marks -d 400 -n 30 . book.mp3 > marks.audipomark 

This sets -30dB noise level and 400 millisecond minimum silence duration.

Docs

$ audio_silence_marks --help

Usage: audio_silence_marks [OPTIONS] PATH GLOB

  Processes audio files using FFmpeg filter silencedetect and outputs Audipo
  markers JSON with the list of spots placed in the middle of silence
  intervals.

  More info on using GLOBS: https://docs.python.org/3.8/library/glob.html

Arguments:
  PATH  is a path to files. E.g: "."  [required]
  GLOB  argument is a pattern for selecting files. E.g.: '**/*.mp3'
        [required]


Options:
  -t, --target [audipo]           Target format for marks.  [default: audipo]
  -n, --noise INTEGER             Maximum volume of the noise treated as
                                  silence in -dB  [default: 50]

  -d, --duration INTEGER          Minimum length of the silent interval in
                                  milliseconds [default: 1000]

  -l, --list                      Simply lists matched files. Useful for GLOB
                                  debugging.  [default: False]

  --install-completion [bash|zsh|fish|powershell|pwsh]
                                  Install completion for the specified shell.
  --show-completion [bash|zsh|fish|powershell|pwsh]
                                  Show completion for the specified shell, to
                                  copy it or customize the installation.

  --help                          Show this message and exit.

About

Tool for creating silence marks for audio files

Resources

License

Stars

Watchers

Forks

Packages

No packages published