Spaces:
				
			
			
	
			
			
					
		Running
		
	
	
	
			
			
	
	
	
	
		
		
					
		Running
		
	Update app.py
Browse files
    	
        app.py
    CHANGED
    
    | 
         @@ -1,4 +1,5 @@ 
     | 
|
| 1 | 
         
             
            import os
         
     | 
| 
         | 
|
| 2 | 
         
             
            import gradio as gr
         
     | 
| 3 | 
         | 
| 4 | 
         
             
            from audio_separator.separator import Separator
         
     | 
| 
         @@ -103,8 +104,7 @@ def rename_stems(input_file, output_dir, stems, output_format): 
     | 
|
| 103 | 
         
             
                for i, stem in enumerate(stems):
         
     | 
| 104 | 
         
             
                    new_name = f"{base_name}_(Stem{i+1}).{output_format}"
         
     | 
| 105 | 
         
             
                    new_path = os.path.join(output_dir, new_name)
         
     | 
| 106 | 
         
            -
                     
     | 
| 107 | 
         
            -
                    os.rename(stem, new_path)
         
     | 
| 108 | 
         
             
                    renamed_stems.append(new_path)
         
     | 
| 109 | 
         
             
                return renamed_stems
         
     | 
| 110 | 
         | 
| 
         @@ -112,6 +112,7 @@ def roformer_separator(audio, model_key, seg_size, overlap, model_dir, out_dir, 
     | 
|
| 112 | 
         
             
                """Separate audio using Roformer model."""
         
     | 
| 113 | 
         
             
                model = ROFORMER_MODELS[model_key]
         
     | 
| 114 | 
         
             
                separator = Separator(
         
     | 
| 
         | 
|
| 115 | 
         
             
                    model_file_dir=model_dir,
         
     | 
| 116 | 
         
             
                    output_dir=out_dir,
         
     | 
| 117 | 
         
             
                    output_format=out_format,
         
     | 
| 
         @@ -130,8 +131,6 @@ def roformer_separator(audio, model_key, seg_size, overlap, model_dir, out_dir, 
     | 
|
| 130 | 
         
             
                progress(0.7, desc="Audio separated")
         
     | 
| 131 | 
         
             
                separation = separator.separate(audio)
         
     | 
| 132 | 
         | 
| 133 | 
         
            -
                print(f"Separation result: {separation}")
         
     | 
| 134 | 
         
            -
             
     | 
| 135 | 
         
             
                progress(0.9, desc="Stems renamed")
         
     | 
| 136 | 
         
             
                stems = rename_stems(audio, out_dir, separation, out_format)
         
     | 
| 137 | 
         | 
| 
         @@ -140,6 +139,7 @@ def roformer_separator(audio, model_key, seg_size, overlap, model_dir, out_dir, 
     | 
|
| 140 | 
         
             
            def mdx23c_separator(audio, model, seg_size, overlap, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
         
     | 
| 141 | 
         
             
                """Separate audio using MDX23C model."""
         
     | 
| 142 | 
         
             
                separator = Separator(
         
     | 
| 
         | 
|
| 143 | 
         
             
                    model_file_dir=model_dir,
         
     | 
| 144 | 
         
             
                    output_dir=out_dir,
         
     | 
| 145 | 
         
             
                    output_format=out_format,
         
     | 
| 
         @@ -166,6 +166,7 @@ def mdx23c_separator(audio, model, seg_size, overlap, model_dir, out_dir, out_fo 
     | 
|
| 166 | 
         
             
            def mdx_separator(audio, model, hop_length, seg_size, overlap, denoise, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
         
     | 
| 167 | 
         
             
                """Separate audio using MDX-NET model."""
         
     | 
| 168 | 
         
             
                separator = Separator(
         
     | 
| 
         | 
|
| 169 | 
         
             
                    model_file_dir=model_dir,
         
     | 
| 170 | 
         
             
                    output_dir=out_dir,
         
     | 
| 171 | 
         
             
                    output_format=out_format,
         
     | 
| 
         @@ -194,6 +195,7 @@ def mdx_separator(audio, model, hop_length, seg_size, overlap, denoise, model_di 
     | 
|
| 194 | 
         
             
            def vr_separator(audio, model, window_size, aggression, tta, post_process, post_process_threshold, high_end_process, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
         
     | 
| 195 | 
         
             
                """Separate audio using VR ARCH model."""
         
     | 
| 196 | 
         
             
                separator = Separator(
         
     | 
| 
         | 
|
| 197 | 
         
             
                    model_file_dir=model_dir,
         
     | 
| 198 | 
         
             
                    output_dir=out_dir,
         
     | 
| 199 | 
         
             
                    output_format=out_format,
         
     | 
| 
         @@ -224,6 +226,7 @@ def vr_separator(audio, model, window_size, aggression, tta, post_process, post_ 
     | 
|
| 224 | 
         
             
            def demucs_separator(audio, model, seg_size, shifts, overlap, segments_enabled, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
         
     | 
| 225 | 
         
             
                """Separate audio using Demucs model."""
         
     | 
| 226 | 
         
             
                separator = Separator(
         
     | 
| 
         | 
|
| 227 | 
         
             
                    model_file_dir=model_dir,
         
     | 
| 228 | 
         
             
                    output_dir=out_dir,
         
     | 
| 229 | 
         
             
                    output_format=out_format,
         
     | 
| 
         @@ -276,7 +279,7 @@ with gr.Blocks( 
     | 
|
| 276 | 
         
             
                            roformer_model = gr.Dropdown(label="Select the Model", choices=list(ROFORMER_MODELS.keys()))
         
     | 
| 277 | 
         
             
                        with gr.Row():
         
     | 
| 278 | 
         
             
                            roformer_seg_size = gr.Slider(minimum=32, maximum=4000, step=32, value=256, label="Segment Size", info="Larger consumes more resources, but may give better results.")
         
     | 
| 279 | 
         
            -
                            roformer_overlap = gr.Slider(minimum=2, maximum= 
     | 
| 280 | 
         
             
                    with gr.Row():
         
     | 
| 281 | 
         
             
                        roformer_audio = gr.Audio(label="Input Audio", type="filepath")
         
     | 
| 282 | 
         
             
                    with gr.Row():
         
     | 
| 
         @@ -440,4 +443,4 @@ with gr.Blocks( 
     | 
|
| 440 | 
         
             
                    outputs=[demucs_stem1, demucs_stem2, demucs_stem3, demucs_stem4],
         
     | 
| 441 | 
         
             
                )
         
     | 
| 442 | 
         | 
| 443 | 
         
            -
            app.launch()
         
     | 
| 
         | 
|
| 1 | 
         
             
            import os
         
     | 
| 2 | 
         
            +
            import logging
         
     | 
| 3 | 
         
             
            import gradio as gr
         
     | 
| 4 | 
         | 
| 5 | 
         
             
            from audio_separator.separator import Separator
         
     | 
| 
         | 
|
| 104 | 
         
             
                for i, stem in enumerate(stems):
         
     | 
| 105 | 
         
             
                    new_name = f"{base_name}_(Stem{i+1}).{output_format}"
         
     | 
| 106 | 
         
             
                    new_path = os.path.join(output_dir, new_name)
         
     | 
| 107 | 
         
            +
                    os.rename(os.path.join(output_dir, stem), new_path)
         
     | 
| 
         | 
|
| 108 | 
         
             
                    renamed_stems.append(new_path)
         
     | 
| 109 | 
         
             
                return renamed_stems
         
     | 
| 110 | 
         | 
| 
         | 
|
| 112 | 
         
             
                """Separate audio using Roformer model."""
         
     | 
| 113 | 
         
             
                model = ROFORMER_MODELS[model_key]
         
     | 
| 114 | 
         
             
                separator = Separator(
         
     | 
| 115 | 
         
            +
                    log_level=logging.WARNING,
         
     | 
| 116 | 
         
             
                    model_file_dir=model_dir,
         
     | 
| 117 | 
         
             
                    output_dir=out_dir,
         
     | 
| 118 | 
         
             
                    output_format=out_format,
         
     | 
| 
         | 
|
| 131 | 
         
             
                progress(0.7, desc="Audio separated")
         
     | 
| 132 | 
         
             
                separation = separator.separate(audio)
         
     | 
| 133 | 
         | 
| 
         | 
|
| 
         | 
|
| 134 | 
         
             
                progress(0.9, desc="Stems renamed")
         
     | 
| 135 | 
         
             
                stems = rename_stems(audio, out_dir, separation, out_format)
         
     | 
| 136 | 
         | 
| 
         | 
|
| 139 | 
         
             
            def mdx23c_separator(audio, model, seg_size, overlap, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
         
     | 
| 140 | 
         
             
                """Separate audio using MDX23C model."""
         
     | 
| 141 | 
         
             
                separator = Separator(
         
     | 
| 142 | 
         
            +
                    log_level=logging.WARNING,
         
     | 
| 143 | 
         
             
                    model_file_dir=model_dir,
         
     | 
| 144 | 
         
             
                    output_dir=out_dir,
         
     | 
| 145 | 
         
             
                    output_format=out_format,
         
     | 
| 
         | 
|
| 166 | 
         
             
            def mdx_separator(audio, model, hop_length, seg_size, overlap, denoise, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
         
     | 
| 167 | 
         
             
                """Separate audio using MDX-NET model."""
         
     | 
| 168 | 
         
             
                separator = Separator(
         
     | 
| 169 | 
         
            +
                    log_level=logging.WARNING,
         
     | 
| 170 | 
         
             
                    model_file_dir=model_dir,
         
     | 
| 171 | 
         
             
                    output_dir=out_dir,
         
     | 
| 172 | 
         
             
                    output_format=out_format,
         
     | 
| 
         | 
|
| 195 | 
         
             
            def vr_separator(audio, model, window_size, aggression, tta, post_process, post_process_threshold, high_end_process, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
         
     | 
| 196 | 
         
             
                """Separate audio using VR ARCH model."""
         
     | 
| 197 | 
         
             
                separator = Separator(
         
     | 
| 198 | 
         
            +
                    log_level=logging.WARNING,
         
     | 
| 199 | 
         
             
                    model_file_dir=model_dir,
         
     | 
| 200 | 
         
             
                    output_dir=out_dir,
         
     | 
| 201 | 
         
             
                    output_format=out_format,
         
     | 
| 
         | 
|
| 226 | 
         
             
            def demucs_separator(audio, model, seg_size, shifts, overlap, segments_enabled, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
         
     | 
| 227 | 
         
             
                """Separate audio using Demucs model."""
         
     | 
| 228 | 
         
             
                separator = Separator(
         
     | 
| 229 | 
         
            +
                    log_level=logging.WARNING,
         
     | 
| 230 | 
         
             
                    model_file_dir=model_dir,
         
     | 
| 231 | 
         
             
                    output_dir=out_dir,
         
     | 
| 232 | 
         
             
                    output_format=out_format,
         
     | 
| 
         | 
|
| 279 | 
         
             
                            roformer_model = gr.Dropdown(label="Select the Model", choices=list(ROFORMER_MODELS.keys()))
         
     | 
| 280 | 
         
             
                        with gr.Row():
         
     | 
| 281 | 
         
             
                            roformer_seg_size = gr.Slider(minimum=32, maximum=4000, step=32, value=256, label="Segment Size", info="Larger consumes more resources, but may give better results.")
         
     | 
| 282 | 
         
            +
                            roformer_overlap = gr.Slider(minimum=2, maximum=10, step=1, value=8, label="Overlap", info="Amount of overlap between prediction windows.")
         
     | 
| 283 | 
         
             
                    with gr.Row():
         
     | 
| 284 | 
         
             
                        roformer_audio = gr.Audio(label="Input Audio", type="filepath")
         
     | 
| 285 | 
         
             
                    with gr.Row():
         
     | 
| 
         | 
|
| 443 | 
         
             
                    outputs=[demucs_stem1, demucs_stem2, demucs_stem3, demucs_stem4],
         
     | 
| 444 | 
         
             
                )
         
     | 
| 445 | 
         | 
| 446 | 
         
            +
            app.launch(share=True)
         
     |