KR102479899B1 - Server, device and method for providing speech systhesis service - Google Patents
Server, device and method for providing speech systhesis service Download PDFInfo
- Publication number
- KR102479899B1 KR102479899B1 KR1020190092721A KR20190092721A KR102479899B1 KR 102479899 B1 KR102479899 B1 KR 102479899B1 KR 1020190092721 A KR1020190092721 A KR 1020190092721A KR 20190092721 A KR20190092721 A KR 20190092721A KR 102479899 B1 KR102479899 B1 KR 102479899B1
- Authority
- KR
- South Korea
- Prior art keywords
- voice
- user
- sample
- data
- user terminal
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 16
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 124
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 124
- 238000013515 script Methods 0.000 claims abstract description 79
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000001308 synthesis method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/90—Pitch determination of speech signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
음성 합성 서비스를 제공하는 서버는 기등록된 복수의 샘플 스크립트 중 적어도 하나에 대한 복수의 사용자의 음성 녹음 데이터를 수신하는 수신부, 수신된 음성 녹음 데이터에 기초하여 각 사용자의 음색과 관련된 피치값에 대한 합성음 예측 모델을 학습시키는 학습부, 사용자 단말로부터 샘플 요청 명령을 수신하는 경우, 학습된 합성음 예측 모델에 기초하여 복수의 샘플 스크립트 중 적어도 하나에 대한 샘플 합성 데이터를 생성하는 생성부, 샘플 합성 데이터를 사용자 단말로 제공하는 제공부 및 사용자 단말로부터 수신한 샘플 합성 데이터에 대한 품질 만족도 여부에 기초하여 사용자 단말의 사용자에 대한 목소리 정보를 등록하는 목소리 등록부를 포함할 수 있다. A server providing a voice synthesis service includes a receiving unit for receiving voice recording data of a plurality of users for at least one of a plurality of pre-registered sample scripts, and a pitch value related to each user's voice based on the received voice recording data. A learning unit for learning a synthesized sound prediction model, a generation unit for generating sample synthesized data for at least one of a plurality of sample scripts based on the learned synthesized voice prediction model when a sample request command is received from a user terminal, and a sample synthesized data It may include a provision unit providing the user terminal and a voice registration unit registering voice information about the user of the user terminal based on whether or not the quality of the synthesized sample data received from the user terminal is satisfactory.
Description
본 발명은 음성 합성 서비스를 제공하는 서버, 단말 및 방법에 관한 것이다.The present invention relates to a server, a terminal, and a method for providing a voice synthesis service.
음성합성(text-to-speech: TTS) 시스템은 음성 합성 방식을 이용하여 입력된 텍스트를 음성으로 변환하여 자연스럽고 높은 음질의 음성을 합성한다. 이러한, 음성합성 방식에는 코퍼스 방식, HMM (Hidden Markov Mode) 방식 및 딥러닝 방식이 있다. A text-to-speech (TTS) system uses a voice synthesis method to convert input text into voice and synthesize natural and high-quality voice. These speech synthesis methods include a corpus method, a hidden markov mode (HMM) method, and a deep learning method.
대용량 코퍼스 기반 음성합성 시스템은 음편을 저장하는 대용량 데이터베이스를 필요로 하기 때문에 비용이 많이 들고, 인공지능 서비스가 요구되는 다양한 영역에서 성우 녹음을 이용한 음성 합성을 확대하는 것이 불가능하고, 데이터베이스에 저장되어 있지 않은 음편에 대하여 음성 합성하는 것인 자연스럽지 못하다는 단점이 있다. A large-capacity corpus-based speech synthesis system requires a large-capacity database for storing music pieces, so it is expensive, and it is impossible to expand speech synthesis using voice actor recording in various areas where artificial intelligence services are required, and it is not stored in the database. There is a disadvantage in that it is not natural to synthesize voice for unseen music.
HMM (Hidden Markov Mode) 기반 음성합성 시스템은 데이터베이스의 음편 저장 유무와 상관없이 고른 음성합성 품질을 제공할 수 있고, 지명처럼 고유 명사가 많은 네비게이션 음성합성에 적합한 반면, 대용량의 단말 기반 임베디드에는 부적합하고, 기계음처럼 부자연스러운 음성 합성을 한다는 단점이 있다. HMM (Hidden Markov Mode)-based voice synthesis system can provide uniform voice synthesis quality regardless of whether or not the database stores music pieces, and is suitable for navigation voice synthesis with many proper nouns such as place names, but is not suitable for large-capacity terminal-based embedded However, it has the disadvantage of unnatural voice synthesis like a mechanical sound.
딥러닝 기반 음성합성 시스템은 짧은 시간 내 녹음된 음성 녹음 데이터로도 자연스러운 음성합성이 가능하여, 다양한 서비스에 활용되고 있다. The deep learning-based voice synthesis system is used in various services because it can perform natural voice synthesis even with voice recording data recorded in a short time.
최근에는 기존 전문성우 중심의 음성 합성 서비스에서 일반 고객의 목소리를 이용한 음성 합성 서비스로 확대되고 있다. Recently, voice synthesis services using the voices of general customers have been expanded from existing professional voice synthesis services.
일반 고객을 대상으로 하는 음성합성 서비스의 경우, 일반 고객은 전문 성우와 달리, 발성과 읽는 속도를 유지하기 어렵다. 또한, 일반 고객이 원하는 음성합성 품질을 얻기 위해서는, 일반 고객이 만족할 때까지 반복적인 음성 녹음을 해야 하는 불편함이 있다. In the case of voice synthesis services targeting general customers, unlike professional voice actors, it is difficult for general customers to maintain vocalization and reading speed. In addition, in order to obtain the voice synthesis quality desired by the general customer, it is inconvenient to repeat voice recording until the general customer is satisfied.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 기등록된 샘플 스크립트에 대한 사용자의 음성 녹음 데이터를 이용하여 사용자의 음색과 관련한 합성음 예측 모델을 학습시키고, 학습된 합성음 예측 모델에 기초하여 샘플 합성 데이터를 생성하여 이를 사용자 단말로 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. The present invention is to solve the above-mentioned problems of the prior art, by using the user's voice recording data for the pre-registered sample script to learn a synthesized sound prediction model related to the user's voice, and based on the learned synthesized sound prediction model It is intended to generate sample synthesized data and provide it to a user terminal. However, the technical problem to be achieved by the present embodiment is not limited to the technical problems described above, and other technical problems may exist.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 음성 합성 서비스를 제공하는 서버는 기등록된 복수의 샘플 스크립트 중 적어도 하나에 대한 복수의 사용자의 음성 녹음 데이터를 수신하는 수신부; 상기 수신된 음성 녹음 데이터에 기초하여 각 사용자의 음색과 관련된 피치값에 대한 합성음 예측 모델을 학습시키는 학습부; 사용자 단말로부터 샘플 요청 명령을 수신하는 경우, 상기 학습된 합성음 예측 모델에 기초하여 상기 복수의 샘플 스크립트 중 적어도 하나에 대한 샘플 합성 데이터를 생성하는 생성부; 상기 샘플 합성 데이터를 상기 사용자 단말로 제공하는 제공부; 및 상기 사용자 단말로부터 수신한 상기 샘플 합성 데이터에 대한 품질 만족도 여부에 기초하여 상기 사용자 단말의 사용자에 대한 목소리 정보를 등록하는 목소리 등록부를 포함할 수 있다. As a technical means for achieving the above technical problem, a server providing a voice synthesis service according to a first aspect of the present invention receives voice recording data of a plurality of users for at least one of a plurality of pre-registered sample scripts. receiver; a learning unit for learning a synthesized sound prediction model for a pitch value related to each user's timbre based on the received voice recording data; a generator configured to generate sample synthesized data for at least one of the plurality of sample scripts based on the learned synthesized sound prediction model when a sample request command is received from a user terminal; a provision unit providing the sample synthesized data to the user terminal; and a voice registration unit registering voice information about a user of the user terminal based on whether or not the quality of the synthesized sample data received from the user terminal is satisfactory.
본 발명의 제 2 측면에 따른 음성 합성 서비스를 제공받는 사용자 단말은 음성 합성 서비스 제공 서버로 음성 합성을 위한 샘플 요청 명령을 전송하는 전송부; 학습된 합성음 예측 모델에 기초하여 생성된 적어도 하나에 대한 샘플 합성 데이터를 상기 음성 합성 서비스 제공 서버로부터 수신하는 수신부; 및 상기 샘플 합성 데이터에 대한 품질 만족도 정보를 입력받은 입력부; 상기 전송부는 상기 입력된 품질 만족도 정보를 상기 음성 합성 서비스 제공 서버로 전송하고, 상기 합성음 예측 모델은 기등록된 복수의 샘플 스크립트 중 적어도 하나에 대한 복수의 사용자의 음성 녹음 데이터에 기초하여 각 사용자의 음색과 관련된 피치값에 대하여 학습된 모델이고, 상기 샘플 합성 데이터에 대한 품질 만족도 여부에 기초하여 상기 사용자 단말의 사용자에 대한 목소리 정보가 상기 음성 합성 서비스 제공 서버에 등록될 수 있다. A user terminal receiving a voice synthesis service according to a second aspect of the present invention includes a transmitter for transmitting a sample request command for voice synthesis to a voice synthesis service providing server; a receiver configured to receive, from the speech synthesis service providing server, at least one sample synthesized data generated based on the learned synthesized speech prediction model; and an input unit receiving quality satisfaction information for the sample synthesis data. The transmission unit transmits the input quality satisfaction information to the voice synthesis service providing server, and the synthesized sound prediction model is configured to generate each user based on voice recording data of a plurality of users for at least one of a plurality of pre-registered sample scripts. It is a model learned with respect to pitch values related to timbres, and voice information about the user of the user terminal may be registered in the voice synthesis service providing server based on whether or not the quality of the sample synthesized data is satisfactory.
본 발명의 제 3 측면에 따른 음성 합성 서비스 제공 서버에 의해 음성 합성 서비스를 제공하는 방법은 기등록된 복수의 샘플 스크립트 중 적어도 하나에 대한 복수의 사용자의 음성 녹음 데이터를 수신하는 단계; 상기 수신된 음성 녹음 데이터에 기초하여 각 사용자의 음색과 관련된 피치값에 대한 합성음 예측 모델을 학습시키는 단계; 사용자 단말로부터 샘플 요청 명령을 수신하는 경우, 상기 학습된 합성음 예측 모델에 기초하여 상기 복수의 샘플 스크립트 중 적어도 하나에 대한 샘플 합성 데이터를 생성하는 단계; 상기 샘플 합성 데이터를 상기 사용자 단말로 제공하는 단계; 및 상기 사용자 단말로부터 수신한 상기 샘플 합성 데이터에 대한 품질 만족도 여부에 기초하여 상기 사용자 단말의 사용자에 대한 목소리 정보를 등록하는 단계를 포함할 수 있다. A method for providing a voice synthesis service by a voice synthesis service providing server according to a third aspect of the present invention includes receiving voice recording data of a plurality of users for at least one of a plurality of pre-registered sample scripts; learning a synthesized sound prediction model for a pitch value related to each user's voice based on the received voice recording data; generating sample synthesis data for at least one of the plurality of sample scripts based on the learned synthesized sound prediction model when a sample request command is received from a user terminal; providing the sample synthesized data to the user terminal; and registering voice information about a user of the user terminal based on whether or not the quality of the synthesized sample data received from the user terminal is satisfactory.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described means for solving the problems is only illustrative and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 기등록된 샘플 스크립트에 대한 사용자의 음성 녹음 데이터를 이용하여 사용자의 음색과 관련한 합성음 예측 모델을 학습시키고, 학습된 합성음 예측 모델에 기초하여 샘플 합성 데이터를 생성하여 이를 사용자 단말로 제공할 수 있다. 이를 통해, 본 발명은 사용자의 목소리 등록시 예상되는 샘플 합성 데이터에 대한 품질을 사용자가 확인할 수 있기 때문에 기존과 같이 사용자가 반복해서 스크립트를 녹음해야 하는 수고로움을 덜어줄 수 있다. According to any one of the above-described problem solving means of the present invention, the present invention uses the user's voice recording data for the pre-registered sample script to learn a synthesized sound prediction model related to the user's voice, and the learned synthesized sound prediction model Based on this, sample synthesized data may be generated and provided to the user terminal. Through this, in the present invention, since the user can check the quality of sample synthesized data expected when registering the user's voice, it is possible to relieve the user from having to repeatedly record the script as before.
도 1은 본 발명의 일 실시예에 따른, 음성 합성 서비스 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 음성 합성 서비스 제공 서버의 블록도이다.
도 3a 내지 3d는 본 발명의 일 실시예에 따른, 사용자에 대한 목소리 정보를 등록하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 도 1에 도시된 사용자 단말의 블록도이다.
도 5는 본 발명의 일 실시예에 따른, 음성 합성 서비스를 제공하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른, 음성 합성 서비스 제공 방법을 나타낸 흐름도이다. 1 is a block diagram of a voice synthesis service providing system according to an embodiment of the present invention.
2 is a block diagram of a voice synthesis service providing server shown in FIG. 1 according to an embodiment of the present invention.
3A to 3D are diagrams for explaining a method of registering voice information of a user according to an embodiment of the present invention.
4 is a block diagram of a user terminal shown in FIG. 1 according to an embodiment of the present invention.
5 is a diagram for explaining a method of providing a voice synthesis service according to an embodiment of the present invention.
6 is a flowchart illustrating a method for providing a voice synthesis service according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail so that those skilled in the art can easily practice the present invention with reference to the accompanying drawings. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case where it is "directly connected" but also the case where it is "electrically connected" with another element interposed therebetween. . In addition, when a certain component is said to "include", this means that it may further include other components without excluding other components unless otherwise stated.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. In this specification, a "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, and two or more units may be realized by one hardware.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다. In this specification, some of the operations or functions described as being performed by a terminal or device may be performed instead by a server connected to the terminal or device. Likewise, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the corresponding server.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다. Hereinafter, specific details for the implementation of the present invention will be described with reference to the accompanying configuration diagram or process flow chart.
도 1은 본 발명의 일 실시예에 따른, 음성 합성 서비스 제공 시스템의 구성도이다. 1 is a block diagram of a voice synthesis service providing system according to an embodiment of the present invention.
도 1을 참조하면, 음성 합성 서비스 제공 시스템은 음성 합성 서비스 제공 서버(100) 및 사용자 단말(110)을 포함할 수 있다. 다만, 이러한 도 1의 음성 합성 서비스 제공 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다. Referring to FIG. 1 , a voice synthesis service providing system may include a voice synthesis
일반적으로, 도 1의 음성 합성 서비스 제공 시스템의 각 구성요소들은 네트워크(미도시)를 통해 연결된다. 네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다. In general, each component of the voice synthesis service providing system of FIG. 1 is connected through a network (not shown). A network refers to a connection structure capable of exchanging information between nodes such as terminals and servers, such as a local area network (LAN), a wide area network (WAN), and the Internet (WWW: World Wide Web), wired and wireless data communication network, telephone network, and wired and wireless television communication network. Examples of wireless data communication networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi, Bluetooth communication, infrared communication, ultrasound communication, visible light communication (VLC: Visible Light Communication), LiFi, and the like, but are not limited thereto.
사용자 단말(110)은 기등록된 복수의 샘플 스크립트 중 적어도 하나의 샘플 스크립트에 대한 사용자의 음성 녹음 데이터를 녹음한 후, 음성 녹음 데이터를 음성 합성 서비스 제공 서버(100)에게 전송할 수 있다. The
음성 합성 서비스 제공 서버(100)는 사용자 단말(110)로부터 수신된 음성 녹음 데이터에 기초하여 사용자의 음색과 관련된 피치값에 대한 합성음 예측 모델을 학습시킬 수 있다. The voice synthesis
사용자 단말(110)은 사용자의 음성 녹음 데이터가 음성 합성 서비스 제공 서버(100)에 등록된 시간으로부터 기설정된 기간이 지난 후에 사용자의 음성 합성에 대한 샘플 요청 명령을 음성 합성 서비스 제공 서버(100)에게 전송할 수 있다. The
음성 합성 서비스 제공 서버(100)는 사용자 단말(110)로부터 샘플 요청 명령을 수신하는 경우, 학습된 사용자 단말(110)의 합성음 예측 모델에 기초하여 복수의 샘플 스크립트 중 적어도 하나에 대한 샘플 합성 데이터를 생성하고, 생성된 샘플 합성 데이터를 사용자 단말(110)에게 제공할 수 있다. When receiving a sample request command from the
사용자 단말(110)은 음성 합성 서비스 제공 서버(100)로부터 수신된 샘플 합성 데이터에 대한 품질 만족도를 체크한 후, 샘플 합성 데이터에 대한 품질 만족도 정보를 음성 합성 서비스 제공 서버(100)에게 전송할 수 있다. The
음성 합성 서비스 제공 서버(100)는 사용자 단말(110)로부터 수신한 샘플 합성 데이터에 대한 품질 만족도 여부에 기초하여 사용자 단말(110)의 사용자에 대한 목소리 정보를 등록할 수 있다. The voice synthesis
이후, 음성 합성 서비스 제공 서버(100)는 사용자 단말(110)로부터 컨텐츠 요청 명령을 수신하는 경우, 기등록된 복수의 컨텐츠 스크립트 중 컨텐츠 요청 명령에 대응하는 컨텐츠 스크립트에 대한 컨텐츠 합성 데이터를 등록된 사용자의 목소리 정보에 기초하여 생성하고, 생성된 컨텐츠 합성 데이터를 사용자 단말(110)에게 제공할 수 있다. Thereafter, when receiving a content request command from the
이하에서는 도 1의 음성 합성 서비스 제공 시스템의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다. Hereinafter, the operation of each component of the voice synthesis service providing system of FIG. 1 will be described in detail.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 음성 합성 서비스 제공 서버(100)의 블록도이다. FIG. 2 is a block diagram of a voice synthesis
도 2를 참조하면, 음성 합성 서비스 제공 서버(100)는 수신부(200), 학습부(210), 생성부(220), 제공부(230), 목소리 등록부(240), 속도 조절부(250), 검증부(260), 휴지기 조정부(270) 및 음성 입력부(280)를 포함할 수 있다. 다만, 도 2에 도시된 음성 합성 서비스 제공 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. Referring to FIG. 2, the voice synthesis
수신부(200)는 기등록된 복수의 샘플 스크립트 중 적어도 하나에 대한 복수의 사용자의 음성 녹음 데이터를 복수의 사용자의 단말로부터 수신할 수 있다. The
수신부(200)는 사용자 목소리가 담긴 동화 컨텐츠의 서비스를 이용하려는 복수의 사용자 각각의 사용자 단말로부터 기등록된 복수의 샘플 스크립트 중 적어도 하나의 샘플 스크립트에 대하여 사용자의 목소리가 녹음된 음성 녹음 데이터를 수신할 수 있다. 또한, 수신부(200)는 복수의 사용자 단말로부터 각 음성 녹음 데이터 및 각 사용자 단말에 대한 식별 정보를 함께 수신할 수 있다. 예를 들어, 도 3a를 참조하면, 사용자 단말(110)에게 기등록된 복수의 샘플 스크립트 중 랜덤으로 추출된 샘플 스크립트(301, 예컨대, '오늘도 어린이는 학교에 일찍 갑니다.')를 사용자 단말(110)에게 제공한 경우, 수신부(200)는 사용자 단말(110)로부터 샘플 스크립트(301)를 리딩한 사용자의 음성 녹음 데이터 및 사용자 단말(110)의 식별 정보를 수신할 수 있다. The
검증부(260)는 복수의 사용자 단말로부터 수신한 음성 녹음 데이터에 대한 발음 정확성을 검증할 수 있다. The
검증부(260)는 복수의 사용자 단말로부터 수신한 음성 녹음 데이터에 대한 음성 인식을 수행하고, 수신한 음성 녹음 데이터에 대한 음성 인식 수행 결과 및 수신한 음성 녹음 데이터에 대응하는 샘플 스크립트 간의 유사도가 기설정된 임계값 이하로 나타난 경우, 수신한 음성 녹음 데이터에 대한 발음 정확성이 부정확하다고 판단할 수 있다. 예를 들어, 도 3a를 참조하면, 검증부(260)는 사용자 단말(110)로부터 수신된 음성 녹음 데이터에 대한 음성 인식 수행 결과와 샘플 스크립트(301) 간의 유사도가 80% 이상 일치하는 경우, 사용자 단말(110)로부터 수신된 음성 녹음 데이터의 발음이 정확하다고 판단하고, 유사도가 80% 미만인 경우, 사용자 단말(110)로부터 수신된 음성 녹음 데이터의 발음이 부정확하다고 판단할 수 있다. The
음성 입력부(280)는 복수의 사용자 단말 별 음성 녹음 데이터 대한 발음 정확성이 부정확하다고 판단되는 사용자 단말에게 샘플 스크립트에 대한 새로운 음성 녹음 데이터를 재입력받도록 안내하고, 해당 사용자 단말로부터 샘플 스크립트에 대한 새로운 음성 녹음 데이터를 재입력받을 수 있다. 예를 들어, 도 3a를 참조하면, 음성 입력부(280)는 사용자 단말(110)로부터 수신된 음성 녹음 데이터에 대한 음성 인식 수행 결과와 샘플 스크립트(301) 간의 유사도가 80% 이상 일치하지 않는 경우, 사용자 단말(110)로부터 샘플 스크립트(301)에 대한 새로운 음성 녹음 데이터를 재입력받을 수 있다. 만일, 기설정된 횟수(예컨대, 3회) 이상으로 사용자 단말(110)로부터 재입력받은 음성 녹음 데이터와 해당 음성 녹음 데이터에 대응하는 샘플 스크립트 간의 유사도가 80% 미만으로 나타난 경우, 음성 입력부(280)는 샘플 스크립트(301)와 다른 새로운 샘플 스크립트를 사용자 단말(110)에게 제공하고, 새로운 샘플 스크립트에 대한 사용자의 음성 녹음 데이터를 재입력받을 수 있다. The
속도 조절부(250)는 복수의 샘플 스크립트 중 적어도 하나의 샘플 스크립트에 대한 각 사용자의 리딩 속도가 기설정된 리딩 속도에 맞게 조절되도록 속도 조절 인터페이스를 사용자 단말(110)에게 제공할 수 있다. 예를 들어, 도 3a 내지 3b를 함께 참조하면, 속도 조절부(250)는 기설정된 리딩 속도에 맞게 사용자가 샘플 스크립트(301)를 리딩할 수 있도록 속도 조절 인터페이스(303)(예컨대, 커서)를 사용자 단말(110)에게 제공할 수 있다. 이후, 속도 조절부(250)는 샘플 스크립트(301)에 대한 사용자의 리딩 속도를 고려하여 샘플 스크립트(301)의 다음 문장에 해당하는 샘플 스크립트에 대하여 리딩 속도를 가이드해주는 속도 조절 인터페이스(303)의 이동 속도를 조절할 수 있다. The
음성 입력부(280)는 각 사용자 별로 복수의 샘플 스크립트 중 적어도 하나의 샘플 스크립트에 대한 리딩 속도 및 기설정된 임계치(예컨대, 20%)간의 비교에 따라 사용자로 하여금 샘플 스크립트를 다시 읽도록 요청할 수 있다. 예를 들면, 음성 입력부(280)는 사용자의 샘플 스크립트에 대한 리딩 속도가 기설정된 임계치를 초과하는 사용자의 사용자 단말에게 샘플 스크립트를 기설정된 리딩 속도에 맞게 다시 리딩하도록 요청할 수 있다. The
속도 조절부(250)는 복수의 사용자 단말로부터 수신한 음성 녹음 데이터에 대한 발성 속도를 각 사용자 별로 측정할 수 있다. The
한편, 음성 합성 품질을 향상시키기 위해서는 음성 녹음 데이터 내 음성 구간 간의 휴지기를 최소화하는 것이 중요하다. Meanwhile, in order to improve the quality of voice synthesis, it is important to minimize pauses between voice sections in voice recorded data.
휴지기 조정부(270)는 복수의 사용자 단말로부터 수신한 음성 녹음 데이터 각각으로부터 적어도 하나의 음성 구간을 검출할 수 있다. 예를 들어, 휴지기 조정부(270)는 VAD(Voice Activity Detection) 알고리즘을 이용하여 음성 녹음 데이터로부터 음성 구간을 검출할 수 있다. The
휴지기 조정부(270)는 검출된 적어도 하나의 음성 구간 간 휴지기 추정 신뢰도를 계산하고, 계산된 휴지기 추정 신뢰도에 기초하여 음성 구간 간의 휴지기를 조정할 수 있다. 여기서, 휴지기 추정 신뢰도가 높게 나오면, 음성 구간 간의 휴지기가 길고, 휴지기 추정 신뢰도가 낮게 나오면, 음성 구간 간의 휴지기가 짧다는 것을 의미할 수 있다. 예를 들어, 휴지기 조정부(270)는 음성 구간 간의 휴지기가 최소화되도록 음성 구간 간의 휴지기를 삭제하거나 평균값으로 조정할 수 있다. The
학습부(210)는 수신된 복수의 사용자 각각의 음성 녹음 데이터에 기초하여 각 사용자의 목소리 특성과 관련된 합성음 예측 모델을 사용자별로 학습시킬 수 있다. The
구체적으로, 학습부(210)는 수신된 복수의 사용자 각각의 음성 녹음 데이터에 기초하여 각 사용자의 음색과 관련된 피치값에 대한 합성음 예측 모델을 각 사용자별로 학습시킬 수 있다. 예를 들어, 도 3c를 참조하면, 학습부(210)는 뉴럴 네트워크 알고리즘(305)을 이용하여 사용자의 음성 녹음 데이터로부터 사용자의 음색과 관련된 피치값을 도출하고, 도출된 피치값을 이용하여 합성음 예측 모델을 학습시킬 수 있다. 여기서, 뉴럴 네트워크 알고리즘(305)은 오디오 데이터와 같이 고차원 연속분포를 학습할 수 있는 다층 RNN(Recurrent Neural Networks)을 기반으로 구성되어 있다. In detail, the
학습부(210)는 수신한 복수의 사용자 각각의 음성 녹음 데이터를 구성하는 각 음절의 확률값이 피치값과 관련하여 최대가 되도록 합성음 예측 모델을 학습시킬 수 있다. 사용자의 음성 녹음 데이터()를 구성하는 각 음절의 확률값은 [수학식 1]과 같이 표현될 수 있다. The
[수학식 1][Equation 1]
도 3d를 참조하면, 학습부(210)는 각 사용자별로 음성 녹음 데이터에 포함된 사용자의 음색과 관련된 피치값, 해당 음성 데이터에 대응하는 샘플 스크립트 및 사용자 아이디를 합성음 예측 모델에 입력하여 음성 녹음 데이터를 구성하는 각 음절의 확률값이 최대가 되도록 합성음 예측 모델을 학습시킬 수 있다. Referring to FIG. 3D , the
생성부(220)는 복수의 사용자 단말(사용자의 음성 녹음 데이터를 음성 합성 서비스 제공 서버로 전송한 단말) 중 적어도 하나의 사용자 단말(110)로부터 샘플 요청 명령을 수신하는 경우, 학습된 사용자 단말(110)의 합성음 예측 모델에 기초하여 복수의 샘플 스크립트 중 적어도 하나에 대한 샘플 합성 데이터를 생성할 수 있다. 예를 들어, 생성부(220)는 학습된 사용자 단말(110)의 합성음 예측 모델에 기초하여 적어도 하나의 샘플 스크립트에 사용자의 피치값 및 속도 조절부(250)에 의해 측정된 사용자의 발성 속도가 반영된 샘플 합성 데이터를 생성할 수 있다. When the
제공부(230)는 생성된 샘플 합성 데이터를 사용자 단말(110)에게 제공할 수 있다. The providing
목소리 등록부(240)는 사용자 단말(110)로부터 수신한 샘플 합성 데이터에 대한 품질 만족도 여부에 기초하여 사용자 단말(110)의 사용자에 대한 목소리 정보를 등록할 수 있다. 예를 들어, 사용자가 샘플 합성 데이터에 대한 품질을 만족함을 의미하는 등록 승인 메시지를 사용자 단말(110)로부터 수신한 경우, 목소리 등록부(240)는 사용자 단말(110)의 사용자에 대한 목소리 정보를 등록할 수 있다. 만일, 사용자가 샘플 합성 데이터에 대한 품질의 불만족을 의미하는 등록 미승인 메시지를 사용자 단말(110)로부터 수신한 경우, 학습부(210)는 사용자 단말(110)로부터 사용자의 음성 녹음 데이터를 다시 입력받아 합성음 예측 모델을 재훈련시킬 수 있다. 여기서, 목소리 정보는 합성음 예측 모델에 기초하여 도출된 각 사용자에 대한 피치값을 포함하고, 측정된 사용자의 발성 속도를 더 포함할 수 있다. The
생성부(220)는 사용자 단말(110)로부터 컨텐츠 요청 명령(사용자에 의해 선택된 컨텐츠 스크립트에 대한 정보를 포함)을 수신하는 경우, 기등록된 복수의 컨텐츠 스크립트 중 컨텐츠 요청 명령에 대응하는 컨텐츠 스크립트에 대한 컨텐츠 합성 데이터를 등록된 목소리 정보에 포함된 피치값에 기초하여 생성할 수 있다. When receiving a content request command (including information on the content script selected by the user) from the
생성부(220)는 컨텐츠 요청 명령에 대응하는 컨텐츠 스크립트에 대한 컨텐츠 합성 데이터를 등록된 목소리 정보에 포함된 피치값 및 발성 속도에 기초하여 생성할 수 있다. The
제공부(230)는 컨텐츠 합성 데이터를 사용자 단말(110)에게 제공할 수 있다. The
한편, 당업자라면, 수신부(200), 학습부(210), 생성부(220), 제공부(230), 목소리 등록부(240), 속도 조절부(250), 검증부(260), 휴지기 조정부(270) 및 음성 입력부(280) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. On the other hand, if you are skilled in the art, the receiving
도 4는 본 발명의 일 실시예에 따른, 도 1에 도시된 사용자 단말(110)의 블록도이다. 4 is a block diagram of the
도 4를 참조하면, 사용자 단말(110)은 전송부(400), 수신부(410), 입력부(420) 및 속도 조절 인터페이스 제공부(430)를 포함할 수 있다. 다만, 도 5에 도시된 사용자 단말(110)은 본 발명의 하나의 구현 예에 불과하며, 도 5에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. Referring to FIG. 4 , the
전송부(400)는 기등록된 복수의 샘플 스크립트 중 적어도 하나에 대한 사용자의 음성 녹음 데이터를 음성 합성 서비스 제공 서버(100)에게 전송할 수 있다. 예를 들어, 도 5를 참조하면, 사용자 목소리가 담긴 동화 컨텐츠의 서비스를 이용하고자 하는 사용자가 '내목소리동화' 어플리케이션을 통해 목소리 녹음(501)을 선택한 경우, 수신부(410)는 음성 합성 서비스 제공 서버(100)로부터 기등록된 복수의 샘플 스크립트 중 랜덤으로 추출된 샘플 스크립트(도 3a의 도면부호 301, 예컨대, '오늘도 어린이는 학교에 일찍 갑니다.')를 수신하여 사용자 단말(110)의 화면에 출력할 수 있다. 전송부(400)는 사용자가 해당 샘플 스크립트에 대하여 사용자의 음성을 녹음한 경우, 사용자의 음성 녹음 데이터와 함께 사용자 단말(110)의 식별 정보를 음성 합성 서비스 제공 서버(100)에게 전송할 수 있다. The
여기서, 음성 합성 서비스 제공 서버(100)로 전송된 사용자의 음성 녹음 데이터에 대한 발성 속도가 음성 합성 서비스 제공 서버(100)에 의해 측정될 수 있다. Here, the speech speed of the user's voice recorded data transmitted to the voice synthesis
속도 조절 인터페이스 제공부(430)는 사용자 단말(110)로 제공된 적어도 하나의 샘플 스크립트에 대한 사용자의 리딩 속도가 기설정된 리딩 속도에 맞게 조절되도록 안내하는 속도 조절 인터페이스(도 3b의 도면부호 303)를 음성 합성 서비스 제공 서버(100)로부터 제공받을 수 있다. 사용자는 샘플 스크립트에 표시되는 속도 조절 인터페이스의 속도에 맞춰서 샘플 스크립트를 리딩할 수 있다. The speed control
속도 조절 인터페이스 제공부(430)는 사용자의 샘플 스크립트에 대한 리딩 속도를 고려하여 해당 샘플 스크립트의 제공 이후에 사용자 단말(110)에게 제공되는 다음 문장에 해당하는 샘플 스크립트에 대한 리딩 속도를 속도 조절 인터페이스의 이동 속도를 통해 조절되도록 속도 조절 인터페이스를 제어할 수 있다. The speed control
음성 합성 서비스 제공 서버(100)로 사용자의 음성 녹음 데이터가 전송되면, 음성 합성 서비스 제공 서버(100)는 사용자의 음성 녹음 데이터에 기초하여 사용자의 목소리 특성과 관련된 합성음 예측 모델을 학습시킬 수 있다. 구체적으로, 음성 합성 서비스 제공 서버(100)는 사용자의 음성 녹음 데이터로부터 사용자의 음색과 관련된 피치값을 도출하고, 도출된 피치값을 이용하여 합성음 예측 모델을 학습시킬 수 있다. When the user's voice recording data is transmitted to the voice synthesis
전송부(400)는 음성 합성 서비스 제공 서버(100)에게 음성 합성을 위한 샘플 요청 명령을 전송할 수 있다. 예를 들어, 도 5를 참조하면, 사용자가 '내목소리동화' 어플리케이션을 통해 샘플 합성 데이터 듣기를 위한 인터페이스(503)를 선택한 경우, 전송부(400)는 음성 합성 서비스 제공 서버(100)에게 음성 합성을 위한 샘플 요청 명령을 전송할 수 있다.The
이 후, 음성 합성 서비스 제공 서버(100)는 사용자 단말(110)로부터 샘플 요청 명령을 수신하면, 학습된 사용자 단말(110)의 합성음 예측 모델에 기초하여 복수의 샘플 스크립트 중 적어도 하나에 대한 샘플 합성 데이터를 생성하여 이를 사용자 단말(110)에게 전송할 수 있다. 여기서, 적어도 하나에 대한 샘플 합성 데이터는 사용자의 음색과 관련된 피치값 및 사용자의 발성 속도가 반영된 데이터일 수 있다. Then, when receiving a sample request command from the
수신부(410)는 학습된 합성음 예측 모델에 기초하여 생성된 적어도 하나에 대한 샘플 합성 데이터를 음성 합성 서비스 제공 서버(100)로부터 수신할 수 있다. The
입력부(420)는 샘플 합성 데이터에 대한 품질 만족도 정보를 입력받을 수 있다. 예를 들어, 도 5를 참조하면, 입력부(420)는 샘플 합성 데이터의 출력 음성이 종료되면, '내목소리동화' 어플리케이션을 통해 해당 샘플 합성 데이터에 대한 품질 만족도 정보를 만족 버튼 또는 불만족 버튼(505)을 통해 입력받을 수 있다. The
전송부(400)는 샘플 합성 데이터에 대하여 입력된 품질 만족도 정보를 음성 합성 서비스 제공 서버(100)에게 전송할 수 있다. The
샘플 합성 데이터에 대한 품질 만족도 여부에 기초하여 사용자 단말(110)의 사용자에 대한 목소리 정보가 음성 합성 서비스 제공 서버(100)에 등록될 수 있다. 여기서, 목소리 정보는 합성음 예측 모델에 기초하여 도출된 사용자에 대한 피치값을 포함할 수 있다. 또한, 목소리 정보는 사용자의 음성 녹음 데이터에 대한 발성 속도를 더 포함할 수 있다. Voice information about the user of the
예를 들어, 사용자가 샘플 합성 데이터에 대한 품질을 만족하는 경우에는 사용자에 대한 목소리 정보가 음성 합성 서비스 제공 서버(100)에 등록되나, 사용자가 샘플 합성 데이터에 대한 품질을 만족하지 않은 경우에는 사용자가 음성 녹음 데이터를 재입력하고, 음성 합성 서비스 제공 서버(100)는 재입력된 음성 녹음 데이터로 합성음 예측 모델을 재훈련시킬 수 있다. For example, if the user satisfies the quality of the sample synthesis data, voice information about the user is registered in the speech synthesis
전송부(400)는 컨텐츠 요청 명령을 음성 합성 서비스 제공 서버(100)에게 전송할 수 있다. 예를 들어, 도 5를 참조하면, 샘플 합성 데이터에 대한 품질 만족도로 음성 합성 서비스 제공 서버(100)에 사용자에 대한 목소리 정보가 등록된 이후, 전송부(400)는 기등록된 복수의 컨텐츠 스크립트(507) 중 사용자에 의해 선택된 컨텐츠 스크립트에 대한 컨텐츠 요청 명령을 음성 합성 서비스 제공 서버(100)에게 전송할 수 있다. The
수신부(410)는 등록된 사용자에 대한 목소리 정보에 포함된 피치값에 기초하여 생성된 컨텐츠 합성 데이터를 음성 합성 서비스 제공 서버(100)로부터 수신할 수 있다. 여기서, 컨텐츠 합성 데이터는 기등록된 복수의 컨텐츠 스크립트 중 컨텐츠 요청 명령에 대응하는 컨텐츠 스크립트에 대한 컨텐츠 합성 데이터일 수 있다. 컨텐츠 합성 데이터는 등록된 사용자의 목소리 정보에 포함된 피치값 및 발성 속도에 기초하여 생성될 수 있다. The receiving
한편, 당업자라면, 전송부(400), 수신부(410), 입력부(420) 및 속도 조절 인터페이스 제공부(430) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. On the other hand, those skilled in the art will fully understand that each of the
도 6은 본 발명의 일 실시예에 따른, 음성 합성 서비스 제공 방법을 나타낸 흐름도이다. 6 is a flowchart illustrating a method for providing a voice synthesis service according to an embodiment of the present invention.
도 6을 참조하면, 단계 S601에서 음성 합성 서비스 제공 서버(100)는 복수의 사용자 단말로부터 기등록된 복수의 샘플 스크립트 중 적어도 하나에 대한 복수의 사용자의 음성 녹음 데이터를 수신할 수 있다. Referring to FIG. 6 , in step S601, the voice synthesis
단계 S603에서 음성 합성 서비스 제공 서버(100)는 복수의 사용자 단말 별로 수신된 음성 녹음 데이터에 기초하여 각 사용자의 음색과 관련된 피치값에 대한 합성음 예측 모델을 학습시킬 수 있다. In step S603, the voice synthesis
단계 S605에서 음성 합성 서비스 제공 서버(100)는 사용자 단말(110)로부터 샘플 요청 명령을 수신하는 경우, 학습된 사용자 단말(110)에 해당하는 합성음 예측 모델에 기초하여 복수의 샘플 스크립트 중 적어도 하나에 대한 샘플 합성 데이터를 생성할 수 있다. In step S605, when receiving a sample request command from the
단계 S607에서 음성 합성 서비스 제공 서버(100)는 생성된 샘플 합성 데이터를 사용자 단말(110)에게 제공할 수 있다. In step S607, the voice synthesis
단계 S609에서 음성 합성 서비스 제공 서버(100)는 사용자 단말(110)로부터 수신한 샘플 합성 데이터에 대한 품질 만족도 여부에 기초하여 사용자 단말(110)의 사용자에 대한 목소리 정보를 등록할 수 있다. In step S609, the voice synthesis
상술한 설명에서, 단계 S601 내지 S609는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S601 to S609 may be further divided into additional steps or combined into fewer steps, depending on the implementation of the present invention. Also, some steps may be omitted if necessary, and the order of steps may be changed.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An embodiment of the present invention may be implemented in the form of a recording medium including instructions executable by a computer, such as program modules executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer readable media may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustrative purposes, and those skilled in the art can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts thereof should be construed as being included in the scope of the present invention. .
100: 음성 합성 서비스 제공 서버
110: 사용자 단말
200: 수신부
210: 학습부
220: 생성부
230: 제공부
240: 목소리 등록부
250: 속도 조절부
260: 검증부
270: 휴지기 조정부
280: 음성 입력부
500: 전송부
510: 수신부
520: 입력부
530: 속도 조절 인터페이스 제공부100: Speech synthesis service providing server
110: user terminal
200: receiver
210: learning unit
220: generating unit
230: provision unit
240: voice register
250: speed control unit
260: verification unit
270: rest period adjustment unit
280: voice input unit
500: transmission unit
510: receiver
520: input unit
530: speed control interface providing unit
Claims (18)
기등록된 복수의 샘플 스크립트 중 적어도 하나에 대한 복수의 사용자의 음성 녹음 데이터를 수신하는 수신부;
상기 수신된 음성 녹음 데이터에 기초하여 각 사용자의 음색과 관련된 피치값에 대한 합성음 예측 모델을 학습시키는 학습부;
사용자 단말로부터 샘플 요청 명령을 수신하는 경우, 상기 학습된 합성음 예측 모델에 기초하여 상기 복수의 샘플 스크립트 중 적어도 하나에 대한 샘플 합성 데이터를 생성하는 생성부;
상기 샘플 합성 데이터를 상기 사용자 단말로 제공하는 제공부; 및
상기 사용자 단말로부터 수신한 상기 샘플 합성 데이터에 대한 품질 만족도 여부에 기초하여 상기 사용자 단말의 사용자에 대한 목소리 정보를 등록하는 목소리 등록부
를 포함하되,
상기 수신한 음성 녹음 데이터에 대한 발성 속도를 각 사용자 별로 측정하는 속도 조절부를 더 포함하고,
상기 목소리 정보는 측정된 상기 사용자 단말의 사용자의 음성 녹음 데이터에 대한 발성 속도를 포함하는 것인, 음성 합성 서비스 제공 서버.
In a server providing a voice synthesis service,
a receiving unit which receives voice recording data of a plurality of users for at least one of a plurality of pre-registered sample scripts;
a learning unit for learning a synthesized sound prediction model for a pitch value related to each user's timbre based on the received voice recording data;
a generator configured to generate sample synthesized data for at least one of the plurality of sample scripts based on the learned synthesized sound prediction model when a sample request command is received from a user terminal;
a provision unit providing the sample synthesized data to the user terminal; and
Voice registration unit for registering voice information about the user of the user terminal based on whether or not the quality of the synthesized sample data received from the user terminal is satisfactory
Including,
Further comprising a speed control unit for measuring the speech speed of the received voice recording data for each user,
The voice information includes a voice rate of the measured voice recording data of the user of the user terminal, the voice synthesis service providing server.
상기 목소리 정보는 상기 합성음 예측 모델에 기초하여 도출된 상기 사용자에 대한 피치값을 포함하는 것인, 음성 합성 서비스 제공 서버
According to claim 1,
The voice information includes a pitch value for the user derived based on the synthesized sound prediction model, a voice synthesis service providing server
상기 생성부는 상기 사용자 단말로부터 컨텐츠 요청 명령을 수신하는 경우, 기등록된 복수의 컨텐츠 스크립트 중 상기 컨텐츠 요청 명령에 대응하는 컨텐츠 스크립트에 대한 컨텐츠 합성 데이터를 상기 등록된 목소리 정보에 포함된 피치값에 기초하여 생성하고,
상기 제공부는 상기 컨텐츠 합성 데이터를 상기 사용자 단말에게 제공하는 것인, 음성 합성 서비스 제공 서버.
According to claim 2,
When the generating unit receives a content request command from the user terminal, content synthesis data for a content script corresponding to the content request command among a plurality of pre-registered content scripts is based on a pitch value included in the registered voice information. to create,
Wherein the providing unit provides the content synthesis data to the user terminal, a voice synthesis service providing server.
상기 속도 조절부는 상기 적어도 하나의 샘플 스크립트에 대한 리딩 속도가 기설정된 리딩 속도에 맞게 조절되도록 속도 조절 인터페이스를 사용자 단말로 제공하는 것인, 음성 합성 서비스 제공 서버.
According to claim 3,
The speech synthesis service providing server, wherein the speed control unit provides a speed control interface to a user terminal so that the reading speed of the at least one sample script is adjusted according to a preset reading speed.
상기 생성부는 상기 컨텐츠 요청 명령에 대응하는 컨텐츠 스크립트에 대한 컨텐츠 합성 데이터를 상기 등록된 목소리 정보에 포함된 피치값 및 발성 속도에 기초하여 생성하는 것인, 음성 합성 서비스 제공 서버.
According to claim 3,
The voice synthesis service providing server, wherein the generation unit generates content synthesis data for the content script corresponding to the content request command based on a pitch value and a voice rate included in the registered voice information.
상기 학습부는 상기 수신한 음성 녹음 데이터를 구성하는 각 음절의 확률값이 상기 피치값과 관련하여 최대가 되도록 상기 합성음 예측 모델을 학습시키는 것인, 음성 합성 서비스 제공 서버.
According to claim 1,
wherein the learning unit learns the synthesized sound prediction model so that a probability value of each syllable constituting the received voice recorded data is maximized in relation to the pitch value.
상기 수신한 음성 녹음 데이터에 대한 발음 정확성을 검증하는 검증부
를 더 포함하는 것인, 음성 합성 서비스 제공 서버.
According to claim 1,
Verification unit for verifying the pronunciation accuracy of the received voice recording data
To further include, a speech synthesis service providing server.
상기 검증부는 상기 수신한 음성 녹음 데이터에 대한 음성 인식을 수행하고, 상기 수신한 음성 녹음 데이터에 대한 음성 인식 수행 결과 및 상기 수신한 음성 녹음 데이터에 대응하는 샘플 스크립트 간의 유사도가 기설정된 임계값 이하로 나타난 경우, 상기 수신한 음성 녹음 데이터에 대한 발음 정확성이 부정확하다고 판단하는 것인, 음성 합성 서비스 제공 서버.
According to claim 8,
The verification unit performs voice recognition on the received voice recorded data, and a similarity between a result of performing voice recognition on the received voice recorded data and a sample script corresponding to the received voice recorded data is equal to or less than a preset threshold. If it appears, it is determined that the pronunciation accuracy of the received voice recorded data is inaccurate.
상기 수신한 음성 녹음 데이터에 대한 발음 정확성이 부정확하다고 판단된 경우, 상기 샘플 스크립트에 대한 새로운 음성 녹음 데이터를 재입력받도록 하는 음성 입력부를 더 포함하는 것인, 음성 합성 서비스 제공 서버.
According to claim 9,
The voice synthesis service providing server further comprises a voice input unit for re-inputting new voice recording data for the sample script when it is determined that the pronunciation accuracy of the received voice recording data is incorrect.
상기 음성 녹음 데이터으로부터 검출된 적어도 하나의 음성 구간 간 휴지기 추정 신뢰도를 계산하고, 상기 계산된 휴지기 추정 신뢰도에 기초하여 상기 음성 구간 간의 휴지기를 조정하는 휴지기 조정부를 더 포함하는 것인, 음성 합성 서비스 제공 서버.
According to claim 1,
and a pause adjustment unit configured to calculate a pause estimation reliability between at least one voice interval detected from the voice recording data and adjust a pause period between the voice intervals based on the calculated pause estimation reliability. server.
기등록된 복수의 샘플 스크립트 중 적어도 하나에 대한 사용자의 음성 녹음 데이터를 음성 합성 서비스 제공 서버로 전송하는 전송부;
상기 음성 합성 서비스 제공 서버로 음성 합성을 위한 샘플 요청 명령을 전송한 경우, 학습된 합성음 예측 모델에 기초하여 생성된 적어도 하나에 대한 샘플 합성 데이터를 상기 음성 합성 서비스 제공 서버로부터 수신하는 수신부; 및
상기 샘플 합성 데이터에 대한 품질 만족도 정보를 입력받는 입력부;
상기 전송부는 상기 입력된 품질 만족도 정보를 상기 음성 합성 서비스 제공 서버로 전송하고,
상기 합성음 예측 모델은 상기 적어도 하나에 대한 사용자의 음성 녹음 데이터에 기초하여 상기 사용자의 음색과 관련된 피치값에 대하여 학습된 모델이고,
상기 샘플 합성 데이터에 대한 품질 만족도 여부에 기초하여 상기 사용자에 대한 목소리 정보가 상기 음성 합성 서비스 제공 서버에 등록되되,
상기 음성 합성 서비스 제공 서버로 전송된 상기 사용자의 음성 녹음 데이터에 대한 발성 속도가 상기 음성 합성 서비스 제공 서버에 의해 측정되고,
상기 목소리 정보는 상기 측정된 사용자의 음성 녹음 데이터에 대한 발성 속도를 포함하는 것인, 사용자 단말.
In a user terminal receiving a speech synthesis service,
a transmission unit for transmitting the user's voice recording data for at least one of a plurality of pre-registered sample scripts to a voice synthesis service providing server;
a receiver configured to receive, from the voice synthesis service providing server, at least one sample synthesized data generated based on a learned synthesized voice prediction model when a sample request command for voice synthesis is transmitted to the voice synthesis service providing server; and
an input unit for receiving quality satisfaction information for the sample synthesized data;
The transmission unit transmits the input quality satisfaction information to the voice synthesis service providing server;
The synthesized sound prediction model is a model learned for a pitch value related to the user's voice based on the user's voice recording data for the at least one,
Voice information about the user is registered in the voice synthesis service providing server based on whether or not the quality of the sample synthesis data is satisfactory,
A speech speed of the user's voice recorded data transmitted to the voice synthesis service providing server is measured by the voice synthesis service providing server;
The user terminal, wherein the voice information includes a voice rate of the measured voice recording data of the user.
상기 목소리 정보는 상기 합성음 예측 모델에 기초하여 도출된 상기 사용자에 대한 피치값을 포함하는 것인, 사용자 단말.
According to claim 12,
The voice information includes a pitch value for the user derived based on the synthesized speech prediction model.
상기 전송부는 컨텐츠 요청 명령을 상기 음성 합성 서비스 제공 서버로 전송하고,
상기 수신부는 상기 등록된 사용자에 대한 목소리 정보에 포함된 피치값에 기초하여 생성된 컨텐츠 합성 데이터를 상기 음성 합성 서비스 제공 서버로부터 수신하고,
상기 컨텐츠 합성 데이터는 기등록된 복수의 컨텐츠 스크립트 중 상기 컨텐츠 요청 명령에 대응하는 컨텐츠 스크립트에 대한 컨텐츠 합성 데이터인 것인, 사용자 단말.
According to claim 13,
The transmission unit transmits a content request command to the voice synthesis service providing server;
The receiving unit receives content synthesis data generated based on a pitch value included in voice information of the registered user from the voice synthesis service providing server;
The content synthesis data is content synthesis data for a content script corresponding to the content request command among a plurality of pre-registered content scripts, the user terminal.
상기 적어도 하나의 샘플 스크립트에 대한 상기 사용자의 리딩 속도가 기설정된 리딩 속도에 맞게 조절되도록 안내하는 속도 조절 인터페이스를 상기 음성 합성 서비스 제공 서버로부터 제공받는 속도 조절 인터페이스 제공부를 더 포함하는 것인, 사용자 단말.
15. The method of claim 14,
Further comprising a speed control interface providing unit receiving a speed control interface for guiding the user's reading speed of the at least one sample script to be adjusted according to a preset reading speed from the speech synthesis service providing server, .
상기 컨텐츠 합성 데이터는 상기 등록된 사용자의 목소리 정보에 포함된 피치값 및 발성 속도에 기초하여 생성된 것인, 사용자 단말.
15. The method of claim 14,
The content synthesis data is generated based on the pitch value and speech rate included in the registered voice information of the user, the user terminal.
기등록된 복수의 샘플 스크립트 중 적어도 하나에 대한 복수의 사용자의 음성 녹음 데이터를 수신하는 단계;
상기 수신된 음성 녹음 데이터에 기초하여 각 사용자의 음색과 관련된 피치값에 대한 합성음 예측 모델을 학습시키는 단계;
사용자 단말로부터 샘플 요청 명령을 수신하는 경우, 상기 학습된 합성음 예측 모델에 기초하여 상기 복수의 샘플 스크립트 중 적어도 하나에 대한 샘플 합성 데이터를 생성하는 단계;
상기 샘플 합성 데이터를 상기 사용자 단말로 제공하는 단계; 및
상기 사용자 단말로부터 수신한 상기 샘플 합성 데이터에 대한 품질 만족도 여부에 기초하여 상기 사용자 단말의 사용자에 대한 목소리 정보를 등록하는 단계를 포함하되,
상기 수신한 음성 녹음 데이터에 대한 발성 속도를 각 사용자 별로 측정하는 단계를 더 포함하고,
상기 목소리 정보는 측정된 상기 사용자 단말의 사용자의 음성 녹음 데이터에 대한 발성 속도를 포함하는 것인, 음성 합성 서비스 제공 방법.
A method for providing a voice synthesis service by a voice synthesis service providing server,
Receiving voice recording data of a plurality of users for at least one of a plurality of pre-registered sample scripts;
learning a synthesized sound prediction model for a pitch value related to each user's voice based on the received voice recording data;
generating sample synthesis data for at least one of the plurality of sample scripts based on the learned synthesized sound prediction model when a sample request command is received from a user terminal;
providing the sample synthesized data to the user terminal; and
Registering voice information for a user of the user terminal based on whether or not the quality of the sample synthesized data received from the user terminal is satisfactory,
Further comprising the step of measuring the vocalization speed of the received voice recording data for each user,
The voice synthesis service providing method of claim 1 , wherein the voice information includes a voice rate of the measured voice recorded data of the user of the user terminal.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190092721A KR102479899B1 (en) | 2019-07-30 | 2019-07-30 | Server, device and method for providing speech systhesis service |
KR1020220170527A KR20230006627A (en) | 2019-07-30 | 2022-12-08 | Server, device and method for providing speech systhesis service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190092721A KR102479899B1 (en) | 2019-07-30 | 2019-07-30 | Server, device and method for providing speech systhesis service |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220170527A Division KR20230006627A (en) | 2019-07-30 | 2022-12-08 | Server, device and method for providing speech systhesis service |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210014526A KR20210014526A (en) | 2021-02-09 |
KR102479899B1 true KR102479899B1 (en) | 2022-12-21 |
Family
ID=74559034
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190092721A KR102479899B1 (en) | 2019-07-30 | 2019-07-30 | Server, device and method for providing speech systhesis service |
KR1020220170527A KR20230006627A (en) | 2019-07-30 | 2022-12-08 | Server, device and method for providing speech systhesis service |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220170527A KR20230006627A (en) | 2019-07-30 | 2022-12-08 | Server, device and method for providing speech systhesis service |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102479899B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010104040A1 (en) * | 2009-03-09 | 2010-09-16 | 国立大学法人豊橋技術科学大学 | Voice synthesis apparatus based on single-model voice recognition synthesis, voice synthesis method and voice synthesis program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4430528C2 (en) | 1994-08-27 | 2003-09-18 | Werzalit Ag & Co | Method and device for producing molded parts |
KR0144157B1 (en) * | 1995-01-25 | 1998-07-15 | 조백제 | Voice reproducing speed control method using silence interval control |
KR20050041749A (en) * | 2003-10-31 | 2005-05-04 | 한국전자통신연구원 | Voice synthesis apparatus depending on domain and speaker by using broadcasting voice data, method for forming voice synthesis database and voice synthesis service system |
KR101519591B1 (en) * | 2013-10-16 | 2015-05-13 | (주)컴버스테크 | System and method for processing virtual interview based speech recognition |
KR102311922B1 (en) * | 2014-10-28 | 2021-10-12 | 현대모비스 주식회사 | Apparatus and method for controlling outputting target information to voice using characteristic of user voice |
-
2019
- 2019-07-30 KR KR1020190092721A patent/KR102479899B1/en active Application Filing
-
2022
- 2022-12-08 KR KR1020220170527A patent/KR20230006627A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010104040A1 (en) * | 2009-03-09 | 2010-09-16 | 国立大学法人豊橋技術科学大学 | Voice synthesis apparatus based on single-model voice recognition synthesis, voice synthesis method and voice synthesis program |
Also Published As
Publication number | Publication date |
---|---|
KR20230006627A (en) | 2023-01-10 |
KR20210014526A (en) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6538779B2 (en) | Speech dialogue system, speech dialogue method and method for adapting a speech dialogue system | |
KR101963993B1 (en) | Identification system and method with self-learning function based on dynamic password voice | |
CN105940407B (en) | System and method for assessing the intensity of audio password | |
CN112735373B (en) | Speech synthesis method, device, equipment and storage medium | |
US20060053014A1 (en) | Standard model creating device and standard model creating method | |
CN111489424A (en) | Virtual character expression generation method, control method, device and terminal equipment | |
CN105718503B (en) | Voice search device and speech search method | |
WO2019214456A1 (en) | Gesture language translation system and method, and server | |
CN104835493A (en) | Speech synthesis dictionary generation apparatus and speech synthesis dictionary generation method | |
JP7013172B2 (en) | Speech synthesis dictionary distribution device, speech synthesis distribution system and program | |
JP2020067658A (en) | Device and method for recognizing voice, and device and method for training voice recognition model | |
CN114051639A (en) | Emotion detection using speaker baseline | |
CN107909995B (en) | Voice interaction method and device | |
KR102549204B1 (en) | Device, server and method for providing speech recognition service | |
WO2022227935A1 (en) | Speech recognition method and apparatus, and device, storage medium and program product | |
KR20190096862A (en) | User authentication method based on speech recognition using artificial intelligence device and apparatus therefor | |
KR20150145024A (en) | Terminal and server of speaker-adaptation speech-recognition system and method for operating the system | |
GB2516942A (en) | Text to Speech Conversion | |
CN111508470A (en) | Training method and device of speech synthesis model | |
CN116129863A (en) | Training method of voice synthesis model, voice synthesis method and related device | |
JP2014199323A (en) | Voice interactive device and interaction control method | |
CN116092469A (en) | Model training method and voice synthesis method based on semi-supervised knowledge distillation | |
Álvarez et al. | Problem-agnostic speech embeddings for multi-speaker text-to-speech with samplernn | |
CN112185340B (en) | Speech synthesis method, speech synthesis device, storage medium and electronic equipment | |
KR102479899B1 (en) | Server, device and method for providing speech systhesis service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent |