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) | |