문의하기

음성합성 엔진 TTS

음성합성(speech synthesis)은 인위적으로 사람의 소리를 합성하여 만들어내는 것으로, 텍스트를 음성으로 변환한다는 데서 텍스트 음성변환(text-to-speech, TTS) 이라고 하기도 합니다.

AI Suite의 음성합성 엔진은 사람의 목소리를 학습하여 주어진 문장에 대하여 학습한 목소리와 유사한 어조와 억양으로 사람의 음성을 인공적으로 만들어 주는 엔진입니다. 특히, 이미 학습되어 있는 모델에 의한 목소리뿐만 아니라 특정 개인 목소리 또는 특정 도메인의 음성파일을 실시간으로 학습하여 사용자 각각의 특성이 반영된 목소리로 음성합성 모델을 생성할 수 있습니다. 음성합성 엔진은 이렇게 학습된 모델을 End-Point를 통해 개별 서비스로 제공함으로써, 다양한 인공지능 서비스에 활용할 수 있습니다.

주요 특징

자연스럽고 빠른 음성합성
최근 많은 대부분의 음성합성 제품들이 기존 방식의 단점을 보완하고자 딥러닝을 통한 음성합성을 시도하고 있지만, 품질과 성능을 모두 만족하기 어렵습니다. 솔트룩스의 음성합성 엔진은 학습 과정에서의 성능 확보를 위한 Tacotron 모델과 전이학습 과정에서의 자연스러운 음성합성 품질을 보장하기 위한 Tacotron2 모델을 적용하는 Hybrid-Tacotron Deep Learning Model 방식을 사용합니다. 이러한 학습 방식은 실제 인물의 음성데이터를 학습하여 자연스러운 음질과 억양의 높은 음성합성 품질을 안정적으로 제공합니다. 또한, 음성합성 과정을 병렬화 하여 상용서비스를 실현할 수 있는 수준의 속도로 처리가 가능합니다.
고효율 개인화 음성합성
솔트룩스의 음성합성 엔진은 기존의 잘 훈련된 모델을 기반으로 새로운 화자의 음성데이터를 추가로 학습하는 전이학습 방법을 사용합니다. 전이학습 과정은 약 30분 분량의 적은 학습 데이터만으로도 해당 화자의 목소리를 합성해 낼 수 있습니다. 이는 많은 학습 비용이 소모되는 대규모 음성 전사 작업을 감소시켜 적은 비용으로도 효율적으로 대상의 목소리를 합성해 낼 수 있는 장점이 있습니다.
도메인 특화된 한글 표기 변환 및 음성합성
대부분의 한국어 음성합성 엔진은 영어단어, 숫자, 단위 등 한글 이 외의 발음에 대한 음성을 합성하는데 어려움이 있습니다. 아직까지 많은 서비스 분야에서는 한글과 이외의 문자를 겸용하고 있기 때문에 해당 분야에서의 원활한 음성합성 서비스를 제공하기 위해서는 다양한 비 한글 표기에 대한 발음을 생성해 낼 수 있어야 합니다. 솔트룩스의 음성합성 엔진은 비 한글 표기에 대한 원활한 변환 기능과 영어 단어에 대한 발음기호 변환 기능을 제공합니다.

주요 기능 및 사양

음성합성 엔진의 기능은 크게 학습 관리와 서비스 관리 영역으로 나눌 수 있습니다. 학습 관리 영역은 특정 음성데이터를 학습하여 새로운 음성합성 모델의 생성하거나 관리합니다. 서비스 관리 영역은 엔진을 통해 학습된 음성합성 모델을 서비스로 구성하여 타 서비스 애플리케이션에서 접근하고 사용할 수 있도록 배포 및 관리를 담당합니다.

< 음성 합성 엔진 시스템 구성 >

