Class: Wavify::DSP::Effects::PodcastChain

Inherits:
EffectChain
  • Object
show all
Defined in:
lib/wavify/dsp/effects/podcast_chain.rb,
sig/effects.rbs

Overview

Speech-oriented cleanup preset for voice tracks.

Instance Attribute Summary

Attributes inherited from EffectChain

#effects

Instance Method Summary collapse

Methods inherited from EffectChain

#apply, #build_runtime, #flush, #latency, #lookahead, #process, #reset, #tail_duration

Constructor Details

#initialize(gate_threshold: -45.0,, highpass: 80.0, presence: 3.0, compression_threshold: -20.0,, ceiling: -1.0)) ⇒ PodcastChain

Returns a new instance of PodcastChain.

Parameters:

  • gate_threshold (Numeric) (defaults to: -45.0,)

    noise gate threshold in dBFS

  • highpass (Numeric, nil) (defaults to: 80.0)
  • presence (Numeric, nil) (defaults to: 3.0)

    peaking EQ gain in dB

  • compression_threshold (Numeric) (defaults to: -20.0,)

    compressor threshold in dBFS

  • ceiling (Numeric) (defaults to: -1.0))

    limiter ceiling in dBFS

  • gate_threshold: (Numeric) (defaults to: -45.0,)
  • highpass: (Numeric) (defaults to: 80.0)
  • presence: (Numeric) (defaults to: 3.0)
  • compression_threshold: (Numeric) (defaults to: -20.0,)
  • ceiling: (Numeric) (defaults to: -1.0))


13
14
15
16
17
18
19
20
# File 'lib/wavify/dsp/effects/podcast_chain.rb', line 13

def initialize(gate_threshold: -45.0, highpass: 80.0, presence: 3.0, compression_threshold: -20.0, ceiling: -1.0)
  super([
    NoiseGate.new(threshold: gate_threshold, floor: -80.0),
    EQ.simple(highpass: highpass, presence: presence_filter(presence)),
    Compressor.new(threshold: compression_threshold, ratio: 3.0, attack: 0.003, release: 0.12, makeup_gain: 2.0, knee: 4.0),
    Limiter.new(ceiling: ceiling)
  ])
end