{{위키데이터 속성 추적}}
[[파일:TTS System.svg|섬네일|TTS의 일반적 개요]]
'''음성 합성'''(音聲合成, {{lang|en|speech synthesis}})은 말소리의 음파를 기계가 자동으로 만들어 내는 기술로, 간단히 말하면 모델로 선정된 한 사람의 말소리를 녹음하여 일정한 음성 단위로 분할한 다음, 부호를 붙여 합성기(speech computer, speech synthesizer)에 입력하였다가 지시에 따라 필요한 음성 단위만을 다시 합쳐 말소리를 인위로 만들어내는 기술이다. '''TTS'''(text-to-speech)라고도 한다.

음성의 분절음을 합성하는 것은 어렵고 결과가 좋지 않기에, 분절음의 경계를 중심으로 앞 음성의 뒷부분과 뒤 음성의 앞부분을 함께 기록하여 이를 토대로 음성 합성을 하기도 한다. 이러한 이음 처리를 ''diphone'' 처리라고 한다.

음성 인식과 함께 번역 기계, 로봇 제조 기술 등 여러 곳에서 다양하게 쓰이고 있다.

== 음성 합성 기술의 개요 ==
인위적으로 사람의 소리를 합성하는 시스템이며, 텍스트를 음성으로 변환한다는 데서 텍스트 음성 변환 (text-to-speech, 줄여서 TTS) 시스템이라고 부르기도 한다. 또한 [[발음 기호]]를 음성으로 변환하는 시스템도 있다.

