aikitty's picture
Update app.py
fe85304 verified
raw
history blame
1.27 kB
import streamlit as st
import azure.cognitiveservices.speech as speechsdk
# Azure Speech Service credentials
speech_key = "12afe22c558a4f8d8bd28d6a67cdb9b0"
service_region = "westus"
def transcribe_audio(file_path):
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)
audio_input = speechsdk.AudioConfig(filename=file_path)
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_input)
result = speech_recognizer.recognize_once()
if result.reason == speechsdk.ResultReason.RecognizedSpeech:
return result.text
elif result.reason == speechsdk.ResultReason.NoMatch:
return "No speech could be recognized"
else:
return "Speech recognition canceled: {}".format(result.cancellation_details.reason)
st.title("Chinese Pronunciation Checker")
uploaded_file = st.file_uploader("Choose an audio file", type=["wav", "mp3"])
if uploaded_file is not None:
st.audio(uploaded_file, format="audio/wav")
file_path = f"temp_audio.{uploaded_file.type.split('/')[-1]}"
with open(file_path, "wb") as f:
f.write(uploaded_file.getbuffer())
transcript = transcribe_audio(file_path)
st.write("Transcribed Text: ", transcript)