Spaces:
Sleeping
Sleeping
from pytubefix import YouTube | |
import ffmpeg | |
from gradio_client import Client, handle_file | |
import subprocess | |
import gradio as gr | |
client = Client("abidlabs/music-separation") | |
placeholder_url = "https://www.youtube.com/watch?v=bfATETsvqt4&ab_channel=MiniMuslims" | |
placeholder_file = "example_acapella_video.mp4" | |
def acapellify(video_path): | |
subprocess.run(['ffmpeg', '-i', video_path, '-vn', '-c:a', 'copy', 'audio.m4a', '-y']) | |
result = client.predict( | |
handle_file('audio.m4a'), | |
api_name="/predict" | |
) | |
subprocess.call(['ffmpeg', '-y', '-i', video_path, '-i', result[0], '-map', '0:v', '-map', '1:a', '-c:v', 'copy', '-c:a', 'aac', '-strict', 'experimental', 'acapella_video.mp4']) | |
return "acapella_video.mp4" | |
io = gr.Interface(acapellify, gr.Video(label="Original video"), gr.Video(label="Acapella output")) | |
with gr.Blocks() as demo: | |
gr.Markdown("# Acapellify: Get a Vocals-only from any Video in 1 Click") | |
io.render() | |
demo.launch() | |