Subhraj07 commited on
Commit
f7c1917
·
0 Parent(s):

Duplicate from Subhraj07/audio_vocab_spleeter

Browse files
Files changed (4) hide show
  1. .gitattributes +34 -0
  2. README.md +14 -0
  3. app.py +91 -0
  4. requirements.txt +2 -0
.gitattributes ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tflite filter=lfs diff=lfs merge=lfs -text
29
+ *.tgz filter=lfs diff=lfs merge=lfs -text
30
+ *.wasm filter=lfs diff=lfs merge=lfs -text
31
+ *.xz filter=lfs diff=lfs merge=lfs -text
32
+ *.zip filter=lfs diff=lfs merge=lfs -text
33
+ *.zst filter=lfs diff=lfs merge=lfs -text
34
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Audio Vocab Spleeter
3
+ emoji: 📊
4
+ colorFrom: red
5
+ colorTo: pink
6
+ sdk: streamlit
7
+ sdk_version: 1.21.0
8
+ app_file: app.py
9
+ pinned: false
10
+ license: openrail
11
+ duplicated_from: Subhraj07/audio_vocab_spleeter
12
+ ---
13
+
14
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import tempfile
3
+ import shutil
4
+ import os
5
+ import random
6
+ import string
7
+ import subprocess
8
+
9
+ # os.system("conda install -c conda-forge ffmpeg libsndfile -y")
10
+
11
+ st.set_page_config(
12
+ page_title="Video Splitter",
13
+ page_icon=None,
14
+ layout="wide",
15
+ initial_sidebar_state="auto",
16
+ )
17
+
18
+ def run_shell_command(command):
19
+ process = subprocess.Popen(
20
+ command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True
21
+ )
22
+
23
+ while True:
24
+ output = process.stdout.readline()
25
+ if output == '' and process.poll() is not None:
26
+ break
27
+ if output:
28
+ st.write(output.strip())
29
+
30
+ rc = process.poll()
31
+ return rc
32
+
33
+ def create_download_link(video_file):
34
+ with open(video_file.name, "rb") as f:
35
+ file_bytes = f.read()
36
+ b64 = base64.b64encode(file_bytes).decode()
37
+ download_link = f'<a href="data:video/mp4;base64,{b64}" download="{video_file.name}">Download video file</a>'
38
+ st.markdown(download_link, unsafe_allow_html=True)
39
+
40
+ def save_uploaded_file(uploaded_file):
41
+ save_dir = "/tmp/uploaded_videos" # Change this to the desired folder
42
+ if not os.path.exists(save_dir):
43
+ os.makedirs(save_dir)
44
+
45
+ with open(os.path.join(save_dir, uploaded_file.name), "wb") as f:
46
+ f.write(uploaded_file.getbuffer())
47
+
48
+ st.success(f"File '{uploaded_file.name}' saved to folder '{save_dir}'")
49
+ return uploaded_file.name, save_dir
50
+
51
+ video_file = st.file_uploader("Upload a video file", type=['mp4', 'mov', 'avi', 'flv', 'wmv', 'webm','mp3'])
52
+
53
+ if video_file is not None:
54
+ tfile = tempfile.NamedTemporaryFile(delete=False)
55
+ tfile.write(video_file.read())
56
+ st.video(tfile.name)
57
+
58
+ filename, video_path = save_uploaded_file(video_file)
59
+ # create_download_link(video_file)
60
+
61
+ save_dir = "/tmp/vocals"
62
+
63
+ ip_dir = video_path + "/" + filename
64
+
65
+ # print(f"spleeter separate -o {save_dir} '{ip_dir}'")
66
+
67
+ # Example command to run
68
+ command = f"spleeter separate -o {save_dir} '{ip_dir}'"
69
+
70
+ # Run the shell command and display live results
71
+ return_code = run_shell_command(command)
72
+ st.write(f"\nCommand finished with return code: {return_code}")
73
+
74
+ op_file_vocals = save_dir + "/" + filename.split(".")[0] + "/vocals.wav"
75
+ op_file_music = save_dir + "/" + filename.split(".")[0] + "/accompaniment.wav"
76
+
77
+ st.success(f"File '{ip_dir}' processed into vocals {op_file_vocals} and music {op_file_music}")
78
+
79
+ st.audio(op_file_vocals)
80
+ # create_download_link(op_file_vocals)
81
+
82
+ st.audio(op_file_music)
83
+ # create_download_link(op_file_music)
84
+
85
+ if st.button("Clear Data"):
86
+
87
+ command = f"rm -R uploaded_videos"
88
+ run_shell_command(command)
89
+
90
+ command = f"rm -R vocals"
91
+ run_shell_command(command)
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ streamlit==1.19.0
2
+ spleeter==2.3.2