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를 사용하는 방법에는 다음과 같은 일관된 패턴이 있습니다.
- SpeechConfig 개체를 사용하여 Azure AI 음성 리소스에 연결하는 데 필요한 정보를 캡슐화합니다. 이러한 정보는 구체적으로 해당하는 위치 및 키입니다.
- 선택적으로 AudioConfig를 사용하여 전사할 오디오의 입력 원본을 정의할 수 있습니다. 기본적으로 이는 기본 시스템 마이크이지만 오디오 파일을 지정할 수도 있습니다.
- SpeechConfig 및 AudioConfig를 사용하여 SpeechRecognizer 개체를 만듭니다. 이 개체는 음성 텍스트 변환 API의 프록시 클라이언트입니다.
- SpeechRecognizer 개체의 메서드를 사용하여 기본 API 함수를 호출합니다. 예를 들어, RecognizeOnceAsync() 메서드는 Azure AI 음성 서비스를 사용하여 단일 음성 발언을 비동기적으로 텍스트로 변환합니다.
- Azure AI 음성 서비스의 응답을 처리합니다.
RecognizeOnceAsync() 메서드 사용 시의 경우 결과는 다음 속성이 포함된 SpeechRecognitionResult 개체입니다.
- Duration
- OffsetInTicks
- 속성
- 이유
- ResultId
- 텍스트
작업이 성공적으로 수행되면 Reason 속성이 열거형 값 RecognizedSpeech를 포함하고 Text 속성이 대화 내용 기록을 포함합니다. 그 밖에 Result에 포함될 수 있는 값으로 NoMatch(오디오의 구문 분석이 성공적으로 수행되었으나 인식된 음성이 없음을 나타냄) 또는 Canceled(오류가 발생했음을 나타냄)가 있습니다. 후자의 경우 CancellationReason 속성의 Properties 컬렉션을 검토하여 오류가 무엇인지 알아볼 수 있습니다.