WO2022102987A1 - 전자 장치 및 그의 제어 방법 - Google Patents

전자 장치 및 그의 제어 방법 Download PDF

Info

Publication number
WO2022102987A1
WO2022102987A1 PCT/KR2021/013996 KR2021013996W WO2022102987A1 WO 2022102987 A1 WO2022102987 A1 WO 2022102987A1 KR 2021013996 W KR2021013996 W KR 2021013996W WO 2022102987 A1 WO2022102987 A1 WO 2022102987A1
Authority
WO
WIPO (PCT)
Prior art keywords
reference vector
synthesized
candidate
user
sound
Prior art date
Application number
PCT/KR2021/013996
Other languages
English (en)
French (fr)
Inventor
박상준
민경보
주기현
최승도
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020210027665A external-priority patent/KR20220064871A/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP21892157.5A priority Critical patent/EP4198967A4/en
Priority to CN202180076503.5A priority patent/CN116457872A/zh
Priority to US17/554,547 priority patent/US11763799B2/en
Publication of WO2022102987A1 publication Critical patent/WO2022102987A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]

Definitions

  • the present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device for providing a text to speech (TTS) service and a control method thereof.
  • TTS text to speech
  • TTS Text to Speech
  • Text to Speech refers to speech synthesis technology in which a machine synthesizes (or converts) text into human speech.
  • the voice uttered by the target speaker is recorded in advance, and the A process for processing voice data is required.
  • model learning through methods such as model adaptation and transfer learning based on the target speaker's spoken voice of at least 200 sentences (or a script for over 1 hour, etc.) this is required
  • the target speaker in order to register the target speaker's voice as the voice of the TTS service, the target speaker must utter a very large number of sentences with accurate pronunciation for a long time. It is difficult to provide a TTS service. Meanwhile, in order to provide a personalized TTS, there is a method of obtaining a reference vector from a target speaker's voice and inputting text and reference vectors into a TTS model to obtain a synthesized sound having the target speaker's voice characteristics. In this case, there is an advantage of not training the model (zero-shot/few-shot learning), but the disadvantage is that it is not known whether the reference vector has optimal performance (sound quality/rhyme/pronunciation/speaker similarity, etc.) there is.
  • An object of the present disclosure is to provide an electronic device for providing a TTS service using a general user's voice, and a method for controlling the same.
  • the electronic device obtains a reference vector of the user's voice, and obtains a reference vector of the user's voice when a microphone, a TTS model, a memory in which a plurality of texts for evaluation are stored, and a user voice uttered by the user are received through the microphone.
  • a plurality of candidate reference vectors are generated based on the plurality of candidate reference vectors, a plurality of candidate reference vectors and a plurality of texts for evaluation are input to the TTS model to obtain a plurality of synthesized sounds, and similarity between the plurality of synthesized sounds and user voices and characteristics of the plurality of synthesized sounds based on , identifying at least one synthesized sound among the plurality of synthesized sounds, and storing the reference vector of the at least one synthesized sound as a reference vector corresponding to a user for the TTS model in a memory.
  • the plurality of candidate reference vectors include at least one reference vector randomly selected based on the reference vector, at least one reference vector generated based on the reference vector and the reference vector used for training the TTS model, and a masking vector to the reference vector. At least one reference vector generated by applying may be included.
  • the processor may input the plurality of candidate reference vectors and the plurality of texts for evaluation into the TTS model to obtain a plurality of synthesized sounds generated for each of the plurality of texts for evaluation based on each of the plurality of candidate reference vectors.
  • the processor identifies a candidate synthesized sound having a similarity with the user's voice equal to or greater than a preset threshold value from among the plurality of synthesized sounds, and identifies at least one synthesized sound among the candidate synthesized sounds based on at least one of a prosody, pronunciation, and sound quality of each of the candidate synthesized sounds.
  • the processor may calculate a prosody score, a pronunciation score, and a sound quality score for each of the candidate synthesized sounds, and may identify at least one synthesized sound in which each of the prosody score, the pronunciation score, and the sound quality score is greater than or equal to a preset threshold value among the candidate synthesized sounds.
  • the plurality of evaluation texts includes at least one evaluation text belonging to each of the plurality of domains, and the processor divides the plurality of candidate synthesized sounds according to the plurality of domains based on the domain to which each of the plurality of candidate synthesized sounds belongs, , at least one synthesized sound for each domain may be identified based on at least one of the prosody, pronunciation, and sound quality of each of the at least one candidate synthesized sound belonging to each domain.
  • the reference vector of the at least one synthesized sound identified herein may be stored in a memory according to a domain to which each evaluation text belongs.
  • the electronic device further includes an output interface including at least one of a speaker and a display, and the processor determines a domain in which a reference vector of at least one synthesized sound from among a plurality of domains does not exist, and selects at least one of the determined domains. Based on the prosody score, pronunciation score, and sound quality score calculated for the candidate synthesized sound, the characteristics of the synthesized sound for which a relatively low score among prosody, pronunciation, and sound quality are calculated are determined, and the utterance of the generated sentence is performed based on the determined characteristics.
  • the requested voice can be output through the speaker.
  • the electronic device further includes a speaker, and the processor is configured to, when a subsequent user's voice of the user is received through the microphone, acquire a text for a response to the subsequent user's voice, and obtain at least one text corresponding to the acquired text and the user stored in the memory.
  • One of the reference vectors may be input to the TTS model to obtain a voice generated for the text based on the reference vector, and the speaker may be controlled to output the acquired voice.
  • the processor may obtain a reference vector having the highest score calculated based on the characteristic of the text to be synthesized among at least one reference vector corresponding to the user stored in the memory.
  • a reference vector of the user's voice is obtained step, generating a plurality of candidate reference vectors based on the reference vector, inputting the plurality of candidate reference vectors and a plurality of texts for evaluation into the TTS model to obtain a plurality of synthesized sounds, between the plurality of synthesized sounds and the user voice identifying at least one synthesized sound from among the plurality of synthesized sounds based on the similarity and characteristics of the plurality of synthesized sounds; and storing a reference vector of the at least one synthesized sound in a memory as a reference vector corresponding to a user for the TTS model.
  • the plurality of candidate reference vectors include at least one reference vector randomly selected based on the reference vector, at least one reference vector generated based on the reference vector and the reference vector used for training the TTS model, and a masking vector to the reference vector. At least one reference vector generated by applying may be included.
  • the obtaining of the plurality of synthesized sounds includes inputting a plurality of candidate reference vectors and a plurality of texts for evaluation into the TTS model, and a plurality of synthesized sounds generated for each of the plurality of texts for evaluation based on each of the plurality of candidate reference vectors are performed.
  • the identifying of the at least one synthesized sound may include: identifying a candidate synthesized sound having a similarity with the user's voice equal to or greater than a preset threshold value among a plurality of synthesized sounds; It may include the step of identifying at least one synthesized sound.
  • the step of identifying the at least one synthesized sound includes calculating a prosody score, a pronunciation score, and a sound quality score for each of the candidate synthesized sounds, and at least one synthesized sound in which each of the prosody score, the pronunciation score, and the sound quality score among the candidate synthesized sounds is equal to or greater than a preset threshold value. It may include the step of identifying
  • the plurality of texts for evaluation include at least one text for evaluation belonging to each of the plurality of domains
  • the step of identifying the at least one synthesized sound includes: based on the domain to which each of the plurality of candidate synthesized sounds belongs, and according to the plurality of domains.
  • the method may include classifying a plurality of candidate synthesized sounds and identifying at least one synthesized sound for each domain based on at least one of prosody, pronunciation, and sound quality of each of at least one candidate synthesized sound belonging to each domain.
  • the reference vector of the at least one synthesized sound identified herein may be stored in a memory according to a domain to which each evaluation text belongs.
  • the electronic device further includes an output interface including at least one of a speaker and a display
  • the control method includes: determining a domain in which at least one synthesized sound from among a plurality of domains does not exist; and at least one candidate synthesized sound belonging to the determined domain. Based on the prosody score, pronunciation score, and sound quality score calculated for The method may further include controlling the output interface to output .
  • the electronic device includes a speaker
  • the control method includes: when a subsequent user's voice is received through a microphone, acquiring a text for a response to the subsequent user's voice, at least one corresponding to the acquired text and the user stored in the memory inputting one of the reference vectors of to the TTS model to obtain a voice generated for the text based on the reference vector, and controlling the speaker to output the acquired voice.
  • the acquiring of the voice may include acquiring a reference vector having the highest score calculated based on a characteristic of the text to be synthesized among at least one reference vector corresponding to the user stored in the memory.
  • an electronic device for providing a TTS service using a general user's voice and a control method thereof may be provided.
  • the system may be configured to have optimal performance while minimizing the number of sentences required to be uttered in order to register the voice of the TTS service.
  • FIG. 1 is a diagram for describing an electronic device according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram illustrating an operation for each configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 3 is a block diagram for explaining an operation for each configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 4 is a block diagram illustrating an operation for each configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram for explaining a method of obtaining a reference vector according to an embodiment of the present disclosure.
  • 6A is a diagram for explaining a method of generating a candidate reference vector according to an embodiment of the present disclosure.
  • 6B is a diagram for explaining a method of generating a candidate reference vector according to an embodiment of the present disclosure.
  • 6C is a diagram for explaining a method of generating a candidate reference vector according to an embodiment of the present disclosure.
  • FIG. 7 is a view for explaining a TTS model according to an embodiment of the present disclosure.
  • 8A is a diagram for explaining a method of identifying a synthesized sound according to an embodiment of the present disclosure.
  • 8B is a diagram for explaining a method of identifying a synthesized sound according to an embodiment of the present disclosure.
  • 8C is a diagram for explaining a method of identifying a synthesized sound according to an embodiment of the present disclosure.
  • 8D is a diagram for explaining a method of identifying a synthesized sound according to an embodiment of the present disclosure.
  • 9A is a diagram for explaining a hardware configuration of an electronic device according to an embodiment of the present disclosure.
  • 9B is a diagram for explaining an additional hardware configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 10 is a flowchart of a control method of an electronic device according to an embodiment of the present disclosure.
  • expressions such as “A or B,” “at least one of A and/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
  • “A or B,” “at least one of A and B,” or “at least one of A or B” means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.
  • a component eg, a first component is "coupled with/to (operatively or communicatively)" to another component (eg, a second component);
  • another component eg, a second component
  • the certain element may be directly connected to the other element or may be connected through another element (eg, a third element).
  • a component eg, a first component
  • another component eg, a second component
  • a device configured to may mean that the device is “capable of” with other devices or parts.
  • a processor configured (or configured to perform) A, B, and C refers to a dedicated processor (eg, an embedded processor) for performing the above operations, or by executing one or more software programs stored in a memory device.
  • a generic-purpose processor eg, a CPU or an application processor
  • FIG. 1 is a diagram for describing an electronic device according to an embodiment of the present disclosure.
  • an electronic device 100 may be implemented as an interactive system.
  • the electronic device 100 is a smartphone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader (e-book reader), a desktop PC (desktop personal computer), A laptop personal computer, a netbook computer, a workstation, a server, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, a mobile medical device, a camera, or It may include at least one of a wearable device and a robot.
  • PC tablet personal computer
  • PDA personal digital assistant
  • PMP portable multimedia player
  • MP3 player MP3 player
  • the wearable device is an accessory type (eg, a watch, a ring, a bracelet, an anklet, a necklace, glasses, contact lenses, or a head-mounted-device (HMD)), a fabric or a clothing integrated type (eg, it may be implemented as at least one of an electronic garment), a body-attachable type (eg, a skin pad or a tattoo), or a bioimplantable (eg, an implantable circuit).
  • HMD head-mounted-device
  • a fabric or a clothing integrated type For example, it may be implemented as at least one of an electronic garment), a body-attachable type (eg, a skin pad or a tattoo), or a bioimplantable (eg, an implantable circuit).
  • HMD head-mounted-device
  • a fabric or a clothing integrated type For example, it may be implemented as at least one of an electronic garment), a body-attachable type (eg, a skin pad or a tattoo), or a bioimplantable (eg
  • the interactive system refers to a system that can interact with a user through a conversation, such as identifying a user's intention through a user's voice and outputting a response corresponding to the user's intention.
  • the electronic device 100 may include an ASR module 1 , an NLP module 2 , and a TTS module 3 . Also, the electronic device 100 may include a microphone 110 for receiving a user's voice and an output interface 140 for outputting information in response to the user's voice.
  • the output interface 140 may include a speaker for outputting sound.
  • ASR Automatic Speech Recognition module 1 uses a language model and an acoustic model to convert a voice signal (ie, user voice) received through the microphone 110 to a word or phoneme. It can be converted into text (string) such as (phoneme) sequence.
  • the language model may be a model that assigns probabilities to a word or phoneme sequence
  • the acoustic model may be a model representing a relationship between a speech signal and text to a speech signal.
  • the NLP (Natural Language Processing) module 2 uses various analysis methods such as morphological analysis, syntactic analysis, and semantic analysis for the text corresponding to the user's voice. It is possible to identify the meaning of a word or sentence constituting the text corresponding to , determine the user's intention based on the identified meaning, and obtain response information corresponding thereto. In this case, the response information may be in the form of text.
  • the Text to Speech (TTS) module 3 may convert text into a voice signal and output it through the output interface 140 (eg, a speaker). That is, the response information obtained from the NLP module 2 may be converted from a text form to a voice signal form through the TTS module 3 .
  • the output interface 140 eg, a speaker
  • the electronic device 100 may provide a personalized TTS service.
  • the personalized TTS service refers to converting (or synthesizing) text into a voice signal using the voice of an individual user (or another user) through the TTS module 3 .
  • a process of registering the user's voice in the electronic device 100 in advance may be required.
  • the electronic device 100 of the present disclosure may minimize the number of sentences required to be uttered by the user in order to register the voice of the TTS service.
  • FIGS. 2 and 3 are block diagrams for explaining an operation for each configuration of an electronic device according to an embodiment of the present disclosure. 3 illustrates an operation when a reference vector that satisfies the evaluation criteria of at least one evaluation text does not exist.
  • the electronic device 100 may include a microphone 110 , a memory 120 , and a processor 130 .
  • the microphone 110 may receive a user's voice.
  • the memory 120 may store a plurality of texts for evaluation.
  • the plurality of texts for evaluation may be stored in the text database 123 for evaluation in the memory 120 .
  • the unit of the text for evaluation may be one sentence, but this is only an example, and the unit of the text for evaluation may be variously modified.
  • the memory 120 may store a reference vector of a user registered as a speaker of the TTS model 30 .
  • the reference vector of the registered user may be stored in the reference vector storage module 124 in the memory 120 .
  • the reference vector of the registered user may indicate a reference vector that best matches the unique voice characteristic of the registered user.
  • the processor 130 may extract an optimal reference vector from the user's voice in order to synthesize text with the user's voice and register it as the user's reference vector.
  • the processor 130 executes the instructions included in each of the speaker encoder module 10 , the candidate reference vector generation module 20 , the TTS model 30 , and the synthesized sound evaluation module 40 , thereby performing an operation corresponding to each instruction. can be performed.
  • the speaker encoder module 10, the candidate reference vector generation module 20, the TTS model 30, and the synthesized sound evaluation module 40 are stored in the memory 120 or stored in the memory inside the processor 130. there may be
  • the processor 130 may obtain a reference vector of the user's voice from the user's voice received through the speaker encoder module 10 .
  • the processor 130 determines that the user A A reference text (r) preset to be uttered may be provided. Thereafter, when the user's voice uttered by user A is received through the microphone 110 , the processor 130 may obtain a reference vector from the user's voice received through the speaker encoder module 10 .
  • this is only an embodiment, and when user A utters a natural language without providing a preset reference text, it is also possible to recognize the natural language as the reference text.
  • a reference vector is the user's voice of user A (speaker A) who uttered the reference text (r).
  • ) is defined as a multidimensional (ie, two or more) vectors (or vector sequences).
  • Each dimension (or column) of the reference vector may represent a voice characteristic such as a rhyme, a pronunciation, a frequency band, a speaker's age, and a speaker's gender.
  • the reference text refers to a sentence (or a word, etc.) uttered by a user, and a domain (eg, a reading body, a dialogue body, a news body, etc.) according to the utterance method may be assigned.
  • an analog sound signal received by the microphone 110 may be converted into a digital sound signal through an analog-to-digital converter (ADC).
  • the sound signal includes the user voice (user A) who uttered the reference text (r) ) may be included.
  • the ADC may be implemented in a form embedded in the microphone 110 or the processor 130 , or may be implemented as a separate device.
  • the processor 130 generates a user voice ( ) of the section corresponding to the sound signal can be identified.
  • the processor 130 is a user voice ( ) may be divided into units of frames (eg, 20ms, 40ms, etc.), and a spectrum may be calculated by applying a Fourier transform to each frame.
  • the sound signal represents a waveform expressed in a time domain such as amplitude (or sound pressure) according to time
  • a spectrum is a frequency domain such as amplitude (or sound pressure) according to frequency. domain).
  • the acoustic signal may represent a waveform in the relationship that the horizontal axis is time and the vertical axis is amplitude
  • the spectrum may indicate the waveform in the relationship that the horizontal axis is frequency and the vertical axis is amplitude.
  • the spectrum is a spectrum in the general frequency domain, or a Mel spectrum applied to the spectrum with a filter bank based on the Mel Scale that indicates the relationship between frequencies sensitively recognized by humans, the frequency axis and It may be various types of spectrum, such as a spectrogram (SPG) having a relationship with an amplitude axis.
  • the spectrum may be a cepstrum or a mel cepstrum that can be transformed from the spectrum, and may include pitch lag or pitch correlation having pitch/harmonic information.
  • the processor 130 may obtain a reference vector from the spectrum.
  • the processor 130 inputs the Mel spectrum to the speaker recognizer as the reference vector. ) can be obtained.
  • the processor 130 includes various algorithms (Cepstrum), Linear Predictive Coefficient (LPC) and Filter Bank Energy, Wav2Vec, SincNet, PASE, etc. or a neural network) using one of the reference vectors ( ) can be obtained.
  • the obtained reference vector ( ) may be a vector of various types, such as i-vector, d-vector, and x-vector.
  • the processor 130 through the candidate reference vector generation module 20 the reference vector ( ) based on a plurality of candidate reference vectors ( ) can be created.
  • a plurality of candidate reference vectors are generated based on a reference vector randomly selected based on the reference vector as a first embodiment, a reference vector as a second embodiment, and a reference vector used for training the TTS model 30 .
  • reference vector and as a third embodiment, one or a combination of reference vectors generated by applying a masking vector to the reference vector may be included. Specific details will be described with reference to FIGS. 6A to 6C .
  • 6A to 6C are diagrams for explaining a method of generating a candidate reference vector according to an embodiment of the present disclosure.
  • 6A to 6C represent reference vectors on the planes 610, 620, and 630, and the closer the positions of the reference vectors on the planes 610, 620, and 630 are, the more similar the characteristics of the reference vectors are.
  • a plurality of candidate reference vectors 612 ( ) is the reference vector 611 ( ) may include at least one reference vector randomly selected based on the .
  • the processor 130 uses the reference vector 611 ( ) by summing the noise to at least one candidate reference vector 612 ( ) can be created.
  • the noise is a random value that follows a normal distribution or a uniform distribution or various probability distributions
  • a reference vector ( ) may be a value for at least one dimension among the dimensions.
  • the noise may have a value within a preset range.
  • the candidate reference vector 612 ( ) is the reference vector 611 ( ) may be a vector existing within a preset radius based on the .
  • a plurality of candidate reference vectors 625 ( ) is the reference vector 621 ( ) and at least one reference vector generated based on the reference vector used for training the TTS model 30 .
  • the processor 130 is a reference vector ( ) and a reference vector of a plurality of speakers used for training of the TTS model 30 (eg, a reference vector of speaker B). , the reference vector of speaker C etc.), and comparing the distance between the reference vectors of the plurality of speakers, one reference vector 623 having the closest distance among reference vectors of the plurality of speakers (eg, speaker B's reference vector). ) can be identified.
  • the processor 130 according to the following Equation 2, the reference vector ( ) and the reference vector 623 having the closest distance among the reference vectors used for training the TTS model 30 (eg, the reference vector of speaker B). ) by applying interpolation to at least one candidate reference vector ( ) can be created.
  • a plurality of candidate reference vectors ( ) is the masking vector as a reference vector ( ) may include at least one reference vector generated by applying .
  • the processor 130 converts the masking vector W to the reference vector ( ) to at least one candidate reference vector ( ) can be created.
  • W is a masking vector, and may be configured as 0 or 1, or a value between 0 and 1, or a matrix having various values.
  • a plurality of candidate reference vectors ( ) may be a combination of at least one of the first to third embodiments. That is, a plurality of candidate reference vectors ( ) is the reference vector ( ), at least one reference vector randomly selected based on the reference vector ( ) and at least one reference vector and a masking vector generated based on the reference vector used for training of the TTS model 30 as a reference vector ( ) may include at least one of the at least one reference vector generated by applying the .
  • a combination of the first embodiment and the second embodiment may be shown in FIG. 6C .
  • the processor 130 is a plurality of candidate reference vectors ( ) and a plurality of evaluation texts stored in the memory 120 ( ) is input to the TTS model 30, and a plurality of synthesized sounds ( ) can be obtained.
  • the processor 130 is a plurality of candidate reference vectors ( ) and multiple evaluation texts ( ) into the TTS model 30, each of the plurality of candidate reference vectors ( ) based on each of the plurality of evaluation texts ( ) generated for a plurality of synthesized sounds ( ) can be obtained.
  • the synthesized sound is a candidate reference vector and text for evaluation It indicates that it is produced by synthesizing In this case, when the number of candidate reference vectors is N and the number of texts for evaluation is M, the number of synthesized sounds may be N x M.
  • a plurality of evaluation texts ( ) may include at least one text for evaluation belonging to each of a plurality of domains (eg, reading text, dialogue text, news text, etc.). That is, multiple evaluation texts ( ), each domain may be pre-allocated.
  • the domain may include types of reading, dialogue, interrogative, exclamation, etc. depending on the style of the text, and depending on the content of the text, chatbot, NLG (Natural Language Generation), news, dictionary, wiki, music ( Song titles, singers, lyrics, etc.), home appliances (eg, air conditioners), Bigdata (web crawling contents), children's books, novel books, etc. may be included.
  • chatbot NLG (Natural Language Generation)
  • NLG Natural Language Generation
  • news e.g., wiki
  • music Song titles, singers, lyrics, etc.
  • home appliances eg, air conditioners
  • Bigdata web crawling contents
  • the text to speech (TTS) model 133 may include an acoustic model (AM) and a vocoder (voice decoder). Meanwhile, a detailed description of the TTS model 133 will be described later along with FIG. 7 .
  • AM acoustic model
  • vocoder voice decoder
  • the acoustic model may convert text and reference vectors into acoustic features by using at least one of various algorithms such as Tacotron, Tacotron 2, Transformer, text2mel, and DCTTS (Deep Convolutional TTS).
  • the generated acoustic feature may have a reference vector, that is, the speaker's characteristics (eg, tone, pitch, intensity, pronunciation, etc.).
  • the acoustic characteristic may represent a unique characteristic (eg, tone, pitch, intensity, pronunciation, etc.) of a sound in a voice section (eg, frame unit or sentence unit).
  • acoustic characteristics are a combination of a waveform and a spectrum (Spectrogram), Mel-spectrogram (Mel-spectrogram), Cepstrum, pitch lag, pitch correlation, MCME (Mel-frequency Cepstrum Modualtion Energy) , MFCC (Mel frequency cepstral coefficient) may be implemented in one or a combination of the formats.
  • the vocoder can generate synthesized sounds by synthesizing reference vectors and acoustic features through various algorithms such as WaveNet, Parallel Wavenet, WaveGlow, WaveRNN, and LPCNet.
  • the vocoder may be an artificial intelligence model based on a neural network trained to output a synthesized sound when an acoustic feature such as a Mel spectrum and a reference vector are input.
  • the processor 130 through the synthesized sound evaluation module 40, a plurality of synthesized sounds ( ) and similarity between user voices and multiple synthesized sounds ( ) based on the characteristics of a plurality of synthesized sounds ( ) of at least one synthesized sound can be identified.
  • the processor 130 is a plurality of synthesized sounds ( ) of the user's voice ( ), a candidate synthesized sound having a similarity (ie, speaker similarity) equal to or greater than a preset threshold may be identified. Specific details thereof will be described with reference to FIGS. 8A and 8B .
  • the processor 130 may identify at least one synthesized sound from among the candidate synthesized sounds based on at least one of a prosody, pronunciation, and sound quality of each of the candidate synthesized sounds. Specific details thereof will be described with reference to FIGS. 8C and 8D.
  • 8A to 8D are diagrams for explaining a method of identifying a synthesized sound according to an embodiment of the present disclosure.
  • the processor 130 may include a plurality of synthesized sounds ( ) are input to the speaker encoder module 10, and a plurality of synthesized sounds ( ) to the reference vector ( ) can be obtained. And, the processor 130 is a plurality of synthesized sound ( ) for each reference vector ( ) to user voice ( ) to the reference vector ( ) can be compared to determine the degree of similarity.
  • the user's voice ( ) to the reference vector ( ) is a user voice ( ) is input, it is outputted from the speaker encoder module 10 and obtained.
  • the similarity may be calculated through various methods such as the Euclidean distance and the cosine similarity method.
  • the similarity between reference vectors may be regarded as the speaker similarity between synthesized sounds. That is, the processor 130 is a plurality of synthesized sounds ( ) to the reference vector ( ), a synthesized sound having a reference vector having a similarity equal to or greater than a preset threshold value may be identified as a candidate synthesized sound.
  • a plurality of synthesized sounds ( ) is a plural compound sound ( ) used to generate the candidate reference vector ( ) can be classified into groups of units.
  • the first candidate reference vector ( ) and the first to Mth evaluation texts ( Synthetic sound created through ( ) ) can be classified into the same group. That is, synthesized sounds generated through one candidate reference vector and M texts for evaluation may be classified into the same group.
  • the processor 130 is a plurality of synthesized sounds ( ) to the reference vector ( ) can be used to determine the deviation (or distribution) of the reference vector in units of groups. Then, the processor 130 may identify the reference vector of the group having the smallest deviation. In this case, the processor 130 may identify the synthesized sound synthesized through the reference vector of the group having the smallest deviation as a candidate synthesized sound.
  • the first candidate reference vector ( ) and the first to Mth evaluation texts ( Synthetic sound created through ( ) ) is the first group ( )
  • the second candidate reference vector ( ) and the first to Mth evaluation texts ( Synthetic sound created through ( ) ) is the second group ( )
  • the third candidate reference vector ( ) and the first to Mth evaluation texts ( Synthetic sound created through ( ) ) is the third group ( )
  • the processor 130 is a user voice ( ) to the reference vector ( ) with the smallest deviation from the third group ( ) of the reference vector ( ) can be identified.
  • the processor 130 is the third group ( ) of the reference vector ( ) synthesized through ( ) can be identified as candidate synthesized sounds.
  • the processor 130 may identify candidate synthesized sounds using a plurality of speaker encoder modules 10-1 to 10-3.
  • the first to third speaker encoder modules 10-1 to 10-3 are modeled to output different types of reference vectors (eg, i-vector, d-vector, x-vector, etc.) can
  • the processor 130 is a plurality of synthesized sounds ( ) and user voice ( ) is input to the first speaker encoder module 10-1, a plurality of synthesized sounds output from the first speaker encoder module 10-1 ( ) for the first reference vector ( ) and user voice ( ) for the first reference vector ( ), and comparing them, it is possible to determine the first degree of similarity.
  • the processor 130 is a plurality of synthesized sound ( ) and user voice ( ) is input to the second speaker encoder module 10-2, the plurality of synthesized sounds outputted from the second speaker encoder module 10-2 ( A second reference vector for ( ) ) and user voice ( A second reference vector for ( ) ) and comparing them to determine the second degree of similarity.
  • the processor 130 is a plurality of synthesized sound ( ) and user voice ( ) is input to the third speaker encoder module 10-3, the plurality of synthesized sounds outputted from the third speaker encoder module 10-3 ( ) for a third reference vector ( ) and user voice ( ) for a third reference vector ( ) and comparing them to determine the third degree of similarity.
  • the processor 130 may identify a reference vector with the highest performance among the first to third similarities, and identify a synthesized sound synthesized through the identified reference vector as a candidate synthesized sound.
  • the reference vector with the best performance may be a vector having the smallest deviation value or a vector exceeding a predetermined threshold value for each of the first to third similarities.
  • the processor 130 may identify at least one synthesized sound from among the candidate synthesized sounds based on at least one of a prosody, pronunciation, and sound quality of each of the candidate synthesized sounds. That is, the processor 130 may identify the synthesized sound through one or a combination of prosody, pronunciation, and sound quality of each of the candidate synthesized sounds.
  • the processor 130 calculates a prosody score, a pronunciation score, and a sound quality score for each of the candidate synthesized sounds, and identifies at least one synthesized sound in which each of the prosody score, the pronunciation score, and the sound quality score is equal to or greater than a preset threshold value among the candidate synthesized sounds. can do.
  • the processor 130 may calculate a prosody score for each candidate synthesized sound, and identify at least one synthesized sound having a prosody score equal to or greater than a preset threshold value. For example, the processor 130 may display text for evaluation. Pitch contour indicating the preset length for each phoneme, speech speed, and pitch according to time and text for evaluation candidate synthesized sounds corresponding to The prosody score can be calculated by comparing the length, speech speed, and pitch contour of each phoneme.
  • the processor 130 may calculate a pronunciation score for each candidate synthesized sound, and identify at least one synthesized sound having a pronunciation score equal to or greater than a preset threshold value.
  • the processor 130 is a synthesized sound is input into the ASR module (1) to obtain the text and synthesized sound Text for evaluation corresponding to A pronunciation score may be calculated by comparing the degree of matching between the obtained texts based on .
  • the ASR module 1 may analyze the voice using various algorithms and convert the content of the voice into a text format.
  • the processor 130 is synthesized sound is input into the Forced Alignment module 45 to identify the boundaries of speech-phoneme and speech-word, and synthesize the identified boundaries.
  • Text for evaluation corresponding to Likelihood can be calculated by comparing the phoneme-phoneme and phonetic-word boundaries in . In this case, the likelihood may be used as a pronunciation score.
  • the processor 130 may calculate a sound quality score for each candidate synthesized sound, and identify at least one synthesized sound having a sound quality score equal to or greater than a preset threshold value.
  • the processor 130 performs a synthesized sound through various algorithms such as signal-to-noise ratio (SNR), harmonic-to-noise ratio (HNR), and sound quality evaluation through room characteristic estimation. It is possible to calculate a sound quality score for SNR, harmonic-to-noise ratio (HNR), and sound quality evaluation through room characteristic estimation. It is possible to calculate a sound quality score for SNR, harmonic-to-noise ratio (HNR), and sound quality evaluation through room characteristic estimation. It is possible to calculate a sound quality score for SNR, harmonic-to-noise ratio (HNR), and sound quality evaluation through room characteristic estimation. It is possible to calculate a sound quality score for SNR, harmonic-to-noise ratio (HNR), and sound quality evaluation through room characteristic estimation. It is possible to calculate a sound quality score for SNR, harmonic-to-noise ratio (HNR), and sound quality evaluation through room characteristic estimation. It is possible to calculate a sound quality score for SNR, harmonic-to-noise ratio (HNR), and sound quality evaluation
  • the processor 130 may classify a plurality of candidate synthesized sounds according to the plurality of domains based on a domain to which each of the plurality of candidate synthesized sounds belongs (ie, a domain of the text for evaluation used to generate the corresponding synthesized sound).
  • the processor 130 may identify at least one synthesized sound for each domain based on at least one of similarity, prosody, pronunciation, and sound quality of each of at least one candidate synthesized sound belonging to each domain.
  • synthesized sound evaluation module 40 a plurality of synthesized sounds ( ) and similarity between user voices and multiple synthesized sounds ( ), an embodiment of selecting an optimal reference vector based on the characteristics of ) will be described.
  • each row is an evaluation text ( ), and each column is a candidate reference vector ( ) is indicated.
  • Each row and column combination represents a score (speaker similarity, prosody score, pronunciation score, sound quality score, etc.) of a synthesized sound generated according to the combination of the text for evaluation and the candidate reference vector.
  • the speaker similarities (ie, values in the same column) of a plurality of synthesized sounds in which one candidate reference vector and a plurality of texts for evaluation are combined are all preset values (eg, 60 points). ) or higher, it is judged that the candidate reference vector satisfies the evaluation criteria for speaker similarity. can be judged to have been
  • At least one prosody score of a plurality of synthesized sounds in which one candidate reference vector and a plurality of texts for evaluation are combined as shown in (2) of FIG. 8D is a preset value (eg, 80 points) or more
  • the corresponding candidate reference It is determined that the vector satisfies the evaluation criteria for the prosody score, and if all prosody scores of a plurality of synthesized sounds are less than a preset value (eg, 80 points), the candidate reference vector is judged to not satisfy the evaluation criteria for the prosody score can do.
  • At least one pronunciation score of a plurality of synthesized sounds in which one candidate reference vector and a plurality of texts for evaluation are combined as shown in (3) of FIG. 8D is a preset value (eg, 90 points) or more
  • the corresponding candidate reference It is determined that the vector satisfies the evaluation criteria for the pronunciation score, and if the pronunciation scores of a plurality of synthesized sounds are all less than a preset value (eg, 90 points), the corresponding candidate reference vector is judged to not satisfy the evaluation criteria for the pronunciation score can do.
  • the sound quality scores (ie, values in the same column) of a plurality of synthesized sounds in which one candidate reference vector and a plurality of texts for evaluation are combined are all preset values (eg, 80 points). ) or higher, it is judged that the candidate reference vector satisfies the evaluation criteria for the sound quality score. can be judged to have been
  • the processor 130 is a reference vector of at least one identified synthesized sound ( ) is the reference vector corresponding to user A for the TTS model 30 ( ) may be stored in the memory 120 . That is, a reference vector satisfying the evaluation criteria among a plurality of candidate reference vectors may be registered as a reference vector of user A and stored in the reference vector storage module 124 of the memory 120 .
  • the electronic device 100 uses the fact that reference vectors of the same user have a distribution within a certain range, so that a very small number of users (eg, 1 to 5, etc.) Even if the text is uttered, it is possible to obtain a reference vector optimized for various texts only with the reference vector obtained through this. That is, unlike the existing ones, good performance can be guaranteed through synthesis sound evaluation, and a plurality of reference vectors can be obtained from the user even if the user speaks only once. Since the number of texts uttered in order to provide the personalized TTS service is very small, it is possible to improve the convenience of the user registering the personalized TTS service.
  • a very small number of users eg. 1 to 5, etc.
  • the electronic device 100 provides the personalized TTS service to the user A when it is not sufficient to provide the personalized TTS service only with the user's voice uttered by the user A in the process of registering the user A's reference vector. You can provide feedback.
  • the reference vector of candidate synthesized sounds that satisfy the speaker similarity of more than a preset value (eg, 60 points) for all texts for evaluation is , and the reference vector of the candidate synthesized sound that satisfies a prosody score of at least a preset value (eg, 80 points) for at least one text for evaluation is , and the reference vector of a candidate synthesized sound that satisfies a pronunciation score of a preset value (eg, 90 points) or higher for at least one text for evaluation is , and the candidate reference vector of a synthesized sound that satisfies the sound quality score of a preset value (eg, 80 points) or higher for all texts for evaluation is can be identified as
  • the processor 130 uses the synthesized sound evaluation module 40 to generate a reference vector ( ) may be stored in the reference vector storage module 124 of the memory 120 as a reference vector corresponding to user A.
  • the processor 130 may classify a plurality of candidate synthesized sounds according to the plurality of domains based on the domain to which each of the plurality of candidate synthesized sounds belongs.
  • candidate synthesized sounds ( ) is the reference vector ( ) and multiple evaluation texts ( ), and is a candidate synthesized sound ( ) belongs to the evaluation text ( ) may be a domain assigned to
  • the processor 130 may identify at least one synthesized sound for each domain based on at least one of speaker similarity, prosody, pronunciation, and sound quality of each of the at least one candidate synthesized sound belonging to each domain.
  • the reference vector of at least one synthesized sound identified here may be stored in the memory 120 according to a domain to which each evaluation text belongs.
  • the processor 130 may determine whether a synthesized sound that satisfies an evaluation criterion (eg, at least one of speaker similarity, prosody, pronunciation, and sound quality) exists for a specific domain.
  • an evaluation criterion eg, at least one of speaker similarity, prosody, pronunciation, and sound quality
  • the processor 130 provides text for evaluation. and reference vectors Candidate synthesized sounds generated according to the combination of , may be identified as candidate synthesized sounds whose prosody score and pronunciation score satisfy preset values.
  • the processor 130 is a text for evaluation and reference vectors Candidate synthesized sounds generated according to the combination of , may be identified as candidate synthesized sounds whose prosody score and pronunciation score satisfy preset values.
  • the text for evaluation A reference vector that satisfies the prosody score and pronunciation score of text for evaluation It can be evaluated (selected) as a reference vector that can cover the domain of .
  • the processor 130 is a text for evaluation A reference vector that satisfies the prosody score and pronunciation score of text for evaluation It can be evaluated (selected) as a reference vector that can cover the domain of .
  • the processor 130 determines that there is at least one synthesized sound that satisfies an evaluation criterion (eg, at least one of speaker similarity, prosody, pronunciation, and sound quality) for a specific domain through the synthesized sound evaluation module 40. If not, the output interface 140 (refer to FIG. 9B ) may be controlled to output information requesting the utterance of the sentence r′ belonging to a specific domain.
  • an evaluation criterion eg, at least one of speaker similarity, prosody, pronunciation, and sound quality
  • the processor 130 provides text for evaluation. If there is no synthesized sound (or reference vector) that satisfies the prosody score and pronunciation score of A sentence (r ⁇ ) belonging to the domain assigned to can be fed back to the user.
  • the feedback sentence (r ⁇ ) is the text for evaluation In order to cover the domain of , it may include a sentence or word that induces the user to utter it by voice.
  • text for evaluation If is a news domain, the feedback sentence (r ⁇ ) is or news domain text.
  • the processor 130 determines at least one candidate synthesized sound belonging to a domain in which at least one synthesized sound does not exist among the plurality of domains, and a prosody score, a pronunciation score, and a sound quality calculated for the determined candidate synthesized sound Based on the score, it is possible to determine a characteristic of a synthesized sound for which a relatively low score among prosody, pronunciation, and sound quality is calculated.
  • the processor 130 may output, through the speaker 141 , a voice requesting utterance of the generated sentence based on the determined characteristic.
  • the electronic device 100 of the present disclosure may perform evaluation according to various evaluation criteria in the process of registering the user's voice as the voice of the TTS model 30 . Accordingly, a reference vector having optimal performance may be determined as the user's reference vector. In addition, a reference vector capable of covering various types of text may be obtained by providing feedback to the user when only the user's voice uttered by the user is not sufficient to provide the personalized TTS service.
  • the electronic device 100 may synthesize a voice signal using the registered user's voice. This will be described in detail with reference to FIG. 4 .
  • FIG. 4 is a block diagram illustrating an operation for each configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 4 shows a process of synthesizing a voice signal using the user's voice after the user's voice is registered in the TTS model 30 .
  • input data 15 (eg, text t) is provided to the processor 130 .
  • the input data 15 may be a text t obtained as a result of performing speech recognition on a subsequent user's voice.
  • the input data 15 may be a text t input through an input device (eg, a keyboard, etc.).
  • the processor 130 may obtain a text t for a response to the subsequent user's voice.
  • the text t may be text obtained through the ASR module 1 and the NLP module 2 .
  • the processor 130 through the reference vector selection module 25 at least one reference vector corresponding to the user A stored in the reference vector storage module 124 of the memory 120 A reference vector belonging to the domain of text t can be selected from among them.
  • the processor 130 is a text When a plurality of reference vectors belonging to the domain of It is possible to obtain a reference vector of a synthesized sound having the highest score (eg, prosody score, pronunciation score, etc.) calculated based on the text for evaluation belonging to the domain and the characteristics of the synthesized sound.
  • the text The score calculated based on the characteristics of the synthesized sound and the text for evaluation belonging to the domain of may be stored in the memory 120 in the process of registering the user's voice of user A.
  • the reference vector of the synthesized sound with the highest score among the evaluation text belonging to the reading body and the synthesized synthesized sound is , and the reference vector of the synthesized sound with the highest score among the synthesized sound and the evaluation text belonging to the dialogue is Assuming that , the text as input data 15 When the domain of is a reader, at least one reference vector corresponding to the stored user A medium reference vector to text a reference vector belonging to the domain of ) can be selected. Meanwhile, the processor 130 utilizes an arbitrary statistical model (DNN, HMM, GMM, etc.) to have optimal performance for a given text t. It is also possible to select
  • the processor 130 is the input data 15, the text and the selected reference vector ( ) is input to the TTS model 30, and the reference vector ( ) based on the text It is possible to obtain a voice generated for .
  • the processor 130 may control the speaker 141 (refer to FIG. 9B ) to output the acquired voice.
  • FIG. 5 is a diagram for explaining a method of obtaining a reference vector according to an embodiment of the present disclosure.
  • the speaker encoder module 10 may obtain a reference vector through the user's voice.
  • the speaker encoder module 10 may be composed of various types of modules such as a reference encoder, a global style token (GST), a variational autoencoder (VAE), an I-vector, a neural network module, and the like.
  • the speaker encoder module 10 may include an acoustic feature extractor 11 and RNN modules 13-1 to 13-T.
  • the acoustic feature extraction unit 11 may extract acoustic features in units of frames.
  • the dimension of the acoustic feature may be expressed as (T x D).
  • T x D the dimension of the acoustic feature
  • the acoustic characteristics are fixed at the time of designing the TTS model 30 , and thus D may have a fixed value regardless of the voice input.
  • the Recurrent Neural Network (RNN) modules 13-1 to 13-T may output a vector of a fixed dimension regardless of T. For example, assuming that the reference vector is 256-dimensional, a 256-dimensional vector can always be output regardless of T or D.
  • the reference vector may be output by compressing prosody or tone information (global information) rather than phoneme information (local information) included in the corresponding voice. In this case, the last state of the RNN modules 13-1 to 13-T may be used as a reference vector of the present disclosure.
  • FIG. 7 is a view for explaining a TTS model according to an embodiment of the present disclosure.
  • the TTS model 30 performs pre-processing on text and voice waveforms through the language processing unit 31 and the acoustic feature extraction unit 33 to form a phoneme and Acoustic features may be extracted, and the neural network-based AM (Acoustic Model) 35 and the vocoder 37 may be trained using the preprocessed phonemes and acoustic features as learning data.
  • AM Acoustic Model
  • the TTS model 30 extracts a phoneme from the text through the language processing unit 31 , inputs the extracted phoneme to the learned AM 35 to obtain an expected acoustic characteristic as an output thereof, and the learned vocoder 37 ), a synthesized sound can be obtained as an output by inputting the acquired acoustic characteristics.
  • 9A is a diagram for explaining a hardware configuration of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 may include a microphone 110 , a memory 120 , and a processor 130 .
  • the microphone 110 is configured to receive an analog sound signal.
  • the microphone 110 may receive an acoustic signal including a user's voice.
  • the sound signal may represent a sound wave having information such as frequency and amplitude.
  • the memory 120 is a configuration for storing an operating system (OS) for controlling overall operations of the components of the electronic device 100 and various data related to the components of the electronic device 100 .
  • the memory 120 may store information in various ways, such as an electrical method or a magnetic method. Data stored in the memory 120 is accessed by the processor 130 , and reading/writing/modification/deletion/update of data may be performed by the processor 130 .
  • the memory 120 may be configured as hardware for temporarily or permanently storing data or information.
  • the memory 120 may be implemented as hardware at least one of non-volatile memory, volatile memory, flash memory, hard disk drive (HDD) or solid state drive (SSD), RAM, ROM, etc. there is.
  • the processor 130 is a general-purpose processor such as a central processing unit (CPU) and an application processor (AP), a graphics-only processor such as a graphic processing unit (GPU), a vision processing unit (VPU), etc., and artificial It may be implemented as an intelligence-only processor or the like.
  • the processor 130 may include a volatile memory for loading at least one instruction or module.
  • 9B is a diagram for explaining an additional hardware configuration of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 includes an output interface 140 , an input interface 150 , and a communication interface in addition to the microphone 110 , the memory 120 , and the processor 130 . At least one of 160 , a sensor 170 , and a power supply unit 180 may be included.
  • the output interface 140 is a component capable of outputting information.
  • the output interface 140 may include at least one of a speaker 141 and a display 143 .
  • the speaker 141 may directly output various notification sounds or voice messages as well as various audio data on which various processing operations such as decoding, amplification, and noise filtering have been performed by an audio processing unit (not shown).
  • the display 143 may output information or data in a visual form.
  • the display 143 may display the image frame in one area or the entire area of the display that may be driven by pixels.
  • the display 143 may be implemented as a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a micro LED display, a quantum dot LED (QLED) display, or the like.
  • at least a portion of the display 143 may be implemented in the form of a flexible display, and the flexible display may be bent, bent, or rolled without damage through a thin and flexible substrate like paper.
  • the input interface 150 may receive various user commands and transmit them to the processor 130 . That is, the processor 130 may recognize a user command input from the user through the input interface 150 .
  • the user command may be implemented in various ways, such as a user's touch input (touch panel), a key (keyboard), or a button (physical button or mouse, etc.) input.
  • the communication interface 160 may transmit/receive various types of data by performing communication with various types of external devices according to various types of communication methods.
  • the communication interface 160 is a circuit for performing various types of wireless communication, including a Bluetooth module (Bluetooth method), a Wi-Fi module (Wi-Fi method), a wireless communication module (cellular method such as 3G, 4G, 5G), an NFC module (NFC method) ), IR module (infrared method), Zigbee module (Zigbee method), and ultrasonic module (ultrasound method), etc.
  • Ethernet module USB module, HDMI (High Definition Multimedia Interface), DP (DisplayPort), D-SUB (D-subminiature), DVI (Digital Visual Interface), Thunderbolt (Thunderbolt), and may include at least one of a component.
  • the sensor 170 may be implemented with various sensors such as a camera, a proximity sensor, an illuminance sensor, a motion sensor, a ToF sensor, and a GPS sensor.
  • the camera divides light into pixel units, detects light intensity for R (Red), G (Green), and B (Blue) colors for each pixel, and converts the light intensity into an electrical signal.
  • Data representing the color, shape, contrast, etc. of an object can be acquired.
  • the data type may be an image having R, G, and B color values for each of the plurality of pixels.
  • a proximity sensor may detect the presence of a nearby object, and may acquire data on whether the surrounding object is present or whether the surrounding object is in proximity.
  • the illuminance sensor detects the amount of light (or brightness) of the surrounding environment of the electronic device 100 to obtain data on the illuminance.
  • the motion sensor may detect a moving distance, a moving direction, a tilt, and the like of the electronic device 100 .
  • the motion sensor may be implemented as a combination of an acceleration sensor, a gyro sensor, a geomagnetic sensor, and the like.
  • a TOF (Time Of Flight) sensor emits various electromagnetic waves (e.g., ultrasonic, infrared, laser, ultra-wideband (UWB), etc.) with a specific speed and detects the return time of flight, and thus the distance (or position) from the target. ) can be obtained.
  • a Global Positioning System (GPS) sensor receives radio signals from a plurality of satellites, calculates distances to each satellite using a transmission time of the received signals, and calculates the distances from the electronic device 100 using triangulation. ) of the current location can be obtained.
  • GPS Global Positioning System
  • the above-described implementation example of the sensor 170 is only an example, and the present invention is not limited thereto, and it will be possible to implement various types of sensors.
  • the power supply unit 180 may supply power to the electronic device 100 .
  • the power supply unit 180 may supply power to each component of the electronic device 100 through an external commercial power source or a battery.
  • FIG. 10 is a flowchart of a control method of an electronic device according to an embodiment of the present disclosure.
  • obtaining a reference vector of the user’s voice S1010
  • a plurality of generating a candidate reference vector S1020
  • inputting a plurality of candidate reference vectors and a plurality of texts for evaluation into the TTS model 30 to obtain a plurality of synthesized sounds ( S1030 ), a plurality of synthesized sounds and a user voice
  • a step of identifying at least one synthesized sound among the plurality of synthesized sounds based on the similarity between the two groups and the characteristics of the plurality of synthesized sounds S1040
  • the reference vector of the at least one synthesized sound is used as a reference vector corresponding to the user for the TTS model 30 It may include storing in the memory 120 (S1050).
  • a reference vector of the user's voice may be acquired (S1010).
  • a plurality of candidate reference vectors may be generated based on the reference vector (S1020).
  • the plurality of candidate reference vectors include at least one reference vector randomly selected based on the reference vector, the reference vector, and at least one reference vector and masking vector generated based on the reference vector used for training the TTS model 30 . It may include at least one reference vector generated by applying to the reference vector.
  • a plurality of candidate reference vectors and a plurality of texts for evaluation may be input to the TTS model 30 to obtain a plurality of synthesized sounds ( S1030 ).
  • a plurality of candidate reference vectors and a plurality of texts for evaluation are input to the TTS model 30 to obtain a plurality of synthesized sounds generated for each of a plurality of evaluation based on each of the plurality of candidate reference vectors can do.
  • At least one synthesized sound among the plurality of synthesized sounds may be identified ( S1040 ).
  • a candidate synthesized sound having a similarity with the user's voice of which is equal to or greater than a preset threshold value among a plurality of synthesized sounds may be identified.
  • at least one of the candidate synthesized sounds may be identified based on at least one of the prosody, pronunciation, and sound quality of each of the candidate synthesized sounds.
  • a prosody score a pronunciation score, and a sound quality score for each of the candidate synthesized sounds.
  • at least one synthesized sound each having a prosody score, a pronunciation score, and a sound quality score equal to or greater than a preset threshold value among the candidate synthesized sounds may be identified.
  • the plurality of evaluation texts may include at least one evaluation text belonging to each of the plurality of domains.
  • the identifying of the at least one synthesized sound may include classifying the plurality of candidate synthesized sounds according to the plurality of domains based on the domain to which each of the plurality of candidate synthesized sounds belongs.
  • at least one synthesized sound for each domain may be identified based on at least one of a prosody, a pronunciation, and a sound quality of each of the at least one candidate synthesized sound belonging to each domain.
  • the reference vector of at least one synthesized sound may be stored in the memory 120 as a reference vector corresponding to a user for the TTS model 30 ( S1050 ).
  • the electronic device 100 may further include an output interface 140 including at least one of a speaker 141 and a display 143 .
  • control method of the electronic device 100 may determine a domain in which at least one synthesized sound does not exist among a plurality of domains.
  • the output interface 140 may be controlled to output information requesting utterance of a sentence belonging to the determined domain.
  • At least one candidate synthesized sound belonging to a domain in which at least one synthesized sound does not exist among the plurality of domains may be determined. And, when it is determined that a domain in which a synthesized sound does not exist is determined, based on the prosody score, pronunciation score, and sound quality score calculated for the determined candidate synthesized sound, the characteristics of the synthesized sound for which a relatively low score among prosody, pronunciation, and sound quality are calculated can judge
  • the output interface 140 may be controlled to output information requesting utterance of the generated sentence based on the determined characteristic.
  • the electronic device 100 may include a speaker 141 .
  • control method of the electronic device 100 may obtain a text for a response to the subsequent user's voice when the user's subsequent user's voice is received through the microphone 110 .
  • a voice generated for the text may be acquired based on the reference vector.
  • the reference vector of the synthesized sound having the highest score calculated based on the characteristics of the synthesized sound among at least one reference vector corresponding to the user stored in the memory 120 may be obtained.
  • the speaker 141 may be controlled to output the acquired voice.
  • an electronic device for providing a TTS service using a general user's voice and a control method thereof.
  • Various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage medium readable by a machine (eg, a computer).
  • the device calls the stored instructions from the storage medium.
  • an electronic device eg, the electronic device 100
  • the processor directly or the The function described in the instruction may be performed using other components under the control of the processor.
  • the instruction may include code generated or executed by a compiler or an interpreter.
  • a machine-readable storage medium is a non-transitory It may be provided in the form of a (non-transitory) storage medium, where 'non-transitory' means that the storage medium does not include a signal and is tangible, but data is semi-permanent or temporary in the storage medium It does not distinguish that it is stored as
  • the method according to various embodiments may be provided by being included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product may be distributed in the form of a machine-readable storage medium (eg, compact disc read only memory (CD-ROM)) or online through an application store (eg, Play StoreTM).
  • an application store eg, Play StoreTM
  • at least a portion of the computer program product may be temporarily stored or temporarily generated in a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
  • Each of the components may be composed of a singular or a plurality of entities, and some sub-components of the above-described sub-components may be omitted, or other sub-components may be various It may be further included in the embodiment.
  • some components eg, a module or a program
  • operations performed by a module, program, or other component may be sequentially, parallel, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

