Spaces:
Running
Running
Initial commit with FastAPI + Gradio app
Browse files
app.py
CHANGED
@@ -2,7 +2,7 @@ import io
|
|
2 |
import tempfile
|
3 |
from fastapi import FastAPI, HTTPException, File, UploadFile
|
4 |
from speechbrain.inference import SpeakerRecognition
|
5 |
-
|
6 |
|
7 |
# Initialize the speaker verification model
|
8 |
verification = SpeakerRecognition.from_hparams(
|
@@ -55,12 +55,27 @@ async def compare_voices_api(file1: UploadFile = File(...), file2: UploadFile =
|
|
55 |
except Exception as e:
|
56 |
raise HTTPException(status_code=400, detail=str(e))
|
57 |
|
58 |
-
#
|
59 |
-
|
60 |
-
|
61 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
|
63 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
if __name__ == "__main__":
|
65 |
import uvicorn
|
66 |
-
uvicorn.run(app, host="
|
|
|
2 |
import tempfile
|
3 |
from fastapi import FastAPI, HTTPException, File, UploadFile
|
4 |
from speechbrain.inference import SpeakerRecognition
|
5 |
+
import gradio as gr
|
6 |
|
7 |
# Initialize the speaker verification model
|
8 |
verification = SpeakerRecognition.from_hparams(
|
|
|
55 |
except Exception as e:
|
56 |
raise HTTPException(status_code=400, detail=str(e))
|
57 |
|
58 |
+
# Gradio interface function
|
59 |
+
def gradio_interface():
|
60 |
+
return gr.Interface(
|
61 |
+
fn=compare_voices_api, # FastAPI function is wrapped here
|
62 |
+
inputs=[
|
63 |
+
gr.Audio(type="filepath", label="First Audio File"), # Audio file input
|
64 |
+
gr.Audio(type="filepath", label="Second Audio File") # Audio file input
|
65 |
+
],
|
66 |
+
outputs="json", # Output as JSON
|
67 |
+
live=False # No live interface, just the API
|
68 |
+
)
|
69 |
|
70 |
+
# Launch Gradio interface
|
71 |
+
@app.on_event("startup")
|
72 |
+
async def startup():
|
73 |
+
gr.Interface(fn=compare_voices_api, inputs=[
|
74 |
+
gr.Audio(type="filepath", label="First Audio File"), # Audio file input
|
75 |
+
gr.Audio(type="filepath", label="Second Audio File") # Audio file input
|
76 |
+
], outputs="json", live=False).launch(share=True, inline=True)
|
77 |
+
|
78 |
+
# Running the FastAPI app with Gradio
|
79 |
if __name__ == "__main__":
|
80 |
import uvicorn
|
81 |
+
uvicorn.run(app, host="0.0.0.0", port=5000)
|