File size: 890 Bytes
bb70eb3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# Third Party
import soundfile
import numpy

# Local
from vocal_isolation.loader import Loader
from vocal_isolation.models.kimvocal import KimVocal

# Constants
from vocal_isolation.constants import INPUT_FOLDER, OUTPUT_FOLDER

def isolate_vocals_kim_vocals(input_file_name="audio"):
    
    loader = Loader(INPUT_FOLDER, OUTPUT_FOLDER)
    
    music_numpy_array, sample_rate = loader.load_wav(input_file_name)
    
    kimvocal = KimVocal()

    instrumentals_tensor, vocals_tensor = kimvocal.demix_both(music_tensor=music_numpy_array, sample_rate=sample_rate)

    instrumentals_numpy = instrumentals_tensor.numpy().T
    vocals_numpy = vocals_tensor.numpy().T

    soundfile.write(file=OUTPUT_FOLDER + "/no_vocals.wav", data=instrumentals_numpy, samplerate=sample_rate)
    soundfile.write(file=OUTPUT_FOLDER + "/vocals.wav", data=vocals_numpy, samplerate=sample_rate)

    return True