본 개시에서는 전자 장치 및 그 제어 방법이 제공된다. 본 개시의 일 실시 예에 따른 전자 장치는 마이크로폰, TTS 모델 및 복수의 평가용 텍스트가 저장된 메모리 및 사용자가 발화한 사용자 음성이 마이크로폰을 통해 수신되면, 사용자 음성의 레퍼런스 벡터를 획득하고, 레퍼런스 벡터에 기초하여 복수의 후보 레퍼런스 벡터를 생성하고, 복수의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트를 TTS 모델에 입력하여, 복수의 합성음을 획득하고, 복수의 합성음 및 사용자 음성 간의 유사도 및 복수의 합성음의 특성에 기초하여, 복수의 합성음 중 적어도 하나의 합성음을 식별하고, 적어도 하나의 합성음의 레퍼런스 벡터를 TTS 모델을 위한 사용자에 대응되는 레퍼런스 벡터로 메모리에 저장하는 프로세서를 포함할 수 있다. 본 개시의 전자 장치는 규칙 기반 모델 또는, 기계학습, 신경망 또는 딥러닝 알고리즘 중 적어도 하나에 따라 학습된 인공지능 모델을 이용할 수 있다.

Description

전자 장치 및 그의 제어 방법
본 개시는 전자 장치 및 그의 제어 방법에 관한 것으로, 보다 상세하게는 TTS(Text to Speech) 서비스를 제공하기 위한 전자 장치 및 그의 제어 방법에 관한 것이다.
TTS(Text to Speech)는 기계가 텍스트를 사람의 음성으로 합성(또는 변환)하는 음성 합성(speech synthesis) 기술을 말한다.
TTS 서비스를 통해 목표 화자의 음성과 유사한 스타일(예: 높낮이, 강세, 전달 속도, 억양, 발음, 말하기 습관 등)의 음성을 제공하기 위해서는, 사전에 목표 화자가 발화하는 음성을 녹음하고, 녹음된 음성 데이터를 처리하는 과정이 요구된다. 다양한 텍스트에 대해 목표 화자와 유사한 스타일의 자연스러운 음성을 구현하기 위해서는 적어도 200개 이상의 문장(또는 1시간 이상의 대본 등)의 목표 화자의 발화 음성에 기초하여 모델 적응, 전이 학습 등의 방법을 통한 모델 학습이 요구된다.
이와 같이 목표 화자의 음성을 TTS 서비스의 음성으로 등록하기 위해서는 목표 화자가 매우 많은 수의 문장을 긴 시간 동안 정확한 발음으로 발화해야 한다는 점에서, 일반 사용자의 음성을 TTS 서비스의 음성으로 제공하는 개인화된 TTS 서비스를 제공하기에는 어려움이 있다. 한편, 개인화 TTS를 제공하기 위하여 목표 화자의 음성으로부터 레퍼런스 벡터를 획득하고, 텍스트 및 레퍼런스 벡터를 TTS 모델에 입력하여 목표 화자의 음성 특성을 가지는 합성음을 얻는 방법이 있다. 이 경우, 모델을 훈련(zero-shot/few-shot learning)하지 않을 수 있는 장점이 있지만, 해당 레퍼런스 벡터가 최적의 성능(음질/운율/발음/화자 유사도 등)을 가지는지 알 수 없다는 단점이 있다.
본 개시의 목적은 일반 사용자의 목소리를 이용하여 TTS 서비스를 제공하기 위한 전자 장치 및 그의 제어 방법을 제공함에 있다.
본 개시의 일 실시 예에 따른 전자 장치는 마이크로폰, TTS 모델 및 복수의 평가용 텍스트가 저장된 메모리 및 사용자가 발화한 사용자 음성이 마이크로폰을 통해 수신되면, 사용자 음성의 레퍼런스 벡터를 획득하고, 레퍼런스 벡터에 기초하여 복수의 후보 레퍼런스 벡터를 생성하고, 복수의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트를 TTS 모델에 입력하여, 복수의 합성음을 획득하고, 복수의 합성음 및 사용자 음성 간의 유사도 및 복수의 합성음의 특성에 기초하여, 복수의 합성음 중 적어도 하나의 합성음을 식별하고, 적어도 하나의 합성음의 레퍼런스 벡터를 TTS 모델을 위한 사용자에 대응되는 레퍼런스 벡터로 메모리에 저장하는 프로세서를 포함할 수 있다.
복수의 후보 레퍼런스 벡터는, 레퍼런스 벡터에 기초하여 랜덤하게 선택된 적어도 하나의 레퍼런스 벡터, 레퍼런스 벡터 및 TTS 모델의 훈련에 이용된 레퍼런스 벡터에 기초하여 생성된 적어도 하나의 레퍼런스 벡터 및 마스킹 벡터를 레퍼런스 벡터에 적용하여 생성된 적어도 하나의 레퍼런스 벡터를 포함할 수 있다.
프로세서는, 복수의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트를 TTS 모델에 입력하여, 복수의 후보 레퍼런스 벡터 각각에 기초하여 복수의 평가용 텍스트 각각에 대해 생성된 복수의 합성음을 획득할 수 있다.
프로세서는, 복수의 합성음 중 사용자 음성과의 유사도가 기설정된 임계 값 이상인 후보 합성음을 식별하고, 후보 합성음 각각의 운율, 발음 및 음질 중 적어도 하나에 기초하여, 후보 합성음 중 적어도 하나의 합성음을 식별할 수 있다.
프로세서는, 후보 합성음 각각에 대한 운율 점수, 발음 점수 및 음질 점수를 산출하고, 후보 합성음 중 운율 점수, 발음 점수 및 음질 점수 각각이 기설정된 임계 값 이상인 적어도 하나의 합성음을 식별할 수 있다.
복수의 평가용 텍스트는, 복수의 도메인 각각에 속한 적어도 하나의 평가용 텍스트를 포함하고, 프로세서는, 복수의 후보 합성음 각각이 속한 도메인에 기초하여, 복수의 도메인에 따라 복수의 후보 합성음을 구분하고, 각 도메인에 속한 적어도 하나의 후보 합성음 각각의 운율, 발음 및 음질 중 적어도 하나의 기초하여, 도메인 별로 적어도 하나의 합성음을 식별할 수 있다.
여기에서 식별된 적어도 하나의 합성음의 레퍼런스 벡터는 각 평가용 텍스트가 속한 도메인에 따라 메모리에 저장될 수 있다.
전자 장치는 스피커 및 디스플레이 중 적어도 하나를 포함하는 출력 인터페이스를 더 포함하고, 프로세서는 복수의 도메인 중 적어도 하나의 합성음의 레퍼런스 벡터가 존재하지 않는 도메인을 판단하고, 상기 판단된 도메인에 속한 적어도 하나의 후보 합성음에 대해 산출된 운율 점수, 발음 점수 및 음질 점수에 기초하여, 운율, 발음 및 음질 중 상대적으로 낮은 점수가 산출된 합성음의 특성을 판단하며, 판단된 특성에 기초하여 생성된 문장의 발화를 요청하는 음성을 스피커를 통해 출력할 수 있다.
전자 장치는 스피커를 더 포함하고, 프로세서는 사용자의 후속 사용자 음성이 마이크로폰을 통해 수신되면, 후속 사용자 음성에 대한 응답을 위한 텍스트를 획득하고, 획득된 텍스트 및 메모리에 저장된 사용자에 대응되는 적어도 하나의 레퍼런스 벡터 중 하나를 TTS 모델에 입력하여, 레퍼런스 벡터에 기초하여 텍스트에 대해 생성된 음성을 획득하고, 획득된 음성을 출력하도록 스피커를 제어할 수 있다.
프로세서는, 메모리에 저장된 사용자에 대응되는 적어도 하나의 레퍼런스 벡터 중 합성할 텍스트의 특성에 기초하여 산출된 점수가 가장 높은 레퍼런스 벡터를 획득할 수 있다.
본 개시의 일 실시 예에 따른, TTS 모델 및 복수의 평가용 텍스트가 저장된 메모리를 포함하는 전자 장치의 제어 방법은 사용자가 발화한 사용자 음성이 마이크로폰을 통해 수신되면, 사용자 음성의 레퍼런스 벡터를 획득하는 단계, 레퍼런스 벡터에 기초하여 복수의 후보 레퍼런스 벡터를 생성하는 단계, 복수의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트를 TTS 모델에 입력하여, 복수의 합성음을 획득하는 단계, 복수의 합성음 및 사용자 음성 간의 유사도 및 복수의 합성음의 특성에 기초하여, 복수의 합성음 중 적어도 하나의 합성음을 식별하는 단계 및 적어도 하나의 합성음의 레퍼런스 벡터를 TTS 모델을 위한 사용자에 대응되는 레퍼런스 벡터로 메모리에 저장하는 단계를 포함할 수 있다.
복수의 후보 레퍼런스 벡터는, 레퍼런스 벡터에 기초하여 랜덤하게 선택된 적어도 하나의 레퍼런스 벡터, 레퍼런스 벡터 및 TTS 모델의 훈련에 이용된 레퍼런스 벡터에 기초하여 생성된 적어도 하나의 레퍼런스 벡터 및 마스킹 벡터를 레퍼런스 벡터에 적용하여 생성된 적어도 하나의 레퍼런스 벡터를 포함할 수 있다.
복수의 합성음을 획득하는 단계는, 복수의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트를 TTS 모델에 입력하여, 복수의 후보 레퍼런스 벡터 각각에 기초하여 복수의 평가용 텍스트 각각에 대해 생성된 복수의 합성음을 획득할 수 있다.
적어도 하나의 합성음을 식별하는 단계는, 복수의 합성음 중 사용자 음성과의 유사도가 기설정된 임계 값 이상인 후보 합성음을 식별하는 단계 및 후보 합성음 각각의 운율, 발음 및 음질 중 적어도 하나에 기초하여, 후보 합성음 중 적어도 하나의 합성음을 식별하는 단계를 포함할 수 있다.
적어도 하나의 합성음을 식별하는 단계는, 후보 합성음 각각에 대한 운율 점수, 발음 점수 및 음질 점수를 산출하는 단계 및 후보 합성음 중 운율 점수, 발음 점수 및 음질 점수 각각이 기설정된 임계 값 이상인 적어도 하나의 합성음을 식별하는 단계를 포함할 수 있다.
복수의 평가용 텍스트는, 복수의 도메인 각각에 속한 적어도 하나의 평가용 텍스트를 포함하고, 적어도 하나의 합성음을 식별하는 단계는, 복수의 후보 합성음 각각이 속한 도메인에 기초하여, 복수의 도메인에 따라 복수의 후보 합성음을 구분하는 단계 및 각 도메인에 속한 적어도 하나의 후보 합성음 각각의 운율, 발음 및 음질 중 적어도 하나의 기초하여, 도메인 별로 적어도 하나의 합성음을 식별하는 단계를 포함할 수 있다.
여기에서 식별된 적어도 하나의 합성음의 레퍼런스 벡터는 각 평가용 텍스트가 속한 도메인에 따라 메모리에 저장될 수 있다.
전자 장치는 스피커 및 디스플레이 중 적어도 하나를 포함하는 출력 인터페이스를 더 포함하고, 제어 방법은 복수의 도메인 중 적어도 하나의 합성음이 존재하지 않는 도메인을 판단하는 단계, 판단된 도메인에 속한 적어도 하나의 후보 합성음에 대해 산출된 운율 점수, 발음 점수 및 음질 점수에 기초하여, 운율, 발음 및 음질 중 상대적으로 낮은 점수가 산출된 합성음의 특성을 판단하는 단계 및 상기 판단된 도메인에 속하는 문장의 발화를 요청하는 정보를 출력하도록 출력 인터페이스를 제어하는 단계를 더 포함할 수 있다.
전자 장치는 스피커를 포함하고, 제어 방법은 사용자의 후속 사용자 음성이 마이크로폰을 통해 수신되면, 후속 사용자 음성에 대한 응답을 위한 텍스트를 획득하는 단계, 획득된 텍스트 및 메모리에 저장된 사용자에 대응되는 적어도 하나의 레퍼런스 벡터 중 하나를 TTS 모델에 입력하여, 레퍼런스 벡터에 기초하여 텍스트에 대해 생성된 음성을 획득하는 단계 및 획득된 음성을 출력하도록 스피커를 제어하는 단계를 포함할 수 있다.
음성을 획득하는 단계는, 메모리에 저장된 사용자에 대응되는 적어도 하나의 레퍼런스 벡터 중 합성할 텍스트의 특성에 기초하여 산출된 점수가 가장 높은 레퍼런스 벡터를 획득하는 단계를 포함할 수 있다.
본 개시의 다양한 실시 예에 따르면, 일반 사용자의 목소리를 이용하여 TTS 서비스를 제공하기 위한 전자 장치 및 그의 제어 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에 따르면 TTS 서비스의 목소리를 등록하기 위해 발화가 요구되는 문장의 수를 최소화하면서 최적의 성능을 가지도록 시스템을 구성할 수 있다. 또한, 본 개시의 일 실시 예에 따르면 사용자마다 TTS 모델을 재훈련하지 않아도 사용자의 목소리를 통해 개인화된 TTS 서비스를 제공할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성별 동작을 설명하기 위한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성별 동작을 설명하기 위한 블록도이다.
도 4는 본 개시의 일 실시 예에 따른 전자 장치의 구성별 동작을 설명하기 위한 블록도이다.
도 5는 본 개시의 일 실시 예에 따른 레퍼런스 벡터를 획득하는 방법을 설명하기 위한 도면이다.
도 6a는 본 개시의 일 실시 예에 따른 후보 레퍼런스 벡터를 생성하는 방법을 설명하기 위한 도면이다.
도 6b는 본 개시의 일 실시 예에 따른 후보 레퍼런스 벡터를 생성하는 방법을 설명하기 위한 도면이다.
도 6c는 본 개시의 일 실시 예에 따른 후보 레퍼런스 벡터를 생성하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 TTS 모델을 설명하기 위한 도면이다.
도 8a는 본 개시의 일 실시 예에 따른 합성음을 식별하는 방법을 설명하기 위한 도면이다.
도 8b는 본 개시의 일 실시 예에 따른 합성음을 식별하는 방법을 설명하기 위한 도면이다.
도 8c는 본 개시의 일 실시 예에 따른 합성음을 식별하는 방법을 설명하기 위한 도면이다.
도 8d는 본 개시의 일 실시 예에 따른 합성음을 식별하는 방법을 설명하기 위한 도면이다.
도 9a는 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어 구성을 설명하기 위한 도면이다.
도 9b는 본 개시의 일 실시 예에 따른 전자 장치의 부가적인 하드웨어 구성을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법에 대한 흐름도이다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 상기 구성요소들을 한정하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 상기 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 상기 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)는 대화형 시스템으로 구현될 수 있다.
여기서, 전자 장치(100)는 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device), 로봇 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나로서 구현될 수 있다. 다만, 이는 일 실시 예일 뿐이며, 전자 장치(100)는 이에 제한되지 아니하고 다양한 형태 및 다양한 용도를 갖는 전자 장치로 구현될 수 있다.
대화형 시스템은 사용자 음성을 통해 사용자의 의도를 파악하고 사용자의 의도에 대응되는 응답을 출력하는 등과 같이 대화를 통해 사용자와 상호작용할 수 있는 시스템을 말한다.
구체적인 일 실시 예로서, 전자 장치(100)는 ASR 모듈(1), NLP 모듈(2), TTS 모듈(3)을 포함할 수 있다. 또한, 전자 장치(100)는 사용자 음성을 수신하기 위한 마이크로폰(110) 및 사용자 음성에 응답하는 정보를 출력하기 위한 출력 인터페이스(140)를 포함할 수 있다. 예를 들어, 출력 인터페이스(140)는 소리를 출력하기 위한 스피커를 포함할 수 있다.
ASR(Automatic Speech Recognition) 모듈(1)은 마이크로폰(110)을 통해 수신된 음성 신호(즉, 사용자 음성)를 언어 모델(Language Model)과 음향 모델(Acoustic Model)을 이용하여 단어(word) 또는 음소(phoneme) 시퀀스 등의 텍스트(문자열)로 변환할 수 있다. 언어 모델은 단어 또는 음소 시퀀스에 확률을 할당하는 모델이고, 음향 모델은 음성 신호 및 음성 신호에 대한 텍스트 간의 관계를 나타내는 모델일 수 있다. 이들 모델은 확률 통계 또는 인공 신경망을 기반으로 구성될 수 있다.
NLP(Natural Language Processing) 모듈(2)은 사용자 음성에 대응되는 텍스트에 대해 형태소 분석(morphological analysis), 구문 분석(syntactic analysis), 의미적 분석(semantic analyze) 등의 다양한 분석 방식을 이용하여 사용자 음성에 대응되는 텍스트를 구성하는 단어 또는 문장의 의미를 식별하고, 식별된 의미를 기초로 사용자의 의도를 파악하고, 이에 대응되는 응답 정보를 획득할 수 있다. 이때, 응답 정보는 텍스트 형태일 수 있다.
TTS(Text to Speech) 모듈(3)은 텍스트를 음성 신호로 변환하여 출력 인터페이스(140)(예: 스피커)를 통해 출력할 수 있다. 즉, NLP 모듈(2)에서 획득되는 응답 정보는 TTS 모듈(3)을 통해 텍스트 형태에서 음성 신호의 형태로 변환될 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치(100)는 개인화된 TTS 서비스를 제공할 수 있다. 개인화된 TTS 서비스란 TTS 모듈(3)을 통해 사용자 개인(또는 타 사용자)의 음성을 이용하여 텍스트를 음성 신호로 변환(또는 합성)하는 것을 말한다. 이를 위해, 사용자의 음성을 사전에 전자 장치(100)에 등록하는 과정이 요구될 수 있다. 본 개시의 전자 장치(100)는 TTS 서비스의 목소리를 등록하기 위해 사용자에 의해 발화가 요구되는 문장의 수를 최소화할 수 있다. 또한, 본 개시의 일 실시 예에 따르면 사용자마다 TTS 모델을 재훈련하지 않아도 사용자의 목소리를 통해 개인화된 TTS 서비스를 제공할 수 있다. 이에 대한 구체적인 내용은 첨부된 도면을 참조하여 설명하도록 한다.
도 2 및 도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성별 동작을 설명하기 위한 블록도이다. 도 3은 적어도 하나의 평가용 텍스트의 평가 기준을 만족하는 레퍼런스 벡터가 존재하지 않는 경우의 동작을 나타낸다.
도 2를 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)는 마이크로폰(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다.
마이크로폰(110)은 사용자 음성을 수신할 수 있다.
메모리(120)는 복수의 평가용 텍스트를 저장할 수 있다. 예를 들어, 복수의 평가용 텍스트는 메모리(120) 내에 평가용 텍스트 데이터베이스(123)에 저장될 수 있다. 평가용 텍스트의 단위는 하나의 문장일 수 있으나 이는 일 실시 예일 뿐이며, 평가용 텍스트의 단위는 다양하게 변형될 수 있다.
또한, 메모리(120)는 TTS 모델(30)의 화자로 등록된 사용자의 레퍼런스 벡터를 저장할 수 있다. 등록된 사용자의 레퍼런스 벡터는 메모리(120) 내에 레퍼런스 벡터 저장 모듈(124)에 저장될 수 있다. 등록된 사용자의 레퍼런스 벡터는 등록된 사용자의 고유한 음성 특징에 가장 부합하는 레퍼런스 벡터를 나타낼 수 있다.
프로세서(130)는 사용자의 음성으로 텍스트를 합성하기 위해 사용자의 음성으로부터 최적의 레퍼런스 벡터를 추출하여 사용자의 레퍼런스 벡터로 등록할 수 있다.
이를 위해, 프로세서(130)는 화자 인코더 모듈(10), 후보 레퍼런스 벡터 생성 모듈(20), TTS 모델(30), 합성음 평가 모듈(40) 각각에 포함된 인스트럭션을 실행함으로써 각 인스트럭션에 해당하는 동작을 수행할 수 있다. 여기서, 화자 인코더 모듈(10), 후보 레퍼런스 벡터 생성 모듈(20), TTS 모델(30), 합성음 평가 모듈(40)는 메모리(120)에 저장되거나, 또는 프로세서(130) 내부의 메모리에 저장되어 있을 수 있다.
구체적으로, 프로세서(130)는 사용자 A가 발화한 사용자 음성이 마이크로폰(110)을 통해 수신되면, 화자 인코더 모듈(10)을 통해 수신된 사용자 음성으로부터 사용자 음성의 레퍼런스 벡터를 획득할 수 있다.
예를 들어, 프로세서(130)는 TTS 모델(30)의 사용자 등록을 위한 사용자A의 요청(예: 사용자 A의 터치 입력, 음성 명령 등의 형태)이 수신되면, 프로세서(130)는 사용자 A가 발화하도록 기설정된 레퍼런스 텍스트(Reference text, r)를 제공할 수 있다. 이후, 프로세서(130)는 사용자 A가 발화한 사용자 음성이 마이크로폰(110)을 통해 수신되면, 화자 인코더 모듈(10)을 통해 수신된 사용자 음성으로부터 레퍼런스 벡터를 획득할 수 있다. 다만, 이는 일 실시 예일 뿐, 기설정된 레퍼런스 텍스트에 대한 제공 없이 사용자 A가 자연어를 발화하면 해당 자연어를 레퍼런스 텍스트로 인식하는 것 또한 가능하다.
여기서, 레퍼런스 벡터(Reference vector; RV,
Figure PCTKR2021013996-appb-img-000001
)는 레퍼런스 텍스트(Reference text, r)를 발화한 사용자 A(화자 A)의 사용자 음성(
Figure PCTKR2021013996-appb-img-000002
)에서 나타나는 음성 특징을 다차원(즉, 2이상)의 벡터(또는 벡터열)로 정의한 것을 말한다. 레퍼런스 벡터의 각 차원(또는 열)은 운율, 발음, 주파수 대역, 화자의 나이, 화자의 성별 등의 음성 특징을 나타낼 수 있다. 레퍼런스 텍스트는 사용자가 발화하는 문장(또는 단어 등)을 말하며, 발화하는 방식에 따른 도메인(예: 낭독체, 대화체, 뉴스체 등)이 할당될 수 있다.
도 5를 참조하여, 마이크로폰(110)에서 수신된 아날로그 형태의 음향 신호는 ADC(Analog-to-Digital Converter)를 통해 디지털 형태의 음향 신호로 변환될 수 있다. 여기서 음향 신호에는 레퍼런스 텍스트(r)를 발화한 사용자 A의 사용자 음성(
Figure PCTKR2021013996-appb-img-000003
)이 포함될 수 있다. 한편, ADC는 마이크로폰(110) 또는 프로세서(130)에 내장된 형태로 구현되거나, 별도의 장치로 구현되는 등 다양한 변형 실시 예가 가능하다.
이 경우, 프로세서(130)는 에너지 레벨에 기초하여 음향 신호에서 사용자 음성(
Figure PCTKR2021013996-appb-img-000004
)에 해당하는 구간의 음향 신호를 식별할 수 있다.
그리고, 프로세서(130)는 사용자 음성(
Figure PCTKR2021013996-appb-img-000005
)에 해당하는 구간의 음향 신호를 프레임(예: 20ms, 40ms 등) 단위로 구분하고, 각 프레임에 푸리에 변환(Fourier  Transform)을 적용하여 스펙트럼을 산출할 수 있다. 여기서, 음향 신호는 시간에 따른 진폭(또는 음압)과 같은 시간 영역(time domain)으로 표현되는 파형(waveform)을 나타내며, 스펙트럼(spectrum)은 주파수에 따른 진폭(또는 음압)과 같은 주파수 영역(frequency domain)으로 표현되는 파형일 수 있다. 예를 들어, 음향 신호는 가로축이 시간이고 세로축이 진폭인 관계로 파형을 나타내며, 스펙트럼은 가로축이 주파수이고 세로축이 진폭인 관계로 파형을 나타낼 수 있다. 이때, 스펙트럼은 일반적인 주파수 영역의 스펙트럼이거나, 사람이 민감하게 인식하는 주파수의 관계를 나타내는 멜 스케일(Mel Scale)에 기반한 필터 뱅크(Filter Bank)를 스펙트럼에 적용한 멜 스펙트럼(Mel Spectrum), 주파수 축 및 진폭 축의 관계를 갖는 스펙트로그램(spectrogram; SPG) 등의 다양한 종류의 스펙트럼일 수 있다. 또한, 스펙트럼은 스펙트럼으로부터 변형될 수 있는 캡스트럼(cepstrum)이나, 멜 캡스트럼(Mel Cepstrum)일 수 있고, 음높이/하모닉 정보를 가지는 pitch lag 나 pitch correlation을 포함할 수 있다. 다만, 이는 일 실시 예일 뿐이며, 스펙트럼은 음성의 특징을 가지는 다양한 음향 특징벡터일 수 있다.
그리고, 프로세서(130)는 스펙트럼에서 레퍼런스 벡터를 획득할 수 있다. 일 실시 예로서, 프로세서(130)는 레퍼런스 벡터는 멜 스펙트럼을 화자 인식기에 입력하여 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000006
)를 획득할 수 있다. 다만, 이는 일 실시 예일 뿐, 프로세서(130)는 켑스트럼(Cepstrum), 선형 예측 코딩(Linear Predictive Coefficient, LPC) 및 필터 뱅크 에너지(Filter Bank Energy), Wav2Vec, SincNet, PASE 등의 다양한 알고리즘(또는 뉴럴 네트워크) 중 하나를 사용하여 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000007
)를 획득할 수 있다. 이때, 획득되는 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000008
)는 i-vector, d-vector, x-vector 등 다양한 형태의 벡터일 수 있다.
한편, 화자 인코더 모듈(10)을 통해 레퍼런스 벡터를 획득하는 구체적인 방법에 대해서는 도 5와 함께 후술하여 설명하도록 한다.
그리고, 프로세서(130)는 후보 레퍼런스 벡터 생성 모듈(20)을 통해, 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000009
)에 기초하여 복수의 후보 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000010
)를 생성할 수 있다.
여기에서, 복수의 후보 레퍼런스 벡터는, 제1 실시 예로서 레퍼런스 벡터에 기초하여 랜덤하게 선택된 레퍼런스 벡터, 제2 실시 예로서 레퍼런스 벡터 및 TTS 모델(30)의 훈련에 이용된 레퍼런스 벡터에 기초하여 생성된 레퍼런스 벡터, 및 제3 실시 예로서 마스킹 벡터를 레퍼런스 벡터에 적용하여 생성된 레퍼런스 벡터 중 하나 또는 이들의 조합을 포함할 수 있다. 구체적인 내용은 도 6a 내지 도 6c를 참조하여 설명하도록 한다.
도 6a 내지 도 6c는 본 개시의 일 실시 예에 따른 후보 레퍼런스 벡터를 생성하는 방법을 설명하기 위한 도면이다. 도 6a 내지 도 6c은 평면(610, 620, 630) 상에 레퍼런스 벡터를 표현한 것이며, 평면(610, 620, 630) 상에 레퍼런스 벡터의 위치가 가까울수록 레퍼런스 벡터의 특성은 유사한 것을 의미한다.
도 6a를 참조하여, 본 개시의 제1 실시 예로서, 복수의 후보 레퍼런스 벡터(612)(
Figure PCTKR2021013996-appb-img-000011
)는 레퍼런스 벡터(611)(
Figure PCTKR2021013996-appb-img-000012
)에 기초하여 랜덤하게 선택된 적어도 하나의 레퍼런스 벡터를 포함할 수 있다.
예를 들어, 프로세서(130)는 다음의 수학식 1에 따라 레퍼런스 벡터(611)(
Figure PCTKR2021013996-appb-img-000013
)에 노이즈를 합산하여 적어도 하나의 후보 레퍼런스 벡터(612)(
Figure PCTKR2021013996-appb-img-000014
)를 생성할 수 있다.
[수학식 1]
Figure PCTKR2021013996-appb-img-000015
여기서, 노이즈는 정규 분포(Normal distribution) 또는 연속균등 분포 (Uniform distribution) 또는 다양한 확률 분포를 따르는 랜덤한 값이며, 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000016
)의 차원 중 적어도 하나의 차원에 대한 값일 수 있다.
또한, 노이즈는 기설정된 범위 이내의 값을 가질 수 있다. 이 경우, 도 6a에서와 같이 후보 레퍼런스 벡터(612)(
Figure PCTKR2021013996-appb-img-000017
)는 레퍼런스 벡터(611)(
Figure PCTKR2021013996-appb-img-000018
)를 기준으로 기설정된 반경 이내에 존재하는 벡터가 될 수 있다.
한편 도 6b를 참조하여, 본 개시의 제2 실시 예로서, 복수의 후보 레퍼런스 벡터(625)(
Figure PCTKR2021013996-appb-img-000019
)는 레퍼런스 벡터(621)(
Figure PCTKR2021013996-appb-img-000020
) 및 TTS 모델(30)의 훈련에 이용된 레퍼런스 벡터에 기초하여 생성된 적어도 하나의 레퍼런스 벡터를 포함할 수 있다.
예를 들어, 프로세서(130)는 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000021
) 및 TTS 모델(30)의 훈련에 이용된 복수의 화자의 레퍼런스 벡터(예: 화자 B의 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000022
, 화자 C의 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000023
등) 간의 거리를 비교하여, 복수의 화자의 레퍼런스 벡터 중에서 거리가 가장 근접한 하나의 레퍼런스 벡터(623)(예: 화자 B의 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000024
)를 식별할 수 있다.
그리고, 프로세서(130)는 다음의 수학식 2에 따라 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000025
) 및 TTS 모델(30)의 훈련에 이용된 레퍼런스 벡터 중 거리가 가장 근접한 레퍼런스 벡터(623)(예: 화자 B의 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000026
)에 대해 보간법(Interpolation)을 적용하여 적어도 하나의 후보 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000027
)를 생성할 수 있다.
[수학식 2]
Figure PCTKR2021013996-appb-img-000028
여기서,
Figure PCTKR2021013996-appb-img-000029
Figure PCTKR2021013996-appb-img-000030
는 두 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000031
)를 지나는 함수(예: 1차 함수, 2차 함수 등) 상에 후보 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000032
)가 위치하도록 하는 임의의 계수를 나타낸다. 예를 들어, 1차 함수인 경우
Figure PCTKR2021013996-appb-img-000033
는 0.9 및
Figure PCTKR2021013996-appb-img-000034
는 0.1,
Figure PCTKR2021013996-appb-img-000035
는 0.8 및
Figure PCTKR2021013996-appb-img-000036
는 0.2,
Figure PCTKR2021013996-appb-img-000037
는 0.7 및
Figure PCTKR2021013996-appb-img-000038
는 0.3 등이 적용될 수 있다.
한편 본 개시의 제3 실시 예로서, 복수의 후보 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000039
)는 마스킹 벡터를 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000040
)에 적용하여 생성된 적어도 하나의 레퍼런스 벡터를 포함할 수 있다.
예를 들어, 프로세서(130)는 다음의 수학식 3에 따라 마스킹 벡터(W)를 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000041
)에 적용하여 적어도 하나의 후보 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000042
)를 생성할 수 있다.
[수학식 3]
Figure PCTKR2021013996-appb-img-000043
여기서, W는 마스킹 벡터이며, 0 또는 1, 또는 0 내지 1 사이의 값, 또는 다양한 값을 갖는 행렬로 구성될 수 있다.
한편, 본 개시의 일 실시 예에 따른 복수의 후보 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000044
)는 제1 내지 제3 실시 예들의 적어도 하나의 조합일 수 있다. 즉, 복수의 후보 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000045
)는 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000046
)에 기초하여 랜덤하게 선택된 적어도 하나의 레퍼런스 벡터, 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000047
) 및 TTS 모델(30)의 훈련에 이용된 레퍼런스 벡터에 기초하여 생성된 적어도 하나의 레퍼런스 벡터 및 마스킹 벡터를 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000048
)에 적용하여 생성된 적어도 하나의 레퍼런스 벡터 중에서 적어도 하나를 포함할 수 있다. 예를 들어, 제1 실시 예 및 제2 실시 예의 조합은 도 6c와 같이 나타날 수 있다.
그리고, 프로세서(130)는 복수의 후보 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000049
) 및 메모리(120)에 저장된 복수의 평가용 텍스트(
Figure PCTKR2021013996-appb-img-000050
)를 TTS 모델(30)에 입력하여, 복수의 합성음(
Figure PCTKR2021013996-appb-img-000051
)을 획득할 수 있다.
구체적으로, 프로세서(130)는 복수의 후보 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000052
) 및 복수의 평가용 텍스트(
Figure PCTKR2021013996-appb-img-000053
)를 TTS 모델(30)에 입력하여, 복수의 후보 레퍼런스 벡터 각각(
Figure PCTKR2021013996-appb-img-000054
)에 기초하여 복수의 평가용 텍스트 각각(
Figure PCTKR2021013996-appb-img-000055
)에 대해 생성된 복수의 합성음(
Figure PCTKR2021013996-appb-img-000056
)을 획득할 수 있다. 여기서, 생성되는 합성음
Figure PCTKR2021013996-appb-img-000057
은 후보 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000058
및 평가용 텍스트
Figure PCTKR2021013996-appb-img-000059
를 합성하여 생성된 것을 나타낸다. 이때, 후보 레퍼런스 벡터의 수가 N개이고, 평가용 텍스트의 수가 M개인 경우, 생성되는 합성음의 수는 N x M개 일 수 있다.
여기서, 복수의 평가용 텍스트(
Figure PCTKR2021013996-appb-img-000060
)는 복수의 도메인(예: 낭독체, 대화체, 뉴스체 등) 각각에 속한 적어도 하나의 평가용 텍스트를 포함할 수 있다. 즉, 복수의 평가용 텍스트(
Figure PCTKR2021013996-appb-img-000061
) 각각에는 도메인이 기할당되어 있을 수 있다.
예를 들어, 도메인은 텍스트의 스타일에 따라 낭독체, 대화체, 의문문, 감탄문 등의 종류를 포함할 수 있으며, 텍스트의 컨텐츠에 따라 챗봇, NLG(Natural Language Generation), 뉴스, 사전, Wiki, 음악(노래제목, 가수, 가사 등), 가전제품(예를 들어 에어컨), Bigdata(웹 크롤링 내용), 동화책, 소설책 등의 종류를 포함할 수 있다. 다만, 이는 일 실시 예일 뿐이며, 도메인은 이에 제한되지 아니하고 다양한 실시 예로 변형될 수 있다.
일 실시 예로서, TTS(Text to Speech) 모델(133)은 음향 모델(acoustic model; AM) 및 보코더(vocoder; Voice Decoder)를 포함할 수 있다. 한편, TTS 모델(133)에 대한 구체적인 설명은 도 7과 함께 후술하여 설명하도록 한다.
음향 모델은 Tacotron, Tacotron 2, Transformer, text2mel, DCTTS(Deep Convolutional TTS) 등의 다양한 알고리즘 중 적어도 하나를 이용하여 텍스트 및 레퍼런스 벡터를 음향 특징(acoustic feature)으로 변환할 수 있다. 이 때, 생성되는 음향 특징은 레퍼런스 벡터, 즉 해당 화자의 특징(예: 음색, 음의 높이, 세기, 발음 등)을 가질 수 있다. 여기서, 음향 특징은 음성 구간(예: 프레임 단위, 또는 문장 단위)에서의 소리의 고유한 특징(예: 음색, 음의 높이, 세기, 발음 등)을 나타낼 수 있다. 예를 들어 음향 특징은 파형(waveform)과 스펙트럼(spectrum)이 조합되는 스펙트로그램 (Spectrogram), 멜 스펙트로그램(Mel-spectrogram), Cepstrum, pitch lag, pitch correlation, MCME(Mel-frequency Cepstrum Modualtion Energy), MFCC(Mel frequency cepstral coefficient) 등의 형식 중 하나 또는 이들의 조합으로 구현될 수 있다.
보코더는 WaveNet, Parallel Wavenet, WaveGlow, WaveRNN, LPCNet 등의 다양한 알고리즘을 통해 레퍼런스 벡터 및 음향 특징을 합성하여 합성음을 생성할 수 있다. 예를 들어, 보코더는 멜 스펙트럼 등의 음향 특징 및 레퍼런스 벡터를 입력하면 합성음을 출력하도록 학습된 뉴럴 네트워크 기반의 인공 지능 모델일 수 있다.
그리고, 프로세서(130)는 합성음 평가 모듈(40)을 통해, 복수의 합성음(
Figure PCTKR2021013996-appb-img-000062
) 및 사용자 음성 간의 유사도 및 복수의 합성음(
Figure PCTKR2021013996-appb-img-000063
)의 특성에 기초하여, 복수의 합성음(
Figure PCTKR2021013996-appb-img-000064
) 중 적어도 하나의 합성음을 식별할 수 있다.
구체적으로, 프로세서(130)는 복수의 합성음(
Figure PCTKR2021013996-appb-img-000065
) 중 사용자 음성(
Figure PCTKR2021013996-appb-img-000066
)과의 유사도(즉, 화자 유사도)가 기설정된 임계 값 이상인 후보 합성음을 식별할 수 있다. 이에 대한 구체적인 내용은 도 8a 및 도 8b를 참조하여 설명하도록 한다. 그리고, 프로세서(130)는 후보 합성음 각각의 운율, 발음 및 음질 중 적어도 하나에 기초하여, 후보 합성음 중 적어도 하나의 합성음을 식별할 수 있다. 이에 대한 구체적인 내용은 도 8c 및 도 8d를 참조하여 설명하도록 한다.
도 8a 내지 8d는 본 개시의 일 실시 예에 따른 합성음을 식별하는 방법을 설명하기 위한 도면이다.
도 8a를 참조하여, 일 실시 예로서 프로세서(130)는 복수의 합성음(
Figure PCTKR2021013996-appb-img-000067
) 각각을 화자 인코더 모듈(10)에 입력하면, 화자 인코더 모듈(10)로부터 각각 출력된 복수의 합성음(
Figure PCTKR2021013996-appb-img-000068
)에 대한 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000069
)를 획득할 수 있다. 그리고, 프로세서(130)는 복수의 합성음(
Figure PCTKR2021013996-appb-img-000070
)에 대한 레퍼런스 벡터 각각(
Figure PCTKR2021013996-appb-img-000071
)을 사용자 음성(
Figure PCTKR2021013996-appb-img-000072
)에 대한 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000073
)와 비교하여 유사도를 판단할 수 있다. 여기서, 사용자 음성(
Figure PCTKR2021013996-appb-img-000074
)에 대한 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000075
)는 화자 인코더 모듈(10)에 사용자 음성(
Figure PCTKR2021013996-appb-img-000076
)을 입력하면, 화자 인코더 모듈(10)로부터 출력되어 획득된 것이다.
여기서, 유사도는 유클리드 거리, 코사인 유사도 방식 등의 다양한 방식을 통해 산출될 수 있다. 또한, 레퍼런스 벡터 간의 유사도는 합성음 간의 화자 유사도로 간주될 수 있다. 즉, 프로세서(130)는 복수의 합성음(
Figure PCTKR2021013996-appb-img-000077
)에 대한 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000078
) 중에서 유사도가 기설정된 임계 값 이상인 레퍼런스 벡터를 갖는 합성음을 후보 합성음으로 식별할 수 있다.
한편, 복수의 합성음(
Figure PCTKR2021013996-appb-img-000079
)은 복수의 합성음(
Figure PCTKR2021013996-appb-img-000080
)을 생성하는데 이용된 후보 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000081
) 단위의 그룹으로 분류될 수 있다. 예를 들어, 제1 후보 레퍼런스 벡터 (
Figure PCTKR2021013996-appb-img-000082
) 및 제1 내지 제M 평가용 텍스트 (
Figure PCTKR2021013996-appb-img-000083
) 를 통해 생성된 합성음 (
Figure PCTKR2021013996-appb-img-000084
)은 동일한 그룹으로 분류될 수 있다. 즉, 1개의 후보 레퍼런스 벡터 및 M개의 평가용 텍스트를 통해 생성된 합성음은 동일한 그룹으로 분류될 수 있다.
이 경우, 프로세서(130)는 복수의 합성음(
Figure PCTKR2021013996-appb-img-000085
)에 대한 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000086
)를 그룹 단위로 레퍼런스 벡터의 편차(또는 분포도)를 판단할 수 있다. 그리고, 프로세서(130)는 편차가 가장 작은 그룹의 레퍼런스 벡터를 식별할 수 있다. 이 경우, 프로세서(130는 편차가 가장 작은 그룹의 레퍼런스 벡터를 통해 합성된 합성음을 후보 합성음으로 식별할 수 있다.
예를 들어, 제1 후보 레퍼런스 벡터 (
Figure PCTKR2021013996-appb-img-000087
) 및 제1 내지 제M 평가용 텍스트 (
Figure PCTKR2021013996-appb-img-000088
) 를 통해 생성된 합성음 (
Figure PCTKR2021013996-appb-img-000089
)은 제1 그룹(
Figure PCTKR2021013996-appb-img-000090
)으로 분류되고, 제2 후보 레퍼런스 벡터 (
Figure PCTKR2021013996-appb-img-000091
) 및 제1 내지 제M 평가용 텍스트 (
Figure PCTKR2021013996-appb-img-000092
) 를 통해 생성된 합성음 (
Figure PCTKR2021013996-appb-img-000093
)은 제2 그룹(
Figure PCTKR2021013996-appb-img-000094
)으로 분류되고, 제3 후보 레퍼런스 벡터 (
Figure PCTKR2021013996-appb-img-000095
) 및 제1 내지 제M 평가용 텍스트 (
Figure PCTKR2021013996-appb-img-000096
) 를 통해 생성된 합성음 (
Figure PCTKR2021013996-appb-img-000097
)은 제3 그룹(
Figure PCTKR2021013996-appb-img-000098
)으로 분류된 경우에, 제1 내지 제3 그룹이 도 8a의 평면(810)과 같이 위치한 경우를 가정할 수 있다. 이 경우, 프로세서(130)는 사용자 음성(
Figure PCTKR2021013996-appb-img-000099
)에 대한 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000100
)을 기준으로 편차가 가장 작은 제3 그룹(
Figure PCTKR2021013996-appb-img-000101
)의 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000102
)를 식별할 수 있다. 이 경우, 프로세서(130)는 제3 그룹(
Figure PCTKR2021013996-appb-img-000103
)의 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000104
)를 통해 합성된 합성음 (
Figure PCTKR2021013996-appb-img-000105
)을 후보 합성음으로 식별할 수 있다.
한편, 도 8b와 같이 본 개시의 일 실시 예에 따른 프로세서(130)는 복수의 화자 인코더 모듈(10-1 내지 10-3)을 이용하여 후보 합성음을 식별할 수 있다. 예를 들어, 제1 내지 제3 화자 인코더 모듈(10-1 내지 10-3)은 서로 다른 종류의 레퍼런스 벡터(예: i-vector, d-vector, x-vector 등)을 출력하도록 모델링된 것일 수 있다.
프로세서(130)는 복수의 합성음(
Figure PCTKR2021013996-appb-img-000106
) 및 사용자 음성(
Figure PCTKR2021013996-appb-img-000107
)을 제1 화자 인코더 모듈(10-1)에 입력하면, 제1 화자 인코더 모듈(10-1)로부터 출력된 복수의 합성음(
Figure PCTKR2021013996-appb-img-000108
)에 대한 제1 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000109
) 및 사용자 음성(
Figure PCTKR2021013996-appb-img-000110
)에 대한 제1 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000111
)를 획득하고, 이들을 비교하여 제1 유사도를 판단할 수 있다.
또한, 프로세서(130)는 복수의 합성음 (
Figure PCTKR2021013996-appb-img-000112
) 및 사용자 음성(
Figure PCTKR2021013996-appb-img-000113
)을 제2 화자 인코더 모듈(10-2)에 입력하면, 제2 화자 인코더 모듈(10-2)로부터 출력된 복수의 합성음 (
Figure PCTKR2021013996-appb-img-000114
)에 대한 제2 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000115
) 및 사용자 음성(
Figure PCTKR2021013996-appb-img-000116
)에 대한 제2 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000117
)를 획득하고, 이들을 비교하여 제2 유사도를 판단할 수 있다.
또한, 프로세서(130)는 복수의 합성음 (
Figure PCTKR2021013996-appb-img-000118
) 및 사용자 음성(
Figure PCTKR2021013996-appb-img-000119
)을 제3 화자 인코더 모듈(10-3)에 입력하면, 제3 화자 인코더 모듈(10-3)로부터 출력된 복수의 합성음 (
Figure PCTKR2021013996-appb-img-000120
)에 대한 제3 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000121
) 및 사용자 음성(
Figure PCTKR2021013996-appb-img-000122
)에 대한 제3 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000123
)를 획득하고, 이들을 비교하여 제3 유사도를 판단할 수 있다.
그리고, 프로세서(130)는 제1 내지 제3 유사도 중에서 가장 성능이 뛰어난 레퍼런스 벡터를 식별하고, 식별된 레퍼런스 벡터를 통해 합성된 합성음을 후보 합성음으로 식별할 수 있다. 가장 성능이 뛰어난 레퍼런스 벡터는 편차 값이 가장 작은 벡터이거나, 제1 내지 제3 유사도 각각에 대해 기설정된 임계 값을 초과하는 벡터일 수 있다.
그리고, 프로세서(130)는 후보 합성음 각각의 운율, 발음 및 음질 중 적어도 하나에 기초하여, 후보 합성음 중 적어도 하나의 합성음을 식별할 수 있다. 즉, 프로세서(130)는 후보 합성음 각각의 운율, 발음 및 음질 중 하나 또는 이들의 조합을 통해 합성음을 식별할 수 있다.
구체적으로, 프로세서(130)는, 후보 합성음 각각에 대한 운율 점수, 발음 점수 및 음질 점수를 산출하고, 후보 합성음 중 운율 점수, 발음 점수 및 음질 점수 각각이 기설정된 임계 값 이상인 적어도 하나의 합성음을 식별할 수 있다.
일 예로서, 프로세서(130)는 후보 합성음 각각에 대한 운율 점수를 산출하고, 운율 점수가 기설정된 임계 값 이상인 적어도 하나의 합성음을 식별할 수 있다. 예를 들어, 프로세서(130)는 평가용 텍스트
Figure PCTKR2021013996-appb-img-000124
에 기설정된 음소별 길이, 발화 속도, 시간에 따른 피치를 나타내는 피치 컨투어(pitch contour)와 평가용 텍스트
Figure PCTKR2021013996-appb-img-000125
에 대응되는 후보 합성음
Figure PCTKR2021013996-appb-img-000126
의 음소별 길이, 발화 속도, 피치 컨투어를 비교하여 운율 점수를 산출할 수 있다.
일 예로서, 프로세서(130)는 후보 합성음 각각에 대한 발음 점수를 산출하고, 발음 점수가 기설정된 임계 값 이상인 적어도 하나의 합성음을 식별할 수 있다.
도 8c의 (1)과 같이, 본 개시의 일 실시 예에 따른 프로세서(130)는 합성음
Figure PCTKR2021013996-appb-img-000127
을 ASR 모듈(1)에 입력하여 텍스트를 획득하고, 합성음
Figure PCTKR2021013996-appb-img-000128
에 대응되는 평가용 텍스트
Figure PCTKR2021013996-appb-img-000129
를 기준으로 획득된 텍스트가 일치하는 정도를 비교하여 발음 점수를 산출할 수 있다. ASR 모듈(1)은 전술한 바와 같이 다양한 알고리즘을 이용하여 음성을 분석하여 음성의 내용을 텍스트의 형식으로 변환할 수 있다.
도 8c의 (2)와 같이, 본 개시의 일 실시 예에 따른, 프로세서(130)는 합성음
Figure PCTKR2021013996-appb-img-000130
을 강제 정렬(Forced Alignment) 모듈(45)에 입력하여 음성-음소, 음성-단어의 경계를 식별하고, 식별된 경계를 합성음
Figure PCTKR2021013996-appb-img-000131
에 대응되는 평가용 텍스트
Figure PCTKR2021013996-appb-img-000132
에서의 음성-음소, 음성-단어의 경계와 비교하여 우도(Likelihood)를 산출할 수 있다. 이때, 우도는 발음 점수로서 활용될 수 있다.
일 실시 예로서, 프로세서(130)는 후보 합성음 각각에 대한 음질 점수를 산출하고, 음질 점수가 기설정된 임계 값 이상인 적어도 하나의 합성음을 식별할 수 있다.
예를 들어, 프로세서(130)는 SNR(Signal-to-Noise Ratio), HNR(Harmonic-to-Noise Ratio), Room 특성 추정을 통한 음질평가 등의 다양한 알고리즘을 통해 합성음
Figure PCTKR2021013996-appb-img-000133
에 대한 음질 점수를 산출할 수 있다.
한편, 프로세서(130)는 복수의 후보 합성음 각각이 속한 도메인(즉, 해당 합성음 생성에 이용되는 평가용 텍스트의 도메인)에 기초하여, 복수의 도메인에 따라 복수의 후보 합성음을 구분할 수 있다. 프로세서(130)는 각 도메인에 속한 적어도 하나의 후보 합성음 각각의 유사도, 운율, 발음 및 음질 중 적어도 하나의 기초하여, 도메인 별로 적어도 하나의 합성음을 식별할 수 있다.
구체적으로 도 8d를 참조하여, 합성음 평가 모듈(40)에서 복수의 합성음(
Figure PCTKR2021013996-appb-img-000134
) 및 사용자 음성 간의 유사도 및 복수의 합성음(
Figure PCTKR2021013996-appb-img-000135
)의 특성에 기초하여 최적의 레퍼런스 벡터를 선정하는 일 실시 예에 대해 설명하도록 한다.
도 8d의 (1) 내지 (4)의 표에서 각 행은 각각의 도메인이 부여된 평가용 텍스트(
Figure PCTKR2021013996-appb-img-000136
)를 나타내며, 각 열은 후보 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000137
)를 나타낸다. 각 행과 열의 조합은 평가용 텍스트 및 후보 레퍼런스 벡터의 조합에 따라 생성되는 합성음의 점수(화자 유사도, 운율 점수, 발음 점수, 음질 점수 등)을 나타낸다.
일 실시 예로서, 도 8d의 (1)과 같이 1개의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트가 조합된 복수의 합성음의 화자 유사도(즉, 동일한 열의 값)가 모두 기설정된 값(예: 60점) 이상이면 해당 후보 레퍼런스 벡터는 화자 유사도에 대한 평가 기준을 만족한 것으로 판단하고, 화자 유사도가 하나라도 기설정된 값(예: 60점) 미만이면 해당 후보 레퍼런스 벡터는 화자 유사도에 대한 평가 기준을 불만족한 것으로 판단할 수 있다.
일 실시 예로서, 도 8d의 (2)과 같이 1개의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트가 조합된 복수의 합성음의 운율 점수가 하나라도 기설정된 값(예: 80점) 이상이면 해당 후보 레퍼런스 벡터는 운율 점수에 대한 평가 기준을 만족한 것으로 판단하고, 복수의 합성음의 운율 점수가 모두 기설정된 값(예: 80점) 미만이면 해당 후보 레퍼런스 벡터는 운율 점수에 대한 평가 기준을 불만족한 것으로 판단할 수 있다.
일 실시 예로서, 도 8d의 (3)과 같이 1개의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트가 조합된 복수의 합성음의 발음 점수가 하나라도 기설정된 값(예: 90점) 이상이면 해당 후보 레퍼런스 벡터는 발음 점수에 대한 평가 기준을 만족한 것으로 판단하고, 복수의 합성음의 발음 점수가 모두 기설정된 값(예: 90점) 미만이면 해당 후보 레퍼런스 벡터는 발음 점수에 대한 평가 기준을 불만족한 것으로 판단할 수 있다.
일 실시 예로서, 도 8d의 (4)와 같이 1개의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트가 조합된 복수의 합성음의 음질 점수(즉, 동일한 열의 값)가 모두 기설정된 값(예: 80점) 이상이면 해당 후보 레퍼런스 벡터는 음질 점수에 대한 평가 기준을 만족한 것으로 판단하고, 음질 점수가 하나라도 기설정된 값(예: 90점) 미만이면 해당 후보 레퍼런스 벡터는 음질 점수에 대한 평가 기준을 불만족한 것으로 판단할 수 있다.
그리고, 프로세서(130)는 식별된 적어도 하나의 합성음의 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000138
)를 TTS 모델(30)을 위한 사용자 A에 대응되는 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000139
)로 메모리(120)에 저장할 수 있다. 즉, 복수의 후보 레퍼런스 벡터 중에서 평가 기준을 만족하는 레퍼런스 벡터를 사용자 A의 레퍼런스 벡터로 등록하여 메모리(120)의 레퍼런스 벡터 저장 모듈(124)에 저장할 수 있다.
이와 같이, 본 개시의 일 실시 예에 따른 전자 장치(100)는 동일한 사용자의 레퍼런스 벡터는 일정 범위 내의 분포를 갖는다는 점을 이용하여, 사용자가 매우 적은 수(예: 1 내지 5개 등)의 텍스트를 발화하더라도 이를 통해 획득되는 레퍼런스 벡터만으로 다양한 텍스트에 최적화된 레퍼런스 벡터를 구할 수 있다. 즉 기존과 달리, 합성음 평가를 통해 좋은 성능을 보장할 수 있고, 사용자가 한 번만 발화하더라도 그로부터 복수 개의 레퍼런스 벡터를 획득할 수 있다. 개인화된 TTS 서비스를 제공하기 위해 발화하는 텍스트의 수가 매우 적다는 점에서 개인화된 TTS 서비스를 등록하는 사용자의 편의성을 향상시킬 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치(100)는 사용자 A의 레퍼런스 벡터로 등록하는 과정에서 사용자 A가 발화한 사용자 음성만으로 개인화된 TTS 서비스를 제공하기가 충분하지 않은 경우에 사용자 A에게 피드백을 제공할 수 있다.
도 8d를 예로 들면, 모든 평가용 텍스트에 대해 기설정된 값(예: 60점) 이상의 화자 유사도를 만족하는 후보 합성음의 레퍼런스 벡터는
Figure PCTKR2021013996-appb-img-000140
이며, 적어도 하나의 평가용 텍스트에 대해 기설정된 값(예: 80점) 이상의 운율 점수를 만족하는 후보 합성음의 레퍼런스 벡터는
Figure PCTKR2021013996-appb-img-000141
이며, 적어도 하나의 평가용 텍스트에 대해 기설정된 값(예: 90점) 이상의 발음 점수를 만족하는 후보 합성음의 레퍼런스 벡터는
Figure PCTKR2021013996-appb-img-000142
이며, 모든 평가용 텍스트에 대해 기설정된 값(예: 80점) 이상의 음질 점수를 만족하는 합성음의 후보 레퍼런스 벡터는
Figure PCTKR2021013996-appb-img-000143
으로 식별될 수 있다.
이 경우, 프로세서(130)는 합성음 평가 모듈(40)을 통해 모든 평가 기준을 만족하는 식별된 후보 합성음의 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000144
)를 사용자 A에 대응되는 레퍼런스 벡터로 메모리(120)의 레퍼런스 벡터 저장 모듈(124)에 저장할 수 있다.
그리고, 프로세서(130)는 복수의 후보 합성음 각각이 속한 도메인에 기초하여, 복수의 도메인에 따라 복수의 후보 합성음을 구분할 수 있다. 여기서, 후보 합성음(
Figure PCTKR2021013996-appb-img-000145
)은 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000146
) 및 복수의 평가용 텍스트(
Figure PCTKR2021013996-appb-img-000147
)의 조합을 통해 생성된 것이며, 후보 합성음(
Figure PCTKR2021013996-appb-img-000148
)이 속한 도메인은 후보 합성음의 생성에 이용되는 평가용 텍스트(
Figure PCTKR2021013996-appb-img-000149
)에 부여된 도메인일 수 있다.
그리고, 프로세서(130)는 각 도메인에 속한 적어도 하나의 후보 합성음 각각의 화자 유사도, 운율, 발음 및 음질 중 적어도 하나의 기초하여, 도메인 별로 적어도 하나의 합성음을 식별할 수 있다. 그리고, 여기에서 식별된 적어도 하나의 합성음의 레퍼런스 벡터는 각 평가용 텍스트가 속한 도메인에 따라 메모리(120)에 저장될 수 있다.
구체적으로, 프로세서(130)는 특정한 도메인에 대해 평가 기준(예: 화자 유사도, 운율, 발음 및 음질 중 적어도 하나)을 만족하는 합성음이 존재하는지 여부를 판단할 수 있다.
예를 들어, 도 8d와 같이 프로세서(130)는 평가용 텍스트
Figure PCTKR2021013996-appb-img-000150
및 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000151
의 조합에 따라 생성된 후보 합성음은 운율 점수 및 발음 점수가 기설정된 값을 만족하는 후보 합성음으로 식별할 수 있다. 또한, 프로세서(130)는 평가용 텍스트
Figure PCTKR2021013996-appb-img-000152
및 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000153
의 조합에 따라 생성된 후보 합성음은 운율 점수 및 발음 점수가 기설정된 값을 만족하는 후보 합성음으로 식별할 수 있다. 이때, 평가용 텍스트
Figure PCTKR2021013996-appb-img-000154
의 운율 점수 및 발음 점수를 만족하는 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000155
를 평가용 텍스트
Figure PCTKR2021013996-appb-img-000156
의 도메인을 커버할 수 있는 레퍼런스 벡터로 평가(선정)할 수 있다. 또한, 프로세서(130)는 평가용 텍스트
Figure PCTKR2021013996-appb-img-000157
의 운율 점수 및 발음 점수를 만족하는 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000158
를 평가용 텍스트
Figure PCTKR2021013996-appb-img-000159
의 도메인을 커버할 수 있는 레퍼런스 벡터로 평가(선정)할 수 있다.
도 3을 참조하여, 프로세서(130)는 합성음 평가 모듈(40)을 통해 특정한 도메인에 대해 평가 기준(예: 화자 유사도, 운율, 발음 및 음질 중 적어도 하나)을 만족하는 적어도 하나의 합성음이 존재하지 않는 경우, 특정한 도메인에 속하는 문장(r`)의 발화를 요청하는 정보를 출력하도록 출력 인터페이스(140, 도 9b 참조)를 제어할 수 있다.
예를 들어, 도 8d와 같이 프로세서(130)는 평가용 텍스트
Figure PCTKR2021013996-appb-img-000160
의 운율 점수 및 발음 점수를 만족하는 합성음(또는 레퍼런스 벡터)가 존재하지 않는 경우, 평가용 텍스트
Figure PCTKR2021013996-appb-img-000161
에 부여된 도메인에 속하는 문장(r`)을 사용자에게 피드백할 수 있다. 여기서, 피드백되는 문장(r`)은 평가용 텍스트
Figure PCTKR2021013996-appb-img-000162
의 도메인을 커버하기 위해 사용자가 음성으로 발화하도록 유도하는 문장 또는 단어 등을 포함할 수 있다. 예를 들어, 평가용 텍스트
Figure PCTKR2021013996-appb-img-000163
가 뉴스 도메인이라면, 피드백되는 문장(r`)은
Figure PCTKR2021013996-appb-img-000164
또는 뉴스 도메인 텍스트 일 수 있다.
일 실시 예를 들어, 프로세서(130)는 복수의 도메인 중 적어도 하나의 합성음이 존재하지 않는 도메인에 속한 적어도 하나의 후보 합성음을 판단하고, 판단된 후보 합성음에 대해 산출된 운율 점수, 발음 점수 및 음질 점수에 기초하여, 운율, 발음 및 음질 중 상대적으로 낮은 점수가 산출된 합성음의 특성을 판단할 수 있다. 프로세서(130)는 판단된 특성에 기초하여 생성된 문장의 발화를 요청하는 음성을 스피커(141)를 통해 출력할 수 있다.
이와 같이 본 개시의 전자 장치(100)는 사용자의 음성을 TTS 모델(30)의 음성으로 등록하는 과정에서 다양한 평가 기준에 따른 평가를 수행할 수 있다. 이에 따라, 최적의 성능을 갖는 레퍼런스 벡터를 사용자의 레퍼런스 벡터로서 결정할 수 있다. 또한, 사용자가 발화한 사용자 음성만으로 개인화된 TTS 서비스를 제공하기가 충분하지 않은 경우에 사용자에게 피드백을 제공함으로써 다양한 유형의 텍스트를 커버할 수 있는 레퍼런스 벡터를 획득할 수 있다.
한편, 전자 장치(100)는 사용자의 음성이 TTS 모델(30)에 등록된 이후, 등록된 사용자 음성을 이용하여 음성 신호를 합성할 수 있다. 이에 대해서는 도 4를 참조하여 구체적으로 설명하도록 한다.
도 4는 본 개시의 일 실시 예에 따른 전자 장치의 구성별 동작을 설명하기 위한 블록도이다. 도 4는 사용자의 음성이 TTS 모델(30)에 등록된 이후에 사용자 음성을 이용하여 음성 신호를 합성하는 과정을 나타낸다.
도 4를 참조하여, 프로세서(130)로 입력 데이터(15)(예: 텍스트 t)가 제공되는 경우를 가정하기로 한다. 입력 데이터(15)는 후속 사용자 음성에 대해 음성 인식을 수행한 결과로서 획득되는 텍스트 t일 수 있다. 또는 입력 데이터(15)는 입력 장치(예: 키보드 등)를 통해 입력된 텍스트 t일 수 있다.
일 예를 들어, 프로세서(130)는 사용자의 후속 사용자 음성이 마이크로폰(110)을 통해 수신되면, 후속 사용자 음성에 대한 응답을 위한 텍스트 t를 획득할 수 있다. 이때, 텍스트 t는 ASR 모듈(1) 및 NLP 모듈(2)을 통해 획득되는 텍스트일 수 있다.
그리고, 프로세서(130)는 레퍼런스 벡터 선택 모듈(25)을 통해, 메모리(120)의 레퍼런스 벡터 저장 모듈(124)에 저장된 사용자 A에 대응되는 적어도 하나의 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000165
중에서 텍스트 t의 도메인에 속하는 레퍼런스 벡터를 선택할 수 있다.
여기서, 프로세서(130)는 텍스트
Figure PCTKR2021013996-appb-img-000166
의 도메인에 속하는 레퍼런스 벡터가 복수 개로 선택되는 경우, 복수의 레퍼런스 벡터 중에서 텍스트
Figure PCTKR2021013996-appb-img-000167
의 도메인에 속하는 평가용 텍스트와 합성한 합성음의 특성에 기초하여 산출된 점수(예: 운율 점수, 발음 점수 등)가 가장 높은 합성음의 레퍼런스 벡터를 획득할 수 있다. 여기서, 텍스트
Figure PCTKR2021013996-appb-img-000168
의 도메인에 속하는 평가용 텍스트와 합성한 합성음의 특성에 기초하여 산출된 점수는 사용자 A의 사용자 음성을 등록하는 과정에서 메모리(120)에 저장된 것일 수 있다.
예를 들어, 낭독체에 속하는 평가용 텍스트와 합성된 합성음 중에서 점수가 가장 높은 합성음의 레퍼런스 벡터가
Figure PCTKR2021013996-appb-img-000169
이고, 대화체에 속하는 평가용 텍스트와 합성된 합성음의 중에서 점수가 가장 높은 합성음의 레퍼런스 벡터가
Figure PCTKR2021013996-appb-img-000170
인 것으로 가정하면, 입력 데이터(15)인 텍스트
Figure PCTKR2021013996-appb-img-000171
의 도메인이 낭독체인 경우, 저장된 사용자 A에 대응되는 적어도 하나의 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000172
중 레퍼런스 벡터
Figure PCTKR2021013996-appb-img-000173
를 텍스트
Figure PCTKR2021013996-appb-img-000174
의 도메인에 속하는 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000175
)로서 선택할 수 있다. 한편, 프로세서(130)는 임의의 통계 모델(DNN, HMM, GMM 등)을 활용하여 주어진 텍스트 t에 대해 최적 성능을 가지는
Figure PCTKR2021013996-appb-img-000176
를 선택하는 것 또한 가능하다.
그리고, 프로세서(130)는 입력 데이터(15)인 텍스트
Figure PCTKR2021013996-appb-img-000177
및 선택된 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000178
)를 TTS 모델(30)에 입력하여, 레퍼런스 벡터(
Figure PCTKR2021013996-appb-img-000179
)에 기초하여 텍스트
Figure PCTKR2021013996-appb-img-000180
에 대해 생성된 음성을 획득할 수 있다.
이 경우, 프로세서(130)는 획득된 음성을 출력하도록 스피커(141, 도 9b 참조)를 제어할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 레퍼런스 벡터를 획득하는 방법을 설명하기 위한 도면이다.
화자 인코더 모듈(10)은 사용자 음성을 통해 레퍼런스 벡터를 획득할 수 있다. 여기서, 화자 인코더 모듈(10)은 Reference encoder, GST(Global Style Token), VAE(Variational AutoEncoder), I-vector, Neural Network 모듈 등과 같이 다양한 방식의 모듈로 구성될 수 있다.
일 실시 예로서, 도 5를 참조하면, 화자 인코더 모듈(10)은 음향 특징 추출부(11) 및 RNN 모듈(13-1 내지 13-T)를 포함할 수 있다.
음향 특징 추출부(11)는 프레임 단위의 음향 특징을 추출할 수 있다. 이때, 음향 특징의 차원은 (T x D)로 나타낼 수 있다. 예를 들어 1 프레임이 10ms이고, 80 차원의 음향 특징을 추출할 때, 3초의 음성 파형이 입력된다면 T는 300, D는 80이 되어 (300 x 80)의 음향 특징이 출력될 수 있다. 일반적으로 음향 특징은 TTS 모델(30)의 디자인 시에 고정되며, 이에 따라 D는 음성 입력에 관계 없이 고정된 값을 가질 수 있다.
RNN(Recurrent Neural Network) 모듈(13-1 내지 13-T)은 T에 관계 없이 고정된 차원의 벡터를 출력할 수 있다. 예를 들어, 레퍼런스 벡터가 256차원이라고 가정하면, T, D에 상관없이 항상 256차원의 벡터를 출력할 수 있다. 레퍼런스 벡터는 해당 음성에 포함된 음소정보(local 정보)보다는 운율이나 음색 정보(global 정보)등이 압축되어 출력될 수 있다. 이 경우, RNN 모듈(13-1 내지 13-T)의 마지막 상태(state)를 본 개시의 레퍼런스 벡터로서 사용할 수 있다
도 7은 본 개시의 일 실시 예에 따른 TTS 모델을 설명하기 위한 도면이다.
도 7을 참조하면, 본 개시의 일 실시 예에 따른 TTS 모델(30)은 언어처리부(31) 및 음향 특징 추출부(33)를 통해 텍스트 및 음성 파형에 대해 전처리를 수행하여 음소(Phoneme) 및 음향 특징(Acoustic Features)을 추출하고, Neural Network 기반의 AM(Acoustic Model)(35) 및 보코더(37)를 전처리가 수행된 음소 및 음향 특징을 학습 데이터로 하여 학습시킬 수 있다.
이후, TTS 모델(30)은 언어 처리부(31)를 통해 텍스트에서 음소를 추출하고, 학습된 AM(35)에 추출된 음소를 입력하여 그 출력으로서 예상 음향 특징을 획득하고, 학습된 보코더(37)에 획득된 음향 특징을 입력하여 그 출력으로서 합성음을 획득할 수 있다.
다만, 상술한 실시 예는 일 실시 예일 뿐이며, 이에 제한되지 아니하고 다양한 변형 실시 예가 가능하다 할 것이다.
도 9a는 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어 구성을 설명하기 위한 도면이다.
도 9a를 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)는 마이크로폰(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다.
마이크로폰(110)은 아날로그 형태의 음향 신호를 수신하기 위한 구성이다. 마이크로폰(110)은 사용자 음성을 포함하는 음향 신호를 수신할 수 있다. 음향 신호는 진동수, 진폭 등의 정보를 갖는 음파(wave)를 나타낼 수 있다.
메모리(120)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 다양한 데이터를 저장하기 위한 구성이다. 메모리(120)는 전기적 방식 또는 자기적 방식 등의 다양한 방식으로 정보를 저장할 수 있다. 메모리(120)에 저장된 데이터는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의해 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
이를 위해, 메모리(120)는 데이터 또는 정보를 일시적 또는 영구적으로 저장하기 위한 하드웨어로 구성될 수 있다. 예를 들어, 메모리(120)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(Flash Memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD), RAM, ROM 등 중에서 적어도 하나의 하드웨어로 구현될 수 있다.
프로세서(130)는 CPU(Central Processing Unit), AP(Application Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit), VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서, NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서 등으로 구현될 수 있다. 또한, 프로세서(130)는 적어도 하나의 인스트럭션 또는 모듈을 로드하기 위한 휘발성 메모리를 포함할 수 있다.
도 9b는 본 개시의 일 실시 예에 따른 전자 장치의 부가적인 하드웨어 구성을 설명하기 위한 도면이다.
도 9b를 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)는 마이크로폰(110), 메모리(120) 및 프로세서(130)외에도, 출력 인터페이스(140), 입력 인터페이스(150), 통신 인터페이스(160), 센서(170), 전원부(180) 중 적어도 하나를 포함할 수 있다.
출력 인터페이스(140)는 정보를 출력할 수 있는 구성이다. 출력 인터페이스(140)는 스피커(141) 및 디스플레이(143) 중 적어도 하나를 포함할 수 있다. 스피커(141)는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 직접 소리로 출력할 수 있다. 디스플레이(143)는 정보 또는 데이터를 시각적인 형태로 출력할 수 있다. 디스플레이(143)는 이미지 프레임을 픽셀로 구동될 수 있는 디스플레이의 일 영역 또는 전체 영역에 표시할 수 있다. 이를 위해, 디스플레이(143)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, Micro LED 디스플레이, QLED(Quantum dot LED) 디스플레이 등으로 구현될 수 있다. 또한, 디스플레이(143)의 적어도 일부는 플렉서블 디스플레이(flexible display)의 형태로 구현될 수도 있으며, 플렉서블 디스플레이는 종이처럼 얇고 유연한 기판을 통해 손상 없이 휘거나 구부리거나 말 수 있는 것을 특징으로 할 수 있다.
입력 인터페이스(150)는 다양한 사용자 명령을 수신하여 프로세서(130)로 전달할 수 있다. 즉, 프로세서(130)는 입력 인터페이스(150)를 통해 사용자로부터 입력된 사용자 명령을 인지할 수 있다. 여기서, 사용자 명령은 사용자의 터치 입력(터치 패널), 키(키보드) 또는 버튼(물리 버튼 또는 마우스 등) 입력 등 다양한 방식으로 구현될 수 있다.
통신 인터페이스(160)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하여 다양한 유형의 데이터를 송수신할 수 있다. 통신 인터페이스(160)는 다양한 방식의 무선 통신을 수행하는 회로로서 블루투스 모듈(블루투스 방식), 와이파이 모듈(와이파이 방식), 무선 통신 모듈(3G, 4G, 5G 등의 셀룰러 방식), NFC 모듈(NFC 방식), IR 모듈(적외선 방식), Zigbee 모듈(Zigbee 방식) 및 초음파 모듈(초음파 방식) 등과 유선 통신을 수행하는 이더넷 모듈, USB 모듈, HDMI(High Definition Multimedia Interface), DP(DisplayPort), D-SUB(D-subminiature), DVI(Digital Visual Interface), 썬더볼트(Thunderbolt) 및 컴포넌트 중 적어도 하나를 포함할 수 있다.
센서(170)는 카메라, 근접 센서, 조도 센서, 모션 센서, ToF 센서, GPS 센서 등 다양한 센서로 구현될 수 있다. 예를 들어, 카메라는 빛을 픽셀 단위로 구분하고, 각 픽셀마다 R(Red), G(Green), B(Blue) 색상에 대한 빛의 세기를 감지하여, 빛의 세기를 전기적 신호로 변환하여 객체의 색상, 형상, 명암 등을 표현하는 데이터를 획득할 수 있다. 이때, 데이터의 타입은 복수의 픽셀 각각에 대해 R, G, B 색상 값을 갖는 이미지일 수 있다. 근접 센서(proximity sensor)는 주변 물체의 존재를 감지하여, 주변 물체의 존재 여부 또는 주변 물체의 근접 여부에 대한 데이터를 획득할 수 있다. 조도 센서는 전자 장치(100)의 주변 환경에 대한 광량(또는 밝기)을 감지하여, 조도에 대한 데이터를 획득할 수 있다. 모션 센서는 전자 장치(100)의 이동 거리, 이동 방향, 기울기 등을 감지할 수 있다. 이를 위해, 모션 센서는 가속도 센서, 자이로(gyro) 센서, 지자기 센서 등의 결합으로 구현될 수 있다. TOF(Time Of Flight) 센서는 특정한 속도를 갖는 다양한 전자기파(예: 초음파, 적외선, 레이저, UWB(Ultra-Wideband) 등)를 방출한 후 되돌아오는 비행 시간을 감지하여, 대상과의 거리(또는 위치)에 대한 데이터를 획득할 수 있다. GPS(Global Positioning System) 센서는 복수의 위성으로부터 전파 신호를 수신하고, 수신된 신호의 전달 시간을 이용하여 각 위성과의 거리를 각각 산출하고, 산출된 거리를 삼각측량을 이용하여 전자 장치(100)의 현재 위치에 대한 데이터를 획득할 수 있다. 다만, 상술한 센서(170)의 구현 예는 일 실시 예일 뿐이며, 이에 제한되지 아니하고 다양한 유형의 센서로 구현되는 것이 가능하다 할 것이다.
전원부(180)는 전자 장치(100)에 전원을 공급할 수 있다. 예를 들어, 전원부(180)는 외부 상용 전원 또는 배터리를 통해 전자 장치(100)의 각 구성에 전원을 공급할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법에 대한 흐름도이다.
도 10을 참조하면, 전자 장치(100)의 제어 방법은 사용자가 발화한 사용자 음성이 마이크로폰(110)을 통해 수신되면, 사용자 음성의 레퍼런스 벡터를 획득하는 단계(S1010), 레퍼런스 벡터에 기초하여 복수의 후보 레퍼런스 벡터를 생성하는 단계(S1020), 복수의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트를 TTS 모델(30)에 입력하여, 복수의 합성음을 획득하는 단계(S1030), 복수의 합성음 및 사용자 음성 간의 유사도 및 복수의 합성음의 특성에 기초하여, 복수의 합성음 중 적어도 하나의 합성음을 식별하는 단계(S1040) 및 적어도 하나의 합성음의 레퍼런스 벡터를 TTS 모델(30)을 위한 사용자에 대응되는 레퍼런스 벡터로 메모리(120)에 저장하는 단계(S1050)를 포함할 수 있다.
구체적으로, 본 개시의 전자 장치(100)의 제어 방법은 사용자가 발화한 사용자 음성이 마이크로폰(110)을 통해 수신되면, 사용자 음성의 레퍼런스 벡터를 획득할 수 있다(S1010).
그리고, 레퍼런스 벡터에 기초하여 복수의 후보 레퍼런스 벡터를 생성할 수 있다(S1020).
여기서, 복수의 후보 레퍼런스 벡터는 레퍼런스 벡터에 기초하여 랜덤하게 선택된 적어도 하나의 레퍼런스 벡터, 레퍼런스 벡터 및 TTS 모델(30)의 훈련에 이용된 레퍼런스 벡터에 기초하여 생성된 적어도 하나의 레퍼런스 벡터 및 마스킹 벡터를 레퍼런스 벡터에 적용하여 생성된 적어도 하나의 레퍼런스 벡터를 포함할 수 있다.
그리고, 복수의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트를 TTS 모델(30)에 입력하여, 복수의 합성음을 획득할 수 있다(S1030).
구체적인 일 실시 예로서, 복수의 후보 레퍼런스 벡터 및 복수의 평가용 텍스트를 TTS 모델(30)에 입력하여, 복수의 후보 레퍼런스 벡터 각각에 기초하여 복수의 평가용 각각에 대해 생성된 복수의 합성음을 획득할 수 있다.
그리고, 복수의 합성음 및 사용자 음성 간의 유사도 및 복수의 합성음의 특성에 기초하여, 복수의 합성음 중 적어도 하나의 합성음을 식별할 수 있다(S1040).
구체적인 일 실시 예로서, 복수의 합성음 중 사용자 음성과의 유사도가 기설정된 임계 값 이상인 후보 합성음을 식별할 수 있다. 그리고, 후보 합성음 각각의 운율, 발음 및 음질 중 적어도 하나에 기초하여, 후보 합성음 중 적어도 하나의 합성음을 식별할 수 있다.
구체적으로, 후보 합성음 각각에 대한 운율 점수, 발음 점수 및 음질 점수를 산출할 수 있다. 그리고, 후보 합성음 중 운율 점수, 발음 점수 및 음질 점수 각각이 기설정된 임계 값 이상인 적어도 하나의 합성음을 식별할 수 있다.
한편, 복수의 평가용 텍스트는, 복수의 도메인 각각에 속한 적어도 하나의 평가용 텍스트를 포함할 수 있다.
이 경우, 적어도 하나의 합성음을 식별하는 단계는, 복수의 후보 합성음 각각이 속한 도메인에 기초하여, 복수의 도메인에 따라 복수의 후보 합성음을 구분할 수 있다. 그리고, 각 도메인에 속한 적어도 하나의 후보 합성음 각각의 운율, 발음 및 음질 중 적어도 하나의 기초하여, 도메인 별로 적어도 하나의 합성음을 식별할 수 있다.
그리고, 적어도 하나의 합성음의 레퍼런스 벡터를 TTS 모델(30)을 위한 사용자에 대응되는 레퍼런스 벡터로 메모리(120)에 저장할 수 있다(S1050).
한편, 본 개시의 일 실시 예에 따른 전자 장치(100)는 스피커(141) 및 디스플레이(143) 중 적어도 하나를 포함하는 출력 인터페이스(140)를 더 포함할 수 있다.
이 경우, 전자 장치(100)의 제어 방법은 복수의 도메인 중 적어도 하나의 합성음이 존재하지 않는 도메인을 판단할 수 있다. 그리고, 합성음이 존재하지 않는 도메인이 판단되는 경우, 판단된 도메인에 속하는 문장의 발화를 요청하는 정보를 출력하도록 출력 인터페이스(140)를 제어할 수 있다.
구체적으로, 복수의 도메인 중 적어도 하나의 합성음이 존재하지 않는 도메인에 속한 적어도 하나의 후보 합성음을 판단할 수 있다. 그리고, 합성음이 존재하지 않는 도메인이 판단되는 경우, 판단된 후보 합성음에 대해 산출된 운율 점수, 발음 점수 및 음질 점수에 기초하여, 운율, 발음 및 음질 중 상대적으로 낮은 점수가 산출된 합성음의 특성을 판단할 수 있다. 그리고, 판단된 특성에 기초하여 생성된 문장의 발화를 요청하는 정보를 출력하도록 출력 인터페이스(140)를 제어할 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치(100)는 스피커(141)를 포함할 수 있다.
이 경우, 전자 장치(100)의 제어 방법은 사용자의 후속 사용자 음성이 마이크로폰(110)을 통해 수신되면, 후속 사용자 음성에 대한 응답을 위한 텍스트를 획득할 수 있다.
그리고, 획득된 텍스트 및 메모리(120)에 저장된 사용자에 대응되는 적어도 하나의 레퍼런스 벡터 중 하나를 TTS 모델(30)에 입력하여, 레퍼런스 벡터에 기초하여 텍스트에 대해 생성된 음성을 획득할 수 있다.
이를 위해, 메모리(120)에 저장된 사용자에 대응되는 적어도 하나의 레퍼런스 벡터 중 합성음의 특성에 기초하여 산출된 점수가 가장 높은 합성음의 레퍼런스 벡터를 획득할 수 있다.
그리고, 획득된 음성을 출력하도록 스피커(141)를 제어할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 일반 사용자의 목소리를 이용하여 TTS 서비스를 제공하기 위한 전자 장치 및 그의 제어 방법을 제공할 수 있다. 또한, 본 개시의 일 실시 예에 따르면 TTS 서비스의 목소리를 등록하기 위해 발화가 요구되는 문장의 수를 최소화할 수 있다. 또한, 본 개시의 일 실시 예에 따르면 사용자마다 TTS 모델을 재훈련하지 않아도 사용자의 목소리를 통해 개인화된 TTS 서비스를 제공할 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 상기하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 상기 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 상기 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    마이크로폰;
    TTS 모델 및 복수의 평가용 텍스트가 저장된 메모리; 및
    사용자가 발화한 사용자 음성이 상기 마이크로폰을 통해 수신되면, 상기 사용자 음성의 레퍼런스 벡터를 획득하고,
    상기 레퍼런스 벡터에 기초하여 복수의 후보 레퍼런스 벡터를 생성하고,
    상기 복수의 후보 레퍼런스 벡터 및 상기 복수의 평가용 텍스트를 상기 TTS 모델에 입력하여, 복수의 합성음을 획득하고,
    상기 복수의 합성음 및 상기 사용자 음성 간의 유사도 및 상기 복수의 합성음의 특성에 기초하여, 상기 복수의 합성음 중 적어도 하나의 합성음을 식별하고,
    상기 적어도 하나의 합성음의 레퍼런스 벡터를 상기 TTS 모델을 위한 상기 사용자에 대응되는 레퍼런스 벡터로 상기 메모리에 저장하는 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 복수의 후보 레퍼런스 벡터는,
    상기 레퍼런스 벡터에 기초하여 랜덤하게 선택된 적어도 하나의 레퍼런스 벡터, 상기 레퍼런스 벡터 및 상기 TTS 모델의 훈련에 이용된 레퍼런스 벡터에 기초하여 생성된 적어도 하나의 레퍼런스 벡터 및 마스킹 벡터를 상기 레퍼런스 벡터에 적용하여 생성된 적어도 하나의 레퍼런스 벡터를 포함하는 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 후보 레퍼런스 벡터 및 상기 복수의 평가용 텍스트를 상기 TTS 모델에 입력하여, 상기 복수의 후보 레퍼런스 벡터 각각에 기초하여 상기 복수의 평가용 텍스트 각각에 대해 생성된 상기 복수의 합성음을 획득하는 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 합성음 중 상기 사용자 음성과의 유사도가 기설정된 임계 값 이상인 후보 합성음을 식별하고,
    상기 후보 합성음 각각의 운율, 발음 및 음질 중 적어도 하나에 기초하여, 상기 후보 합성음 중 상기 적어도 하나의 합성음을 식별하는 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 후보 합성음 각각에 대한 운율 점수, 발음 점수 및 음질 점수를 산출하고,
    상기 후보 합성음 중 상기 운율 점수, 발음 점수 및 음질 점수 각각이 기설정된 임계 값 이상인 상기 적어도 하나의 합성음을 식별하는 전자 장치.
  6. 제4항에 있어서,
    상기 복수의 평가용 텍스트는, 복수의 도메인 각각에 속한 적어도 하나의 평가용 텍스트를 포함하고,
    상기 프로세서는,
    상기 복수의 후보 합성음 각각이 속한 도메인에 기초하여, 상기 복수의 도메인에 따라 상기 복수의 후보 합성음을 구분하고,
    각 도메인에 속한 적어도 하나의 후보 합성음 각각의 운율, 발음 및 음질 중 적어도 하나의 기초하여, 도메인 별로 상기 적어도 하나의 합성음을 식별하는 전자 장치.
  7. 제6항에 있어서,
    상기 식별된 적어도 하나의 합성음의 레퍼런스 벡터는 각 평가용 텍스트가 속한 도메인에 따라 상기 메모리에 저장되는, 전자 장치.
  8. 제7항에 있어서,
    스피커 및 디스플레이 중 적어도 하나를 포함하는 출력 인터페이스;를 더 포함하고,
    상기 프로세서는,
    상기 복수의 도메인 중 상기 적어도 하나의 합성음의 레퍼런스 벡터가 존재하지 않는 도메인을 판단하고, 상기 판단된 도메인에 속한 적어도 하나의 후보 합성음에 대해 산출된 운율 점수, 발음 점수 및 음질 점수에 기초하여, 운율, 발음 및 음질 중 상대적으로 낮은 점수가 산출된 합성음의 특성을 판단하며,
    상기 판단된 특성에 기초하여 생성된 문장의 발화를 요청하는 음성을 상기 스피커를 통해 출력하는 전자 장치.
  9. 제1항에 있어서,
    스피커;를 더 포함하고,
    상기 프로세서는,
    상기 사용자의 후속 사용자 음성이 상기 마이크로폰을 통해 수신되면, 상기 후속 사용자 음성에 대한 응답을 위한 텍스트를 획득하고,
    상기 획득된 텍스트 및 상기 메모리에 저장된 상기 사용자에 대응되는 적어도 하나의 레퍼런스 벡터 중 하나를 상기 TTS 모델에 입력하여, 상기 레퍼런스 벡터에 기초하여 상기 텍스트에 대해 생성된 음성을 획득하고,
    상기 획득된 음성을 출력하도록 상기 스피커를 제어하는 전자 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 메모리에 저장된 상기 사용자에 대응되는 적어도 하나의 레퍼런스 벡터 중 합성할 텍스트의 특성에 기초하여 산출된 점수가 가장 높은 레퍼런스 벡터를 획득하는 전자 장치.
  11. TTS 모델 및 복수의 평가용 텍스트가 저장된 메모리를 포함하는 전자 장치의 제어 방법에 있어서,
    사용자가 발화한 사용자 음성이 마이크로폰을 통해 수신되면, 상기 사용자 음성의 레퍼런스 벡터를 획득하는 단계;
    상기 레퍼런스 벡터에 기초하여 복수의 후보 레퍼런스 벡터를 생성하는 단계;
    상기 복수의 후보 레퍼런스 벡터 및 상기 복수의 평가용 텍스트를 상기 TTS 모델에 입력하여, 복수의 합성음을 획득하는 단계;
    상기 복수의 합성음 및 상기 사용자 음성 간의 유사도 및 상기 복수의 합성음의 특성에 기초하여, 상기 복수의 합성음 중 적어도 하나의 합성음을 식별하는 단계; 및
    상기 적어도 하나의 합성음의 레퍼런스 벡터를 상기 TTS 모델을 위한 상기 사용자에 대응되는 레퍼런스 벡터로 상기 메모리에 저장하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 복수의 후보 레퍼런스 벡터는,
    상기 레퍼런스 벡터에 기초하여 랜덤하게 선택된 적어도 하나의 레퍼런스 벡터, 상기 레퍼런스 벡터 및 상기 TTS 모델의 훈련에 이용된 레퍼런스 벡터에 기초하여 생성된 적어도 하나의 레퍼런스 벡터 및 마스킹 벡터를 상기 레퍼런스 벡터에 적용하여 생성된 적어도 하나의 레퍼런스 벡터를 포함하는, 제어 방법.
  13. 제11항에 있어서,
    상기 복수의 합성음을 획득하는 단계는,
    상기 복수의 후보 레퍼런스 벡터 및 상기 복수의 평가용 텍스트를 상기 TTS 모델에 입력하여, 상기 복수의 후보 레퍼런스 벡터 각각에 기초하여 상기 복수의 평가용 텍스트 각각에 대해 생성된 상기 복수의 합성음을 획득하는, 제어 방법.
  14. 제11항에 있어서,
    상기 적어도 하나의 합성음을 식별하는 단계는,
    상기 복수의 합성음 중 상기 사용자 음성과의 유사도가 기설정된 임계 값 이상인 후보 합성음을 식별하는 단계; 및
    상기 후보 합성음 각각의 운율, 발음 및 음질 중 적어도 하나에 기초하여, 상기 후보 합성음 중 상기 적어도 하나의 합성음을 식별하는 단계;를 포함하는, 제어 방법.
  15. 제14항에 있어서,
    상기 적어도 하나의 합성음을 식별하는 단계는,
    상기 후보 합성음 각각에 대한 운율 점수, 발음 점수 및 음질 점수를 산출하는 단계; 및
    상기 후보 합성음 중 상기 운율 점수, 발음 점수 및 음질 점수 각각이 기설정된 임계 값 이상인 상기 적어도 하나의 합성음을 식별하는 단계;를 포함하는, 제어 방법.
