]> git.sesse.net Git - mlt/blob - src/modules/sox/filter_sox.yml
Add analysis_level property to sox filter.
[mlt] / src / modules / sox / filter_sox.yml
1 schema_version: 0.1
2 type: filter
3 identifier: sox
4 title: SoX
5 version: 2
6 copyright: Copyright (C) 2003-2011 Ushodaya Enterprises Limited
7 license: LGPL
8 language: en
9 url: http://sox.sourceforge.net/
10 creator: Dan Dennedy
11 tags:
12   - Audio
13 description: Process audio using a SoX effect.
14 bugs:
15   - Some effects are stereo only, but MLT processes each channel separately.
16   - Some effects have a temporal side-effect that do not work well.
17
18 parameters:
19   - identifier: effect
20     argument: yes
21     title: Effect name and options
22     type: string
23     format: effect [options]
24     description: >
25       If the effect name is "analysis" then it does not run any effect.
26       Instead, it analyzes the audio to determine a normalized gain level.
27       The results are put into the level, peak, and gain properties as well
28       as this effect property as the parameter to the vol effect.
29
30   - identifier: analysis_level
31     title: Normalization level
32     type: string
33     default: -12dBFS
34     description: >
35       Normalize the volume to the specified amplitude.
36       The normalization may be indicated as a floating point value of the
37       relative volume with 1.0 being maximum.
38       The normalization may also be indicated as a numeric value with the
39       suffix "dB" to set the amplitude in decibels.
40
41   - identifier: level
42     title: Signal power level (RMS)
43     type: float
44     readonly: yes
45
46   - identifier: peak
47     title: Peak signal level
48     type: float
49     readonly: yes
50
51   - identifier: gain
52     title: Gain to normalize
53     type: float
54     readonly: yes
55
56   - identifier: use_peak
57     title: Use peak
58     description: >
59       Use peak signal level instead of RMS (root mean square) power level to
60       compute gain for normalization.
61     type: integer
62     minimum: 0
63     maximum: 1
64     default: 0
65     widget: checkbox
66
67   - identifier: normalise
68     title: Dynamic normalization
69     description: >
70       This computes the gain for normalization dynamically per frame, but it
71       uses a sliding smoothing window to prevent the gain from fluctuating wildly.
72       Currently, this must be used in combination with some SoX effect.
73     type: integer
74     minimum: 0
75     maximum: 1
76     default: 0
77     widget: checkbox
78
79   - identifier: window
80     title: Smoothing window size
81     type: integer
82     minimum: 0
83     default: 75
84     unit: frames
85     widget: spinner
86
87   - identifier: max_gain
88     title: Maximum gain
89     description: >
90       With dynamic normalization, this puts a maximum limit on the amount of gain.
91     type: float
92     minimum: 0
93     maximum: 20
94     default: 10