def separate_audio( self, filename: str = "../audio/audio_example.mp3", bitrate: str = "128k", codec: Codec = Codec.WAV, # output file extension duration: float = 600.0, # max length in seconds offset: float = 0.00, # starting position verbose: bool = False # verbose logging ) -> None: """ Separate audio file(s) using pretrained 2-stems model """ from spleeter.audio.adapter import AudioAdapter from spleeter.separator import Separator configure_logger(verbose) audio_adapter: AudioAdapter = AudioAdapter.get(descriptor=self.adapter) separator: Separator = Separator(self.params_filename, MWF=False, stft_backend=STFTBackend( STFTBackend.AUTO)) separator.separate_to_file( str(filename), str(self.output_path), audio_adapter=audio_adapter, offset=int(offset), duration=duration, codec=codec, bitrate=bitrate, filename_format=self.filename_format, synchronous=False, ) separator.join()
def music_processing(music_pth, ret_value): separator = Separator(params_descriptor='spleeter:2stems') audio_adapter = AudioAdapter.get( 'spleeter.audio.ffmpeg.FFMPEGProcessAudioAdapter') waveform, _ = audio_adapter.load(music_path, dtype=np.float32, sample_rate=22050) sources = separator.separate(waveform=waveform, audio_descriptor=music_pth) vocals = sources['vocals'] ret_value['vocals'] = vocals return vocals