audio_effects Module

Various audio effects


Uses

  • module~~audio_effects~~UsesGraph module~audio_effects audio_effects module~forsynth forsynth module~audio_effects->module~forsynth module~tape_recorder_class tape_recorder_class module~audio_effects->module~tape_recorder_class iso_fortran_env iso_fortran_env module~forsynth->iso_fortran_env module~tape_recorder_class->module~forsynth

Used by

  • module~~audio_effects~~UsedByGraph module~audio_effects audio_effects program~blues blues program~blues->module~audio_effects program~chords_and_melody chords_and_melody program~chords_and_melody->module~audio_effects program~demo_effects demo_effects program~demo_effects->module~audio_effects program~shepard_scale shepard_scale program~shepard_scale->module~audio_effects

Subroutines

public subroutine apply_autopan_effect(tape, track, t1, t2, f, AmpLFO)

Make the sound move from one channel to the other one at a frequency f and with an amplitude AmpLFO in [0 ; 1].

Arguments

Type IntentOptional Attributes Name
type(tape_recorder), intent(inout) :: tape
integer, intent(in) :: track
real(kind=wp), intent(in) :: t1
real(kind=wp), intent(in) :: t2
real(kind=wp), intent(in) :: f
real(kind=wp), intent(in) :: AmpLFO

public subroutine apply_delay_effect(tape, track, t1, t2, delay, Amp)

Add the sound from "delay" seconds before, and multiply by Amp<1 for dampening.

Arguments

Type IntentOptional Attributes Name
type(tape_recorder), intent(inout) :: tape
integer, intent(in) :: track
real(kind=wp), intent(in) :: t1
real(kind=wp), intent(in) :: t2
real(kind=wp), intent(in) :: delay
real(kind=wp), intent(in) :: Amp

public subroutine apply_fuzz_effect(tape, track, t1, t2, level)

Apply distorsion with hard clipping https://en.wikipedia.org/wiki/Distortion_(music)

Arguments

Type IntentOptional Attributes Name
type(tape_recorder), intent(inout) :: tape
integer, intent(in) :: track
real(kind=wp), intent(in) :: t1
real(kind=wp), intent(in) :: t2
real(kind=wp), intent(in) :: level

public subroutine apply_reverse_effect(tape, track, t1, t2)

Copy the samples at the same t1 but in reverse order:

Arguments

Type IntentOptional Attributes Name
type(tape_recorder), intent(inout) :: tape
integer, intent(in) :: track
real(kind=wp), intent(in) :: t1
real(kind=wp), intent(in) :: t2

public subroutine apply_tremolo_effect(tape, track, t1, t2, f, AmpLFO)

A sinusoidal modulation of the amplitude of a signal (tremolo) : f : tremolo frequency (typically a few Hz) AmpLFO : tremolo amplitude in [0 ; 1] https://en.wikipedia.org/wiki/Vibrato#Vibrato_and_tremolo/

Arguments

Type IntentOptional Attributes Name
type(tape_recorder), intent(inout) :: tape
integer, intent(in) :: track
real(kind=wp), intent(in) :: t1
real(kind=wp), intent(in) :: t2
real(kind=wp), intent(in) :: f
real(kind=wp), intent(in) :: AmpLFO