Module: Deftones::DSP::Helpers
- Defined in:
- lib/deftones/dsp/helpers.rb
Constant Summary collapse
- DENORMAL_THRESHOLD =
1.0e-300
Class Method Summary collapse
- .clamp(value, min_value, max_value) ⇒ Object
- .flush_denormal(value) ⇒ Object
- .lerp(from, to, progress) ⇒ Object
- .mix(dry, wet, wet_amount) ⇒ Object
- .soft_clip(value, drive = 1.0) ⇒ Object
Instance Method Summary collapse
- #clamp(value, min_value, max_value) ⇒ Object private
- #flush_denormal(value) ⇒ Object private
- #lerp(from, to, progress) ⇒ Object private
- #mix(dry, wet, wet_amount) ⇒ Object private
- #soft_clip(value, drive = 1.0) ⇒ Object private
Class Method Details
.clamp(value, min_value, max_value) ⇒ Object
10 11 12 |
# File 'lib/deftones/dsp/helpers.rb', line 10 def clamp(value, min_value, max_value) [[value, min_value].max, max_value].min end |
.flush_denormal(value) ⇒ Object
26 27 28 29 |
# File 'lib/deftones/dsp/helpers.rb', line 26 def flush_denormal(value) sample = value.to_f sample.abs < DENORMAL_THRESHOLD ? 0.0 : sample end |
.lerp(from, to, progress) ⇒ Object
14 15 16 |
# File 'lib/deftones/dsp/helpers.rb', line 14 def lerp(from, to, progress) from + ((to - from) * progress) end |
.mix(dry, wet, wet_amount) ⇒ Object
18 19 20 |
# File 'lib/deftones/dsp/helpers.rb', line 18 def mix(dry, wet, wet_amount) (dry * (1.0 - wet_amount)) + (wet * wet_amount) end |
.soft_clip(value, drive = 1.0) ⇒ Object
22 23 24 |
# File 'lib/deftones/dsp/helpers.rb', line 22 def soft_clip(value, drive = 1.0) Math.tanh(value * drive) end |
Instance Method Details
#clamp(value, min_value, max_value) ⇒ Object (private)
10 11 12 |
# File 'lib/deftones/dsp/helpers.rb', line 10 def clamp(value, min_value, max_value) [[value, min_value].max, max_value].min end |
#flush_denormal(value) ⇒ Object (private)
26 27 28 29 |
# File 'lib/deftones/dsp/helpers.rb', line 26 def flush_denormal(value) sample = value.to_f sample.abs < DENORMAL_THRESHOLD ? 0.0 : sample end |
#lerp(from, to, progress) ⇒ Object (private)
14 15 16 |
# File 'lib/deftones/dsp/helpers.rb', line 14 def lerp(from, to, progress) from + ((to - from) * progress) end |
#mix(dry, wet, wet_amount) ⇒ Object (private)
18 19 20 |
# File 'lib/deftones/dsp/helpers.rb', line 18 def mix(dry, wet, wet_amount) (dry * (1.0 - wet_amount)) + (wet * wet_amount) end |
#soft_clip(value, drive = 1.0) ⇒ Object (private)
22 23 24 |
# File 'lib/deftones/dsp/helpers.rb', line 22 def soft_clip(value, drive = 1.0) Math.tanh(value * drive) end |