학습데이터 관리
음성합성 학습에 필요한 학습데이터를 등록하고 관리하는 기능을 제공합니다. 학습데이터는 음성 파일과 해당 음성의 내용을 텍스트로 기재한 전사 파일로 구성됩니다. 이러한 학습데이터의 음성 길이, 분량, 화자 등을 달리한 다양한 형태의 데이터 셋을 업로드하고 음성합성모델 학습 시 선택적으로 적용할 수 있습니다.
사전 관리
음성합성 과정에서 입력된 텍스트 문장에 대한 전처리로 언어사전을 활용하고 있습니다. 미리 변환되어야 할 단어들이나, 특정 도메인에 따라 발음이 달라질 수 있는 단어들을 사전으로 등록 관리할 수 있습니다. 각각의 음성 서비스 별로 다른 종류의 사전을 설정하여 적용할 수 있습니다.
학습 관리
학습 관리 기능을 통해 음성합성 모델을 학습할 수 있습니다. 학습 데이터를 선정하고 학습에 필요한 매개변수 등을 조절하여 원하는 형태의 음성합성 모델을 생성해 낼 수 있고, 기존에 학습된 모델에 추가로 전이학습을 할 수도 있습니다. 학습 중인 모델의 진행 상태를 확인하거나, 음성합성 기능 테스트를 통해 품질을 확인할 수 있고, 학습된 여러 버전의 모델을 목록으로 관리하며 필요한 서비스에 배포할 수 있습니다.
서비스 관리
음성합성의 경우에도 일반적으로 음성변환 기능이 필요한 다른 서비스 어플리케이션에서 음성합성 엔진이 제공하는 API를 호출하는 방식으로 사용됩니다. 서비스 관리 기능은 이처럼 음성합성 기능을 제공하는 RESTful 기반의 서비스 인터페이스를 생성하고 관리합니다. 서비스 관리 기능을 통해, 음성합성 모델에 대한 서비스 활성화 여부와 가용할 수 있는 시스템 자원(프로세스)을 설정할 수 있으며, 해당 모델을 타 서비스에서 호출할 수 있도록 End-point를 생성하여 제공합니다.

주요 성능

솔트룩스는 음성합성 개인화 서비스 실현을 위해 전이 학습 기술을 이용한 화자적응 방법을 사용하고 있습니다. 전이 학습이란 기존에 잘 훈련된 모델을 사용하여 유사한 문제를 가지는 새로운 모델을 학습하는 방법입니다. 전이학습은 새로운 모델의 학습 효율을 높여 적은 데이터양으로도 이미 학습된 모델의 가중치(Weight) 값들을 의미 있게 조정(Fine-tuning)하므로 높은 성능을 달성할 수 있습니다. 전이학습은 충분한 양의 데이터로 잘 학습된 A 모델에 기반하여 데이터가 부족한 B의 목소리를 효율적으로 학습하는 것이 가능합니다.

전이학습 시 사전 학습된 A 모델과 추가 학습할 B 모델의 분포가 큰 차이를 보이는 경우 음성합성 성능이 크게 떨어지게 됩니다. 솔트룩스는 이러한 데이터 부조화 따른 학습 성능 변이 문제를 해결하기 위해 여러 사람의 음성으로 이루어진 수십 시간의 데이터를 사용하여 음성합성 네트워크의 일부만을 미리 학습시켜 놓는 준지도학습(Semi-Supervised Learning) 방법을 추가로 적용하고 있습니다. 준지도학습은 전사 데이터 없이 음성 데이터만으로 학습을 수행하는 것으로, 인간이 글을 배우기 전에 말하는 법을 배우는 것과 같은 원리입니다. 솔트룩스는 전이학습과 함께 준지도학습 모델을 음성합성에 적용하므로 학습 시간을 현격하게 줄이면서 동시에 음성합성 성능을 극대화할 수 있습니다. 현재 솔트룩스의 음성합성 엔진은 30분 분량의 음성데이터로 특정인의 목소리를 학습, 높은 품질의 발화하는 것이 가능합니다.

주요 엔진 화면

< 사전 데이터 관리 기능 >

< 서비스 관리 기능 >

< 학습데이터 관리 기능 >

< 학습모델 관리 기능 >