A foreign language learning method using a function of reading an input sentence in voice through a Text To Speech (TTS) engine, the foreign language learning method correcting pronunciation through sentence input, comprising the steps of:
- (a) receiving a first sentence from a user via a sentence input unit;
- (b) detecting, by a linked letter detection unit, at least one letter corresponding to at least one linking rule by searching letters that form the first sentence received via the sentence input unit;
- (c) removing, by a linked letter removal unit, the letter corresponding to the linking rule detected by the linked letter detection unit, and generating, by the linked letter removal unit, a second sentence by inserting a linking code into a part from which the letter has been removed;
- (d) generating, by a partial waveform generation unit, one or more partial waveforms using the TTS engine with respect to a portion from a start point of the second sentence generated by the linked letter removal unit before a part into which the linking code has been inserted, a portion from the part into which the linking code has been inserted before a part into which a subsequent linking code has been inserted, and a portion from the part into which the subsequent linking code has been inserted to an end point of the second sentence;
- (d) converting, by an input waveform generation unit, a voice corresponding to the first sentence received through the sentence input unit into an input waveform when the voice is received from a user;
- and (e) calculating, by a matching degree calculation unit, a matching degree by comparing the input waveform generated by the input waveform generation unit with the one or more partial waveforms generated by the partial waveform generation unit, and calculating, by the matching degree calculation unit, a partial matching degree of a part having a highest matching degree in each of the partial waveforms by detecting the part having the highest matching degree while moving from a beginning of the input waveform to an end thereof in an order in which the one or more partial waveforms are disposed,
- wherein:
- step (b) comprises the steps of:
- (b1) detecting, by a word detection unit, an identical word by determining whether or not a word including the letter corresponding to the linking rule is identical with a word previously stored in a data storage unit when the letter corresponding to the linking rule is detected by the linked letter detection unit;
- and (b2) inserting, by a word waveform insertion unit, a word waveform corresponding to the previously stored word into a part corresponding to the word detected by the word detection unit;
- the word waveform comprises one or more phonemic waveforms that corresponds to phonemes for respective letters that form the word;
- the linked letter removal unit removes a phonemic waveform of the part corresponding to the letter that belongs to the letters of the word corresponding to the word waveform and that has been removed by the linked letter removal unit;
- the partial waveform generation unit generates the one or more partial waveforms using the TTS engine with respect to a portion from the start point of the second sentence generated by the linked letter removal unit to a letter prior to the part into which the word waveform has been inserted, a portion from a letter posterior to the part into which the word waveform has been inserted to a letter prior to a part into which a subsequent word waveform has been inserted, and a portion from a letter posterior to the part into which the word waveform has been inserted to the end point of the second sentence;
- and the matching degree calculation unit calculates a matching degree by comparing the input waveform generated by the input waveform generation unit with one or more word waveforms generated by the linked letter removal unit and then calculating a word matching degree of a part having a highest matching degree in each of the word waveforms by detecting the part having the highest matching degree while moving from the beginning of the input waveform to the end thereof in the order in which the one or more word waveforms are disposed.