Speech-to-text / app.py
afiz's picture
Update app.py
a001ad9
import requests
from pprint import pprint
from time import sleep
api_key = 'YOUR_API_KEY'
audio_url = 'https://listentogenius.com/recordings4/Innocence.mp3'
def audio_to_text(api_key, audio_url):
endpoint = "https://api.assemblyai.com/v2/transcript"
headers = {
'authorization': api_key,
'content-type': 'application/json'
}
body = {
'audio_url': audio_url
}
# 1. Submitting Files for Transcription
res = requests.post(endpoint, json=body, headers=headers)
transcript_id = res.json().get('id')
print(transcript_id)
# 2. Getting the Transcription Result
endpoint_full = f"https://api.assemblyai.com/v2/transcript/{transcript_id}"
status = 'processing'
while transcript_id and status != 'completed':
print('Getting the transcription result ....')
sleep(5)
res_text = requests.get(endpoint_full, headers=headers)
status = res_text.json().get('status')
data = res_text.json().get('text')
return data
import gradio as gr
demo = gr.Blocks()
with demo:
gr.Markdown(
"""
# Convert Audio files to Text files using AssemblyAI.
### Get AssemblyAI API Key from here https://app.assemblyai.com/
""")
inp = [gr.Textbox(label='API Key', placeholder="What is your API Key?"), gr.Textbox(label='Audio File URL', placeholder="Audio file URL?")]
out = gr.Textbox(label='Output')
text_button = gr.Button("Flip")
text_button.click(audio_to_text, inputs=inp, outputs=out)
demo.launch()