PCT/KR2021/013996 2020-11-12 2021-10-12 전자 장치 및 그의 제어 방법 WO2022102987A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21892157.5A EP4198967A4 (en) 2020-11-12 2021-10-12 ELECTRONIC DEVICE AND CONTROL METHOD THEREOF
CN202180076503.5A CN116457872A (zh) 2020-11-12 2021-10-12 电子设备及其控制方法
US17/554,547 US11763799B2 (en) 2020-11-12 2021-12-17 Electronic apparatus and controlling method thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20200151150 2020-11-12
KR10-2020-0151150 2020-11-12
KR1020210027665A KR20220064871A (ko) 2020-11-12 2021-03-02 전자 장치 및 그의 제어 방법
KR10-2021-0027665 2021-03-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/554,547 Continuation US11763799B2 (en) 2020-11-12 2021-12-17 Electronic apparatus and controlling method thereof

Publications (1)

Publication Number Publication Date
WO2022102987A1 true WO2022102987A1 (ko) 2022-05-19

Family

ID=81601389

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/013996 WO2022102987A1 (ko) 2020-11-12 2021-10-12 전자 장치 및 그의 제어 방법

Country Status (1)

Country Link
WO (1) WO2022102987A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060027652A (ko) * 2004-09-23 2006-03-28 주식회사 케이티 코퍼스 기반 음성 합성기에서의 합성 유닛 선택 장치 및그 방법
US20160140951A1 (en) * 2014-11-13 2016-05-19 Google Inc. Method and System for Building Text-to-Speech Voice from Diverse Recordings
US9922645B2 (en) * 2014-02-14 2018-03-20 Google Llc Recognizing speech in the presence of additional audio
KR20190008137A (ko) * 2017-07-13 2019-01-23 한국전자통신연구원 다중 화자 데이터를 이용한 딥러닝 기반 음성 합성 장치 및 방법
JP2019056791A (ja) * 2017-09-21 2019-04-11 株式会社東芝 音声認識装置、音声認識方法およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060027652A (ko) * 2004-09-23 2006-03-28 주식회사 케이티 코퍼스 기반 음성 합성기에서의 합성 유닛 선택 장치 및그 방법
US9922645B2 (en) * 2014-02-14 2018-03-20 Google Llc Recognizing speech in the presence of additional audio
US20160140951A1 (en) * 2014-11-13 2016-05-19 Google Inc. Method and System for Building Text-to-Speech Voice from Diverse Recordings
KR20190008137A (ko) * 2017-07-13 2019-01-23 한국전자통신연구원 다중 화자 데이터를 이용한 딥러닝 기반 음성 합성 장치 및 방법
JP2019056791A (ja) * 2017-09-21 2019-04-11 株式会社東芝 音声認識装置、音声認識方法およびプログラム

