from transformers import pipeline asr_pipe = pipeline("automatic-speech-recognition", model="ihanif/whisper-medium-urdu") from difflib import SequenceMatcher # List of commands commands = [ "کمپیوٹر، کھیل کھیلو", "میوزک چلاؤ", "روشنی کم کریں" ] replies = [ "https://medicobilling.info/urdu.wav", "download.wav", "https://medicobilling.info/urdu.wav" ] # Function to find the most similar command def find_most_similar_command(statement, command_list): best_match = None highest_similarity = 0 i=0 for command in command_list: similarity = SequenceMatcher(None, statement, command).ratio() if similarity > highest_similarity: highest_similarity = similarity best_match = command reply=replies[i] i+=1 else: best_match="unknown" reply="unknown.wav" return best_match,reply def transcribe_the_command(audio_path): transcript = asr_pipe(audio_path)["text"] most_similar_command,reply = find_most_similar_command(transcript, commands) print(f"Given Statement: {transcript}") print(f"Most Similar Command: {most_similar_command}\n") return reply # get_text_from_voice("urdu.wav") import gradio as gr iface = gr.Interface( fn=transcribe_the_command, inputs=gr.Audio(source="microphone"), outputs="text", title="Whisper Small Hindi", description="Realtime demo for Hindi speech recognition using a fine-tuned Whisper small model.", ) iface.launch(share="true")