Spaces:
Sleeping
Sleeping
File size: 2,788 Bytes
203c72c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# effects.py
from pedalboard import Pedalboard, Reverb, Delay, Chorus, Compressor, Gain, HighpassFilter, LowpassFilter
from pedalboard.io import AudioFile
def add_vocal_effects(input_file, output_file,
reverb_room_size=0.6, vocal_reverb_dryness=0.8, reverb_damping=0.6, reverb_wet_level=0.35,
delay_seconds=0.4, delay_mix=0.25,
compressor_threshold_db=-25, compressor_ratio=3.5,
compressor_attack_ms=10, compressor_release_ms=60,
gain_db=3):
effects = [HighpassFilter()]
effects.append(Reverb(
room_size=reverb_room_size,
damping=reverb_damping,
wet_level=reverb_wet_level,
dry_level=vocal_reverb_dryness,
))
effects.append(Compressor(
threshold_db=compressor_threshold_db,
ratio=compressor_ratio,
attack_ms=compressor_attack_ms,
release_ms=compressor_release_ms,
))
if delay_seconds > 0 or delay_mix > 0:
effects.append(Delay(delay_seconds=delay_seconds, mix=delay_mix))
if gain_db:
effects.append(Gain(gain_db=gain_db))
board = Pedalboard(effects)
with AudioFile(input_file) as f:
with AudioFile(output_file, 'w', f.samplerate, f.num_channels) as o:
while f.tell() < f.frames:
chunk = f.read(int(f.samplerate))
effected = board(chunk, f.samplerate, reset=False)
o.write(effected)
def add_instrumental_effects(input_file, output_file,
highpass_freq=100, lowpass_freq=12000,
reverb_room_size=0.5, reverb_damping=0.5, reverb_wet_level=0.25,
compressor_threshold_db=-20, compressor_ratio=2.5,
compressor_attack_ms=15, compressor_release_ms=80,
gain_db=2):
effects = [
HighpassFilter(cutoff_frequency_hz=highpass_freq),
LowpassFilter(cutoff_frequency_hz=lowpass_freq),
]
effects.append(Reverb(
room_size=reverb_room_size,
damping=reverb_damping,
wet_level=reverb_wet_level,
))
effects.append(Compressor(
threshold_db=compressor_threshold_db,
ratio=compressor_ratio,
attack_ms=compressor_attack_ms,
release_ms=compressor_release_ms,
))
if gain_db:
effects.append(Gain(gain_db=gain_db))
board = Pedalboard(effects)
with AudioFile(input_file) as f:
with AudioFile(output_file, 'w', f.samplerate, f.num_channels) as o:
while f.tell() < f.frames:
chunk = f.read(int(f.samplerate))
effected = board(chunk, f.samplerate, reset=False)
o.write(effected)
|