Microsoft Speech API 개요

등록일시: 2018-01-30 08:00,  수정일시: 2018-01-30 08:00
조회수: 5,215
이 문서는 Cognitive Services 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.
본문에서는 클라우드 기반의 Speech API에 관한 기본적인 사항들을 살펴봅니다.

클라우드 기반의 Microsoft Speech API를 사용하면 음성 명령 제어나 자연스러운 음성 대화를 이용한 사용자 대화, 그리고 음성 전사 및 받아쓰기 같은 강력한 음성 관련 기능을 응용 프로그램에서 손쉽게 구현할 수 있습니다. Microsoft Speech API는 Speech to Text 변환과 Text to Speech 변환을 모두 지원합니다.

  • Speech to Text API는 사람의 말을 입력이나 응용 프로그램을 제어에 사용할 수 있는 텍스트로 변환합니다.
  • Text to Speech API는 텍스트를 응용 프로그램의 사용자에게 재생해서 들려줄 수 있는 오디오 스트림으로 변환합니다.

Speech to Text (음성 인식)

Microsoft 음성 인식 API는 응용 프로그램에서 사용자에게 출력하거나 명령의 입력으로 사용할 수 있는 텍스트로 오디오 스트림을 전사(Transcribe) 합니다. 개발자는 REST API 또는 웹 소켓 기반의 클라이언트 라이브러리의 두 가지 방식 중 한 가지를 사용해서 응용 프로그램에 음성 관련 기능을 추가할 수 있습니다.

  • REST API: 응용 프로그램에서 HTTP 호출을 통해서 음성 인식 서비스를 사용할 수 있습니다.
  • 클라이언트 라이브러리: 고급 기능을 사용하기 위한 Microsoft Speech 클라이언트 라이브러리를 다운로드 받아서 응용 프로그램에 적용할 수 있습니다. 클라이언트 라이브러리는 서로 다른 언어로 (C#, Java, JavaScript, Objective-C), 다양한 플랫폼에서 (Windows, Android, iOS) 사용할 수 있습니다. 클라이언트 라이브러리는 REST API와는 달리 Websocket 기반의 프로토콜을 사용합니다.
사용 사례 REST APIs 클라이언트 라이브러리
짧은 음성 오디오 변환, 예를 들어, 중간 결과가 없는 명령의 변환 (오디오 길이 < 15 초)
긴 오디오 변환 (오디오 길이 > 15 초) 아니오
중간 결과가 필요한 오디오 스트림 아니오
LUIS를 이용해서 오디오로부터 변환된 텍스트 이해하기 아니오

두 방식 중 어떤 방식을 선택하더라도 (REST API 또는 클라이언트 라이브러리 중) Microsoft 음성 서비스는 다음과 같은 기능을 제공합니다:

  • Cortana, Office 받아쓰기, Office 번역기 및 기타 Microsoft의 제품들에서 사용되는 Microsoft의 고급 음성 인식 기술을 지원합니다.

  • 실시간 연속 인식. 음성 인식 API를 이용하면 사용자가 실시간으로 오디오를 텍스트로 전사할 수 있으며, 특정 시점까지 인식된 단어에 대한 중간 결과를 수신할 수도 있습니다. 음성 서비스는 음성의 끝을 감지하는 기능도 지원합니다. 뿐만 아니라 사용자가 대문자 및 구두점, 비속어 마스킹, 텍스트 정규화 같은 추가적인 서식 지정 기능을 선택할 수도 있습니다.

  • 대화형(Interactive), 대화(Conversation), 그리고 받아쓰기(Dictation) 시나리오에 최적화된 음성 인식 결과 지원. 사용자 지정 언어 모델 및 음향 모델을 필요로 하는 사용자 시나리오를 위한 사용자 지정 음성 서비스를 이용해서 직접 응용 프로그램 및 사용자에 적합한 음성 모델을 생성할 수 있습니다.

  • 다양한 방언의 많은 음성 언어 지원. 각각의 인식 모드에서 지원되는 언어의 전체 목록은 Supported languages 문서를 참고하시기 바랍니다.

  • 언어 이해와의 통합. Speech to Text는 입력 오디오를 텍스트로 변환하는 기능뿐만 아니라, 해당 텍스트가 갖고 있는 의미를 이해할 수 있는 추가 기능을 응용 프로그램에 제공합니다. 이 기능은 LUIS(Language Understanding Intelligent Service)를 이용해서 인식된 텍스트로부터 인텐트 및 엔터티를 추출합니다.

다음 과정

Text to Speech (음성 합성)

Text to Speech API는 REST를 이용해서 구조화된 텍스트를 오디오 스트림으로 변환합니다. 이 API는 다양한 목소리와 언어로 신속하게 텍스트를 음성으로 변환하는 기능을 제공합니다. 또한 사용자가 SSML 태그를 이용해서 발음, 성량, 고저 등의 오디오 특성을 변경할 수 있는 기능도 지원합니다.

다음 과정