|
import gradio as gr |
|
import os |
|
from groq import Groq |
|
|
|
|
|
CORRECT_PASSWORD = "password123" |
|
|
|
|
|
GROQ_API_KEY = os.environ.get("GROQ_API_KEY") |
|
|
|
def check_password(password): |
|
return password == CORRECT_PASSWORD |
|
|
|
def transcribe_audio(password, audio_file): |
|
if not check_password(password): |
|
return "Incorrect password. Access denied." |
|
|
|
if not audio_file: |
|
return "Please provide an audio file." |
|
|
|
if not GROQ_API_KEY: |
|
return "Groq API key not found in environment variables." |
|
|
|
try: |
|
client = Groq(api_key=GROQ_API_KEY) |
|
with open(audio_file.name, "rb") as file: |
|
transcription = client.audio.transcriptions.create( |
|
file=(audio_file.name, file.read()), |
|
model="whisper-large-v3", |
|
temperature=1, |
|
response_format="verbose_json", |
|
) |
|
return transcription.text |
|
except Exception as e: |
|
return f"An error occurred: {str(e)}" |
|
|
|
iface = gr.Interface( |
|
fn=transcribe_audio, |
|
inputs=[ |
|
gr.Textbox(type="password", label="Password"), |
|
gr.File(label="Upload Audio File") |
|
], |
|
outputs=gr.Textbox(label="Result"), |
|
title="Password Protected Audio Transcription App", |
|
description="Enter the correct password to access the app. Then upload an audio file to transcribe." |
|
) |
|
|
|
if __name__ == "__main__": |
|
iface.launch(share=True) |