== 활용 사례 ==
음성 합성 기술은 문자를 읽기 어려운 장애인이나 문자를 읽을 수 없는 사람(아이, 외국인 등)에게 화면 읽기 소프트웨어([[스크린 리더]])로서 오랫동안 쓰이고 있어 말을 발표하는 것이 곤란한 사람이 대체 수단으로서 이용하는 경우도 많다.
사람이 말을 녹음하면 대사가 바뀔때마다 그 부분을 다시 녹음해야 하지만 음성 합성 기술만 있으면 데이터를 작성만 하면 다시 녹음할 필요가 없다. 이 기술을 활용하는 분야는 음성파일이 필요한 전화안내멘트, [[유튜브]] 음성파일, 교육용 영상 음성파일 등 [https://wemakevoice.com 위메이크보이스]와 같은 TTS기술을 활용한 음성파일 제공회사이다. 또한 장애인 웹접근성 분야인 스크린리더 기술이 있다. 스크린리더 기술은 Jaws와 같은 PC형 스크린리더와 [http://www.voicemon.com 보이스몬] {{웨이백|url=http://www.voicemon.com/ |date=20141223165539 }}, [http://www.webtalks.co.kr 웹톡스] 와 같은 웹스크린리더 방식의 두가지가 있으며, PC형 스크린리더는 전맹시각장애인이 주로 사용하며, 웹스크린리더는 저시력시각장애인과 난독증과 같은 학습장애, 인지장애인과 노인, 다문화가족 등의 웹접근성을 지원하기 위해 사용된다. 또한 최근에 애플의 보이스오버라는 기술은 아이폰과 같은 모바일기기형 스크린리더가 다수 사용되고 있다. 이와 같은 기술로는 [[AH-Software|AHS]]사의 VOICEROID가 있다.
또한 이를 이용하여 [[VOCALOID]]라는 음성 합성 기술을 이용한 음악 소프트웨어도 있는데, 인공적으로 인간의 목소리를 내어 노래를 불러주는 소프트웨어이다. 이와 흡사한 소프트웨어로 [[보카리나]]가 있다.

=== 텍스트 음성 변환 시스템 ===
텍스트 음성 변환 시스템은 프론트 엔드와 백엔드 두 부분으로 구성된다. 일반적으로 프론트 엔드는 사용자가 입력한 텍스트에서 기호화된 언어 표현 (symbolic linguistic representation)을 내보낸다. 백엔드는 합성된 음성의 파형을 내보낸다. 출력되는 음성이 얼마나 현실의 사람의 목소리를 닮아 있는가, 출력되는 음성을 얼마나 잘 알아들을 수 있는가로 평가한다.

=== 프론트 엔드 ===
프론트 엔드는 두 가지의 큰 일을 한다. 그 중 하나는 텍스트 안의 숫자나 생략 표현을 읽을 때 표현으로 변환하는 것이다. 텍스트의 정규화, 프리프로셋싱, 토큰화 등으로 불리기도 한다. 또 하나는 각 단어를 발음 기호로 변환하여 텍스트 숙어, 단어나 문장, 문장 등의 운율 단위로 분할하는 것이다. 낱말 발음 기호를 할당 작업을 텍스트 음소 (text-to-phoneme, 줄여서 TTP) 변환 또는 서기소음소 (grapheme-to-phoneme, 줄여서 GTP) 변환이라고 부른다. 발음 기호와 운율 정보를 조합하여 기호화된 언어 표현을 만들어서 프론트 엔드로 내보낸다.

=== 백엔드 ===
프론트 엔드가 내보낸 결과를 바탕으로 보다 자연스러운 음성으로 만들기 위해 운율 등의 음성을 조정하여 실제 음성 데이터를 출력한다. 이 과정에서 음성의 특성이 정해지기 때문에 음성 합성 소프트웨어만의 색채가 나오는 경우가 많다.

=== 운영 체제에서의 음성 합성 ===
* 애플 운영체제 - 1984년에는 [[애플]] 컴퓨터에 매킨토크(MacInTalk) 기능을 탑재했다. 이후에도 새로운 OS 버전이 나오면서 음질이 개선되고있다. 또한 [[음성 인식]]도 도입하고 있으며, 시각 장애인을 위한 지원 프로그램이었던 플레인토크(PlainTalk)의 기능을 통합했다. [[Mac OS X]] v10.4 이상에는 보이스오버(VoiceOver)라는 음성 합성 기능이 제공되고있다.
* 마이크로소프트 윈도우 - [[마이크로소프트 윈도우|윈도우]]에서는 SAPI라고 하는 오디오 관련 API를 제공하고있다. [[윈도우 XP]]에서는 내레이터(Narrator)라는 음성 합성 프로그램이 추가되었다(영어). 콜 센터 등의 사용자에게 음성 인식과 음성 합성 패키지로 마이크로소프트 스피치 서버(Microsoft Speech Server)를 제공하고 있다.

=== 수식의 음성 변환 ===
수학 공식과 각종 과학 기술 분야에서 사용하는 심볼은 일반적인 텍스트로는 표현에 제약이 있거나 해당 분야 전문가가 아니면 정확하게 읽을 수 없는 경우가 많은데, 음성 합성 기술이 발전됨에 따라 수식을 읽어주는 기능과 접목하여 장애인 뿐만 아니라 일반인들의 교육용에도 점점 많이 응용이 시도되고 있다.

=== 인터넷에서의 음성 합성 ===
* 음성 합성 [[마크업 언어]] - 텍스트 음성 변환을 위한 XML 기반의 마크업 언어가 몇 가지있다. 최근 SSML가 W3C에서 제안되어 초안 상태이다. 이외에도 SABLE, JSML 등이 있다. Cascading Style Sheets 2의 이전 버전인 Aural Cascading Style Sheets을 포함한다. 음성 합성 마크업 언어인 VoiceXML은 같은 대화 마크업 언어와는 다르다. 대화 마크업 언어는 텍스트 음성 변환뿐만 아니라, 음성 인식 등도 지원하고 있다.
최근 해외에선 구글 TTS, 대한민국에선 [http://www.voicemon.com &#91;보이스몬&#93;] {{웨이백|url=http://www.voicemon.com/ |date=20141223165539 }}, [http://www.webtalks.co.kr 웹톡스] 와 같이 별도의 플러그인 소프트웨어 없이 특정 자바스크립트 삽입 만으로 인터넷을 통해 원격에서 음성지원이 되는 웹스크린리더 기술이 보편적인 저시력시각장애인과 난독증과 같은 학습장애, 인지장애인과 노인, 다문화가족 등의 웹접근성을 지원하기 위해 사용되고 있다.

== 참고 자료 ==
{{위키공용분류}}
* [[구희산]](2003). 영어[[음성학]]. 한국문화사

== 같이 보기 ==
* [[음성 인식]] : Speech-to-Text, STT

== 외부 링크 ==
* [https://www.oratlas.com/online-text-to-speech-reader-in-korean 자동으로 큰 소리로 읽는 온라인 텍스트 리더]
* [http://krdic.naver.com/search.nhn?query_euckr=%C0%BD%BC%BA%C7%D5%BC%BA 네이버 국어사전]
* [https://intelligent-speaker.com/ Intelligent Speaker] - Text-to-Speech 브라우저 확장
* [http://prosody-tts.com/ Prosody] - Text-to-Speech 프로그램
{{전거 통제}}

[[분류:음성 합성| ]]
[[분류:음성학]]
[[분류:인공지능의 응용]]