Update app.py
Browse files
app.py
CHANGED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import torch
|
2 |
+
import torchaudio
|
3 |
+
from transformers import pipeline
|
4 |
+
import streamlit as st
|
5 |
+
|
6 |
+
# Load the pre-trained wav2vec 2.0 model
|
7 |
+
model = pipeline('voice-recognition', model='facebook/wav2vec2-base-960h')
|
8 |
+
|
9 |
+
def recognize_voice(audio_file):
|
10 |
+
waveform, sample_rate = torchaudio.load(audio_file)
|
11 |
+
transcript = model(waveform.numpy()[0], sample_rate=sample_rate)
|
12 |
+
return transcript[0]['sentence']
|
13 |
+
|
14 |
+
def main():
|
15 |
+
st.title("Voice Recognition App")
|
16 |
+
|
17 |
+
# Upload audio file
|
18 |
+
audio_file = st.file_uploader("Upload an audio file", type=["mp3", "wav"])
|
19 |
+
|
20 |
+
if audio_file is not None:
|
21 |
+
st.audio(audio_file, format='audio/wav')
|
22 |
+
|
23 |
+
if st.button("Recognize Voice"):
|
24 |
+
try:
|
25 |
+
# Perform voice recognition
|
26 |
+
result = recognize_voice(audio_file)
|
27 |
+
st.success(f"Recognition Result: {result}")
|
28 |
+
except Exception as e:
|
29 |
+
st.error(f"Error: {e}")
|
30 |
+
|
31 |
+
if __name__ == "__main__":
|
32 |
+
main()
|