Spaces:
Running
on
Zero
Running
on
Zero
from pedalboard import Pedalboard, Compressor, Reverb, NoiseGate | |
from pedalboard.io import AudioFile | |
import sys | |
import os | |
now_dir = os.getcwd() | |
sys.path.append(now_dir) | |
from i18n import I18nAuto | |
i18n = I18nAuto() | |
from pydub import AudioSegment | |
import numpy as np | |
import soundfile as sf | |
from pydub.playback import play | |
def process_audio(input_path, output_path, reverb_enabled, compressor_enabled, noise_gate_enabled, ): | |
print(reverb_enabled) | |
print(compressor_enabled) | |
print(noise_gate_enabled) | |
effects = [] | |
if reverb_enabled: | |
effects.append(Reverb(room_size=0.01)) | |
if compressor_enabled: | |
effects.append(Compressor(threshold_db=-10, ratio=25)) | |
if noise_gate_enabled: | |
effects.append(NoiseGate(threshold_db=-16, ratio=1.5, release_ms=250)) | |
board = Pedalboard(effects) | |
with AudioFile(input_path) as f: | |
with AudioFile(output_path, 'w', f.samplerate, f.num_channels) as o: | |
while f.tell() < f.frames: | |
chunk = f.read(f.samplerate) | |
effected = board(chunk, f.samplerate, reset=False) | |
o.write(effected) | |
result = i18n("Processed audio saved at: ") + output_path | |
print(result) | |
return output_path |