KR100757869B1 - Apparatus and Method for Providing Text To Speech Service Using Text Division Technique - Google Patents

Apparatus and Method for Providing Text To Speech Service Using Text Division Technique Download PDF

Info

Publication number
KR100757869B1
KR100757869B1 KR1020060000179A KR20060000179A KR100757869B1 KR 100757869 B1 KR100757869 B1 KR 100757869B1 KR 1020060000179 A KR1020060000179 A KR 1020060000179A KR 20060000179 A KR20060000179 A KR 20060000179A KR 100757869 B1 KR100757869 B1 KR 100757869B1
Authority
KR
South Korea
Prior art keywords
text
sub
voice conversion
voice
engine
Prior art date
Application number
KR1020060000179A
Other languages
Korean (ko)
Other versions
KR20070072733A (en
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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060000179A priority Critical patent/KR100757869B1/en
Publication of KR20070072733A publication Critical patent/KR20070072733A/en
Application granted granted Critical
Publication of KR100757869B1 publication Critical patent/KR100757869B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B26HAND CUTTING TOOLS; CUTTING; SEVERING
    • B26DCUTTING; DETAILS COMMON TO MACHINES FOR PERFORATING, PUNCHING, CUTTING-OUT, STAMPING-OUT OR SEVERING
    • B26D7/00Details of apparatus for cutting, cutting-out, stamping-out, punching, perforating, or severing by means other than cutting
    • B26D7/26Means for mounting or adjusting the cutting member; Means for adjusting the stroke of the cutting member
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B26HAND CUTTING TOOLS; CUTTING; SEVERING
    • B26DCUTTING; DETAILS COMMON TO MACHINES FOR PERFORATING, PUNCHING, CUTTING-OUT, STAMPING-OUT OR SEVERING
    • B26D1/00Cutting through work characterised by the nature or movement of the cutting member or particular materials not otherwise provided for; Apparatus or machines therefor; Cutting members therefor
    • B26D1/01Cutting through work characterised by the nature or movement of the cutting member or particular materials not otherwise provided for; Apparatus or machines therefor; Cutting members therefor involving a cutting member which does not travel with the work
    • B26D1/04Cutting through work characterised by the nature or movement of the cutting member or particular materials not otherwise provided for; Apparatus or machines therefor; Cutting members therefor involving a cutting member which does not travel with the work having a linearly-movable cutting member

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Forests & Forestry (AREA)
  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 텍스트 분할 음성 변환 시스템 및 그 방법에 관한 것으로, 사용자로부터 입력받은 텍스트를 적어도 하나의 서브 텍스트로 분할하고, 상기 서브 텍스트를 음성 변환 요청하는 적어도 하나의 클라이언트 모듈과 상기 서브 텍스트를 수신하여 상기 서브 텍스트를 순차적으로 상기 음성 변환 엔진 포트로 전달하는 텍스트 분배 모듈을 포함하는 음성 변환 시스템을 제공함으로써, 한정된 음성 변환 엔진 포트를 이용하여 많은 수의 사용자들을 수용할 수 있으며, 음성 변환 성능도 향상되어 고품질의 서비스를 제공할 수 있게 된다.The present invention relates to a text-segmented speech conversion system and method thereof, comprising: splitting text input from a user into at least one sub-text, and receiving at least one client module and the sub-text for requesting speech conversion of the sub-text By providing a speech conversion system including a text distribution module that sequentially transfers the sub texts to the speech conversion engine port, a large number of users can be accommodated using a limited speech conversion engine port, and the speech conversion performance is also improved. It is possible to provide high quality services.

Description

텍스트 분할 음성 변환 시스템 및 그 방법{Apparatus and Method for Providing Text To Speech Service Using Text Division Technique}Text Division Speech Transformation System and its Method {Apparatus and Method for Providing Text To Speech Service Using Text Division Technique}

도 1은 본 발명의 일 실시예에 따른 음성 변환 방법의 개념을 나타낸 블록도.1 is a block diagram showing the concept of a voice conversion method according to an embodiment of the present invention.

도 2는 본 발명의 또 일 실시예에 따른 텍스트 분배 모듈의 구성을 나타낸 블록도.Figure 2 is a block diagram showing the configuration of a text distribution module according to another embodiment of the present invention.

도 3은 본 발명의 다른 실시예에 따른 텍스트 분할 음성 변환 방법을 나타낸 순서도.3 is a flowchart illustrating a text segmentation speech conversion method according to another embodiment of the present invention.

도 4는 본 발명의 다른 실시예에 따른 텍스트 분할 방법을 나타낸 순서도.4 is a flowchart illustrating a text segmentation method according to another embodiment of the present invention.

도 5는 본 발명의 다른 실시예에 따른 문단 변환 알고리즘을 나타낸 예시도5 is an exemplary diagram illustrating a paragraph conversion algorithm according to another embodiment of the present invention.

<도면의 주요 부분에 대한 부호 설명><Description of the symbols for the main parts of the drawings>

10 : 클라이언트 모듈 22 : 호출 버퍼부10: client module 22: call buffer unit

20 : 텍스트 분배 모듈 23 : 음성 변환 엔진 호출부20: text distribution module 23: speech conversion engine call unit

30 : 음성 변환 엔진 24 : 반환 버퍼부30: speech conversion engine 24: return buffer unit

21 : 음성 변환 요청부21: voice conversion request unit

본 발명은 텍스트 분할 음성 변환 시스템 및 그 방법에 관한 것이다.The present invention relates to a text division speech conversion system and method thereof.

음성 변환(Text to Speech) 기술은 문자 정보 또는 기호를 인간의 음성으로 변환하여 들려주는 기술이다. 음성 변환 방법은 음소에 대한 발음 데이터베이스를 구축하고 이를 연결시켜 연속된 음성을 생성하게 되는데, 이 때 음성의 크기, 길이, 높낮이 등을 조절하여 자연스러운 음성을 합성하게 된다. 이러한 음성 변환 방법은 크게 언어 처리, 운율 생성, 파형 합성의 3단계로 구분된다. Text-to-speech technology is a technology that converts text information or symbols into human speech and plays it. The speech conversion method constructs a pronunciation database of phonemes and connects them to generate a continuous speech. At this time, a natural speech is synthesized by adjusting the size, length, and height of the speech. These speech conversion methods are largely divided into three stages: language processing, rhyme generation, and waveform synthesis.

텍스트가 입력되면 언어 처리 단계에서 입력된 문서의 문법적 구조를 분석한 후 분석된 문서 구조에 의하여 사람이 읽는 것과 같은 운율을 생성한다. 그 후 생성된 운율에 따라서 저장된 음성 데이터베이스의 기본 단위들을 모아서 합성음을 생성하는 파형 합성 단계를 거치게 된다. 위의 단계를 거치면 임의의 문장을 입력 받아 음성을 합성하는 것이다. 이러한 과정에 있어서 대상 어휘에는 제한이 없으며, 일반적인 문자 형태의 정보를 음성으로 변환하는 것입니다. 이러한 시스템을 구현하는 데는 음성학, 음성분석, 음성합성기술 및 음성인식의 기술까지도 접목시켜야 보다 자연스럽고 다양한 음성을 출력할 수 있다.When the text is input, the grammatical structure of the input document is analyzed in the language processing step, and the same rhyme as the human reading is generated by the analyzed document structure. After that, a waveform synthesis step is performed in which the basic units of the stored speech database are collected according to the generated rhyme to generate a synthesized sound. If you go through the above steps, the voice is synthesized by receiving a random sentence. In this process, there is no limit to the target vocabulary, and the conversion of general textual information into voice. In order to implement such a system, a combination of phonetics, speech analysis, speech synthesis technology, and speech recognition technology must be combined to produce a more natural and diverse voice.

현재 음성 변환 시스템은 전화망을 이용한 여러 솔루션에서 사용되고 있으며, 이메일-보이스 변환 청취, 사무실 안내 멘트 제작, 고객 대응 멘트 제작 등의 용도로 점점 사용자 층이 늘어나고 있다. 그러나 음성 변환 시스템을 통하여 문장(Text)을 음성(Voice)으로 변환하고자 할 때 사용할 수 있는 음성 변환 포트 수는 제한되어 있다. 그러나 음성 변환 서비스를 요청하는 사용자 수가 많아지거나 변환하고자 하는 텍스트의 양이 많은 경우에는 사용 제한에 부딪히게 된다. 예를 들어, 음성 변환 포트 수가 2개라면, 동시에 3명의 사용자가 음성 변환 서비스를 제공받을 수 없는 것이다. 또한, 사용 중인 사용자의 텍스트 양이 많을 경우 대기자의 기다리는 시간은 길어지게 된다. Currently, voice conversion systems are used in many solutions using telephone networks, and users are increasingly used for listening to e-mail conversion, making office announcements, and making customer-facing comments. However, the number of voice conversion ports that can be used to convert a text into a voice through a voice conversion system is limited. However, when the number of users requesting the voice conversion service increases or the amount of text to be converted is large, the usage limit is encountered. For example, if the number of voice conversion ports is two, three users cannot be provided with the voice conversion service at the same time. In addition, when the amount of text used by the user is large, the waiting time of the waiter becomes long.

따라서, 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위한 것으로, 입력받은 텍스트를 적어도 하나의 문자열로 분할하고, 분할된 문자열을 음성 변환 요청하는 텍스트 분할 음성 변환 시스템 및 그 방법의 제공을 목적으로 한다.Accordingly, an object of the present invention is to provide a text splitting voice conversion system and method for splitting an input text into at least one string and requesting a voice conversion of the split text. It is done.

본 발명의 일 측면에 따른 음성 변환 엔진(TTS Engine)을 포함하는 음성 변환 시스템은 사용자로부터 입력받은 텍스트를 적어도 하나의 서브 텍스트로 분할하고, 상기 서브 텍스트를 차례대로 음성 변환 요청하는 적어도 하나의 클라이언트 모듈과 상기 서브 텍스트를 수신하여 순차적으로 상기 분할된 텍스트를 상기 음성 변환 엔진으로 전달하는 텍스트 분배 모듈을 포함할 수 있다.A voice conversion system including a voice conversion engine (TTS Engine) according to an aspect of the present invention divides text input from a user into at least one sub text, and at least one client sequentially requests for voice conversion of the sub texts. And a text distribution module for receiving the sub text and sequentially delivering the divided text to the speech conversion engine.

이 경우 상기 텍스트 분배 모듈은 상기 클라이언트 모듈로부터 음성 변환 요 청을 받은 경우, 요청받은 순서에 따라 상기 수신한 서브 텍스트를 출력하는 음성 변환 요청부, 상기 음성 변환 요청부로부터 서브 텍스트를 수신하여 임시 저장하고, FIFO(First In First Out) 방식에 의하여 상기 서브 텍스트를 출력하는 메시지 큐, 및 상기 메시지 큐로부터 서브 텍스트를 전달받아 상기 음성 변환 엔진으로 음성 변환 요청하는 음성 변환 엔진 호출부를 포함할 수 있다.In this case, when the text distribution module receives a voice conversion request from the client module, the text distribution module outputs the received sub text according to the requested order, and receives and temporarily stores the sub text from the voice conversion request unit. And a message queue for outputting the sub text by a FIFO (First In First Out) method, and a voice conversion engine call unit for receiving a sub text from the message queue and requesting a voice conversion from the voice conversion engine.

또한, 상기 음성 변환 엔진 호출부는 상기 음성 변환 엔진으로부터 상기 서브 텍스트가 성공적으로 음성 변환되었다는 사실을 상기 클라이언트 모듈로 통보하는 것을 특징으로 한다. 이 경우 상기 클라이언트 모듈은 상기 음성 변환 엔진 호출부로부터 상기 서브 텍스트가 성공적으로 음성 변환되었다는 사실을 통보받은 후, 그 다음 서브 텍스트를 음성 변환 요청하게 된다.The voice conversion engine caller may notify the client module that the sub text has been successfully voice converted from the voice conversion engine. In this case, the client module receives a notification from the voice conversion engine caller that the sub text has been successfully voice converted, and then requests a voice conversion of the next sub text.

상기 클라이언트 모듈은 하나의 문자 단위로 음성 변환할 문자열을 입력받으며, 현재까지 수신한 문자의 개수가 소정의 문자수를 초과하고, 현재 수신한 문자가 '.', ',', '?', '!' 중 적어도 하나인 경우, 현재까지 수신한 문자열로 하나의 서브 텍스트를 구성하여 음성 변환 요청함으로써 텍스트를 분할할 수 있다.The client module receives a character string to be voice-converted by one character unit, the number of characters received so far exceeds a predetermined number of characters, and the currently received characters are '.', ',', '?', '!' In the case of at least one, the text may be split by forming a sub-text from the string received so far and requesting a voice conversion.

본 발명의 다른 측면에 따른 음성 변환 엔진(TTS Engine)을 이용한 음성 변환 방법은 음성 변환 시스템은 사용자로부터 입력받은 텍스트를 적어도 하나의 서브 텍스트로 분할하고, 서브 텍스트를 음성 변환 요청하는 단계, 상기 서브 텍스트를 음성 변환 요청 받은 순서대로 음성 변환하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a voice conversion method using a TTS engine, in which a voice conversion system divides text input from a user into at least one sub text, and requests a voice conversion of the sub text. And converting the text into the order in which the text is requested to be converted.

이 경우 상기 음성 변환 요청 단계는 음성 변환 시스템은 여러 사용자로부터 음성 변환 요청을 받은 경우, 상기 수신한 서브 텍스트를 임시 저장하는 단계와 FIFO 방식에 의하여 상기 임시 저장된 서브 텍스트를 상기 음성 변환 엔진으로 음성 변환 요청하는 단계를 포함한다.In this case, in the voice conversion request step, when the voice conversion system receives a voice conversion request from several users, the voice conversion system temporarily stores the received sub text and converts the temporarily stored sub text to the voice conversion engine by a FIFO method. Requesting.

또한, 상기 음성 변환 엔진은 상기 서브 텍스트가 성공적으로 음성 변환되었다는 사실을 상기 음성 변환 시스템으로 통보하는 단계를 포함한다. 이 경우 상기 음성 변환 시스템은 상기 서브 텍스트가 성공적으로 음성 변환되었다는 사실을 통보받은 후, 그 다음 서브 텍스트를 음성 변환 요청하게 된다.The speech conversion engine also includes notifying the speech conversion system that the subtext has been successfully speech converted. In this case, after the voice conversion system is informed that the sub text has been successfully voice converted, the voice conversion system requests a voice conversion of the next sub text.

마지막으로, 상기 텍스트의 분할 방법은 하나의 문자 단위로 음성 변환 요청할 문자열을 수신하는 단계와 현재까지 수신한 문자의 개수가 소정의 문자수를 초과하고, 현재 수신한 문자가 '.', ',', '?', '!' 중 적어도 하나인 경우, 현재까지 수신한 문자열로 서브 텍스트를 구성하여 이에 대하여 음성 변환 요청하는 단계를 포함한다.Finally, the method of splitting the text may include receiving a text to be requested for speech conversion in units of one character, and the number of characters received so far exceeds a predetermined number of characters, and the currently received characters are '.', ', ','? ','! ' In the case of at least one, comprising the step of constructing the sub-text from the string received so far to request a voice conversion.

이하, 본 발명에 따른 텍스트 분할 음성 변환 시스템 및 그 방법에 대하여 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, a text splitting voice conversion system and a method thereof according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 음성 변환 제어 방법의 개념을 나타낸 블록도이다.1 is a block diagram illustrating the concept of a voice conversion control method according to an embodiment of the present invention.

도 1에 도시된 바와 같이 음성 변환 서비스를 제공하기 위한 음성 변환 시스템은 클라이언트 모듈(10), 텍스트 분배 모듈(20), 음성 변환 엔진(TTS Engine)(30)으로 구성될 수 있다.As shown in FIG. 1, a voice conversion system for providing a voice conversion service may be configured by a client module 10, a text distribution module 20, and a voice conversion engine (TTS Engine) 30.

클라이언트 모듈(10)은 문단 구분 알고리즘을 이용하여 음성으로 변환할 텍스트를 약 100 바이트(Bytes) 내외의 문자열로 분할한다. 이와 같이 분할된 서브 텍스트는 텍스트 분배 모듈(20)로 전송된다. 물론, 본 발명은 100 바이트라는 숫자에 한정되는 것이 아니다.The client module 10 divides the text to be converted into speech into a string of about 100 bytes using a paragraph classification algorithm. The sub text divided in this way is transmitted to the text distribution module 20. Of course, the present invention is not limited to the number 100 bytes.

텍스트 분배 모듈(20)은 각 클라이언트 모듈(10)로부터 서브 텍스트를 수신하여 이를 음성 변환 엔진(30)으로 전달하는 기능을 담당한다. 이 경우 텍스트 분배 모듈(20)은 다수의 클라이언트 모듈(10)로부터 서브 텍스트를 수신하게 되는데, 각 클라이언트 모듈(10)이 공평하게 음성 변환 엔진을 점유할 수 있도록 각 클라이언트 모듈을 제어할 수 있다.The text distribution module 20 is responsible for receiving sub texts from each client module 10 and delivering them to the speech conversion engine 30. In this case, the text distribution module 20 receives sub texts from the plurality of client modules 10, and may control each client module so that each client module 10 can occupy the voice conversion engine fairly.

예를 들어, 텍스트 분배 모듈(20)은 하나의 클라이언트 모듈(10)이 한번에 하나씩 서브 텍스트를 음성 변환 엔진(30)으로 전달하도록 제어한다. 만일 클라이언트 모듈 1, 2, 3(11, 12, 13)이 각 5개의 서브 텍스트를 가지고 있는 경우, 텍스트 분배 모듈(20)은 클라이언트 모듈 1(11)로부터 5개의 서브 텍스트를 한꺼번에 수신하지 아니하고 하나의 서브 텍스트만을 수신한다. 상기 수신한 하나의 서브 텍스트를 성공적으로 음성 변환한 후, 텍스트 분배 모듈(20)은 그 다음 서브 텍스트를 클라이언트 모듈 1(11)로부터 수신한다. 하나의 서브 텍스트 음성 변환 기간 동안 텍스트 분배 모듈(20)은 클라이언트 모듈 2, 3(12, 13)으로부터 서브 텍스트를 수신하고, 상기 서브 텍스트를 음성 변환 엔진(30)으로 전달함으로써 클라이언트 모듈 1, 2, 3(11, 12, 13)이 공평하게 음성 변환 서비스를 제공받을 수 있게 된다.For example, the text distribution module 20 controls one client module 10 to deliver sub texts to the speech conversion engine 30 one at a time. If the client modules 1, 2, 3 (11, 12, 13) each have five subtexts, the text distribution module 20 does not receive five subtexts from the client module 1 (11) at once. Receive only subtext of. After successful voice conversion of the received sub text, the text distribution module 20 then receives the sub text from the client module 1 (11). During one subtext speech conversion period, the text distribution module 20 receives the subtexts from the client modules 2, 3 (12, 13), and delivers the subtexts to the speech conversion engine 30 so that the client modules 1, 2 , 3 (11, 12, 13) can be provided with a voice conversion service in an equitable manner.

도 2는 본 발명의 또 일 실시예에 따른 텍스트 분배 모듈의 구성을 나타낸 블록도이다.2 is a block diagram illustrating a configuration of a text distribution module according to another embodiment of the present invention.

도 2에 도시된 바와 같이 본 발명에 따른 텍스트 분배 모듈(20)은 음성 변환 요청부(21), 호출 버퍼부(22), 반환 버퍼부(24), 음성 변환 엔진 호출부(23) 등으로 구성될 수 있다.As shown in FIG. 2, the text distribution module 20 according to the present invention includes a voice conversion request unit 21, a call buffer unit 22, a return buffer unit 24, a voice conversion engine call unit 23, and the like. Can be configured.

클라이언트 모듈(10)은 음성 변환 함수를 호출하는 방식으로 음성 변환 요청부(21)에 서브 텍스트를 전달할 수 있다. 예를 들어 음성 변환 함수의 파라미터 또는 인자값으로 서브 텍스트를 추가함으로써 클라이언트 모듈(10)은 음성 변환 요청부(21)로 서브 텍스트를 전달하게 된다.The client module 10 may transfer the sub text to the voice conversion request unit 21 by calling the voice conversion function. For example, by adding the sub text as a parameter or an argument value of the voice conversion function, the client module 10 transmits the sub text to the voice conversion request unit 21.

음성 변환 요청부(21)는 각 클라이언트 모듈(10)로부터 공평하게 서브 텍스트를 수신하고 분배하는 구성 요소이다. 클라이언트 모듈(10)이 음성 변환 함수를 호출한 경우, 음성 변환 요청부(21)는 상기 클라이언트 모듈(10)이 음성 변환 성공 여부를 확인할 반환 메시지 큐를 반환 버퍼부(24) 내에 할당한다. 또한, 음성 변환 요청부(21)는 그 반환 메시지 큐의 식별자(ID)를 클라이언트 모듈(10)로 반환한다. 또한, 음성 변환 요청부(21)는 반환 메시지 큐에 음성 변환 성공 여부를 뜻하는 플래그를 저장할 수 있도록 반환 메시지 큐의 식별자를 음성 변환 엔진 호출부(23)로도 전송한다.The voice conversion request unit 21 is a component that receives and distributes sub texts from each client module 10 fairly. When the client module 10 calls the voice conversion function, the voice conversion request unit 21 allocates a return message queue in the return buffer unit 24 to confirm whether the client module 10 succeeds in voice conversion. In addition, the voice conversion request unit 21 returns the identifier (ID) of the return message queue to the client module 10. In addition, the voice conversion request unit 21 also transmits an identifier of the return message queue to the voice conversion engine caller 23 so that a flag indicating whether or not the voice conversion is successful is stored in the return message queue.

음성 변환 요청부(21)는 수신한 텍스트를 호출 버퍼부(22)로 입력한다. 호출 버퍼부(22)는 다수의 호출 메시지 큐로 구성되는데, 음성 변환 요청부(21)는 상기 다수의 호출 메시지 큐에 번갈아가면서 서브 텍스트를 입력하게 된다. 이 경우 호 출 메시지 큐의 개수는 음성 변환 엔진(30)의 입력 포트 수와 동일하다. 이 때 음성 변환 요청부(21)가 호출 메시지 큐로 문장을 입력하는 작업은 푸쉬 작업(push)으로 불리운다. The voice conversion request unit 21 inputs the received text into the call buffer unit 22. The call buffer unit 22 is composed of a plurality of call message queues, and the voice conversion request unit 21 alternately inputs sub texts to the call message queues. In this case, the number of call message queues is equal to the number of input ports of the voice conversion engine 30. At this time, the task of inputting the sentence to the call message queue by the speech conversion request unit 21 is called a push operation.

도 3에서는 음성 변환 엔진(30)의 입력 포트가 2개이므로 호출 메시지 큐도 2개가 존재하는 것을 살펴볼 수 있다. 2개의 음성 변환 엔진 입력 포트를 이용하는 경우 동시에 5명의 사용자로부터 음성 변환 요청이 들어왔다면, 음성 변환 요청부(21)는 음성 변환 요청 순서대로 제1 메시지 큐, 제2 메시지 큐로 서브 텍스트를 입력한다. 그 후 호출 메시지 큐를 로테이션하여 세 번째 분할된 문장은 다시 제1 메시지 큐로 전송되며, 네 번째 문장은 제2 메시지 큐로, 다섯 번째 문장은 제1 메시지 큐로 전송되는 것이다.In FIG. 3, since there are two input ports of the voice conversion engine 30, two call message queues are also present. When two voice conversion engine input ports are used, and a voice conversion request is received from five users at the same time, the voice conversion request unit 21 inputs sub texts into the first message queue and the second message queue in the order of the voice conversion request. Thereafter, the calling message queue is rotated so that the third partitioned sentence is sent back to the first message queue, the fourth sentence is sent to the second message queue, and the fifth sentence is sent to the first message queue.

음성 변환 엔진 호출부(23)는 호출 버퍼부(22)의 호출 메시지 큐로부터 서브 텍스트를 하나씩 전달받아 음성 변환 엔진(30)으로 전달한다. 이와 같이 호출 메시지 큐에 저장된 텍스트를 꺼내는 작업은 팝 작업(pop)이라고 호칭되며, 이는 TTS API(Text to Speech Application Programming Interface)를 이용하여 이루어질 수 있다. The voice conversion engine call unit 23 receives sub texts from the call message queue of the call buffer unit 22 one by one and delivers the sub texts to the voice conversion engine 30. As such, the operation of extracting the text stored in the call message queue is called a pop operation, which may be performed using a TTS API (Text to Speech Application Programming Interface).

음성 변환 엔진(30)은 상기 음성 변환 엔진 호출부(23)로부터 전달받은 텍스트를 음성 변환하여 음성 파일 등의 형식으로 저장, 출력한다. 또한, 음성 변환 엔진(30)은 음성 변환 엔진 호출부(23)로 음성 변환의 성공을 의미하는 플래그 등을 반환하게 된다.The voice conversion engine 30 converts the text received from the voice conversion engine caller 23 into a voice file, and stores and outputs the text in a format such as a voice file. In addition, the speech conversion engine 30 returns a flag or the like indicating the success of the speech conversion to the speech conversion engine caller 23.

이제 음성 변환 엔진 호출부(23)는 음성 변환이 성공하였다는 음성 변환 플 래그를 반환 버퍼부(24)의 반환 메시지 큐에 저장하게 된다. 이 경우 음성 변환 엔진 호출부(23)는 음성 변환 요청부(21)로부터 수신한 반환 메시지 큐 식별자에 해당하는 위치에 플래그를 저장한다.Now, the voice conversion engine caller 23 stores the voice conversion flag indicating that the voice conversion was successful in the return message queue of the return buffer unit 24. In this case, the speech conversion engine caller 23 stores a flag at a position corresponding to the return message queue identifier received from the speech conversion requester 21.

한편 클라이언트 모듈(10)은 음성 변환 요청부(21)로부터 반환받은 반환 메시지 큐 식별자를 이용하여 반환 메시지 큐를 주기적으로 검사한다. 클라이언트 모듈(10)이 성공적으로 음성 변환을 하였다는 결과를 체크한 경우, 다음 서브 텍스트를 음성 변환 요청부(21)로 전송하게 된다.Meanwhile, the client module 10 periodically checks the return message queue by using the return message queue identifier returned from the voice conversion request unit 21. When the client module 10 checks the result of the successful voice conversion, the next subtext is transmitted to the voice conversion request unit 21.

이러한 텍스트 분할 음성 변환 방법은 음성 변환 엔진의 인풋 포트 수가 음성 변환을 하고자 하는 사용자에 비하여 부족한 경우에도 공평하게 음성 변환을 하기 위한 방법에 해당한다. 텍스트 분할 음성 변환 방법은 제한된 음성 변환 엔진의 포트 수만큼 메시지 큐를 설정하고, 메시지 큐가 로테이션하며 문장을 음성 변환 모듈로 공급하는 방법이다. The text segmentation speech conversion method corresponds to a method for equally speech conversion even when the number of input ports of the speech conversion engine is insufficient compared to a user for speech conversion. The text segmentation speech conversion method is a method of setting a message queue by the number of ports of the limited speech conversion engine, rotating the message queue, and supplying a sentence to the speech conversion module.

도 3은 본 발명의 다른 실시예에 따른 텍스트 분할 음성 변환 방법을 나타낸 순서도이다.3 is a flowchart illustrating a text segmentation voice conversion method according to another embodiment of the present invention.

다수의 클라이언트는 각각 음성 변환할 텍스트를 사용자로부터 입력받게 된다(S301). 상기 입력받은 음성 변환할 텍스트가 장문인 경우 하나의 클라이언트가 음성 변환 엔진을 단독으로 장기간 점유하는 문제점이 발생할 수 있다. 따라서 클라이언트는 입력받은 텍스트를 다수의 서브 텍스트로 분할하게 된다(S302). 이 경우 텍스트의 분할 방법은 도 5에서 보다 자세하게 설명하기로 한다. 텍스트 분할 후 클라이언트는 서브 텍스트 순서대로 텍스트 분배 모듈로 음성 변환 요청을 하게 된다(S303).Each of the plurality of clients receives text to be voice converted from the user (S301). When the received text to be converted is long text, a single client may occupy the voice conversion engine for a long time. Therefore, the client divides the received text into a plurality of sub texts (S302). In this case, the text division method will be described in more detail with reference to FIG. 5. After text division, the client makes a voice conversion request to the text distribution module in sub text order (S303).

텍스트 분배 모듈은 다수의 클라이언트로부터 서브 텍스트를 수신하게 된다(S304). S304 과정에서 서브 텍스트 수신 시각을 임시 저장하고, 텍스트 분배 모듈은 수신한 서브 텍스트를 수신 시각 순서대로 음성 변환 엔진으로 전달한다(S305). 또한, 텍스트 분배 모듈은 음성 변환의 성공 여부를 체크할 반환 메시지 큐의 식별자를 클라이언트에게 전달한다(S306). 음성 변환 엔진은 텍스트 분배 모듈로부터 전송받은 서브 텍스트를 음성 변환하고, 음성 변환 성공 여부를 저장한 플래그를 상기 버퍼에 저장한다(S307).The text distribution module receives the sub text from the plurality of clients (S304). In step S304, the sub text reception time is temporarily stored, and the text distribution module transfers the received sub text to the speech conversion engine in the order of reception time (S305). In addition, the text distribution module transmits an identifier of a return message queue to check whether the voice conversion is successful (S306). The voice conversion engine performs voice conversion on the sub-text received from the text distribution module, and stores a flag storing whether the voice conversion is successful in the buffer (S307).

한편, 클라이언트는 텍스트 분배 모듈로부터 반환받은 식별자에 해당하는 반환 메시지 큐를 주기적으로 체크한다(S308). 만일, 반환 메시지 큐에 의하여 음성 변환 성공을 감지하고(S309), 음성 변환할 서브 텍스트가 남아있는 경우(S310)에는 상기 서브 텍스트를 텍스트 분배 모듈로 음성 변환 요청하는 과정(S303)으로 진행한다.Meanwhile, the client periodically checks the return message queue corresponding to the identifier returned from the text distribution module (S308). If the speech conversion is detected by the return message queue (S309), and if the sub-text to be voice-converted remains (S310), the process proceeds to requesting the voice-conversion to the text distribution module (S303).

도 4는 본 발명의 다른 실시예에 따른 텍스트 분할 방법을 나타낸 순서도이다.4 is a flowchart illustrating a text segmentation method according to another embodiment of the present invention.

여기서 사용되는 변수로 TEXT, n, c가 존재한다. TEXT는 최종적으로 음성 변환 요청할 문자열이 저장되는 변수이고, n은 현재까지 입력된 문자의 개수로서 도 3의 read_count 변수와 동일한 의미이다. 또한, 본 발명에서는 문자를 하나씩 입력 받게 되는데, 현재 입력된 문자를 저장한 변수가 c이다.Variables used here include TEXT, n, and c. TEXT is a variable in which a text conversion request string is finally stored, and n is the number of characters input so far, which has the same meaning as the read_count variable of FIG. 3. In addition, in the present invention, the characters are input one by one, and the variable storing the currently input character is c.

먼저, TEXT와 n, c와 같은 변수들을 리셋한다(S401). 클라이언트는 사용자로부터 하나의 문자 단위로 입력받아 변수 c에 저장한다(S402). 클라이언트는 변수 c가 파일의 끝(End of File)을 의미하는 문자인지 체크한다(S403). First, variables such as TEXT and n and c are reset (S401). The client receives an input from the user by one character unit and stores it in the variable c (S402). The client checks whether the variable c is a character representing an end of file (S403).

변수 c에 의하여 텍스트의 입력이 종료되지 않는 경우, 변수 n은 1 증가시키고, 변수 TEXT에는 지금까지 저장된 문자열 뒤에 변수 c의 문자를 덧붙인다(S404). 예를 들어, TEXT가 저장하고 있는 문자열이'PATEN'이고, 현재 변수 c가'T'인 경우, S404 과정이후 TEXT가 저장하는 문자열은'PATENT'가 되는 것이다.If the input of the text is not terminated by the variable c, the variable n is increased by 1, and the character of the variable c is added to the variable TEXT after the string stored so far (S404). For example, if the string stored in TEXT is 'PATEN' and the current variable c is 'T', the string stored in the text after S404 becomes 'PATENT'.

그 후 텍스트를 분할할 것인지 판단하는 과정들이 시작된다. n의 값이 80이상인 경우 현재 입력된 문자가 마침표, 쉼표, 느낌표, 물음표 등에 해당하는지 체크한다(S405). 상기 조건을 만족하는 경우 변수 TEXT가 저장하고 있는 문자열을 음성 변환 요청하게 된다(S408).The process of determining whether to split the text then begins. When the value of n is 80 or more, it is checked whether the currently input character corresponds to a period, comma, exclamation point, question mark, etc. (S405). When the condition is satisfied, the voice conversion request is made for the string stored in the variable TEXT (S408).

또한, n의 값이 160이상이고 현재 입력된 문자가 스페이스(공백), '\t', '\n', '\r' 인지 체크하고(S406), 상기 조건을 만족하는 경우에도 변수 TEXT를 음성 변환 요청한다(S408). 마지막으로 현재까지 입력된 문자열의 수가 240 개를 넘는지 체크하고(S407), 이를 만족하는 경우에도 TEXT를 음성 변환 요청한다(S408). In addition, it is checked whether the value of n is 160 or more and the currently input character is a space (space), '\ t', '\ n', or '\ r' (S406). Voice conversion request (S408). Finally, it is checked whether the number of strings inputted so far is greater than 240 (S407), and even if this is satisfied, a text conversion request is performed (S408).

상기 S405 내지 S407의 조건을 만족하지 않는 경우 클라이언트는 사용자로부터 또 다른 문자를 입력받는 S402 단계로 진행하게 된다.If the conditions of S405 to S407 are not satisfied, the client proceeds to step S402 of receiving another character from the user.

도 5는 본 발명의 다른 실시예에 따른 문단 변환 알고리즘을 나타낸 예시도 이다. 5 is an exemplary diagram illustrating a paragraph conversion algorithm according to another embodiment of the present invention.

도 5의 A 문장을 살펴보면, start_flag가 1인 경우 분할된 문장을 음성으로 변환하는 작업을 시작한다.Referring to sentence A of FIG. 5, when start_flag is 1, a task of converting a divided sentence into voice is started.

read_count는 읽어 들인 누적 글자수를 의미하며, B 문장은 입력된 글자수가 80개 이상인 경우, 입력된 문자가 '.', ',', '?','!'인 경우에 start_flag를 1로 설정하여, 현재까지 입력받은 문자를 음성 변환하도록 한다.read_count means the cumulative number of characters to be read, and sentence B sets start_flag to 1 when the input character is '.', ',', '?', '!' To convert the text inputted so far.

문장 C에서 입력된 글자수가 160개를 넘어가는 경우, 스페이스, '\t', '\n', '\r' 의 문자가 입력되면 마찬가지로 start_flag를 1로 설정하여 현재까지 입력받은 문자를 음성 변환하도록 한다.When the number of characters entered in sentence C exceeds 160, if the characters of space, '\ t', '\ n', and '\ r' are input, likewise, start_flag is set to 1 to convert the characters inputted so far. Do it.

문장 D에서는 입력된 글자수가 240개를 넘어가는 경우 무조건 현재까지 입력받은 문자를 음성 변환하게 한다.In sentence D, if the number of characters entered exceeds 240, the character received so far is voice-converted.

이와 같은 문단 변환 알고리즘을 적용하여 통상 100 바이트 내외의 문장으로 조각내어 음성 변환 요청을 할 수 있다. 따라서 아무리 긴 문장을 음성 변환 요청하고 싶어도, 100 바이트 씩 음성 변환이 된다. 변환 후 사용했던 음성 변환 모듈의 점유는 다음 클라이언트에게 넘겨지므로 한 사용자가 오랫동안 하나의 음성 변환 모듈을 점유할 수 없게 된다.By applying such a paragraph conversion algorithm, a speech conversion request can be made by fragmenting a sentence of about 100 bytes. Therefore, no matter how long a sentence is requested to be converted, the speech is converted by 100 bytes. The occupancy of the speech conversion module used after the conversion is passed to the next client, so that a user cannot occupy one speech conversion module for a long time.

이상에서 본 발명의 바람직한 실시예에 대하여 설명하였다. 본 발명은 상술한 실시예에 한정하지 아니하며, 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다. The preferred embodiment of the present invention has been described above. The present invention is not limited to the above-described embodiment, and various modifications can be made by anyone having ordinary skill in the art to which the present invention pertains.

상기한 바와 같은 본 발명, 텍스트 분할 음성 변환 시스템 및 그 방법에 따르면, 음성 변환 기능을 많이 사용하는 UMS(Unified Messaging System) 시스템 또는 기타 그 외의 전화망과 연동하여 음성 변환 기능을 사용하는 솔루션 내에서 적은 TTS 포트수를 이용하여 많은 수의 사용자들을 수용할 수 있으며, 음성 변환 성능도 향상되어 고품질의 서비스를 제공할 수 있게 된다.According to the present invention, the text splitting speech conversion system and the method as described above, a solution in which a speech conversion function is used in conjunction with a UMS (Unified Messaging System) system that uses a large number of speech conversion functions or other telephone networks is used. The number of TTS ports can be used to accommodate a large number of users, and the voice conversion performance is also improved to provide high quality services.

Claims (10)

음성 변환 엔진(TTS Engine)을 이용하는 음성 변환 시스템에 있어서,In a voice conversion system using a TTS engine, 사용자로부터 입력받은 텍스트를 적어도 하나의 서브 텍스트(Sub Text)로 분할하고, 서브 텍스트를 차례대로 음성 변환 요청하는 다수의 클라이언트 모듈; 과A plurality of client modules for dividing the text input from the user into at least one sub text, and requesting voice conversion of the sub texts in order; and 상기 다수의 클라이언트로부터 각각 서브 텍스트를 수신하고, 상기 서브 텍스트를 상기 음성 변환 엔진의 포트 수에 맞춰 구비하는 메시지 큐에 순차적으로 저장하며, 상기 메시지 큐에 저장된 서브 텍스트를 상기 음성 변환 엔진의 포트로 각각 출력하는 텍스트 분배 모듈을 포함하는 음성 변환 시스템.Receive sub texts from the plurality of clients, respectively, and sequentially store the sub texts in a message queue provided according to the number of ports of the voice conversion engine, and store the sub texts stored in the message queues as ports of the voice conversion engine. Speech conversion system comprising a text distribution module for outputting each. 제1항에 있어서,The method of claim 1, 상기 텍스트 분배 모듈은,The text distribution module, 상기 클라이언트 모듈로부터 적어도 하나의 서브 텍스트 음성 변환 요청을 받은 경우, 상기 서브 텍스트를 다수의 메시지 큐에 순차적으로 출력하는 음성 변환 요청부;A voice conversion request unit configured to sequentially output the sub texts to a plurality of message queues when receiving at least one sub text speech conversion request from the client module; 상기 음성 변환 요청부로부터 서브 텍스트를 수신하여 임시 저장하고, FIFO(First in First out) 방식에 의하여 상기 서브 텍스트를 출력하는 메시지 큐; 및A message queue configured to receive the subtext from the voice conversion request unit and temporarily store the subtext, and output the subtext by a first in first out (FIFO) scheme; And 상기 메시지 큐로부터 상기 출력된 서브 텍스트를 전달받아 상기 음성 변환 엔진으로 음성 변환 요청하는 음성 변환 엔진 호출부를 포함하는 음성 변환 시스템.And a voice conversion engine caller configured to receive the output sub text from the message queue and request a voice conversion to the voice conversion engine. 제2항에 있어서,The method of claim 2, 상기 음성 변환 엔진 호출부는,The voice conversion engine call unit, 상기 음성 변환 엔진이 상기 서브 텍스트를 성공적으로 음성 변환한 경우, 이를 상기 클라이언트 모듈로 통보하는 것을 특징으로 하는 음성 변환 시스템.And the client module notifies the client module when the speech conversion engine has successfully converted the sub text. 제3항에 있어서,The method of claim 3, 상기 클라이언트 모듈은,The client module, 상기 음성 변환 엔진 호출부로부터 상기 서브 텍스트가 성공적으로 음성 변환되었다는 사실을 통보받은 후, 그 다음 서브 텍스트를 음성 변환 요청하는 음성 변환 시스템.And the voice conversion engine call unit is notified that the sub text was successfully voice converted, and then voice conversion is requested for the next sub text. 제1항에 있어서,The method of claim 1, 상기 클라이언트 모듈은,The client module, 하나의 문자 단위로 음성 변환할 텍스트를 입력받으며, 현재까지 수신한 문자의 개수가 소정의 문자수를 초과하고, 현재 수신한 문자가 ‘.’, ‘,’, ‘?’, ‘!’ 중 적어도 하나인 경우, 현재까지 수신한 문자열로 하나의 서브 텍스트를 구성하며, 상기 서브 텍스트에 대하여 음성 변환 요청하는 것을 특징으로 하는 음성 변환 시스템.Receives text to be converted into one character unit, the number of characters received so far exceeds the predetermined number of characters, and the currently received characters are '.', ',', '?', '!' In the case of at least one, a sub-text composed of the string received so far, the voice conversion system characterized in that the voice conversion request for the sub-text. 음성 변환 엔진(TTS Engine)을 이용한 음성 변환 방법에 있어서,In the speech conversion method using a TTS engine, 다수의 클라이언트 모듈이 사용자로부터 입력받은 텍스트를 적어도 하나의 서브 텍스트(Sub Text)로 분할하고, 서브 텍스트를 차례대로 음성 변환 시스템으로 음성 변환 요청하는 단계; 와Splitting text input from a user into at least one sub text by a plurality of client modules and requesting a voice conversion to the voice conversion system in turn; Wow 상기 음성 변환 시스템은 수시된 서브 텍스트를 상기 음성 변환 엔진의 포트 수에 맞춰 구비하는 메시지 큐에 순차적으로 저장하는 단계; 및The speech conversion system sequentially storing the received subtexts in a message queue provided according to the number of ports of the speech conversion engine; And 상기 음성 변환 시스템은 상기 메시지 큐에 저장된 서브 텍스트를 상기 음성 변환 엔진의 포트로 각각 출력하는 단계를 포함하는 음성 변환 방법.And the voice conversion system outputs sub texts stored in the message queue to ports of the voice conversion engine. 제6항에 있어서,The method of claim 6, 상기 음성 변환 시스템이 메시지 큐에 저장된 서브 텍스트를 출력하는 단계는,The voice conversion system outputs the sub text stored in the message queue, FIFO 방식에 의하여 상기 저장된 서브 텍스트를 상기 음성 변환 엔진의 포트로 출력하는 음성 변환 방법.And converting the stored sub text to a port of the speech conversion engine by a FIFO method. 제6항에 있어서,The method of claim 6, 상기 음성 변환 엔진이 상기 서브 텍스트를 성공적으로 음성 변환한 경우, 이를 상기 음성 변환 시스템으로 통보하는 단계를 더 포함하는 음성 변환 방법.And notifying the speech conversion system when the speech conversion engine successfully converts the sub text. 제8항에 있어서,The method of claim 8, 상기 음성 변환 시스템이 상기 서브 텍스트가 성공적으로 음성 변환되었다는 사실을 통보받은 후, 상기 클라이언트 모듈은 다음 서브 텍스트를 음성 변환 요청하는 단계를 더 포함하는 음성 변환 방법.And after the voice conversion system is informed that the sub text has been successfully voice converted, the client module further comprises a voice conversion request for the next sub text. 제6항에 있어서,The method of claim 6, 상기 클라이언트 모듈의 텍스트 분할 방법은,The text segmentation method of the client module, 하나의 문자 단위로 음성 변환 요청할 문자열을 수신하는 단계; 와Receiving a voice conversion request string in units of characters; Wow 현재까지 수신한 문자의 개수가 소정의 문자수를 초과하고, 현재 수신한 문자가 ‘.’, ‘,’, ‘?’, ‘!’ 중 적어도 하나인 경우, 현재까지 수신한 문자열로 하나의 서브 텍스트를 구성하고, 상기 서브 텍스트를 음성 변환 요청하는 단계를 포함하는 음성 변환 방법.If the number of characters received so far exceeds the predetermined number of characters and the currently received characters are at least one of '.', ',', '?', '!' Constructing sub text, and requesting a voice conversion of the sub text.
KR1020060000179A 2006-01-02 2006-01-02 Apparatus and Method for Providing Text To Speech Service Using Text Division Technique KR100757869B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060000179A KR100757869B1 (en) 2006-01-02 2006-01-02 Apparatus and Method for Providing Text To Speech Service Using Text Division Technique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060000179A KR100757869B1 (en) 2006-01-02 2006-01-02 Apparatus and Method for Providing Text To Speech Service Using Text Division Technique

Publications (2)

Publication Number Publication Date
KR20070072733A KR20070072733A (en) 2007-07-05
KR100757869B1 true KR100757869B1 (en) 2007-09-11

Family

ID=38507526

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060000179A KR100757869B1 (en) 2006-01-02 2006-01-02 Apparatus and Method for Providing Text To Speech Service Using Text Division Technique

Country Status (1)

Country Link
KR (1) KR100757869B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835669B (en) * 2020-06-24 2024-03-29 青岛海信移动通信技术有限公司 Electronic equipment and voice broadcasting method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010068773A (en) * 2000-01-10 2001-07-23 구자홍 Mail to speech converting apparatus
JP2001358602A (en) 2000-06-14 2001-12-26 Nec Corp Character information receiver
JP2003150184A (en) 2001-11-15 2003-05-23 Nissan Motor Co Ltd Voice converting device for onboard text information
KR20050021567A (en) * 2002-07-25 2005-03-07 모토로라 인코포레이티드 Concatenative text-to-speech conversion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010068773A (en) * 2000-01-10 2001-07-23 구자홍 Mail to speech converting apparatus
JP2001358602A (en) 2000-06-14 2001-12-26 Nec Corp Character information receiver
JP2003150184A (en) 2001-11-15 2003-05-23 Nissan Motor Co Ltd Voice converting device for onboard text information
KR20050021567A (en) * 2002-07-25 2005-03-07 모토로라 인코포레이티드 Concatenative text-to-speech conversion

Also Published As

Publication number Publication date
KR20070072733A (en) 2007-07-05

Similar Documents

Publication Publication Date Title
JP4271224B2 (en) Speech translation apparatus, speech translation method, speech translation program and system
US9088652B2 (en) System and method for speech-enabled call routing
CN1984201B (en) Voice services system and method
FI115868B (en) speech synthesis
JP7037517B2 (en) Voice dialogue methods and equipment for customer request services
CN107481715B (en) Method and apparatus for generating information
WO2011088049A2 (en) Intelligent and parsimonious message engine
EP1471499B1 (en) Method of distributed speech synthesis
US20030014254A1 (en) Load-shared distribution of a speech system
TW200304638A (en) Network-accessible speaker-dependent voice models of multiple persons
US20080167874A1 (en) Methods and Apparatus for Masking Latency in Text-to-Speech Systems
US8145490B2 (en) Predicting a resultant attribute of a text file before it has been converted into an audio file
KR100757869B1 (en) Apparatus and Method for Providing Text To Speech Service Using Text Division Technique
US6501751B1 (en) Voice communication with simulated speech data
JP2009005350A (en) Method for operating voice mail system
KR101916107B1 (en) Communication Terminal and Information Processing Method Thereof
JP2006018133A (en) Distributed speech synthesis system, terminal device, and computer program
JP2020008690A (en) Extraction device, extraction method, and program
JP2019090917A (en) Voice-to-text conversion device, method and computer program
JP6389348B1 (en) Voice data optimization system
US20220148574A1 (en) Hybrid voice interaction system and hybrid voice interaction method
KR102320195B1 (en) Callbot service provide device and method
JP6386690B1 (en) Voice data optimization system
JP4082249B2 (en) Content distribution system
JP3406230B2 (en) Audio output device and audio conversion method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20120830

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee