Spaces:
Build error
Build error
| # This Gradio app allows users to upload an audio file and get a transcription. | |
| import gradio as gr | |
| # Define the function to transcribe the audio file. | |
| def transcribe_audio(audio_file): | |
| # Check if the file exists and is not too large | |
| if not os.path.exists(audio_file): | |
| raise gr.Error(f"Error: File {audio_file} not found") | |
| file_size = os.path.getsize(audio_file) / (1024 * 1024) # Convert to MB | |
| print(f"Processing file: {audio_file} ({file_size:.2f} MB)") | |
| try: | |
| start_time = time.time() | |
| with open(audio_file, "rb") as file: | |
| # Simulate the transcription process | |
| transcription = { | |
| "text": "This is a simulated transcription of the uploaded audio file." | |
| } | |
| elapsed = time.time() - start_time | |
| print(f"Transcription completed in {elapsed:.2f} seconds") | |
| print("\nTranscribed text:") | |
| print(transcription["text"]) | |
| return transcription["text"] | |
| except Exception as e: | |
| raise gr.Error(f"Error during transcription: {str(e)}") | |
| # Create a Gradio interface that takes an audio file as input and returns the transcription as output. | |
| with gr.Blocks() as demo: | |
| audio_input = gr.Audio(label="Upload Audio File", type="filepath") | |
| transcription_output = gr.Textbox(label="Transcribed Text") | |
| transcribe_button = gr.Button("Transcribe") | |
| # Attach the transcribe_audio function to the button click event. | |
| transcribe_button.click(fn=transcribe_audio, inputs=audio_input, outputs=transcription_output) | |
| # Launch the interface. | |
| demo.launch(show_error=True) |