Similar Documents

Publication Publication Date Title
WO2020189850A1 (en) Electronic device and method of controlling speech recognition by electronic device
WO2020145439A1 (ko) 감정 정보 기반의 음성 합성 방법 및 장치
WO2020213996A1 (en) Method and apparatus for interrupt detection
WO2020013428A1 (ko) 개인화 asr 모델을 생성하는 전자 장치 및 이를 동작하는 방법
WO2020190050A1 (ko) 음성 합성 장치 및 그 방법
WO2020027619A1 (ko) 순차적 운율 특징을 기초로 기계학습을 이용한 텍스트-음성 합성 방법, 장치 및 컴퓨터 판독가능한 저장매체
WO2020246702A1 (en) Electronic device and method for controlling the electronic device thereof
WO2020105856A1 (en) Electronic apparatus for processing user utterance and controlling method thereof
WO2015005679A1 (ko) 음성 인식 방법, 장치 및 시스템
WO2019139430A1 (ko) 기계학습을 이용한 텍스트-음성 합성 방법, 장치 및 컴퓨터 판독가능한 저장매체
WO2019139431A1 (ko) 다중 언어 텍스트-음성 합성 모델을 이용한 음성 번역 방법 및 시스템
WO2020230926A1 (ko) 인공 지능을 이용하여, 합성 음성의 품질을 평가하는 음성 합성 장치 및 그의 동작 방법
KR20010062767A (ko) 정보 처리 장치, 정보 처리 방법 및 저장 매체
WO2020226213A1 (ko) 음성 인식 기능을 제공하는 인공 지능 기기, 인공 지능 기기의 동작 방법
WO2021071110A1 (en) Electronic apparatus and method for controlling electronic apparatus
WO2022260432A1 (ko) 자연어로 표현된 스타일 태그를 이용한 합성 음성 생성 방법 및 시스템
EP3785258A1 (en) Electronic device and method for providing or obtaining data for training thereof
WO2021085661A1 (ko) 지능적 음성 인식 방법 및 장치
US11763799B2 (en) Electronic apparatus and controlling method thereof
WO2020138662A1 (ko) 전자 장치 및 그의 제어 방법
WO2020060311A1 (en) Electronic device and method for providing or obtaining data for training thereof
WO2022102987A1 (ko) 전자 장치 및 그의 제어 방법
WO2022131566A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2022086252A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2021112365A1 (ko) 음성 신호에서 헤드 모델 애니메이션을 생성하는 방법 및 이를 구현하는 전자 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21892157

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021892157

Country of ref document: EP

Effective date: 20230315

WWE Wipo information: entry into national phase

Ref document number: 202180076503.5

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE