Spaces:
Sleeping
Sleeping
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) | |