import torch import torchaudio from transformers import pipeline import streamlit as st # Load the pre-trained wav2vec 2.0 model model = pipeline('voice-recognition', model='facebook/wav2vec2-base-960h') def recognize_voice(audio_file): waveform, sample_rate = torchaudio.load(audio_file) transcript = model(waveform.numpy()[0], sample_rate=sample_rate) return transcript[0]['sentence'] def main(): st.title("Voice Recognition App") # Upload audio file audio_file = st.file_uploader("Upload an audio file", type=["mp3", "wav"]) if audio_file is not None: st.audio(audio_file, format='audio/wav') if st.button("Recognize Voice"): try: # Perform voice recognition result = recognize_voice(audio_file) st.success(f"Recognition Result: {result}") except Exception as e: st.error(f"Error: {e}") if __name__ == "__main__": main()