#!/usr/bin/python3 # -*- coding: utf-8 -*- """ https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/quickstart/python/from-microphone """ import argparse import azure.cognitiveservices.speech as speechsdk from project_settings import environment, project_path def get_args(): parser = argparse.ArgumentParser() parser.add_argument( "--speech_key", default=environment.get("speech_key"), type=str ) parser.add_argument( "--service_region", default=environment.get("service_region"), type=str ) parser.add_argument( "--filename", default=(project_path / "data/asr_examples/ja-JP/vm_2cb56b0c-e214-4a8d-ab01-a3a264d06c35_0.wav").as_posix(), type=str ) parser.add_argument( "--language", default="ja-JP", type=str ) args = parser.parse_args() return args def main(): args = get_args() speech_config = speechsdk.SpeechConfig( subscription=args.speech_key, region=args.service_region, speech_recognition_language=args.language ) audio_config = speechsdk.AudioConfig( filename=args.filename, ) speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config) result = speech_recognizer.recognize_once_async().get() if result.reason == speechsdk.ResultReason.RecognizedSpeech: print("Recognized: {}".format(result.text)) elif result.reason == speechsdk.ResultReason.NoMatch: print("No speech could be recognized: {}".format(result.no_match_details)) elif result.reason == speechsdk.ResultReason.Canceled: cancellation_details = result.cancellation_details print("Speech Recognition canceled: {}".format(cancellation_details.reason)) if cancellation_details.reason == speechsdk.CancellationReason.Error: print("Error details: {}".format(cancellation_details.error_details)) return if __name__ == '__main__': main()