slslslrhfem commited on
Commit ·
90ddc2d
1
Parent(s): 95b58b8
change python
Browse files- app.py +42 -12
- requirements.txt +0 -1
app.py
CHANGED
|
@@ -3,10 +3,49 @@ import gradio as gr
|
|
| 3 |
import torch
|
| 4 |
import librosa
|
| 5 |
import numpy as np
|
| 6 |
-
|
|
|
|
| 7 |
from huggingface_hub import snapshot_download
|
| 8 |
from pathlib import Path
|
| 9 |
-
import os
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
token = os.getenv("HF_TOKEN")
|
| 12 |
|
|
@@ -59,7 +98,7 @@ def download_data_from_hub():
|
|
| 59 |
for folder_name in folders_to_check:
|
| 60 |
downloaded_folders[folder_name] = None
|
| 61 |
else:
|
| 62 |
-
print(f"✅ Data folders
|
| 63 |
for folder_name in folders_to_check:
|
| 64 |
folder_path = base_dir / folder_name
|
| 65 |
if folder_path.exists():
|
|
@@ -68,15 +107,6 @@ def download_data_from_hub():
|
|
| 68 |
downloaded_folders[folder_name] = str(folder_path)
|
| 69 |
else:
|
| 70 |
downloaded_folders[folder_name] = None
|
| 71 |
-
|
| 72 |
-
for file_name in files_to_check:
|
| 73 |
-
file_path = base_dir / file_name
|
| 74 |
-
if file_path.exists():
|
| 75 |
-
file_size = file_path.stat().st_size / (1024*1024) # MB
|
| 76 |
-
print(f" 📄 {file_name}: {file_size:.1f} MB")
|
| 77 |
-
downloaded_folders[file_name] = str(file_path)
|
| 78 |
-
else:
|
| 79 |
-
downloaded_folders[file_name] = None
|
| 80 |
|
| 81 |
return downloaded_folders
|
| 82 |
|
|
|
|
| 3 |
import torch
|
| 4 |
import librosa
|
| 5 |
import numpy as np
|
| 6 |
+
import subprocess
|
| 7 |
+
import sys
|
| 8 |
from huggingface_hub import snapshot_download
|
| 9 |
from pathlib import Path
|
| 10 |
+
import os
|
| 11 |
+
|
| 12 |
+
# Runtime installation of madmom
|
| 13 |
+
def install_madmom():
|
| 14 |
+
"""
|
| 15 |
+
Install madmom at runtime after Cython and numpy are available
|
| 16 |
+
"""
|
| 17 |
+
try:
|
| 18 |
+
import madmom
|
| 19 |
+
print("✅ madmom already installed")
|
| 20 |
+
return True
|
| 21 |
+
except ImportError:
|
| 22 |
+
print("📦 Installing madmom at runtime...")
|
| 23 |
+
try:
|
| 24 |
+
subprocess.check_call([
|
| 25 |
+
sys.executable, "-m", "pip", "install",
|
| 26 |
+
"madmom", "--no-cache-dir"
|
| 27 |
+
])
|
| 28 |
+
print("✅ madmom installed successfully")
|
| 29 |
+
return True
|
| 30 |
+
except subprocess.CalledProcessError as e:
|
| 31 |
+
print(f"⚠️ Failed to install madmom: {e}")
|
| 32 |
+
return False
|
| 33 |
+
|
| 34 |
+
# Install madmom before importing inference
|
| 35 |
+
madmom_available = install_madmom()
|
| 36 |
+
|
| 37 |
+
# Import inference after madmom installation
|
| 38 |
+
try:
|
| 39 |
+
from inference import inference
|
| 40 |
+
except ImportError as e:
|
| 41 |
+
print(f"⚠️ Failed to import inference: {e}")
|
| 42 |
+
print("This might be due to missing madmom dependency")
|
| 43 |
+
|
| 44 |
+
def inference(audio_file):
|
| 45 |
+
return {
|
| 46 |
+
'matches': [],
|
| 47 |
+
'message': 'madmom dependency not available'
|
| 48 |
+
}
|
| 49 |
|
| 50 |
token = os.getenv("HF_TOKEN")
|
| 51 |
|
|
|
|
| 98 |
for folder_name in folders_to_check:
|
| 99 |
downloaded_folders[folder_name] = None
|
| 100 |
else:
|
| 101 |
+
print(f"✅ Data folders already exist locally")
|
| 102 |
for folder_name in folders_to_check:
|
| 103 |
folder_path = base_dir / folder_name
|
| 104 |
if folder_path.exists():
|
|
|
|
| 107 |
downloaded_folders[folder_name] = str(folder_path)
|
| 108 |
else:
|
| 109 |
downloaded_folders[folder_name] = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
|
| 111 |
return downloaded_folders
|
| 112 |
|
requirements.txt
CHANGED
|
@@ -39,7 +39,6 @@ lazy_loader
|
|
| 39 |
libclang
|
| 40 |
librosa
|
| 41 |
llvmlite
|
| 42 |
-
madmom
|
| 43 |
Markdown
|
| 44 |
MarkupSafe
|
| 45 |
mido
|
|
|
|
| 39 |
libclang
|
| 40 |
librosa
|
| 41 |
llvmlite
|
|
|
|
| 42 |
Markdown
|
| 43 |
MarkupSafe
|
| 44 |
mido
|