Azure AI 음성 텍스트 변환 API 사용

완료됨

Azure AI 음성 서비스는 두 가지 REST API를 통해 음성 인식을 지원합니다.

  • 음성 텍스트 변환 API: 음성 인식을 수행하는 기본적인 방법입니다.
  • 음성 텍스트 변환 짧은 오디오 API: 짧은 오디오 스트림(최대 60초)에 최적화된 API입니다.

음성 입력의 예상 길이에 따라 대화형 음성 인식에 두 API 중 하나를 사용할 수 있습니다. 대화 내용 일괄 기록을 위해 음성 텍스트 변환 API를 사용하여 일괄 처리 작업으로 여러 오디오 파일을 텍스트로 기록할 수도 있습니다.

음성 텍스트 변환 REST API 설명서에서 REST API에 대해 자세히 알아볼 수 있습니다. 실무에서는 대부분의 대화형 음성 지원 애플리케이션이 (프로그래밍) 언어별 SDK를 통해 음성 서비스를 사용합니다.

Azure AI 음성 SDK 사용

구체적인 방법은 사용하는 SDK(Python, C# 등)에 따라 달라지지만, 음성 텍스트 변환 API를 사용하는 방법에는 다음과 같은 일관된 패턴이 있습니다.

A diagram showing how a SpeechRecognizer object is created from a SpeechConfig and AudioConfig, and its RecognizeOnceAsync method is used to call the Speech API.

  1. SpeechConfig 개체를 사용하여 Azure AI 음성 리소스에 연결하는 데 필요한 정보를 캡슐화합니다. 이러한 정보는 구체적으로 해당하는 위치입니다.
  2. 선택적으로 AudioConfig를 사용하여 전사할 오디오의 입력 원본을 정의할 수 있습니다. 기본적으로 이는 기본 시스템 마이크이지만 오디오 파일을 지정할 수도 있습니다.
  3. SpeechConfigAudioConfig를 사용하여 SpeechRecognizer 개체를 만듭니다. 이 개체는 음성 텍스트 변환 API의 프록시 클라이언트입니다.
  4. SpeechRecognizer 개체의 메서드를 사용하여 기본 API 함수를 호출합니다. 예를 들어, RecognizeOnceAsync() 메서드는 Azure AI 음성 서비스를 사용하여 단일 음성 발언을 비동기적으로 텍스트로 변환합니다.
  5. Azure AI 음성 서비스의 응답을 처리합니다. RecognizeOnceAsync() 메서드 사용 시의 경우 결과는 다음 속성이 포함된 SpeechRecognitionResult 개체입니다.
    • Duration
    • OffsetInTicks
    • 속성
    • 이유
    • ResultId
    • 텍스트

작업이 성공적으로 수행되면 Reason 속성이 열거형 값 RecognizedSpeech를 포함하고 Text 속성이 대화 내용 기록을 포함합니다. 그 밖에 Result에 포함될 수 있는 값으로 NoMatch(오디오의 구문 분석이 성공적으로 수행되었으나 인식된 음성이 없음을 나타냄) 또는 Canceled(오류가 발생했음을 나타냄)가 있습니다. 후자의 경우 CancellationReason 속성의 Properties 컬렉션을 검토하여 오류가 무엇인지 알아볼 수 있습니다.