음성 합성과 SSML

음성 합성이란?

음성 합성은 말소리의 음파를 기계가 자동으로 만들어 내는 기술로,

간단히 말하면 모델로 선정된 한 사람의 말소리를 녹음하여 일정한 음성 단위로

분할한 다음, 부호를 붙여 합성기에 입력하였다가 지시에 따라 필요한 음성

단위만을 다시 합쳐 말소리를 인위로 만들어내는 기술이다.

TTS(=Text-to-Speech)라고도 한다.

출처 - 위키피디아 음성 합성

음성 합성 보다는 주로 TTS라고 불리는 기술로써 우리가 작성한 글을 토대로 사람의 목소리로 내보내주는 기술을 의미한다.

뭔가 이렇게 들으니까 다소 딱딱하고 어려워보인다.

그래서 이해를 쉽게 하기 위해 실제로 이 음성 합성이 어디서 쓰이고 있는지 소개하려고 한다.

이미 눈치채신 분들도 있겠지만 가장 유명한 TTS 사용 예시는 바로 트위치의 도네이션 플랫폼인 투네이션이다.

스크린샷 2020-05-06 오후 2 46 45

  • 출처 : 우왁굳 ‘그’ 사건

유튜브나 트위치를 안보는 사람을 위해 잠깐 설명을 하자면, 투네이션이란 아프리카의 별풍선처럼 방송중인 스트리머(트위치에선 BJ를 스트리머라고 부름)에게 후원을 할 수 있는 서드파티 플랫폼이다.

여기서 시청자는 후원을 할 때 짤막한 메시지를 적을 수 있는데, 방송에서 이 메시지를 TTS로 읽어준다.

투네이션에는 여러 목소리가 있는데 이는 성우가 음성을 녹음하고 녹음된 음성을 바탕으로 모델이 학습하여 해당 음성으로 텍스트를 읽어줄 수 있기 때문이다.

음성 합성 마크업 언어 (SSML)

사실 오늘의 메인 주제는 바로 이 SSML이다.

SSMLSpeech Synthesis Markup Language의 줄임말로써,

음성 합성 애플리케이션을 위해 텍스트 기반의 주석을 제공하기 위해 설계된 XML 기반 마크업 언어이다.

그럼 왜 SSML이 필요하게 된 것일까?

기본적으로 음성합성 기술을 사용할 때 단순히 Text만으로는 한계가 있기 때문이다.

가령 목소리의 크기나 음 높이, 속도등을 조절해야하는데 단순 텍스트 변환만으로는 이러한 것들을 구현해내기가 힘들다.

하지만 SSML을 사용하면 아래와 같이 발화 음성의 들숨(?)까지 제어가 가능하다.

<speak>
  Here are <say-as interpret-as="characters">SSML</say-as> samples.
  I can pause <break time="3s"/>.
</speak>

SSML은 월드 와이드 웹을 위한 표준을 개발하고 장려하는 기관인 W3C에서 제안되어 만들어졌다.

SSML을 사용하면 TTS를 사용할 때 조금 더 세밀한 커스터마이징이 가능하다.

Reference

https://cloud.google.com/text-to-speech/docs/ssml?hl=ko

https://ko.wikipedia.org/wiki/%EC%9D%8C%EC%84%B1_%ED%95%A9%EC%84%B1

https://developers.kakao.com/assets/guide/kakao_ssml_guide.pdf



© 2022. by minkuk

Powered by minkuk