moonarch_total_splitter / main_27_dec.py
Jaman's picture
Upload 9 files
0396bc7 verified
import librosa
import IPython.display as ipd # For playing audio
import os
path = '/content/drive/MyDrive/autochord-0.1.4/moonarch'
# Load the audio file
audio_file = 'SS_2.mp3'
y, sr = librosa.load(audio_file, sr=None) # sr=None to use the native sample rate
choice = int(input("Enter choice from ['vocal_remove', 'basic', 'advance'] as 0, 1, or 2: "))
if choice == 0:
%cd vocal_remover
from moonarch_vocal_remover import VocalRemover
# Process the audio for vocal removal
splitter = VocalRemover(path+'/'+audio_file)
splitter.run()
play_aud = os.path.splitext(path+'/'+audio_file)[0] # without extension
print("Vocal")
ipd.display(ipd.Audio(f'{play_aud}/vocals.wav',rate=sr))
print("Music")
ipd.display(ipd.Audio(f'{play_aud}/accompaniment.wav',rate=sr))
elif choice == 1:
%cd basic_splits/
from moonarch_basic import BasicSplitter
# Process the audio for basic split
splitter = BasicSplitter(path+'/'+audio_file)
splitter.run()
%cd path
%cd vocal_remover
from moonarch_vocal_remover import VocalRemover
# Process the audio for vocal removal
music_sep = VocalRemover(path+'/'+audio_file)
music_sep.run()
play_aud = os.path.splitext(audio_file)[0] # without extension
%cd path
%cd basic_splits/
print("Vocal")
ipd.display(ipd.Audio(f'{play_aud}/vocals.wav',rate=sr))
print("Bass")
ipd.display(ipd.Audio(f'{play_aud}/bass.wav',rate=sr))
print("Drums")
ipd.display(ipd.Audio(f'{play_aud}/drums.wav',rate=sr))
%cd path
%cd vocal_remover/
print("Music")
ipd.display(ipd.Audio(f'{play_aud}/accompaniment.wav',rate=sr))
elif choice == 2:
%cd advance_splits/
from moonarch_advance import AdvanceSplitter
# Process the audio for advanced split
splitter = AdvanceSplitter(path+'/'+audio_file)
splitter.run()
play_aud = os.path.splitext(audio_file)[0] # without extension
%cd path
%cd advance_splits/
print("Vocal")
ipd.display(ipd.Audio(f'{play_aud}/vocals.wav',rate=sr))
print("Strings")
ipd.display(ipd.Audio(f'{play_aud}/other.wav',rate=sr))
print("Bass")
ipd.display(ipd.Audio(f'{play_aud}/bass.wav',rate=sr))
print("Drums")
ipd.display(ipd.Audio(f'{play_aud}/drums.wav',rate=sr))
print("Piano")
ipd.display(ipd.Audio(f'{play_aud}/piano.wav',rate=sr))
print("Audio processed successfully.")