yunusajib's picture
testing app
f36fc2f verified
raw
history blame
1.54 kB
import gradio as gr
import numpy as np
class AudioProcessor:
def __init__(self):
self.sample_rate = 16000
def process_audio(self, audio_input):
# Simple processing that always works
if audio_input is None:
return (np.random.random(self.sample_rate * 3), self.sample_rate
return (np.random.random(self.sample_rate * 3), self.sample_rate
def create_interface():
processor = AudioProcessor()
def process_audio(audio):
try:
audio_data, sr = processor.process_audio(audio)
return (
f"Audio processed successfully\nLength: {len(audio_data)/sr:.2f} seconds",
f"Sample rate: {sr} Hz\nData points: {len(audio_data)}"
)
except Exception as e:
return (
f"Error processing audio: {str(e)}",
"No backend information available"
)
with gr.Blocks() as demo:
gr.Markdown("## Simple Audio Processor")
with gr.Row():
audio_input = gr.Audio(sources=["microphone"], type="filepath")
process_btn = gr.Button("Process Audio")
with gr.Row():
status = gr.Textbox(label="Status")
info = gr.Textbox(label="Audio Info")
process_btn.click(
fn=process_audio,
inputs=[audio_input],
outputs=[status, info]
)
return demo
if __name__ == "__main__":
demo = create_interface()
demo.launch()