schema_version: 7.0
type: filter
identifier: volume
title: Volume
version: 3
copyright: Meltytech, LLC
creator: Dan Denneedy
license: GPLv2
language: en
tags:
  - Audio
description: >
  Adjust an audio stream's volume level. This filter is based on the
  'normalize' utility
parameters:
  - identifier: gain (*DEPRECATED*)
    argument: yes
    title: Gain
    type: string
    description: >
      This parameter is deprecated; use "level" instead.
      The gain may be indicated as a floating point value of the gain
      adjustment.
       
      The gain may also be indicated as a numeric value with the suffix "dB"
      to adjust in terms of decibels.
       
      The gain may also be set to "normalize" to normalize the volume to the
      target amplitude -12dBFS.
      
      This value is discarded if value for property "level" is set.

  - identifier: window
    title: Window
    type: integer
    description: >
       The number of video frames over which to smooth normalization.
    default: 75
    mutable: yes

  - identifier: normalize
    title: Normalize
    type: string
    description: >
      Normalize the volume to the specified amplitude.
       
      The normalization may be indicated as a floating point value of the
      relative volume.
       
      The normalization may also be indicated as a numeric value with the
      suffix "dB" to set the amplitude in decibels.
    default: -12dBFS
    mutable: yes

  - identifier: normalise
    title: Normalise (*DEPRECATED*)
    description: Deprecated. See normalize

  - identifier: limiter
    title: Limiter
    type: string
    description: >
      Limit all samples above the specified amplitude.
       
      The limiting may be indicated as a floating point value of the
      relative volume.
       
      The limiting may also be indicated as a numeric value with the suffix
      "dB" to set the limiting amplitude in decibels.
    default: -6dBFS
    mutable: yes

  - identifier: max_gain
    title: Max gain
    type: string
    description: >
      A floating point or decibel value of the maximum gain that can be
      applied during normalization.
    default: 20dB
    mutable: yes

  - identifier: end (*DEPRECATED*)
    title: End gain
    type: string
    description: >
      A gain value just like the Gain property. This causes the gain to be
      interpolated from 'gain' to 'end' over the duration.
       
      This value is discarded if value for property "level" is set.
    mutable: yes

  - identifier: max_gain
    title: Max gain
    type: string
    description: >
      A floating point or decibel value of the maximum gain that can be
      applied during normalization.
    default: 20dB
    mutable: yes

  - identifier: level
    title: Level
    type: float
    description: >
      The animated value of the gain adjustment in dB.
      Properties "gain" and "end" are ignored if this is set.
    unit: dB
    mutable: yes
    animation: yes

  - identifier: channel_mask
    title: Channel Mask
    type: integer
    description: >
      Which channels to affect.
      Each bit represents a channel; for example, 1 = channel 0 (left),
      2 = channel 1 (right), 3 = both left and right channels.
      The default is to overwrite all of the channels.
    required: no
    minimum: 0
    default: 0xFFFFFFFF
    mutable: yes
