File size: 1,488 Bytes
25ca65d
d2d0553
6e17754
 
 
 
 
25ca65d
39a9210
6e17754
 
 
d2d0553
 
 
6e17754
d2d0553
 
39a9210
d2d0553
0166f6b
d2d0553
 
25ca65d
d2d0553
 
 
 
 
0166f6b
ee7da9b
 
 
 
 
 
 
 
d2d0553
 
 
39a9210
d2d0553
eb44037
ee7da9b
d2d0553
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import gradio as gr
import requests
import os

# Retrieve ASR API URL and Authorization Token from environment variables
ASR_API_URL = os.getenv('ASR_API_URL')
AUTH_TOKEN = os.getenv('AUTH_TOKEN')

def transcribe_audio(file_path):
    if not ASR_API_URL or not AUTH_TOKEN:
        return "Error: Missing ASR_API_URL or AUTH_TOKEN."

    # Prepare headers and data
    headers = {
        'accept': 'application/json',
        'Authorization': f'Bearer {AUTH_TOKEN}',
    }
    files = {
        'file': (file_path, open(file_path, 'rb'), 'audio/mpeg'),
    }

    # Send POST request
    response = requests.post(ASR_API_URL, headers=headers, files=files)

    # Check if response is successful
    if response.status_code == 200:
        return response.json().get("transcription", "No transcription returned.")
    else:
        return f"Error: {response.status_code}, {response.text}"


description_text = """
The Gooya model is one of the most [powerful](https://huggingface.co/spaces/navidved/open_persian_asr_leaderboard) and fastest Persian ASR models. 

Upload an audio file in Persian, and this Model will transcribe it.
"""


# Set up the Gradio interface
gr.Interface(
    fn=transcribe_audio,
    inputs=gr.Audio(type="filepath"),  # Updated here
    outputs="text",
    title="Gooya v1.2 Persian ASR",
    description="The Gooya model is one of the most powerful and fastest Persian ASR models. Upload an audio file in Persian, and this Model will transcribe it."
).launch()