コード例 #1
0
    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()
コード例 #2
0
    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