KR20060014043A - 음성 응답 시스템, 음성 응답 방법, 음성 서버, 음성 파일처리 방법, 프로그램 및 기록 매체 - Google Patents

음성 응답 시스템, 음성 응답 방법, 음성 서버, 음성 파일처리 방법, 프로그램 및 기록 매체 Download PDF

Info

Publication number
KR20060014043A
KR20060014043A KR1020057021113A KR20057021113A KR20060014043A KR 20060014043 A KR20060014043 A KR 20060014043A KR 1020057021113 A KR1020057021113 A KR 1020057021113A KR 20057021113 A KR20057021113 A KR 20057021113A KR 20060014043 A KR20060014043 A KR 20060014043A
Authority
KR
South Korea
Prior art keywords
voice
file
variable
grammar
speech
Prior art date
Application number
KR1020057021113A
Other languages
English (en)
Other versions
KR100834363B1 (ko
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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20060014043A publication Critical patent/KR20060014043A/ko
Application granted granted Critical
Publication of KR100834363B1 publication Critical patent/KR100834363B1/ko

Links

Images

Classifications

    • 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/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Studio Devices (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 변수를 포함하는 메시지를 음성 파일로 재생하는 경우에 애플리케이션의 부하를 경감할 수 있도록 개선된 자동 음성 응답 시스템을 제공하는 것을 목적으로 한다. 애플리케이션 서버 및 음성 서버로 이루어지는 음성 응답 시스템으로서, 상기 애플리케이션 서버는 제1 음성 파일과, 제2 음성 파일과, 음성 정보를 갖는 것이며, 상기 음성 서버는 상기 애플리케이션 서버로부터 상기 음성 정보와 상기 제1 음성 파일을 수신하고, 상기 음성 정보에 기초하여 문법을 생성하는 음성 파일 처리 수단과, 상기 문법에 기초하여 상기 제1 음성 파일을 음성 인식하고 복수의 음성 파일로 분할하는 음성 인식 수단과, 상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 상기 제2 음성 파일로 치환하는 음성 처리 수단을 갖는 음성 응답 시스템을 제공한다.

Description

음성 응답 시스템, 음성 응답 방법, 음성 서버, 음성 파일 처리 방법, 프로그램 및 기록 매체{VOICE RESPONSE SYSTEM, VOICE RESPONSE METHOD, VOICE SERVER, VOICE FILE PROCESSING METHOD, PROGRAM AND RECORDING MEDIUM}
본 발명은 자동 음성 응답 시스템에 관한 것으로, 보다 구체적으로는 음성 인식을 이용한 자동 합성 음성으로 응답을 행하는 시스템에 관한 것이다.
종래, 음성 애플리케이션이 시스템의 메시지를 자동적으로 출력할 때에는 미리 녹음한 음성 파일을 이용하고 있었다. 예컨대, 표준의 스피치 인터페이스를 정의하는 VoiceXML의 경우에는 음성 파일명을 <audio> 태그로 지정함으로써 실현되어 있다. 예컨대, VoiceXML을 사용한 VoIP 베이스의 음성 시스템으로서는 이하의 특허문헌 1이 있다.
[특허문헌 1] 일본 특허 공개 제2002-57724호 공보
그러나 그 메시지에 변수가 포함되는 경우, 애플리케이션에 부하가 가중되는 것이 문제이다.
보다 구체적으로 설명해서, VoiceXML 애플리케이션 경우를 고려하면, 종래의 음성 서버 상에서 애플리케이션이 음성 파일에 변수를 삽입하고자 한 경우, 애플리케이션의 작업과 실장은 미리 문장을 변수 위치에서 분할한 음성 파일을 준비하고, 변수로부터 음성 파일명을 결정하며, 그 음성 파일을 재생하는 VXML 문서를 동적으로 생성하는 기능을 갖는 서블릿을 개발하고, VXML 문서에서는 변수 전후의 음성 파일을 2개의 <audio> 태그로 지정하고 적절한 타이밍에 서블릿을 서브 음성 정보로서 호출하는 것과 같은 실장을 일례로서 생각할 수 있다.
이와 같이 하여 메시지를 음성 파일로 재생하는 경우, 애플리케이션에는 이하의 점에서 부하가 가중되어 문제가 된다.
우선, 애플리케이션의 실장에 관해서 문제가 있다. 즉, 실행시에 변수부의 음성 파일을 특정하여 재생하기 위한 논리를 애플리케이션이 독자적으로 개발해야 한다. 즉, 애플리케이션을 복잡하고 또한 대량으로 개발해야 하므로 문제가 된다. 또한, 문장의 변경에 따라 애플리케이션의 변경을 필요로 하는 것도 문제가 된다.
또한, 녹음 파일의 작성 작업의 시간, 품질, 관리에 관한 점에도 문제가 있다. 종래의 방법에서는, 음성 파일은 변수 앞부분, 변수부, 변수 뒷부분으로 분할하여 녹음되어 있어야 한다. 예컨대, 상품명을 변수부로서 포함하는 「주문 상품은 {쌀}입니다」라고 하는 문장의 경우, 「주문 상품은」과 「쌀」과 「입니다」라고 하는 음성 파일을 작성해야 한다. 이와 같이 하면 녹음자는 문장으로서 부자연스럽게 분단된 파트를 말해야 하기 때문에 쉽게 부자연스러운 발성이 되고, 재생 결과도 자연스러움과 원활함이 결여되어 문제가 된다.
또한, 전문을 연속적으로 녹음하여 음성 파일 에디터에 의해 분할하는 방법도 있다. 그러나 이 경우, 음성 파일 편집자는 애플리케이션의 설계를 정확히 파악하고 있어야 한다. 또한, 음성 파일의 분할 등 복잡한 작업을 필요로 하기 때문에 쉽게 미스가 발생한다. 또한, 이와 같은 음성 파일의 편집 등의 작업이 많이 필요해지기 때문에 발생하는 작업량 증대가 문제이다. 또한, 문장을 미리 변수 위치에서 분할한 상태의 음성 파일을 준비하기 때문에 음성 파일 수가 많아진다. 또한, 음성 파일을 원활하게 연결하기 위해서 음성 파일의 처음과 끝의 무음부는 음성 파일 에디터로 절취하여 편집해야 한다. 이러한 편집 작업은 음성 파일의 수에 비례하여 증가하기 때문에, 음성 파일 수가 커지면 그 작업은 보다 한층 방대하고 또한 번잡해진다. 또한, 음성 파일 수가 커지는 것은 파일명의 명명이나 파일의 관리를 복잡하게 할 가능성도 생각할 수 있다.
이상의 과제를 해결하기 위해서, 본 발명은 시스템으로서 파악하면, 애플리케이션 서버 및 음성 서버로 이루어지는 음성 응답 시스템으로서, 상기 애플리케이션 서버는 제1 음성 파일과, 제2 음성 파일과, 음성 정보를 갖는 것이며, 상기 음성 서버는 상기 애플리케이션 서버로부터 상기 음성 정보와 상기 제1 음성 파일을 수신하고 상기 음성 정보에 기초하여 문법을 생성하는 음성 파일 처리 수단과, 상기 문법에 기초하여 상기 제1 음성 파일을 음성 인식하고 복수의 음성 파일로 분할하는 음성 인식 수단과, 상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 상기 제2 음성 파일로 치환하는 음성 처리 수단을 갖는 음성 응답 시스템을 제공한다.
여기서 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것으로 할 수 있다. 또한, 상기 제2 음성 파일은 변수부에 들어가는 음성을 파일로서 녹음한 것으로 할 수 있다. 또한, 상기 음성 정보에는 상기 제1 음성 파일의 파일명이 포함되고, 상기 음성 파일 처리 수단은 상기 전문 음성 파일명에 기초하여 상기 제1 음성 파일을 추출하는 것으로 할 수 있다. 또한, 상기 음성 정보에는 대체 텍스트가 포함되고, 상기 음성 파일 처리 수단은 상기 대체 텍스트에 기초하여 문법을 생성하는 것으로 할 수 있다. 또한, 상기 음성 정보에는 변수에 대한 처리를 행해야 하는 지의 여부를 나타내는 변수 정보가 포함되는 것으로 할 수 있다. 또한, 음성을 출력하는 음성 출력 수단을 갖는 것으로 할 수 있다.
또한, 방법으로서 파악하면, 애플리케이션 서버 및 음성 서버로 이루어지는 음성 응답 시스템에서의 음성 응답 방법으로서, 상기 애플리케이션 서버는 제1 음성 파일과, 제2 음성 파일과, 음성 정보를 갖는 것이며, 상기 음성 응답 방법은 상기 음성 서버가 상기 애플리케이션 서버로부터 상기 음성 정보와 상기 제1 음성 파일을 수신하고 상기 음성 정보에 기초하여 문법을 생성하는 단계와, 상기 문법에 기초하여 상기 제1 음성 파일을 음성 인식하여 복수의 음성 파일로 분할하는 단계와, 상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 상기 제2 음성 파일로 치환하는 단계로 이루어지는 음성 응답 방법을 제공한다.
여기서 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것으로 할 수 있다. 또한, 상기 제2 음성 파일은 변수부에 들어가는 음성을 파일로서 녹음한 것으로 할 수 있다. 또한, 상기 음성 정보에는 상기 제1 음성 파일의 파일명이 포함되고, 상기 제1 음성 파일명에 기초하여 상기 제1 음성 파일을 추출하는 것으로 할 수 있다. 또한, 상기 음성 정보에는 대체 텍스트가 포함되고, 상기 대체 텍스트에 기초하여 문법을 생성하는 것으로 할 수 있다. 또한, 상기 음성 정보에는 변수에 대한 처리를 행해야 하는지의 여부를 나타내는 변수 정보가 포함되는 것으로 할 수 있다.
또한, 프로그램으로서 파악하면, 애플리케이션 서버 및 음성 서버로 이루어지는 음성 응답 시스템에서의 음성 응답을 실행하기 위한 프로그램으로서, 상기 애플리케이션 서버는 제1 음성 파일과, 제2 음성 파일과, 음성 정보를 갖는 것이며, 상기 프로그램은 상기 음성 서버로 하여금, 상기 애플리케이션 서버로부터 상기 음성 정보와 상기 제1 음성 파일을 수신하고 상기 음성 정보에 기초하여 문법을 생성하며, 상기 문법에 기초하여 상기 제1 음성 파일을 음성 인식하고 복수의 음성 파일로 분할하며, 상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 상기 제2 음성 파일로 치환하도록 동작시키는 것인 프로그램을 제공한다.
여기서 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것으로 할 수 있다. 또한, 상기 제2 음성 파일은 변수부에 들어가는 음성을 파일로서 녹음한 것으로 할 수 있다. 또한, 상기 음성 정보에는 상기 제1 음성 파일의 파일명이 포함되고, 상기 음성 파일 처리 수단은 상기 전문 음성 파일명에 기초하여 상기 제1 음성 파일을 추출하는 것으로 할 수 있다. 또한, 상기 음성 정보에는 대체 텍스트가 포함되고, 상기 음성 파일 처리 수단은 상기 대체 텍스트에 기초하여 문법을 생성하는 것으로 할 수 있다. 또한, 상기 음성 정보에는 변수에 대한 처리를 행해야 하는지의 여부를 나타내는 변수 정보가 포함되게 할 수 있다.
또한, 본 발명은 이러한 프로그램을 저장한 컴퓨터가 판독할 수 있는 기록 매체를 제공한다.
또한, 본 발명을 음성 서버로서 파악하면, 자동적으로 음성 처리를 행하기 위한 음성 서버로서, 대체 텍스트로부터 문법을 생성하는 수단과, 상기 문법에 기초해 제1 음성 파일을 음성 인식하여 복수의 음성 파일로 분할하는 수단과, 상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 제2 음성 파일로 치환하는 수단을 갖는 음성 서버를 제공한다.
여기서 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것으로 할 수 있다. 또한, 상기 제2 음성 파일은 변수부에 들어가는 음성을 파일로서 녹음한 것으로 할 수 있다. 또한, 상기 제2 음성 파일은 변수부에 들어가는 음성을 합성 음성에 의해 생성한 것으로 할 수 있다. 또한, 상기 문법을 생성하는 수단은 대체 텍스트를 변수부와 변수부 이외의 부분으로 분할하고, 변수부를 미리 정해진 단어로 치환함으로써 문법을 생성하게 할 수 있다. 또한, 상기 문법을 생성하는 수단은 또한 상기 단어의 치환에 의해 생성된 텍스트 파일을 분할하여 음성 인식이 가능한 형식으로 함으로써 문법을 생성하게 할 수 있다.
또한, 이것을 방법으로서 파악하면, 음성 서버에 의해 자동적으로 음성 파일을 처리하기 위한 방법으로서, 상기 음성 서버가 대체 텍스트로부터 문법을 생성하는 단계와, 상기 문법에 기초하여 제1 음성 파일을 음성 인식하고 복수의 음성 파일로 분할하는 단계와, 상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 제2 음성 파일로 치환하는 단계를 갖는 음성 파일 처리 방법을 제공한다.
여기서 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것으로 할 수 있다. 또한, 상기 제2 음성 파일은 변수부에 들어가는 음성을 파일로서 녹음한 것으로 할 수 있다. 또한, 상기 제2 음성 파일은 변수부에 들어가는 음성을 합성 음성에 의해 생성한 것으로 할 수 있다. 또한, 상기 문법을 생성하는 단계는 대체 텍스트를 변수부와 변수부 이외의 부분으로 분할하고, 변수부를 미리 정해진 단어로 치환함으로써 문법을 생성하는 것으로 할 수 있다. 또한, 상기 문법을 생성하는 단계는 또한 상기 단어의 치환에 의해 생성된 텍스트 파일을 분할하고, 음성 인식이 가능한 형식으로 함으로써 문법을 생성하는 것으로 할 수 있다.
또한, 이것을 프로그램으로서 파악하면, 음성 서버에 의해 자동적으로 음성 파일을 처리하기 위한 프로그램으로서, 상기 프로그램은 상기 음성 서버를 대체 텍스트로부터 문법을 생성하고, 상기 문법에 기초해 제1 음성 파일을 음성 인식하며, 복수의 음성 파일로 분할하여 상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 제2 음성 파일로 치환하도록 동작시키는 것인 프로그램을 제공한다.
여기서 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것으로 할 수 있다. 또한, 상기 제2 음성 파일은 변수부에 들어가는 음성을 파일로서 녹음한 것으로 할 수 있다. 또한, 상기 제2 음성 파일은 변수부에 들어가는 음성을 합성 음성에 의해 생성한 것으로 할 수 있다. 또한, 상기 문법을 생성하는 동작은 대체 텍스트를 변수부와 변수부 이외의 부분으로 분할하고, 변수부를 미리 정해진 단어로 치환함으로써 문법을 생성하는 것으로 할 수 있다. 또한, 상기 문법을 생성하는 동작은 또한 상기 단어의 치환에 의해 생성된 텍스트 파일을 분할하고 음성 인식이 가능한 형식으로 함으로써 문법을 생성하는 것으로 할 수 있다.
또한, 본 발명은 이러한 프로그램을 저장한 컴퓨터가 판독할 수 있는 기록 매체를 제공한다.
도 1은 본 발명을 실시하는 데 적합한 컴퓨터 장치의 하드웨어 구성의 예를 모식적으로 나타낸 도면.
도 2는 본 발명을 기능 블록을 이용하여 나타낸 도면.
도 3은 음성 파일 처리부(231)에서의 문법의 생성 논리를 나타낸 도면.
도 4는 문법의 생성 논리를 상세하게 나타낸 도면.
도 5는 음성 인식 엔진(232)에서의 음성 인식에 의한 음성 파일의 분할 논리에 대해서 나타낸 도면.
도 6은 음성 인식 엔진(232)에서의 음성 인식에 의한 음성 파일의 분할 결과에 대해서 나타낸 도면.
도 7은 본 발명의 음성 서버(230)에서의 처리의 흐름에 대한 일례를 기술한 플로우차트를 나타낸 도면.
<도면의 주요 부분에 대한 부호의 설명>
101: CPU
102: M/B 칩 세트
103: 메인 메모리
104: 비디오 카드
105: 하드 디스크
106: 네트워크 인터페이스
107: USB
108: 브릿지 회로
109: 플렉시블 디스크 드라이브
110: 키보드/마우스
210: 음성 응답 시스템
221: 전문 녹음 음성 파일
222: 변수 녹음 음성 파일
223: 변수 녹음 음성 파일
224: 음성 정보
220: 애플리케이션 서버
231: 음성 파일 처리부
232: 음성 인식 엔진
233: 음성화 처리부
230: 음성 서버
240: 음성 출력 장치
우선, 도 1은 본 발명을 실시하는 데 적합한 컴퓨터 장치의 하드웨어 구성의 예를 모식적으로 나타낸 도면이다.
도 1에는 본 실시 형태를 실현하는 컴퓨터 장치의 하드웨어 구성을 예시한다. 컴퓨터 장치는 연산 수단인 CPU(Central Processing Unit: 중앙 처리 장치)(101)와, M/B(마더보드) 칩 세트(102) 및 CPU 버스를 통해 CPU(101)에 접속된 메인 메모리(103)와, 마찬가지로 M/B 칩 세트(102) 및 AGP(Accelerated Graphics Port)를 통해 CPU(101)에 접속된 비디오 카드(104)와, PCI(Peripheral Component Interconnect) 버스를 통해 M/B 칩 세트(102)에 접속된 하드 디스크(105), 네트워크 인터페이스(106) 및 USB 포트(107)와, 또한 이 PCI 버스로부터 브릿지 회로(108) 및 ISA(Industry Standard Architecture) 버스 등의 저속 버스를 통해 M/B 칩 세트(102)에 접속된 플렉시블 디스크 드라이브(109) 및 키보드/마우스(110)를 구비한다.
또한, 이 도 1은 본 실시 형태를 실현하는 전형적인 컴퓨터 장치의 하드웨어 구성을 어디까지나 예시하는 것에 지나지 않고, 본 실시 형태를 적용 가능하면 다른 여러가지 구성을 취할 수 있다. 예컨대, 비디오 카드(104)를 마련하는 대신에 비디오 메모리만을 탑재하여 CPU(101)로써 이미지 데이터를 처리하는 구성으로 해도 좋고, ATA(AT Attachment) 등의 인터페이스를 통해 CD-ROM(Compact Disc Read Only Memory)이나 DVD-ROM(Digital Versatile Disc Read Only Memory)의 드라이브 를 마련하더라도 좋다. 또한 음성 재생을 위한 스피커 등을 구비하더라도 좋다.
도 2는 본 발명을 기능 블록을 이용하여 나타낸 도면이다. 음성 응답 시스템(210)은 음성 서버(220)와 애플리케이션 서버(230)로 이루어진다. 이들 음성 서버(220)와 애플리케이션 서버(230)는 도 1에 나타낸 바와 같은 1개의 컴퓨터 장치로 실현되는 경우도 있고, 또한 2개 이상의 컴퓨터 장치나 컴퓨터 장치와 기억 장치의 조합으로 실현되는 경우도 있다.
애플리케이션 서버(220)에는 전문 녹음 음성 파일(221), 변수 녹음 음성 파일(222, 223), 음성 정보(224)가 포함된다. 이들은 애플리케이션 서버 상에서 실행되는 애플리케이션ㅇ 프로그램 또는 그 일부로서도 취해지는 것이다. 우선, 전문 녹음 음성 파일(221)은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것이다. 이 전문 녹음 음성 파일(221)의 변수부는 어떤 특정한 단어로 대체하여 녹음되어 있다. 이 단어는 음성 서버에서 미리 지정된 단어를 이용한다. 예컨대, 변수부에 「품명」이라는 단어를 이용하여 「주문은 품명으로 하시겠습니까」라고 하는 문장을 음성화하고 전문 녹음 음성 파일로서 보존한다.
또한, 애플리케이션 서버(220)에는 이 변수부에 들어가는 음성이 변수 녹음 음성 파일[1, 2, …(222, 223)]로서 저장되어 있다. 예컨대 「쌀」 「된장」을 음성화한 파일이다. 여기서 변수부는 복수개 이용하는 것도 가능하며, 이 경우에는 각각의 변수부에 대응한 변수 녹음 음성 파일이 저장되게 된다. 예컨대 변수부 1, 변수부 2를 각각 「품명」 「물건 수」로 하여 「주문은 품명, 수량은 물건 수로 하시겠습니까」라는 문장을 음성화하고 전문 녹음 음성 파일로서 보존한다. 그리고 「품명」 「물건 수」에 대응한 변수 녹음 음성 파일(전자에 대하여 「쌀」 「된장」, 후자에 대하여 「1개」 「2개」등)이 저장되게 된다.
또한, 애플리케이션 서버(220)에는 음성 정보(224)가 저장되어 있다. 이 음성 정보(224)는 전문 녹음 음성 파일의 파일명, 변수 정보와 대체 텍스트로 이루어진다. 변수 정보에는 변수부의 유무, 즉 변수 처리의 필요성의 유무를 나타내는 정보가 적어도 포함된다. 대체 텍스트는 변수부를 포함하는 텍스트 전문으로, 예컨대 전술한 예로 말하면 「주문은 <변수부>로 하시겠습니까」가 된다. 또, 전문 녹음 음성 파일이 복수개 존재하는 경우, 그 전문 녹음 음성 파일마다 음성 정보를 준비해 두면 좋다.
음성 서버(230)는 음성 파일 처리부(231), 음성 인식 엔진(232), 음성화 처리부(233) 및 음성화 처리부(233)를 갖는다. 음성 파일 처리부(231)는 애플리케이션 서버(220)로부터 음성 정보(224)와 이것에 의해 지정되는 전문 녹음 음성 파일(221)을 추출하고, 음성 정보에 포함되는 변수 정보로부터 변수 처리가 필요한지의 여부를 판단한다. 변수 처리가 필요한 경우, 또한 대체 텍스트로부터 문법을 동적으로 생성한다.
음성 인식 엔진(232)은 음성 파일 처리부(234)로부터 전문 녹음 음성 파일과 동적으로 생성된 문법을 수신한다. 그리고 이들에 기초하여 인식한 전문 녹음 음성 파일을 변수 부분인 변수 음성 파일과 변수 이외의 부분인 부품 음성 파일로 분할한다. 여기서 변수 음성 파일이나 부품 음성 파일은 1개로 한하지 않으며 복수개의 경우도 있다.
음성화 처리부(233)는 음성 인식 엔진(232)으로부터 부품 음성 파일과 변수 음성 파일을 수신한다. 그리고 변수 음성 파일에 대응하여 대체하 도록 지정된 변수 녹음 음성 파일을 애플리케이션 서버(220)로부터 취득한다. 또한, 이 동작은 음성 파일 처리부에서 행해져서 음성화 처리부에 전해지더라도 좋다. 그리고 부품 음성 파일과 변수 녹음 음성 파일을 연결하고 대체 텍스트의 순서로 음성화하여 재생되도록 한다.
또한, 이 음성 응답 시스템(210)에 음성 출력 장치(240)가 접속되고 재생 음성 파일에 기초한 음성이 재생되어 출력된다. 이 음성 출력 장치는 음성 응답 시스템과 동일한 도 1에 나타낸 바와 같은 컴퓨터 장치의 예컨대 스피커 장치라도 좋고 혹은 공중 회선 등을 통해 접속된 전화 단말 등이라도 좋다.
도 3에는 음성 파일 처리부(231)에 있어서의 문법의 생성 논리를 나타낸다. 우선, 대체 텍스트 전문을 변수부와 변수부 이외 부분으로 분할한다(310). 다음에 그 변수부를 미리 정한 단어로 대체한다(320). 이 단어는 음성 서버가 미리 정한 것으로, 전문 녹음 음성 파일에는 이 단어가 변수 부분으로서 미리 정해진 낱말을 이용하여 음성화되어 녹음되어 있다. 그리고 그 치환된 텍스트에 기초하여 문법을 동적으로 생성한다(330).
도 4는 문법의 생성에 대해서 추가로 일례를 상세히 설명한다. 우선, 대체 텍스트의 변수부를 미리 정한 단어로 대체한다(410). 그리고 그것을 바탕으로 텍스트 파일을 생성한다. 이때, 음성 인식 엔진이 인식할 수 있도록 단어 분할해야 한 다(420). 이 단어 분할은, 예컨대 구두점을 취하거나, 음성 인식 엔진의 사전에 등록되어 있는 단어로부터 최장 일치법으로 단어로 분할하는 등을 처리한다. 다음에, 그 분할된 결과를 음성 인식 엔진에 전달하기 위해서 음성 인식 엔진이 이해할 수 있는 형식으로 한다(430). 이상에 의해 생성된 문법을 음성 인식 엔진에 전달하여 등록한다.
도 5에는 음성 인식 엔진(232)에서의 음성 인식에 의한 음성 파일의 분할 논리에 대해서 나타낸다. 우선, 음성 인식 엔진을 인식한 음성을 파일로 하는 모드로 설정한다(510). 다음에, 음성 인식 엔진(232)에 변수를 포함하는 전문 녹음 음성 파일과 생성된 문법이 입력된다(520). 음성 인식 엔진(232)은 문법에 따라 전문 녹음 음성 파일을 인식한다(530). 그리고 인식한 전문 녹음 음성 파일을 변수 부분인 변수 음성 파일과 변수 이외의 부분인 부품 음성 파일로 분할하여 각각의 음성 파일을 생성한다(540).
도 6에는 음성 인식 엔진(232)에서의 음성 인식에 의한 음성 파일의 분할 결과에 대해서 나타낸다. 이 예에서는 변수 부분을 「품명」으로 했다. 전문 녹음 음성 파일(610)은 음성 인식 및 분할의 결과(620)로서 변수 부분인 변수 음성 파일(622)과, 변수 이외의 부분인 부품 음성 파일(621, 622)로 분할되게 된다.
도 7에는 본 발명의 음성 서버(230)에서의 처리의 흐름에 대한 일례를 기술한 플로우차트를 나타낸다. 우선, 애플리케이션 서버(220)로부터 얻은 음성 정보(224) 중의 변수 정보에 포함되는 변수인 것을 나타내는 정보의 유무에 의해 변수 처리가 필요한지의 여부를 판단한다(701). 또, 변수 처리가 필요없다고 판단된 경 우, 통상의 오디오 처리를 행한다(720). 여기서 통상의 오디오 처리란, 일례를 도시하면 음성 정보 중의 파일명에 대응되는 재생하는 음성 파일이 애플리케이션 서버에 존재하면, 그것을 재생한다. 없는 경우, 대체 텍스트가 음성 정보 중에 있으면, 그 대체 텍스트를 재생한다. 대체 텍스트도 없는 경우, 에러 처리를 행하거나 에러 처리가 없는 경우에는 에러로 종료한다.
단계 701에서 변수 처리가 필요하다고 판단된 경우, 음성 정보(224)로부터 전문 녹음 음성 파일명과 그 대체 텍스트를 추출한다(702). 그리고 전문 녹음 음성 파일이 애플리케이션 서버(220)에 존재하는지의 여부를 확인한다(703). 또, 전문 녹음 음성 파일이 애플리케이션 서버(220)에 존재하지 않는 경우에는 변수인 것을 나타내는 정보를 삭제한 뒤에 전술한 바와 같은 통상의 오디오 처리를 행한다(730).
전문 녹음 음성 파일이 애플리케이션 서버(220)에 존재하는 경우, 또한 대체 텍스트가 있는지의 여부를 확인한다(704). 대체 텍스트가 존재하지 않는 경우에는 에러가 되어 처리는 종료한다(740, 741). 대체 텍스트가 존재하는 경우, 전문 녹음 음성 파일이 이미 음성 서버(230) 상의 캐쉬(도시하지 않음)에 존재하는지의 여부가 판단된다(705). 이미 캐쉬 상에 존재하는 경우, 단계 709로 진행한다. 캐쉬 상에 존재하지 않는 경우, 전문 녹음 음성 파일을 애플리케이션 서버(220)로부터 얻는다(706). 그리고 대체 텍스트와 전문 녹음 음성 파일을 이용하여 문법이 동적으로 생성된다(707). 다음에 음성 인식을 행하여 전문 녹음 음성 파일을 분할한다(708).
그리고 변수 녹음 음성 파일이 애플리케이션 서버(220)에 존재하는지의 여부가 확인된다(709). 변수 녹음 음성 파일이 애플리케이션 서버(220)에 존재하는 경우, 애플리케이션 서버(220)로부터 변수 녹음 음성 파일을 얻는다(710). 그리고 이들 음성 파일을 순차 연결하고 음성화하여 재생할 수 있도록 한다(711). 또한, 필요한 기간 그 생성된 음성 파일을 캐쉬에 유지하여(712) 필요에 따라 직접 사용할 수 있도록 한다. 또, 단계 709에서 변수 녹음 음성 파일이 존재하지 않는 경우, 그 변수에 대응하는 대체 텍스트를 이용하여 음성 합성한 음성 파일을 생성한다(750). 또, 이러한 일련의 처리는 컴퓨터 프로그램으로서 실현되는 것이다. 또한, 이 컴퓨터 프로그램은 필요에 따라 CD-ROM, 플렉시블 디스크(flexible disk) 등의 컴퓨터가 판독할 수 있는 기록 매체에 저장되어 제공되는 경우가 있다.
다음에, 도 7에 나타낸 본 발명의 처리를 VXML 브라우저 실장한 예를 나타낸다. 또, (1)-(9)는 도 7 중의 것에 대응한다. 또한, 「VMXL 브라우저」란, VMXL을 처리하기 위해서 본 발명의 음성 파일 처리부(231) 및 음성화 처리부(233)에 대응하는 기능을 제공하는 수단이다.
(1) 변수 처리를 요구하는 표시가 되는 Audio 태그의 '#' 기호를 조사하여, 없으면 통상의 오디오 처리를 행한다.
(2) Audio 태그로부터 전문 녹음 음성 파일명과, 전문 녹음 음성 파일에 대응하는 대체 텍스트를 추출한다.
(3) 전문 녹음 음성 파일이 존재하지 않는 경우에는 '#'를 취하고 통상의 오디오 처리를 행한다. 필요에 따라 음성 합성된다.
(4) 대체 텍스트가 없으면, 에러가 되어 처리는 종료.
(5) 이미 처리 종료된 경우에는 캐쉬된 음성 파일을 이용한다. 또, 변수부만 변경된 것이면, 변수 녹음 파일만 애플리케이션 서버로부터 취득한다.
(6) 대체 텍스트로 결정된 변수부의 문자열로부터 문법을 작성한다.
(7) 문법과 전문 녹음 음성 파일을 음성 인식 엔진에 의해 인식시키고 전문 녹음 음성 파일을 분할한다.
(8) 변수 녹음 음성 파일이 없는 경우에는 변수의 부분은 음성 합성한다.
(9) 얻어진 음성 파일(및 경우에 따라서는 음성 합성 결과)을 연결하여 재생할 수 있도록 한다.
이하의 표 1-표7에는 도 7에 나타낸 본 발명의 처리를 의사 코드적 표현으로 나타낸 것을 보여준다. 또, (1)-(9)는 도 7 중의 것에 대응한다. 이하의 표 1은 일련의 처리를 나타낸 것이다.
오디오 태그의 처리(태그 텍스트) { 새롭게 분할한 플래그 = false; (1) if (변수부 있다는 표시가 없음) { 통상 처리(태그 텍스트)로 } (2) 태그 텍스트로부터 변수 정보를 취득함 - 전문 녹음 음성 파일명 - 대체 텍스트 (3) if (전문 녹음 파일이 존재하지 않음) { 태그 텍스트에 표시가 있으면 삭제함 통상 처리(태그 텍스트)로 (4) } else if (대체 텍스트가 없음) { 에러-종료 } 파트 리스트=대체 텍스트를 분할함(대체 텍스트) 전문 녹음 파일 ID="이 전문 녹음 파일"에 대응하는 고유의 ID를 결정함 (5) if (전 파트가 저장되어 있습니까?(파트 리스트, 전문 녹음 파일 ID)==false) { 변수용 문자열=변수용 문자열 속성값 (6)    전문 텍스트=전문 텍스트를 생성함(파트 리스트, 변수용 문자열)      문법을 생성하고 enable함(파트 리스트, 변수용 문자열, 문법 명)  (7)    음성 인식에 의해 음성 파일을 분할함(전문 녹음 음성 파일, 전문 녹음 파일 ID)  문법을 disable함(문법 명)  새롭게 분할한 플래그=true } (8) 연결하여 재생함(전문 녹음 파일 ID, 파트 리스트) if (새롭게 분할한 플래그) {  저장 처리를 함(전문 녹음 파일 ID) } }
표 2는 표 1에 나타낸 처리 중, (4) 중의 대체 텍스트를 분할하는 처리에 관한 것이다.
대체 텍스트를 분할함(대체 텍스트) { 파트 리스트="" while (대체 텍스트에 변수부가 있음) {   파트 리스트+=변수부 이전+변수부   대체 텍스트=변수부 이후 } if (대체 텍스트가 아직 있음) {   파트 리스트+=대체 텍스트 } 파트 리스트를 반환 }
표 3은 표 1에 나타낸 처리 중, (5)의 처리를 더욱 상세히 기술한 것이다.
(5) 전 파트가 저장되어 있습니까?(파트 리스트, 전문 녹음 파일 ID) { if (저장 사용 스코프 내=false) {  false를 반환 } 현재의 시각을 취득함 if (전문 녹음 파일 ID가 저장 리스트에 없음) {  false를 반환 } else if (전문 녹음 파일 ID의 저장 엔트리가 expire되어 있음) {  저장 리스트로부터 저장 엔트리를 삭제한다.  false를 반환 } 판정=true 분할 파일 보관 패스=분할 패스를 구함(전문 녹음 파일 ID) while (파트 리스트) {  if (파트<>변수부) {   if ("파트.wav"가 분할 파일 보관 패스에 없음) {    판정=false    break:       }     }  } 판정을 되돌린다. }
표 4는 표 1에 나타낸 처리 중, (6)의 처리의 일부를 더욱 상세히 기술한 것이다.
(6) 전문 텍스트를 생성함(파트 리스트, 변수용 문자열) { 전문 텍스트="" while (파트 리스트) {  전문 텍스트+=(파트==변수 ? 변수용 문자열:파트) } 전문 텍스트를 반환 }
표 5는 표 1에 나타낸 처리 중, (6)의 처리의 다른 일부를 더욱 상세히 기술한 것이다.
(6) 문법을 생성하고 enable함(파트 리스트, 변수용 문자열, 문법 명) 룰0=변수용 문자열 퍼블릭 룰="" for (n=1:파트 리스트:n++) {  if (파트<>변수) {   룰n=변수부 이전   퍼블릭 룰+=룰n } else {   퍼블릭 룰+=룰0  } } 전 룰과 퍼블릭 룰로부터 문법을 생성함 문법을 인식 엔진에 등록하고 enable함(문법 명) }
표 6은 표 1에 나타낸 처리 중, (7)의 처리를 더욱 상세히 기술한 것이다.
(7) 음성 인식에 의해 음성 파일을 분할함(전문 녹음 음성 파일, 전문 녹음 파일 ID) { 인식 엔진을 음성 파일 생성 모드로 함 분할 음성 파일 출력처=분할 패스를 요청함(전문 녹음 파일 ID) 분할 음성 파일 출력처를 인식 엔진으로 지정함 전문 음성 녹음 파일을 인식 엔진에 입력함 인식 처리 완료를 기다리고 돌아옴 //ACCEPTED도 REJECTED도 상관없음 } 문법을 disable함(문법 명) {  문법을 disable함(문법 명) }
표 7은 표 1에 나타낸 처리 중, (8)의 처리를 더욱 상세히 기술한 것이다.
(8) 연결하여 재생함(전문 녹음 파일 ID, 파트 리스트) { 분할 패스=분할 패스를 요청함(전문 녹음 파일 ID) while(파트 리스트) {  if(파트<>변수) {   음성 파일="분할 패스¥¥파트.wav" 대체 텍스트="파트" } else {   음성 파일="변수값.wav"   대체 텍스트="변수값" }  if (음성 파일이 있음) {   음성 파일을 재생함 } else {   대체 텍스트를 음성 합성함  } } } 저장을 갱신함(전문 녹음 파일 ID) { 기한을 마치는 시간=현재의 시각+유효 기간 저장 엔트리="전문 녹음 파일 ID, 기한을 마치는 시각"; 이 전문 녹음 파일 ID의 저장 엔트리가 이미 저장 리스트에 있으면, 저장 리스트로부터 삭제함 저장 리스트에 저장 엔트리를 추가한다. } 분할 패스를 요청함(전문 녹음 파일 ID) { 분할 패스=전문 녹음 파일 ID로부터 일의적으로 결정함 }
이하에는 발명의 구체적인 실시예로서, VoiceXML의 경우에 어떻게 실장하는가를 나타낸다. 이 확장은 기존의 기능에 영향을 끼치지 않고, VoiceXML 사양을 침해하는 일 없이 실현할 수 있는 것이다.
애플리케이션 서버에서 준비하는 음성 파일
전문 녹음 음성 파일은 변수를 포함하는 전문을 1개의 파일로서 녹음한다. 변수 부분은 어떤 특정한 단어로 대체하여 녹음한다. 이 단어는 음성 서버와 서로 양해한 특정한 것으로 한다. 예컨대, "변수"라는 단어로 한다.
변수 녹음 음성 파일명은 "{변수의 내용}.wav"으로 한다. 또, 변수 문자열이 음성 파일을 저장하는 환경에서 파일명으로서 허가되지 않은 문자를 포함하는 경우에는 변수 대 음성 파일명을 CSV 형식으로 맵핑한 맵핑 리스트 파일을 작성한다. 맵핑 리스트 파일명은 음성 서버와 서로 양해한 고정의 것으로 한다. 예컨대, "value-wav.map"으로 한다.
변수 녹음 음성 파일과, 경우에 따라 맵핑 리스트 파일을 커런트 패스에 둔다. 또, 하나 혹은 복수의 변수 녹음 음성 파일을 클래스화할 수도 있다. 클래스는 커런트 패스 하에 클래스명과 동일한 이름으로 클래스 전용 폴더를 갖는다. 클래스에 속해 있는 변수 녹음 음성 파일과, 경우에 따라서 그것을 기술하는 맵핑 리스트 파일은 클래스 전용 폴더에 둔다.
애플리케이션 서버 중의 음성 정보의 기술
전문 녹음 음성 파일에 대응하여, 그 전문 녹음 음성 파일이 변수를 갖는지의 여부를 나타내는 표시를 음성 정보에 붙인다. 또한, 변수를 갖는 전문 녹음 음성 파일에 대응하여, 음성 정보에 적어도 변수부를 포함하는 텍스트 전문(대체 텍스트)과 삽입하는 변수명의 정보를 저장한다. 또한 필요에 따라 변수용 음성 파일이 속하는 클래스명을 저장한다. 경우에 따라 맵핑 리스트 파일은 커런트 패스 혹은 클래스 전용 폴더에 둔다.
예로서, 상기 룰을 VoiceXML에 구체적으로 적용하여 정한 예를 나타낸다. 이하에서는 VoiceXML의 <audio> 태그에 본 발명을 적용한다.
음성 애플리케이션은 통상 최종적으로는 사람의 소리를 녹음한 음성 파일을 이용하여 운용되는 것이 많지만, 개발 중에는 음성 파일이 없는 상태에서 개발을 행해야 하기 때문에 음성 합성을 이용한다. VoiceXML이 음성 파일을 재생하기 위해서 정의하고 있는 <audio> 태그는 이와 같은 이용 환경에 대응하기 위해서 음성 파일명과 문자열을 기술하여, 음성 파일이 존재하면 음성 파일을 재생하고, 음성 파일이 재생 불가능한 상태인 경우에는 문자열을 음성 합성하는 사양으로 되어 있다.
기술예: "<audio src="wav/sample.wav">주문 상품</audio>"
기능적으로도 포맷적으로도 <audio> 태그 본래의 사양에 따른 상태에서 이번 발명을 적용한다.
전문 녹음 음성 파일이 변수부를 갖는지의 여부를 나타내기 위해서 <audio> 태그의 src 속성 필드를 이용한다. 전문 녹음 음성 파일명의 선두에 '#'를 붙여 변수 처리의 필요가 있는 것을 나타낸다.
변수부를 갖는 전문 녹음 음성 파일에 정보를 부가하기 위해서 <audio> 태그의 대체 텍스트부를 이용한다. 대체 텍스트부에 변수를 포함하는 텍스트 전문을 기술한다. 삽입하는 변수를 <value> 태그로 지정하여 삽입 위치에 <value> 태그를 삽입한다. 클래스에 속하는 경우에는 클래스명을 클래스 속성으로 지정한 <sayas> 태그로 <value> 태그를 둘러싼다. 맵핑 리스트 파일은 클래스 전용 패스 혹은 커런트 패스에 둔다.
예: 「주문 상품은 {?}입니다」라고 하는 메시지의 음성 파일을 재생하는 경우
준비하는 음성 파일
전문 녹음 음성 파일로서 「주문 상품은 변수입니다」라고 녹음한 "wav¥sample.wav" 음성 파일
변수 녹음 음성 파일로서 「쌀」이라고 녹음한 "커런트 패스¥product¥쌀.wav" 음성 파일
VXML 문서의 기술(음성 정보에 대응함)
<audio src="#wav/sample.wav">
주문 상품은
<sayas class="product">
<value expr="ProductName"/>
</sayas>
입니다.
</audio>
여기서 #에 의해 변수 처리의 필요성을 나타내고, 「wav/sample.wav」는 전문 녹음 음성 파일명이다. 그리고
「주문 상품은
<sayas class="product">
<value expr="ProductName"/>
</sayas>
입니다.」
의 부분이 대체 텍스트가 된다.
또, 이들 기술은 애플리케이션 서버에서 실행되는 애플리케이션 프로그램의 일부로서 기술되는 것이다.
음성 서버 사이드의 기능
전문 녹음 음성 파일이 변수를 갖는지의 여부를 음성 파일 지정의 표시의 유무로 판단하여, 단순한 재생 처리나 변수 삽입이 필요한 재생 처리의 적절한 쪽의 처리로 분기된다. 단순한 음성 파일 재생은 종래의 동작대로이다. 계속해서 이하에 변수 삽입 처리를 기술한다. 또, 전부 실행시의 처리이다.
전문 녹음 음성 파일에 대응하는 대체 텍스트를 변수부와 변수부 이외의 부분으로 분할하고 각 파트를 룰로 갖는 문법을 동적으로 생성한다. 변수부를 인식하는 어구로서 변수부를 치환하는 어구를 인식하는 룰을 문법에 추가한다. 예컨대 "변수"라는 어구이다.
문법의 생성에 대해서 더욱 상세히 설명하면, 이하와 같다. 대상으로 하는 기술이 다음과 같이 되어 있었다고 한다.
<audio src="#confirm.wav">
주문은 <value expr="Product"/>으로 하시겠습니까 ?
</audio>
문법으로 하는 과정은 이하와 같다.
1. 변수부를 변수부용 텍스트로 대체한다.
(변환 전) 주문은 <value expr="Product"/>로 하시겠습니까
(변환 후) 주문은 변수로 하시겠습니까
2. 텍스트 파일(BNF 파일)을 생성한다. 이때, 음성 인식 엔진이 인식할 수 있도록 단어 분할해야 한다. 그 결과, 이 예에서는 이하와 같이 된다.
<_rule1>= 주문 은 변수 로 하시겠 습니까
3. 받아들일 수 있는 발화문을 음성 인식 엔진에 전달하기 위해서 음성 인식 엔진이 이해할 수 있는 형식으로 한다. 구체적으로는 BNF 파일을 문법 컴파일하여 문법 보케브러리(FSG 파일)를 생성한다. 문법 컴파일이란, 문법을 음성 인식 엔진이 이해할 수 있는 형식으로 하는 것이다. 예컨대, 문법 컴파일러 API를 사용하여 음성 인식 엔진이 이해할 수 있는 FSG 파일 형식으로 컴파일한다. FSG(finite state grammar) 파일 형식이란, 음성 인식 엔진이 이해할 수 있는 형식의 컴파일 완료 문법 파일이다. 또, FSG 형식은 W3C Speech Interface Framework로도 지원되는 형식이다.
이상에 의해 생성된 문법을 음성 인식 엔진에 전달하고 그 문법을 등록한다.
그리고 생성한 문법을 음성 인식 엔진에 대하여 사용 가능(enable)으로 한다. 음성 인식 엔진을 인식한 음성을 파일로 하는 모드로 설정한다. 그리고 변수를 포함하는 전문 녹음 음성 파일을 음성 인식 엔진에 입력한다. 음성 인식 엔진은 문법에 따라 입력된 음성을 변수 부분과 변수 이외의 부분으로 분할한 상태로 인식한다. 그렇게 한 음성 인식 엔진은 인식한 음성을 인식한 단위로 분할하여 음성 파일을 생성한다.
애플리케이션 프로그램으로부터 지정된 변수 녹음 음성 파일을 "{변수의 내용}.wav"이라는 파일명으로 검색한다. 검색 장소는 경우에 따라 그 음성 파일이 클래스에 속해 있는 경우에는 클래스 전용 패스, 속해 있지 않으면 커런트 패스이다. "{변수의 내용}.wav" 파일이 존재하지 않으면, 변수 대 음성 파일명의 맵핑 리스트를 읽고 파일명을 취득하여 검색한다. 맵핑 리스트가 존재하지 않거나, 맵핑 리스트에 타겟이 되는 변수에 관한 지정이 없거나, 맵핑 리스트에서 타겟이 되는 변수에 대응되고 있는 음성 파일이 없거나 혹은 그 밖의 이유로 또한 변환용 음성 파일을 발견할 수 없는 경우에는 변수 텍스트에 기초하여 음성 합성한다.
분할 생성된 음성 파일과, 검색한 변수 녹음 음성 파일 혹은 변수 텍스트의 음성 합성을 텍스트의 순서로 차례차례 재생하도록 한다. 성능 향상을 위해 분할한 음성 파일은 애플리케이션 종료시까지는 보관한다. 다만, 적절한 파일의 삭제도 실행하여야 한다. 캐쉬 파일 관리에 대해서 음성 서버가 이미 가지고 있는 룰에 따르는 것이 적절하다. 분할된 음성 파일단편의 존재 상태를 기억하여 분할 완료 음성 파일이 존재하는 것은 그것을 이용하도록 한다.
변수의 결정에 대해서
변수에 대응하는 텍스트는 애플리케이션의 변수 값이다. 그 값은 실행시에 결정된다. 이 변수 값이 언제 어디에서 결정되는지는 애플리케이션 논리에 의한다. 예컨대, Product="'변수값'"으로 해서 언제나 그 값을 넣도록 할 수 있고, 또한 예컨대 주문을 들었을 때에 인식한 어구를 그 값으로 하도록 써 놓을 수도 있다.
보다 구체적으로, 변수의 결정도 포함한 일련의 처리에 대해서 이하에 설명한다.
"변수값이 언제 어떠한 형태로 결정되는지"는 애플리케이션의 디자인에 의해 크게 다음의 2 타입이 있다. (1) 인식 대상에 이름을 붙여 두어 그것이 변수명이 되고, 사용자의 발성을 인식했을 때에 인식한 어구가 변수치가 되도록 한다. (2) 미리 변수를 선언해 두고, 좋아하는 타이밍에 변수값을 넣도록 한다.
예컨대, 이하의 표 8에 처리의 일례를 나타낸다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?xml version="1.0"encoding="SHIFT_JIS"?> <vxml version="1.0"lang="ja_JP">  <var name ="Address"/>  <form>   <field name="UserName">   성함을 부탁드립니다   <grammar> 가토우 │사토우 </grammar>   <filled> <value expr="UserName"/>양이군요   </filled>  </filled> <assignname="Address"expr=getUserAddress(UserName/>   <field name="Product"> 주문을 부탁드립니다 <grammar> 쌀│된장 </grammar>   </field>   <field name="answer"> 주문은, <value expr="Product"/>입니다.   </field>  </form> </vxml> ←Address변수를 선언하고있습니다. ←이 필드에서 인식한 어구는 UserName 변수의 값이 됩니다. ←변수치는 이와같이 (value)태그로 참조할 수 있습니다. ←Address변수에getUserAddress의 함수 반환값을 입력하고 있습니다인←이 필드에서 인식한 어구는 Product변수값이 됩니다. ←여기서 인식가능한 어구는 쌀 또는 된장 입니다. ←이 필드에서 인식한 어구는 answer 변수의 값이 됩니다.
이 샘플은 다음과 같은 대화를 하는 종래의 기능으로 쓴 VoiceXML 애플리케이션이다.
System: 성함을 부탁합니다
User: 가토우 :이 발성을 인식했을 때에, UserName 변수값="가토"가 됩니다.
System: 가토우님이시군요 :이후, <assign> 태그에 의해 Address 변수값= getUserAddress 함수의 응답값; "도쿄도 시부야쿠"등이 됩니다.
System: 주문을 부탁드립니다
User: 쌀: 이 발성을 인식했을 때에, Product 변수값="쌀"이 됩니다.
System: 주문은 쌀이군요.
타입 (1)의 예는 UserName 변수, Product 변수, answer 변수이다. 타입 (2)의 예는 Address 변수이다. 변수값을 참조할 때에는 <value> 태그를 사용한다. SCRIPT 함수에 대한 파라미터로서 사용할 때에는 직접 변수명을 사용한다.
타입 (1)로 하여, UserName 변수에 대해서 더욱 상세히 설명한다. 우선, VXML 처리부는 애플리케이션 서버에 있는 VXML 애플리케이션을 판독한다. 그리고 VXML 처리부는 대화가 5번째 행에 왔을 때, 음성 인식 엔진에 「가토우, 혹은 사토우라는 어구를 인식하는 것이다」라고 하는 것을 문법으로 지시한다. 사용자의 「가토우」라고 발성한 음성이 음성 인식 엔진에 다다르면, 음성 인식 엔진은 문법과 대조하여 「가토우」라고 하는 어구를 인식한다. 그리고 음성 인식 엔진은 「가토우입니다 라는 어구를 인식했다」라고 VXML 처리부에 전한다. VXML 처리부는 UserName 변수에 "가토우"라는 변수값을 넣는다. 또, 일례에서는 이들 VXML 처리부도 음성 인식 엔진도 어느쪽이나 음성 서버에서 실시된다. 일례로서는 이러한 VXML 처리부는 음성화 처리부의 일부로서 실시할 수 있다.
타입 (2)로 하여, Address 변수에 대해서 더욱 상세히 서술한다. VXML 처리부는 UserName 필드의 인식이 끝났다고 하는 통지를 수신하여 12번째 행의 처리를 시작한다. getUserAddress 함수라고 하는 고객명 대 주소의 데이터 베이스를 참조하여 주소를 돌려보내는 함수를 불러낸다. 그 응답값을 Address 변수에 변수값으로서 할당한다.
변수명의 결정
본 실시예의 하나에서는, 변수 녹음 파일명은 "변수값"+". wav"로 했다. 예컨대, 변수가 변수 "Product"일 때, Product의 변수값이 "쌀"이면, 변수부 녹음 파일명="쌀.wav"인 것이다. 이에 관련하여 이하의 표 9에 나타내는 예를 기초로 더욱 상세히 설명한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <?xml version="1.0"encoding="SHIFT_JIS"?> <vxml version="1.0"lang="ja_JP">  <form>   <field name="Product"> <audeo src="order.wav">  주문을 부탁드립니다 </audio> <grammar> 쌀│된장 </grammar>   </filled>   <field name="answer"> <audio src="confiem.wav"> 주문은, <value expr="Product"/>로하시겠습니까 </audio>   </field>  </form> </vxml> (4행)←이 필드에서 인식한 어구는 Product 값이 됩니다 (5행)←재생하는 파일명을 지정하고 있습니다. (6행)←재생할 수 없을 경우 음성 합성할 대체 텍스트를 지정하고 있습니다. (8행)←여기서 인식가능한 어구는 쌀이나 된장 등을 정의하고 있습니다. (10행)←이필드에서인식한 어구는answer변수값이됩니다. (12행)←변수값은<value>태그로 참조합니다.
이것은 어느 애플리케이션에 의해 주문을 묻고, 그리고 「주문은 ○○으로 하시겠습니까」라고 말하고자 하는 경우의 기술이다. 이 샘플은 다음과 같은 대화를 할 수 있다.
System: 주문을 부탁드립니다
User: 쌀
System: 주문은 쌀이군요.
이러한 애플리케이션에 있어서는, 애플리케이션 개발시에 미리 변수 "Product"로서 유효한 값에 대해서 변수 녹음 파일을 생성하여 애플리케이션 서버에 저장해둔다. 변수 녹음 파일의 파일명은 "변수값"+".wav"입니다. 변수의 유효치가 "쌀"과 "된장"인 경우, "쌀.wav"과 "된장.wav"을 작성하여 이들을 애플리케이션 서버에 저장해둔다. 음성 서버는 실행시에 <value expr="Product"/> 부분에 변수 "Product"의 값("쌀" 등)으로부터 변수부 녹음 파일명("쌀.wav")을 조합한다. 그 파일이 애플리케이션 서버에 존재하면 그것을 재생한다. 존재하지 않으면, 변수값("쌀")을 음성 합성한다. 이러한 파일명의 조합은 일례에서는 도 7의 플로우차트의 "(8) 변수부 녹음 파일이 존재하는가"에서 행해진다.

Claims (39)

  1. 애플리케이션 서버 및 음성 서버로 이루어지는 음성 응답 시스템으로서,
    상기 애플리케이션 서버는,
    제1 음성 파일과; 제2 음성 파일과; 음성 정보
    를 갖는 것이며, 상기 음성 서버는,
    상기 애플리케이션 서버로부터 상기 음성 정보와 상기 제1 음성 파일을 수신하고, 상기 음성 정보에 기초하여 문법을 생성하는 음성 파일 처리 수단과;
    상기 문법에 기초하여 상기 제1 음성 파일을 음성 인식하고 복수의 음성 파일로 분할하는 음성 인식 수단과;
    상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 상기 제2 음성 파일로 치환하는 음성 처리 수단
    을 갖는 것인 음성 응답 시스템.
  2. 제1항에 있어서, 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것인 음성 응답 시스템.
  3. 제2항에 있어서, 상기 제2 음성 파일은 변수부에 들어가는 음성을 파일로서 녹음한 것인 음성 응답 시스템.
  4. 제1항에 있어서, 상기 음성 정보에는 상기 제1 음성 파일의 파일명이 포함되고, 상기 음성 파일 처리 수단은 상기 파일명에 기초하여 상기 제1 음성 파일을 추출하는 것인 음성 응답 시스템.
  5. 제1항에 있어서, 상기 음성 정보에는 대체 텍스트가 포함되고, 상기 음성 파일 처리 수단은 상기 대체 텍스트에 기초하여 문법을 생성하는 것인 음성 응답 시스템.
  6. 제1항에 있어서, 상기 음성 정보에는 변수에 대한 처리를 행해야 하는지의 여부를 나타내는 변수 정보가 포함되는 것인 음성 응답 시스템.
  7. 제1항에 있어서, 음성을 출력하는 음성 출력 수단을 더 갖는 음성 응답 시스템.
  8. 애플리케이션 서버 및 음성 서버로 이루어지는 음성 응답 시스템에서의 음성 응답 방법으로서, 상기 애플리케이션 서버는 제1 음성 파일과, 제2 음성 파일과, 음성 정보를 갖는 것이며, 상기 음성 응답 방법은,
    상기 음성 서버가
    상기 애플리케이션 서버로부터 상기 음성 정보와 상기 제1 음성 파일을 수신하고, 상기 음성 정보에 기초하여 문법을 생성하는 단계와;
    상기 문법에 기초하여 상기 제1 음성 파일을 음성 인식하고 복수의 음성 파일로 분할하는 단계와;
    상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 상기 제2 음성 파일로 치환하는 단계
    를 포함하는 것인 음성 응답 방법.
  9. 제8항에 있어서, 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것인 음성 응답 방법.
  10. 제9항에 있어서, 상기 제2 음성 파일은 변수부에 들어가는 음성이 파일로서 녹음된 것인 음성 응답 방법.
  11. 제8항에 있어서, 상기 음성 정보에는 상기 제1 음성 파일의 파일명이 포함되고, 상기 제1 음성 파일은 상기 파일명에 기초하여 추출되는 것인 음성 응답 방법.
  12. 제8항에 있어서, 상기 음성 정보에는 대체 텍스트가 포함되고, 상기 문법은 상기 대체 텍스트에 기초하여 생성되는 것인 음성 응답 방법.
  13. 제8항에 있어서, 상기 음성 정보에는 변수에 대한 처리를 행해야 하는지의 여부를 나타내는 변수 정보가 포함되는 것인 음성 응답 방법.
  14. 애플리케이션 서버 및 음성 서버로 이루어지는 음성 응답 시스템에서의 음성 응답을 실행하기 위한 프로그램으로서, 상기 애플리케이션 서버는 제1 음성 파일과, 제2 음성 파일과, 음성 정보를 갖는 것이며, 상기 프로그램은 상기 음성 서버로 하여금,
    상기 애플리케이션 서버로부터 상기 음성 정보와 상기 제1 음성 파일을 수신하고, 상기 음성 정보에 기초하여 문법을 생성하며,
    상기 문법에 기초하여 상기 제1 음성 파일을 음성 인식하고 복수의 음성 파일로 분할하며,
    상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 상기 제2 음성 파일로 치환하도록 동작시키는 것인 프로그램.
  15. 제14항에 있어서, 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것인 프로그램.
  16. 제15항에 있어서, 상기 제2 음성 파일은 변수부에 들어가는 음성을 파일로서 녹음한 것인 프로그램.
  17. 제14항에 있어서, 상기 음성 정보에는 상기 제1 음성 파일의 파일명이 포함되고, 상기 제1 음성 파일은 상기 파일명에 기초하여 추출되는 것인 프로그램.
  18. 제14항에 있어서, 상기 음성 정보에는 대체 텍스트가 포함되고, 상기 문법은 상기 대체 텍스트에 기초하여 생성되는 것인 프로그램.
  19. 제14항에 있어서, 상기 음성 정보에는 변수에 대한 처리를 행해야 하는지의 여부를 나타내는 변수 정보가 포함되는 프로그램.
  20. 청구항 제14항 내지 제19항 중 어느 한 항에 기재한 프로그램을 저장한 컴퓨터가 판독할 수 있는 기록 매체.
  21. 자동적으로 음성 처리를 행하기 위한 음성 서버로서,
    대체 텍스트로부터 문법을 생성하는 수단과;
    상기 문법에 기초하여 제1 음성 파일을 음성 인식하고 복수의 음성 파일로 분할하는 수단과;
    상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 제2 음성 파일로 치환하는 수단
    을 갖는 음성 서버.
  22. 제21항에 있어서, 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것인 음성 서버.
  23. 제22항에 있어서, 상기 제2 음성 파일은 변수부에 들어가는 음성을 파일로서 녹음한 것인 음성 서버.
  24. 제22항에 있어서, 상기 제2 음성 파일은 변수부에 들어가는 음성을 합성 음성에 의해 생성한 것인 음성 서버.
  25. 제21항에 있어서, 상기 문법을 생성하는 수단은 대체 텍스트를 변수부와 변수부 이외의 부분으로 분할하고, 변수부를 미리 정해진 단어로 치환함으로써 문법을 생성하는 것인 음성 서버.
  26. 제25항에 있어서, 상기 문법을 생성하는 수단은 상기 단어의 치환에 의해 생성된 텍스트 파일을 분할하고 음성 인식이 가능한 형식으로 함으로써도 문법을 생성하는 음성 서버.
  27. 음성 서버에 의해 자동적으로 음성 파일을 처리하기 위한 방법으로서,
    상기 음성 서버가
    대체 텍스트로부터 문법을 생성하는 단계와;
    상기 문법에 기초하여 제1 음성 파일을 음성 인식하고 복수의 음성 파일로 분할하는 단계와;
    상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 제2 음성 파일로 치환하는 단계
    를 포함하는 음성 파일 처리 방법.
  28. 제27항에 있어서, 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것인 음성 파일 처리 방법.
  29. 제28항에 있어서, 상기 제2 음성 파일은 변수부에 들어가는 음성을 파일로 서 녹음한 것인 음성 파일 처리 방법.
  30. 제28항에 있어서, 상기 제2 음성 파일은 변수부에 들어가는 음성을 합성 음성에 의해 생성한 것인 음성 파일 처리 방법.
  31. 제27항에 있어서, 상기 문법을 생성하는 단계는 대체 텍스트를 변수부와 변수부 이외의 부분으로 분할하고, 변수부를 미리 정해진 단어로 치환함으로써 문법을 생성하는 것은 음성 파일 처리 방법.
  32. 제31항에 있어서, 상기 단어의 치환에 의해 생성된 텍스트 파일을 분할하여 음성 인식이 가능한 형식으로 함으로써 문법을 생성하는 것인 음성 파일 처리 방법.
  33. 음성 서버에 의해 자동적으로 음성 파일을 처리하기 위한 프로그램으로서, 상기 프로그램은 상기 음성 서버로 하여금,
    대체 텍스트로부터 문법을 생성하고,
    상기 문법에 기초하여 제1 음성 파일을 음성 인식하고 복수의 음성 파일로 분할하며,
    상기 분할된 음성 파일 내의 적어도 1개의 음성 파일을 제2 음성 파일로 치환하도록 동작시키는 것인 프로그램.
  34. 제33항에 있어서, 상기 제1 음성 파일은 변수가 들어가는 것을 나타내는 변수부를 포함하는 전문이 1개의 파일로서 녹음된 것인 프로그램.
  35. 제34항에 있어서, 상기 제2 음성 파일은 변수부에 들어가는 음성을 파일로서 녹음한 것인 프로그램.
  36. 제34항에 있어서, 상기 제2 음성 파일은 변수부에 들어가는 음성을 합성 음성에 의해 생성한 것인 프로그램.
  37. 제33항에 있어서, 상기 문법을 생성하는 동작은 대체 텍스트를 변수부와 변수부 이외의 부분으로 분할하고, 변수부를 미리 정해진 단어로 치환함으로써 문법 을 생성하는 것인 프로그램.
  38. 제37항에 있어서, 상기 단어의 치환에 의해 생성된 텍스트 파일을 분할하여 음성 인식이 가능한 형식으로 함으로써도 문법을 생성하는 것인 프로그램.
  39. 청구항 제33항 내지 제38항 중 어느 한 항에 기재한 프로그램을 저장한 컴퓨터가 판독할 수 있는 기록 매체.
KR1020057021113A 2003-06-02 2004-05-28 음성 응답 시스템, 음성 응답 방법, 음성 서버, 음성 파일 처리 방법 및 기록 매체 KR100834363B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003156714 2003-06-02
JPJP-P-2003-00156714 2003-06-02

Publications (2)

Publication Number Publication Date
KR20060014043A true KR20060014043A (ko) 2006-02-14
KR100834363B1 KR100834363B1 (ko) 2008-06-02

Family

ID=33508327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057021113A KR100834363B1 (ko) 2003-06-02 2004-05-28 음성 응답 시스템, 음성 응답 방법, 음성 서버, 음성 파일 처리 방법 및 기록 매체

Country Status (8)

Country Link
EP (1) EP1632932B1 (ko)
JP (1) JP4478647B2 (ko)
KR (1) KR100834363B1 (ko)
CN (1) CN1830022B (ko)
AT (1) ATE381755T1 (ko)
AU (1) AU2004246451A1 (ko)
DE (1) DE602004010804T2 (ko)
WO (1) WO2004109658A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010068882A2 (en) * 2008-12-11 2010-06-17 Nortel Networks Limited Automated text-based messaging interaction using natural language understanding technologies
KR20200015023A (ko) * 2018-08-02 2020-02-12 주식회사 케이티 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법
KR20200050104A (ko) * 2018-11-01 2020-05-11 주식회사 케이티 Tts 서비스 제공 방법 및 이를 위한 중계 서버

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181397B2 (en) 2005-04-29 2007-02-20 Motorola, Inc. Speech dialog method and system
JP5787794B2 (ja) * 2012-03-05 2015-09-30 株式会社東芝 音声合成システム、音声変換支援装置および音声変換支援方法
WO2018133307A1 (zh) 2017-01-20 2018-07-26 华为技术有限公司 一种实现语音控制的方法和终端
JP7013172B2 (ja) * 2017-08-29 2022-01-31 株式会社東芝 音声合成辞書配信装置、音声合成配信システムおよびプログラム
CN108090051A (zh) * 2017-12-20 2018-05-29 深圳市沃特沃德股份有限公司 连续长语音文件的翻译方法与翻译机

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2554116B2 (ja) * 1988-01-30 1996-11-13 日本電気ホームエレクトロニクス株式会社 テレビジョン受像機
US5652789A (en) * 1994-09-30 1997-07-29 Wildfire Communications, Inc. Network based knowledgeable assistant
AU1987097A (en) * 1996-03-07 1997-09-22 American Express Travel Related Services Company, Inc. Methods and apparatus for providing a prepaid, remote memory transaction account with voice indicia
US5970449A (en) * 1997-04-03 1999-10-19 Microsoft Corporation Text normalization using a context-free grammar
JP3472101B2 (ja) * 1997-09-17 2003-12-02 株式会社東芝 音声入力解釈装置及び音声入力解釈方法
US6144938A (en) * 1998-05-01 2000-11-07 Sun Microsystems, Inc. Voice user interface with personality
US6499013B1 (en) * 1998-09-09 2002-12-24 One Voice Technologies, Inc. Interactive user interface using speech recognition and natural language processing
KR100287905B1 (ko) * 1998-12-31 2001-05-02 서평원 실시간 음성 재생 시스템 및 그를 이용한 음성 재생 방법
CZ299508B6 (cs) * 1999-02-19 2008-08-20 Custom Speech Usa, Inc. Systém automatické transkripce a zpusob užití dvou stupnu konverze reci a pocítacem podporovaná korekce
JP2001265376A (ja) * 2000-03-22 2001-09-28 Pioneer Electronic Corp 音声合成出力装置ならびに方法および同方法が記録される記録媒体
KR100364546B1 (ko) * 2000-12-29 2002-12-18 엘지전자 주식회사 음성 메일링 시스템의 음성자원 교체방법
JP2002221980A (ja) * 2001-01-25 2002-08-09 Oki Electric Ind Co Ltd テキスト音声変換装置
US7711570B2 (en) * 2001-10-21 2010-05-04 Microsoft Corporation Application abstraction with dialog purpose
JP4554561B2 (ja) * 2006-06-20 2010-09-29 株式会社シマノ 釣り用グローブ
JP2008002005A (ja) * 2006-06-21 2008-01-10 Shimada Shoji Kk 衣服用パッド
JP4880379B2 (ja) * 2006-06-23 2012-02-22 粕谷 普烈 型板の緊張度が調節自在な枠体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010068882A2 (en) * 2008-12-11 2010-06-17 Nortel Networks Limited Automated text-based messaging interaction using natural language understanding technologies
WO2010068882A3 (en) * 2008-12-11 2010-08-26 Nortel Networks Limited Automated text-based messaging interaction using natural language understanding technologies
US8442563B2 (en) 2008-12-11 2013-05-14 Avaya Inc. Automated text-based messaging interaction using natural language understanding technologies
KR20200015023A (ko) * 2018-08-02 2020-02-12 주식회사 케이티 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법
KR20200050104A (ko) * 2018-11-01 2020-05-11 주식회사 케이티 Tts 서비스 제공 방법 및 이를 위한 중계 서버

Also Published As

Publication number Publication date
ATE381755T1 (de) 2008-01-15
JPWO2004109658A1 (ja) 2006-07-20
KR100834363B1 (ko) 2008-06-02
DE602004010804T2 (de) 2008-12-04
EP1632932A1 (en) 2006-03-08
DE602004010804D1 (de) 2008-01-31
AU2004246451A1 (en) 2004-12-16
CN1830022B (zh) 2010-05-05
WO2004109658A1 (ja) 2004-12-16
EP1632932A4 (en) 2007-05-09
EP1632932B1 (en) 2007-12-19
CN1830022A (zh) 2006-09-06
JP4478647B2 (ja) 2010-06-09

Similar Documents

Publication Publication Date Title
US6801897B2 (en) Method of providing concise forms of natural commands
US8719028B2 (en) Information processing apparatus and text-to-speech method
CN102549652B (zh) 信息检索装置
US9196251B2 (en) Contextual conversion platform for generating prioritized replacement text for spoken content output
US8881045B2 (en) Method and apparatus for generating prompt information of a mobile terminal
KR100834363B1 (ko) 음성 응답 시스템, 음성 응답 방법, 음성 서버, 음성 파일 처리 방법 및 기록 매체
KR20090005090A (ko) 음성합성장치 및 그 방법
CN110600003A (zh) 机器人的语音输出方法、装置、机器人和存储介质
JP3488020B2 (ja) マルチメディア情報提示装置
KR20170058504A (ko) 악보 구현 및 음원 재생 시스템 및 그 방법
JP2011150169A (ja) 音声認識装置
JP4286583B2 (ja) 波形辞書作成支援システムおよびプログラム
JPS6083136A (ja) プログラム読上装置
US20020042040A1 (en) Talking book method and system
JP2009086597A (ja) テキスト音声変換サービスシステム及び方法
KR20040062317A (ko) 오디오 데이터 파일의 부가 정보 음성 안내방법
JP3414326B2 (ja) 音声合成用辞書登録装置及び方法
JPH11272712A (ja) データベース構築支援装置
JP2007127994A (ja) 音声合成方法及び音声合成装置並びにプログラム
US20100145968A1 (en) Methods and Apparatus for Manipulation of Primary Audio Optical Data Content and Associated Secondary Data Content
JP2022144261A (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP2001249678A (ja) 音声出力装置,音声出力方法および音声出力のためのプログラム記録媒体
JPH10333696A (ja) 音声合成装置
KR19990064930A (ko) 엑스엠엘 태그를 이용한 전자메일 구현방법
JP2010243653A (ja) 音声認識辞書編集装置及び音声認識装置

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
LAPS Lapse due to unpaid annual fee