Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -81,7 +81,7 @@ def recognize_audio(choice, url, file):
|
|
81 |
api_url = os.getenv("API_URL", "https://api.audd.io/").strip('"')
|
82 |
params = {
|
83 |
"return": "apple_music,spotify",
|
84 |
-
"api_token":
|
85 |
}
|
86 |
|
87 |
if choice == "URL":
|
@@ -99,7 +99,44 @@ def recognize_audio(choice, url, file):
|
|
99 |
else:
|
100 |
return "Please select a method (URL or Upload File)."
|
101 |
|
102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
|
104 |
# Gradio Interface
|
105 |
interface = gr.Interface(
|
@@ -109,7 +146,7 @@ interface = gr.Interface(
|
|
109 |
gr.Textbox(label="Enter Audio URL", placeholder="https://example.com/audio.mp3"),
|
110 |
gr.File(label="Upload Audio File", type="filepath") # Menggunakan filepath agar sesuai dengan Gradio
|
111 |
],
|
112 |
-
outputs=gr.
|
113 |
title="Audio Recognition",
|
114 |
description="Choose a method: Upload an audio file or enter a URL to identify the song."
|
115 |
)
|
|
|
81 |
api_url = os.getenv("API_URL", "https://api.audd.io/").strip('"')
|
82 |
params = {
|
83 |
"return": "apple_music,spotify",
|
84 |
+
"api_token": os.getenv("API_TOKEN", "your_api_token_here").strip('"')
|
85 |
}
|
86 |
|
87 |
if choice == "URL":
|
|
|
99 |
else:
|
100 |
return "Please select a method (URL or Upload File)."
|
101 |
|
102 |
+
# Parse the response into a structured format
|
103 |
+
try:
|
104 |
+
data = response.json()
|
105 |
+
|
106 |
+
# Check if the response contains an error
|
107 |
+
if result.get("status") == "error":
|
108 |
+
error_message = result.get("error", {}).get("error_message", "Unknown error.")
|
109 |
+
return f"""
|
110 |
+
### Song recognition failed
|
111 |
+
{error_message}
|
112 |
+
"""
|
113 |
+
|
114 |
+
result = data.get('result', {})
|
115 |
+
artist = result.get('artist', 'Unknown Artist')
|
116 |
+
title = result.get('title', 'Unknown Title')
|
117 |
+
album = result.get('album', 'Unknown Album')
|
118 |
+
release_date = result.get('release_date', 'Unknown Date')
|
119 |
+
song_link = result.get('song_link', '')
|
120 |
+
apple_music_link = result.get('apple_music', {}).get('url', '')
|
121 |
+
spotify_link = result.get('spotify', {}).get('external_urls', {}).get('spotify', '')
|
122 |
+
|
123 |
+
markdown_output = f"""
|
124 |
+
### Song Recognition Result
|
125 |
+
- **Title**: {title}
|
126 |
+
- **Artist**: {artist}
|
127 |
+
- **Album**: {album}
|
128 |
+
- **Release Date**: {release_date}
|
129 |
+
|
130 |
+
[Listen on Apple Music]({apple_music_link})
|
131 |
+
[Listen on Spotify]({spotify_link})
|
132 |
+
|
133 |
+
#### Song Link:
|
134 |
+
[Click here to listen]({song_link})
|
135 |
+
"""
|
136 |
+
return markdown_output
|
137 |
+
|
138 |
+
except Exception as e:
|
139 |
+
return f"Error parsing response: {str(e)}"
|
140 |
|
141 |
# Gradio Interface
|
142 |
interface = gr.Interface(
|
|
|
146 |
gr.Textbox(label="Enter Audio URL", placeholder="https://example.com/audio.mp3"),
|
147 |
gr.File(label="Upload Audio File", type="filepath") # Menggunakan filepath agar sesuai dengan Gradio
|
148 |
],
|
149 |
+
outputs=gr.Markdown(label="Recognition Result"),
|
150 |
title="Audio Recognition",
|
151 |
description="Choose a method: Upload an audio file or enter a URL to identify the song."
|
152 |
)
|