이하, 본 발명의 실시형태를, 음성 합성 시스템을 예로 하여, 도면을 참조하여 설명한다.
(제 1의 실시형태)
도 1은 본 발명의 제 1의 실시형태에 관한 음성 합성 시스템의 구성을 도시한 도면이다. 도시한 바와 같이, 이 음성 합성 시스템은, 본체 유닛(M)과, 음편 등록 유닛(R)에 의해 구성되어 있다.
본체 유닛(M)은, 언어 처리부(1)와, 일반 단어 사전(2)과, 유져 단어 사전(3)과, 음향 처리부(4)와, 검색부(5)와, 신장부(6)와, 파형 데이터베이스(7)와, 음편 편집부(8)와, 검색부(9)와, 음편 데이터베이스(10)와, 화속(話速) 변환부(11)에 의해 구성되어 있다.
언어 처리부(1), 음향 처리부(4), 검색부(5), 신장부(6), 음편 편집부(8), 검색부(9) 및 화속 변환부(11)는, 어느것이나, CPU(Central Processing Unit)나 DSP(Digital Signal Processor) 등의 프로세서나, 이 프로세서가 실행하기 위한 프로그램을 기억하는 메모리 등으로 구성되어 있고, 각각 후술하는 처리를 행한다.
또한, 언어 처리부(1), 음향 처리부(4), 검색부(5), 신장부(6), 음편 편집부(8), 검색부(9) 및 화속 변환부(11)의 일부 또는 전부의 기능을 단일의 프로세서가 행하도록 하여도 좋다.
일반 단어 사전(2)은, PROM(Programmable Read Only Memory)이나 하드 디스 크 장치 등의 불휘발성 메모리로 구성되어 있다. 일반 단어 사전(2)에는, 표의문자(예를 들면, 한자 등)를 포함하는 단어 등과, 이 단어 등의 독음을 나타내는 표음문자(예를 들면, 일본문자나 발음 기호 등)가, 이 음성 합성 시스템의 제조자 등에 의해, 미리 서로 대응지어서 기억되어 있다.
유져 단어 사전(3)은, EEPROM(Electrica11y Erasable/Programmable Read Only Memory)이나 하드 디스크 장치 등의 데이터 재기록 가능한 불휘발성 메모리와, 이 불휘발성 메모리에의 데이터의 기록을 제어하는 제어 회로에 의해 구성되어 있다. 또한, 프로세서가 이 제어 회로의 기능을 행하여도 좋고, 언어 처리부(1), 음향 처리부(4), 검색부(5), 신장부(6), 음편 편집부(8), 검색부(9) 및 화속 변환부(11)의 일부 또는 전부의 기능을 행하는 프로세서가 유져 단어 사전(3)의 제어 회로의 기능을 행하도록 하여도 좋다.
유져 단어 사전(3)은, 표의문자를 포함하는 단어 등과, 이 단어 등의 독음을 나타내는 표음문자를, 유저의 조작에 따라 외부로부터 취득하고, 서로 대응지어서 기억한다. 유져 단어 사전(3)에는, 일반 단어 사전(2)에 기억되지 않은 단어 등과 그 독음을 나타내는 표음문자가 격납되어 있으면 충분하다.
파형 데이터베이스(7)는, PROM이나 하드 디스크 장치 등의 불휘발성 메모리로 구성되어 있다. 파형 데이터베이스(7)에는, 표음문자와, 이 표음문자가 나타내는 단위 음성의 파형을 나타내는 파형 데이터를 엔트로피 부호화하여 얻어지는 압축 파형 데이터가, 이 음성 합성 시스템의 제조자 등에 의해, 미리 서로 대응지어저서 기억되어 있다. 단위 음성에는, 음소나, VCV(Vowel-Consonant-Vowel) 음절 등 의 단위로 단락되는 음성이다. 또한, 엔트로피 부호화되기 전의 파형 데이터는, 예를 들면, PVM(Pulse Code Modulation)화된 디지털 형식의 데이터로 이루어져 있으면 좋다.
음편 데이터베이스(10)는, PROM이나 하드 디스크 장치 등의 불휘발성 메모리로 구성되어 있다.
음편 데이터베이스(10)에는, 예를 들면, 도 2에 도시한 데이터 구조를 갖는 데이터가 기억되어 있다. 즉, 도시한 바와 같이, 음편 데이터베이스(10)에 격납되어 있는 데이터는, 헤드부(HDR), 인덱스부(IDX), 디렉토리부(DIR) 및 데이터부(DAT)의 4종으로 나뉘어 있다.
또한, 음편 데이터베이스(10)에의 데이터의 격납은, 예를 들면, 이 음성 합성 시스템의 제작자에 의해 미리 행하여지고, 및/또는, 음편 등록 유닛(R)이 후술하는 동작을 행함에 의해 행하여진다.
헤드부(HDR)에는, 또한, 음편 데이터베이스(10)를 식별하는 데이터나, 인덱스부(IDX), 디렉토리부(DIR) 및 데이터부(DAT)의 데이터량, 데이터 형식, 저작권 등의 귀속 등을 나타내는 데이터가 격납된다.
데이터부(DAT)에는, 음편의 파형을 나타내는 음편 데이터를 엔트로피 부호화하여 얻어지는 압축 음편 데이터가 격납되어 있다.
또한, 음편이란, 음성중 음소 1개 이상을 포함하는 연속한 1구간을 말하고, 통상은 단어 1개분 또는 복수개분의 구간으로 이루어진다.
또한, 엔트로피 부호화되기 전의 음편 데이터는, 상술한 압축 파형 데이터의 생성을 위해 엔트로피 부호화되기 전의 파형 데이터와 같은 형식의 데이터(예를 들면, PCM된 디지털 형식의 데이터)로 되어 있으면 좋다.
디렉토리부(DIR)에는, 개개의 압축 음성 데이터에 관해,
(A) 이 압축 음편 데이터가 나타내는 음편의 독음을 나타내는 표음문자를 나타내는 데이터(음편 독음 데이터),
(B) 이 압축 음편 데이터가 격납되어 있는 기억 위치의 선두의 어드레스를 나타내는 데이터,
(C) 이 압축 음편 데이터의 데이터 길이를 나타내는 데이터,
(D) 이 압축 음편 데이터가 나타내는 음편의 발성 스피드(재생한 경우의 시간 길이)를 나타내는 데이터(스피드 초기치 데이터),
(E) 이 음편의 피치 성분의 주파수의 시간 변화를 나타내는 데이터(피치 성분 데이터)가,
서로 대응지어진 형태로 격납되어 있다. (또한, 음편 데이터베이스(10)의 기억 영역에는 어드레스가 붙여져 있는 것으로 한다)
또한, 도 2는 데이터부(DAT)에 포함되는 데이터로서, 독음이 「사이타마」인 음편의 파형을 나타내는, 데이터량 1410h바이트의 압축 음편 데이터가, 어드레스 001A36A6h를 선두로 하는 논리적 위치에 격납되어 있는 경우를 예시하고 있다.(또한, 본 명세서 및 도면에서, 말미에 "h"를 붙인 숫자는 16진수를 나타낸다)
또한, 피치 성분 데이터는, 예를 들면, 도시한 바와같이, 음편의 피치 성분의 주파수를 샘플링하여 얻어진 샘플(Y(i))(샘플의 총수를 n으로 하고, i는 n 이하 의 정의 정수)를 나타내는 데이터인 것으로 한다.
또한 상술한 (A) 내지 (E)의 데이터의 집합중 적어도 (A)의 데이터 (즉, 음편 독음 데이터)는, 음편 독음 데이터가 나타내는 표음문자에 의거하여 결정된 순위에 따라 소트된 상태로(예를 들면, 표음문자가 일본 문자라면, 50음 순에 따라, 어드레스 내림순으로 나열한 상태로), 음편 데이터베이스(10)의 기억 영역에 격납되어있다.
인덱스부(IDX)에는, 디렉토리부(DIR)의 데이터 및 그 논리적 위치를 음편 독음 데이터에 의거하여 특정하기 위한 데이터가 격납되어 있다. 구체적으로는, 예를 들면, 음편 독음 데이터가 일본 문자를 나타내는 것으로 하고, 일본문자와, 선두 1자가 이 일본문자인 음편 독음 데이터가 어떠한 범위의 어드레스에 있는지를 나타내는 데이터가, 서로 대응지어져서 격납되어 있다.
또한, 일반 단어 사전(2), 유져 단어 사전(3), 파형 데이터 베이스(7) 및 음편 데이터 베이스(10)의 일부 또는 전부의 기능을 단일한 불휘발성 메모리가 행하도록 하여도 좋다.
음편 데이터 베이스(10)에의 데이터의 격납은, 도 1에 도시한 음편 등으로 유닛(R)에 의해 행하여 진다. 음편 등록 유닛(R)은, 도시한 바와 같이, 수록 음편 데이터 세트 기억부(12) 음편 데이터 작성부(13)와 압축부(14)에 의해 구성되어 있다. 또한 음편 등록 유닛(R)은 음편 데이터베이스(10)와는 착탈 가능하게 접속되어 있어도 좋고, 이 경우는, 음편 데이터베이스(10)에 새롭게 데이터를 기록할 때를 제외하고는, 음편 등록 유닛(R)을 본체 유닛(M)으로부터 분리 상태에서 본체 유닛 (M)에 후술하는 동작을 행하게 하면 좋다.
수록 음편 데이터 세트 기억부(12)는, 하드 디스크 장치 등의 데이터 재기록 가능한 불휘발성 메모리로 구성되어 있다.
수록 음편 데이터 세트 기억부(12)에는, 음편의 독음을 나타내는 표음문자와, 이 음편을 사람이 실제로 발성한 것을 집음(集音)하여 얻은 파형을 나타내는 음편 데이터가, 이 음성 합성 시스템의 제조자 등에 의해, 미리 서로 대응지어서 기억되어 있다. 또한, 이 음편 데이터는, 예를 들면, PCM화된 디지털 형식의 데이터로 되어 있으면 되다.
음편 데이터베이스 작성부(13) 및 압축부(14)는, CPU 등의 프로세서나, 이 프로세서가 실행하기 위한 프로그램을 기억하는 메모리 등으로 구성되어 있고, 이 프로그램에 따라 후술하는 처리를 행한다.
또한, 음편 데이터베이스 작성부(13) 및 압축부(14)의 일부 또는 전부의 기능을 단일의 프로세서가 행하도록 하여도 좋고, 또한, 언어 처리부(1), 음향 처리부(4), 검색부(5), 신장부(6), 음편 편집부(8), 검색부(9) 및 화속 변환부(11)의 일부 또는 전부의 기능을 행하는 프로세서가 음편 데이터베이스 작성부(13)나 압축부(14)의 기능을 또한 행하여도 좋다. 또한, 음편 데이터베이스 작성부(13)나 압축부(14)의 기능을 행하는 프로세서가, 수록 음편 데이터 세트 기억부(12)의 제어 회로의 기능을 겸하여도 좋다.
음편 데이터베이스 작성부(13)는, 수록 음편 데이터 세트 기억부(12)로부터, 서로 대응지어져 있는 표음문자 및 음편 데이터를 판독하고, 이 음편 데이터가 나 타내는 음성의 피치 성분의 주파수의 시간 변화와, 발성 스피드를 특정한다.
발성 스피드의 특정은, 예를 들면, 이 음편 데이터의 샘플 수를 세는 것에 의해 특정하면 좋다.
한편, 피치 성분의 주파수의 시간 변화는, 예를 들면, 이 음편 데이터에 캡스트럼(cepstrum) 해석을 시행함에 의해 특정하면 좋다. 구체적으로는, 예를 들면, 음편 데이터가 나타내는 파형을 시간축상에서 다수의 소부분으로 단락을 짓고, 얻어진 각각의 소부분의 강도를, 원래의 값의 대수(對數)(대수의 밑은 임의)에 실질적으로 동등한 값으로 변환하고, 값이 변환된 이 소부분의 스펙트럼(즉, 캡스트럼)를, 고속 푸리에 변환의 방법(또는, 이산적 변수를 푸리에 변환한 결과를 나타내는 데이터를 생성하는 다른 임의의 방법)에 의해 구한다. 그리고, 이 캡스트럼의 극대치를 주는 주파수중의 최소치를, 이 소부분의 피치 성분의 주파수로서 특정하다.
또한, 피치 성분의 주파수의 시간 변화는, 예를 들면, 특개2003-108172호 공보에 개시된 방법에 따라 음편 데이터를 피치 파형 데이터로 변환하고 나서, 이 피치 파형 데이터에 의거하여 특정하도록 하면 양호한 결과를 기대할 수 있다. 구체적으로는, 음편 데이터를 필터링하여 피치 신호를 추출하고, 추출된 피치 신호에 의거하여, 음편 데이터가 나타내는 파형을 단위 피치 길이의 구간으로 단락을 짓고, 각 구간에 관해, 피치 신호와의 상관 관계에 의거하여 위상의 어긋남을 특정하여 각 구간의 위상을 정돈함에 의해, 음편 데이터를 피치 파형 신호로 변환하면 좋다. 그리고, 얻어진 피치 파형 신호를 음편 데이터로서 취급하여, 캡스트럼 해석을 행하는 등에 의해, 피치 성분의 주파수의 시간 변화를 특정하면 좋다.
한편, 음편 데이터베이스 작성부(13)는, 수록 음편 데이터 세트 기억부(12)로부터 판독한 음편 데이터를 압축부(14)에 공급한다.
압축부(14)는, 음편 데이터베이스 작성부(13)로부터 공급된 음편 데이터를 엔트로피 부호화하여 압축 음편 데이터를 작성하고, 음편 데이터베이스 작성부(13)에 반송한다.
음편 데이터의 발성 스피드 및 피치 성분의 주파수의 시간 변화를 특정하고, 이 음편 데이터가 엔트로피 부호화되어 압축 음편 데이터로 되어 압축부(14)로부터 반송되면, 음편 데이터베이스 작성부(13)는, 이 압축 음편 데이터를, 데이터부(DAT)를 구성하는 데이터로서, 음편 데이터베이스(10)의 기억 영역에 기록한다.
또한, 음편 데이터베이스 작성부(13)는, 기록한 압축 음편 데이터가 나타내는 음편의 독음을 나타내는 것으로 하여 수록 음편 데이터 세트 기억부(12)로부터 판독한 표음문자를, 음편 독음 데이터로서 음편 데이터베이스(10)의 기억 영역에 기록한다.
또한, 기록한 압축 음편 데이터의, 음편 데이터베이스(10)의 기억 영역 내에서의 선두의 어드레스를 특정하고, 이 어드레스를 상술한 (B)의 데이터로서 음편 데이터베이스(10)의 기억 영역에 기록한다.
또한, 이 압축 음편 데이터의 데이터 길이를 특정하고, 특정한 데이터 길이를, (C)의 데이터로서 음편 데이터베이스(10)의 기억 영역에 기록한다.
또한, 이 압축 음편 데이터가 나타내는 음편의 발성 스피드 및 피치 성분의 주파수의 시간 변화를 특정한 결과를 나타내는 데이터를 생성하고, 스피드 초기치 데이터 및 피치 성분 데이터로서 음편 데이터베이스(10)의 기억 영역에 기록한다.
다음에, 이 음성 합성 시스템의 동작을 설명한다.
우선, 언어 처리부(1)가, 이 음성 합성 시스템에 음성을 합성시키는 대상으로서 유저가 준비한, 표의문자를 포함하는 문장(프리텍스트)를 기술한 프리텍스트 데이터를 외부로부터 취득하였다고 하여 설명하다.
또한, 언어 처리부(1)가 프리텍스트 데이터를 취득하는 방법은 임의이고, 예를 들면, 도시하지 않은 인터페이스 회로를 통하여 외부의 장치나 네트워크로부터 취득하여도 좋고, 도시하지 않은 기록 매체 드라이브 장치에 세트된 기록 매체(예를 들면, 플로피(등록상표)디스크나 CD-ROM 등)로부터, 이 기록 매체 드라이브 장치를 통하여 판독하여도 좋다. 또한, 언어 처리부(1)의 기능을 행하고 있는 프로세서가, 스스로 실행하고 있는 다른 처리에서 이용한 텍스트 데이터를, 프리텍스트 데이터로서, 언어 처리부(1)의 처리에 인도하도록 하여도 좋다.
프리텍스트 데이터를 취득하면, 언어 처리부(1)는, 이 프리텍스트에 포함되는 각각의 표의문자에 관해, 그 독음을 나타내는 표음문자를, 일반 단어 사전(2)이나 유져 단어 사전(3)을 검색함에 의해 특정한다. 그리고, 이 표의문자를, 특정한 표음문자로 치환한다. 그리고, 언어 처리부(1)는, 프리텍스트 내의 표의문자가 전부 표음문자로 치환한 결과 얻어지는 표음문자열을, 음향 처리부(4)에 공급한다.
음향 처리부(4)는, 언어 처리부(1)로부터 표음문자열가 공급되면, 이 표음문자열에 포함되는 각각의 표음문자에 관해, 해당 표음문자가 나타내는 단위 음성의 파형을 검색하도록, 검색부(5)에 지시한다.
검색부(5)는, 이 지시에 응답하여 파형 데이터베이스(7)를 검색하고, 표음문자열에 포함되는 각각의 표음문자가 나타내는 단위 음성의 파형을 나타내는 압축 파형 데이터를 색출한다. 그리고, 색출된 압축 파형 데이터를 신장부(6)에 공급한다.
신장부(6)는, 검색부(5)로부터 공급된 압축 파형 데이터를, 압축되기 전의 파형 데이터로 복원하고, 검색부(5)에 반송한다. 검색부(5)는, 신장부(6)로부터 반송된 파형 데이터를, 검색 결과로서 음향 처리부(4)에 공급한다.
음향 처리부(4)는, 검색부(5)로부터 공급된 파형 데이터를, 언어 처리부(1)로부터 공급된 표음문자열 내에서의 각 표음문자의 나열에 따른 순서로, 음편 편집부(8)에 공급한다.
음편 편집부(8)는, 음향 처리부(4)로부터 파형 데이터가 공급되면, 이 파형 데이터를, 공급된 순서로 서로 결합하여, 합성 음성을 나타내는 데이터(합성 음성 데이터)로서 출력한다. 프리텍스트 데이터에 의거하여 합성된 이 합성 음성은, 규칙 합성 방식의 방법에 의해 합성된 음성에 상당한다.
또한, 음편 편집부(8)가 합성 음성 데이터를 출력하는 방법은 임의이고, 예를 들면, 도시하지 않은 D/A(Digital-to-Analog) 변환기나 스피커를 통하여, 이 합성 음성 데이터가 나타내는 합성 음성을 재생하도록 하여도 좋다. 또한, 도시하지 않은 인터페이스 회로를 통하여 외부의 장치나 네트워크에 송출하여도 좋고, 도시하지 않은 기록 매체 드라이브 장치에 세트된 기록 매체에, 이 기록 매체 드라이브 장치를 통하여 기록하여도 좋다. 또한, 음편 편집부(8)의 기능을 행하고 있는 프로 세서가, 스스로 실행하고 있는 다른 처리에, 합성 음성 데이터를 인도하도록 하여도 좋다.
다음에, 음향 처리부(4)가, 외부로부터 배신된, 표음문자열을 나타내는 데이터(배신 문자열 데이터)를 취득하였다고 한다. (또한, 음향 처리부(4)가 배신 문자열 데이터를 취득하는 방법도 임의이고, 예를 들면, 언어 처리부(1)가 프리텍스트 데이터를 취득하는 방법과 같은 방법으로 배신 문자열 데이터를 취득하면 좋다)
이 경우, 음향 처리부(4)는, 배신 문자열 데이터가 나타내는 표음문자열을, 언어 처리부(1)로부터 공급된 표음문자열과 마찬가지로 취급한다. 그 결과, 배신 문자열 데이터가 나타내는 표음문자열에 포함되는 표음문자에 대응하는 압축 파형 데이터가 검색부(5)에 의해 색출되고, 압축되기 전의 파형 데이터가 신장부(6)에 의해 복원된다. 복원된 각 파형 데이터는 음향 처리부(4)를 통하여 음편 편집부(8)에 공급되고, 음편 편집부(8)가, 이 파형 데이터를, 배신 문자열 데이터가 나타내는 표음문자열 내에서의 각 표음문자의 나열에 따른 순서로 서로 결합하여, 합성 음성 데이터로서 출력한다. 배신 문자열 데이터에 의거하여 합성된 이 합성 음성 데이터도, 규칙 합성 방식의 방법에 의해 합성된 음성을 나타낸다.
다음에, 음편 편집부(8)가, 정형 메시지 데이터 및 발성 스피드 데이터를 취득하였다고 한다.
또한, 정형 메시지 데이터는, 정형 메시지를 표음문자열으로서 나타내는 데이터이고, 발성 스피드 데이터는, 정형 메시지 데이터가 나타내는 정형 메시지의 발성 스피드의 지정치(이 정형 메시지를 발성하는 시간 길이의 지정치)를 나타내는 데이터이다.
또한, 음편 편집부(8)가 정형 메시지 데이터나 발성 스피드 데이터를 취득하는 방법은 임의이고, 예를 들면, 언어 처리부(1)가 프리텍스트 데이터를 취득하는 방법과 같은 방법으로 정형 메시지 데이터나 발성 스피드 데이터를 취득하면 좋다.
정형 메시지 데이터 및 발성 스피드 데이터가 음편 편집부(8)에 공급되면, 음편 편집부(8)는, 정형 메시지에 포함되는 음편의 독음을 나타내는 표음문자에 합치하는 표음문자가 대응지어져 있는 압축 음편 데이터를 전부 색출하도록, 검색부(9)에 지시한다.
검색부(9)는, 음편 편집부(8)의 지시에 응답하여 음편 데이터베이스(10)을 검색하고, 해당하는 압축 음편 데이터와, 해당하는 압축 음편 데이터에 대응지어져 있는 상술한 음편 독음 데이터, 스피드 초기치 데이터 및 피치 성분 데이터를 색출하고, 색출된 압축 파형 데이터를 신장부(6)에 공급한다. 1개의 음편에 대해 복수의 압축 음편 데이터가 해당하는 경우도, 해당하는 압축 음편 데이터 전부가, 음성 합성에 이용되는 데이터의 후보로서 색출된다. 한편, 압축 음편 데이터를 색출하지 못한 음편이 있은 경우, 검색부(9)는, 해당하는 음편을 식별하는 데이터(이하, 누락 부분 식별 데이터라고 부른다)를 생성한다.
신장부(6)는, 검색부(9)로부터 공급된 압축 음편 데이터를, 압축되기 전의 음편 데이터로 복원하고, 검색부(9)에 반송한다. 검색부(9)는, 신장부(6)로부터 반송된 음편 데이터와, 색출된 음편 독음 데이터, 스피드 초기치 데이터 및 피치 성분 데이터를, 검색 결과로서 화속 변환부(11)에 공급한다. 또한, 누락 부분 식별 데이터를 생성한 경우는, 이 누락 부분 식별 데이터도 화속 변환부(11)에 공급한다.
한편, 음편 편집부(8)는, 화속 변환부(11)에 대해, 화속 변환부(11)에 공급된 음편 데이터를 변환하여, 해당 음편 데이터가 나타내는 음편의 시간 길이를, 발성 스피드 데이터가 나타내는 스피드에 합치하도록 할 것을 지시한다.
화속 변환부(11)는, 음편 편집부(8)의 지시에 응답하여, 검색부(9)로부터 공급된 음편 데이터를 지시에 합치하도록 변환하여, 음편 편집부(8)에 공급한다. 구체적으로는, 예를 들면, 검색부(9)로부터 공급된 음편 데이터의 원래의 시간 길이를, 색출된 스피드 초기치 데이터에 의거하여 특정하고 나서, 이 음편 데이터를 리샘플링하여, 이 음편 데이터의 샘플 수를, 음편 편집부(8)가 지시한 스피드에 합치하는 시간 길이로 하면 좋다.
또한, 화속 변환부(11)는, 검색부(9)로부터 공급된 음편 독음 데이터, 스피드 초기치 데이터 및 피치 성분 데이터도 음편 편집부(8)에 공급하고, 누락 부분 식별 데이터를 검색부(9)로부터 공급된 경우는, 또한 이 누락 부분 식별 데이터도 음편 편집부(8)에 공급한다.
또한, 발성 스피드 데이터가 음편 편집부(8)에 공급되지 않은 경우, 음편 편집부(8)는, 화속 변환부(11)에 대해, 화속 변환부(11)에 공급된 음편 데이터를 변환하지 않고 음편 편집부(8)에 공급하도록 지시하면 좋고, 화속 변환부(11)는, 이 지시에 응답하여, 검색부(9)로부터 공급된 음편 데이터를 그대로 음편 편집부(8)에 공급하면 좋다.
음편 편집부(8)는, 화속 변환부(11)로부터 음편 데이터, 음편 독음 데이터, 스피드 초기치 데이터 및 피치 성분 데이터가 공급되면, 공급된 음편 데이터중에서, 정형 메시지를 구성하는 음편의 파형에 가장 잘 근사할 수 있는 파형을 나타내는 음편 데이터를, 음편 1개에 대해 1개씩 선택한다.
구체적으로는, 우선, 음편 편집부(8)는, 정형 메시지 데이터가 나타내는 정형 메시지에, 예를 들면 「후지사키(藤崎) 모델」이나 「ToBI(Tone and Break Indices)」 등의 운율 예측의 방법에 의거한 해석을 가함에 의해, 이 정형 메시지 내의 각 음편의 피치 성분의 주파수의 시간 변화를 예측한다. 그리고, 음편마다, 피치 성분의 주파수의 시간 변화의 예측 결과를 샘플링한 것을 나타내는 디지털 형식의 데이터(이하, 예측 결과 데이터라고 부른다)를 생성한다.
다음에, 음편 편집부(8)는, 정형 메시지 내의 각각의 음편에 관해, 이 음편의 피치 성분의 주파수의 시간 변화의 예측 결과를 나타내는 예측 결과 데이터와, 이 음편과 독음이 합치하는 음편의 파형을 나타내는 음편 데이터의 피치 성분의 주파수의 시간 변화를 나타내는 피치 성분 데이터와의 상관을 구한다.
보다 구체적으로는, 음편 편집부(8)는, 화속 변환부(11)로부터 공급된 각각의 피치 성분 데이터에 관해, 예를 들면, 수식 1의 우변에 도시한 값(α) 및 수식 2의 우변에 도시한 값(β)을 구한다.
도 3(a)에 도시한 바와 같이, 어떤 음편에 관한 예측 결과 데이터(샘플의 총수는 n개라고 한다)의 i번째의 샘플의 값(X(i))(i는 정수)의 1차 함수로서, 이 음편과 독음이 합치하는 음편의 파형을 나타내는 음편 데이터에 관한 피치 성분 데이터(샘플의 총수는 n개라고 한다)의 i번째의 샘플(Y(i))의 값을 1차 회귀시킨 경우, 이 1차 함수의 기울기는 α, 절편은 β가 된다. (기울기(α)의 단위는 예를 들면 [헤르츠/초]면 좋고, 절편(β)의 단위는 예를 들면 [헤르츠(Hertz)]면 좋다)
또한, 동일한 독음의 음편에 관해, 예측 결과 데이터와 피치 성분 데이터에서 샘플의 총수가 서로 다른 경우는, 양자중 한편(또는 양쪽)을, 1차 보간이나 라그랑즈 보간(Lagrange interpolation) 또는 그 밖에 임의의 방법에 의해 보간한 다음 리샘플링하여, 양자의 샘플의 총수를 정돈하고 나서 상관을 구하도록 하면 좋다.
한편, 음편 편집부(8)는, 화속 변환부(11)로부터 공급된 스피드 초기치 데이터와, 음편 편집부(8)에 공급된 정형 메시지 데이터 및 발성 스피드 데이터를 이용 하여, 수식 3의 우변의 값(dt)을 구한다. 이 값(dt)은, 음편 데이터가 나타내는 음편의 발성 스피드와, 이 음편과 독음이 합치하는 정형 메시지 내의 음편의 발성 스피드와의 시간차를 나타내는 계수이다.
dt=|(Xt-Yt)/Yt|
(단, Yt는 음편 데이터가 나타내는 음편의 발성 스피드, Xt는 이 음편과 독음이 합치하는 정형 메시지 내의 음편의 발성 스피드)
그리고, 음편 편집부(8)는, 1차 회귀에 의해 얻어진 상술한 α 및 β의 값과, 상술의 계수(dt)에 의거하여, 정형 메시지 내의 음편의 독음과 일치하는 음편을 나타내는 음편 데이터중, 수식 4의 우변의 값(평가치)(cost1)이 최대로 되는 것을 선택한다.
cost1=1/(W1|1-α|+W2|β|+dt)
(단, W1 및 W2는 소정의 정의 계수)
음편의 피치 성분의 주파수의 시간 변화의 예측 결과와, 이 음편과 독음이 합치하는 음편의 파형을 나타내는 음편 데이터의 피치 성분의 주파수의 시간 변화가 서로 가까울수록, 기울기(α)의 값은 1에 가까워지고, 따라서 값(|1-a|)은 0에 가까워진다. 그리고, 평가치(cost1)는, 음편의 피치의 예측 결과와 음편 데이터의 피치와의 상관이 높을수록 큰 값으로 되도록 하기 위해, 값(|1-a|)의 1차 함수의 역수의 형태를 취하고 있기 때문에, 평가치(cost1)는, 값(|1-a|)이 0에 가까워질수록 큰 값으로 된다.
한편, 음성의 억양은, 음편의 피치 성분의 주파수의 시간 변화에 의해 특징지워진다. 따라서, 기울기(α)의 값은, 음성의 억양의 차이를 민감하게 반영하는 성질을 갖는다.
이 때문에, 합성되어야 할 음성에 관해 억양의 정확성이 중시되는 경우(예를 들면, 전자 메일 등의 텍스트를 소리내어 읽는 음성을 합성하는 경우 등)는, 상술한 계수(W1)의 값을 가능한 한 크게 하는 것이 바람직하다.
이에 대해, 음편의 피치 성분의 기본 주파수(베이스 피치 주파수)의 예측 결과와, 이 음편과 독음이 합치하는 음편의 파형을 나타내는 음편 데이터의 베이스 피치 주파수가 서로 가까울수록, 절편(β)의 값은 0에 가까워진다. 따라서, 절편(β)의 값은, 음성의 베이스 피치 주파수의 차이를 민감하게 반영하는 성질을 갖는다. 한편, 평가치(cost1)는, 값(|β|)의 1차 함수의 역수로 볼 수도 있는 형태를 취하고 있기 때문에, 평가치(cost1)는, 값(lβ|)이 0에 가까워질수록 큰 값으로 된다.
한편, 음성의 베이스 피치 주파수는, 음성의 화자(話者)의 성질을 지배하는 요인이고, 화자의 성별에 의한 차이도 현저하다.
이 때문에, 합성되어야 할 음성에 관해 베이스 피치 주파수의 정확성이 중시되는 경우(예를 들면, 합성 음성의 화자의 성별이나 성질을 명확히 할 필요가 있는 경우 등)는, 상술한 계수(W2)의 값을 가능한 한 크게 하는 것이 바람직하다.
동작의 설명으로 되돌아오면, 음편 편집부(8)는, 정형 메시지 내의 음편의 파형에 가까운 파형을 나타내는 음편 데이터를 선택하는 한편으로, 화속 변환부(11)로부터 누락 부분 식별 데이터도 공급되어 있는 경우에는, 누락 부분 식별 데이터가 나타내는 음편의 독음을 나타내는 표음문자열을 정형 메시지 데이터로부터 추출하여 음향 처리부(4)에 공급하고, 이 음편의 파형을 합성하도록 지시한다.
지시를 받은 음향 처리부(4)는, 음편 편집부(8)로부터 공급된 표음문자열을, 배신 문자열 데이터가 나타내는 표음문자열과 마찬가지로 취급한다. 이 결과, 이 표음문자열에 포함되는 표음문자가 나타내는 음성의 파형을 나타내는 압축 파형 데이터가 검색부(5)에 의해 색출되고, 이 압축 파형 데이터가 신장부(6)에 의해 원래의 파형 데이터로 복원되고, 검색부(5)를 통하여 음향 처리부(4)에 공급된다. 음향 처리부(4)는, 이 파형 데이터를 음편 편집부(8)에 공급한다.
음편 편집부(8)는, 음향 처리부(4)로부터 파형 데이터가 반송되면, 이 파형 데이터와, 화속 변환부(11)로부터 공급된 음편 데이터중 음편 편집부(8)가 특정한 것을, 정형 메시지 데이터가 나타내는 정형 메시지 내에서의 각 음편의 나열에 따른 순서로 서로 결합하여, 합성 음성을 나타내는 데이터로서 출력한다.
또한, 화속 변환부(11)로부터 공급된 데이터에 누락 부분 식별 데이터가 포함되지 않은 경우는, 음향 처리부(4)에 파형의 합성을 지시하는 일 없이 곧바로, 음편 편집부(8)가 특정한 음편 데이터를, 정형 메시지 데이터가 나타내는 정형 메시지 내에서의 각 음편의 나열에 따른 순서로 서로 결합하여, 합성 음성을 나타내는 데이터로서 출력하면 좋다.
이상 설명한, 이 음성 합성 시스템에서는, 음소보다 큰 단위일 수 있는 음편 의 파형을 나타내는 음편 데이터가, 운율의 예측 결과에 의거하여, 녹음 편집 방식에 의해 자연스럽게 서로 연결되고, 정형 메시지를 소리내어 읽는 음성이 합성된다. 음편 데이터베이스(10)의 기억 용량은, 음소마다 파형을 기억하는 경우에 비하여 작게 할 수 있고, 또한, 고속으로 검색할 수 있다. 이 때문에, 이 음성 합성 시스템은 소형 경량으로 구성할 수 있고, 또한 고속의 처리에도 추종할 수 있다.
또한, 음편의 파형의 예측 결과와 음편 데이터와의 상관을 복수의 평가 기준(예를 들면, 1차 회귀시킨 경우의 기울기나 절편에 의한 평가와, 음편의 시간차에 의한 평가 등)으로 평가한 경우는, 이들의 평가의 결과에 어긋남이 생기는 경우가 많이 있을 수 있다. 그러나, 이 음성 합성 시스템에서는, 복수의 평가 기준으로 평가한 결과가 1개의 평가치에 의거하여 종합되고, 적정한 평가가 행하여진다.
또한, 이 음성 합성 시스템의 구성은 상술한 것으로 한정되지 않는다.
예를 들면, 파형 데이터나 음편 데이터는 PCM 형식의 데이터일 필요는 없고, 데이터 형식은 임의이다.
또한, 파형 데이터베이스(7)나 음편 데이터베이스(10)는 파형 데이터나 음편 데이터를 반드시 데이터 압축된 상태로 기억하고 있을 필요는 없다. 파형 데이터베이스(7)나 음편 데이터베이스(10)가 파형 데이터나 음편 데이터를 데이터 압축되지 않은 상태로 기억하고 있는 경우, 본체 유닛(M)은 신장부(6)를 구비하고 있을 필요는 없다.
또한, 음편 데이터베이스 작성부(13)는, 도시하지 않은 기록 매체 드라이브 장치에 세트된 기록 매체로부터, 이 기록 매체 드라이브 장치를 통하여, 음편 데이 터베이스(10)에 추가하는 새로운 압축 음편 데이터의 재료가 되는 음편 데이터나 표음문자열을 판독하여도 좋다.
또한, 음편 등록 유닛(R)은, 반드시 수록 음편 데이터 세트 기억부(12)를 구비하고 있을 필요는 없다.
또한, 음편 편집부(8)는, 특정한 음편의 운율을 나타내는 운율 등록 데이터를 미리 기억하고, 정형 메시지에 이 특정한 음편이 포함되어 있는 경우는, 이 운율 등록 데이터가 나타내는 운율을, 운율 예측의 결과로서 취급하도록 하여도 좋다.
또한, 음편 편집부(8)는, 과거의 운율 예측의 결과를 운율 등록 데이터로서 새롭게 기억하도록 하여도 좋다.
또한, 음편 편집부(8)는, 상술한 α 및 β의 값을 구하는 대신에, 화속 변환부(11)로부터 공급된 각각의 피치 성분 데이터에 관해, 예를 들면, 수식 5의 우변에 도시한 값(Rxy(j))을, j의 값을 0 이상 n 미만의 각 정수로 하여, 합계 n개 구하고, 얻어진 Rxy(0)로부터 Rxy(n-1)까지의 n개의 상관계수중의 최대치를 특정하도록 하여도 좋다.
Rxy(j)는, 어떤 음편에 관한 예측 결과 데이터(샘플 총수 n개. 또한, 수식 5 에서의 X(i)는 수식 1에서의 것과 동일하다)와, 이 음편과 독음이 합치하는 음편의 파형을 나타내는 음편 데이터에 관한 피치 성분 데이터(샘플의 총수 n개)를 일정한 방향으로 j개 순환 시프트하여 얻어진 샘플의 열(또한, 수식 5에서 Yj(i)는, 이 샘플의 열의 i번째의 샘플의 값이다)과의 상관계수의 값이다.
또한, 도 3(b)는, Rxy(0) 및 Rxy(j)의 값을 구하기 위해 이용하는 예측 결과 데이터 및 피치 성분 데이터의 값의 한 예를 도시한 그래프이다. 단, Y(p)의 값(단, p는 1 이상 n 이하의 정수)은, 순환 시프트를 행하기 전의 피치 성분 데이터의 p번째의 샘플의 값이다. 따라서, 예를 들면, 음편 데이터의 샘플이 시각이 빠른 순서로 나열하여 있고, 순환 시프트가 하위 방향(즉 시각이 느린 쪽)으로 행하여지는 것으로 하면, j<p의 경우는 Yj(p)=Y(p-j)이고, 한편, 1≤p≤j의 경우는 Yj(p)=Y(n-j+p)이다.
그리고, 음편 편집부(8)는, 상술한 Rxy(j)의 최대치와, 상술한 계수(dt)에 의거하여, 정형 메시지 내의 음편의 독음과 일치하는 음편을 나타내는 음편 데이터중, 수식 6의 우변의 값(평가치)(cost2)이 최대로 되는 것을 선택하면 좋다.
cost2=1/(W3|Rmax|+dt)
(단, W3은 소정의 계수, Rmax는 Rxy(0) 내지 Rxy(n-1)중의 최대치)
또한, 음편 편집부(8)는, 반드시 피치 성분 데이터를 여러가지 순환 시프트한 것에 관해 상술한 상관계수를 구할 필요는 없고, 예를 들면, Rxy(0)의 값을 그대로 상관계수의 최대치로서 취급하도록 하여도 좋다.
또한, 평가치(cost1이나 cost2)는, 계수(dt)의 항을 포함하지 않아도 좋고, 이 경우, 음편 편집부(8)는, 계수(dt)를 구할 필요가 없다.
또는, 음편 편집부(8)는, 계수(dt)의 값을 그대로 평가치로서 이용하여도 좋고, 이 경우, 음편 편집부는, 기울기(α)나, 절편(β)이나, Rxy(j)의 값을 구할 필요가 없다.
또한, 피치 성분 데이터는 음편 데이터가 나타내는 음편의 피치 길이의 시간 변화를 나타내는 데이터라도 좋다. 이 경우, 음편 편집부(8)는, 예측 결과 데이터로서, 음편의 피치 길이의 시간 변화의 예측 결과를 나타내는 데이터를 작성하는 것으로 하고, 이 음편과 독음이 합치하는 음편의 파형을 나타내는 음편 데이터의 피치 길이의 시간 변화를 나타내는 피치 성분 데이터와의 상관을 구하도록 하면 좋다.
또한, 음편 데이터베이스 작성부(13)는, 마이크로폰, 증폭기, 샘플링 회로, A/D(Analog-to-Digita1) 컨버터 및 PCM 인코더 등을 구비하고 있어도 좋다. 이 경우, 음편 데이터베이스 작성부(13)는, 수록 음편 데이터 세트 기억부(12)로부터 음편 데이터를 취득하는 대신에, 자기의 마이크로폰이 집음한 음성을 나타내는 음성 신호를 증폭하고, 샘플링하여 A/D 변환한 후, 샘플링된 음성 신호에 PCM 변조를 시행함에 의해, 음편 데이터를 작성하여도 좋다.
또한, 음편 편집부(8)는, 음향 처리부(4)로부터 반송된 파형 데이터를 화속 변환부(11)에 공급함에 의해, 해당 파형 데이터가 나타내는 파형의 시간 길이를, 발성 스피드 데이터가 나타내는 스피드에 합치시키도록 하여도 좋다.
또한, 음편 편집부(8)는, 예를 들면, 언어 처리부(1)와 함께 프리텍스트 데이터를 취득하고, 이 프리텍스트 데이터가 나타내는 프리텍스트에 포함되는 음편의 파형에 가장 가까운 파형을 나타내는 음편 데이터를, 정형 메시지에 포함되는 음편의 파형에 가장 가까운 파형을 나타내는 음편 데이터를 선택하는 처리와 실질적으로 동일한 처리를 행함에 의해 선택하여, 음성의 합성에 이용하여도 좋다.
이 경우, 음향 처리부(4)는, 음편 편집부(8)가 선택한 음편 데이터가 나타내는 음편에 관해서는, 이 음편의 파형을 나타내는 파형 데이터를 검색부(5)에 색출시키지 않아도 좋다. 또한, 음편 편집부(8)는, 음향 처리부(4)가 합성하지 않아도 좋은 음편을 음향 처리부(4)에 통지하고, 음향 처리부(4)는 이 통지에 응답하여, 이 음편을 구성하는 단위 음성의 파형의 검색을 중지하도록 하면 좋다.
또한, 음편 편집부(8)는, 예를 들면, 음향 처리부(4)와 함께 배신 문자열 데이터를 취득하고, 이 배신 문자열 데이터가 나타내는 배신 문자열에 포함되는 음편의 파형에 가장 가까운 파형을 나타내는 음편 데이터를, 정형 메시지에 포함되는 음편의 파형에 가장 가까운 파형을 나타내는 음편 데이터를 선택하는 처리와 실질적으로 동일한 처리를 행함에 의해 선택하여, 음성의 합성에 이용하여도 좋다. 이 경우, 음향 처리부(4)는, 음편 편집부(8)가 선택한 음편 데이터가 나타내는 음편에 관해서는, 이 음편의 파형을 나타내는 파형 데이터를 검색부(5)에 색출시키지 않아도 좋다.
(제 2의 실시형태)
다음에, 본 발명의 제 2의 실시형태를 설명한다. 본 발명의 제 2의 실시형태 에 관한 음성 합성 시스템의 물리적 구성은, 상술한 제 1의 실시형태의 구성과 실질적으로 동일하다.
단, 제 2의 실시형태의 음성 합성 시스템의 음편 데이터베이스(10)의 디렉토리부(DIR)에는, 예를 들면도 4에 도시한 바와 같이, 개개의 압축 음성 데이터에 관해, 상술한 (A) 내지 (D)의 데이터가 서로 대응지어진 형태로 격납되어 있는 외에, 상술한 (E)의 데이터에 대신하여, 피치 성분 데이터로서, (F) 이 압축 음편 데이터가 나타내는 음편의 선두와 말미의 피치 성분의 주파수를 나타내는 데이터가, 이들 (A) 내지 (D)의 데이터에 대응지어진 형태로 격납되어 있다.
또한, 도 4는 도 2과 마찬가지로, 데이터부(DAT)에 포함되는 데이터로서, 독음이 「사이타마」인 음편의 파형을 나타내는, 데이터량 1410h바이트의 압축 음편 데이터가, 어드레스 001A36A6h를 선두로 하는 논리적 위치에 격납되어 있는 경우를 예시하고 있다. 또한, 상술한 (A) 내지 (D) 및 (F)의 데이터의 집합중 적어도 (A)의 데이터는, 음편 독음 데이터가 나타내는 표음문자에 의거하여 결정된 순위에 따라 소트된 상태로 음편 데이터베이스(10)의 기억 영역에 격납되어 있는 것으로 한다.
그리고, 음편 등록 유닛(R)의 음편 데이터베이스 작성부(13)는, 수록 음편 데이터 세트 기억부(12)로부터, 서로 대응지어져 있는 표음문자 및 음편 데이터를 판독하면, 이 음편 데이터가 나타내는 음성의 발성 스피드와, 선두 및 말미에서의 피치 성분의 주파수를 특정하는 것으로 한다.
그리고, 판독한 음편 데이터를 압축부(14)에 공급하고, 압축 음편 데이터의 반송을 받으면, 이 압축 음편 데이터, 수록 음편 데이터 세트 기억부(12)로부터 판독한 표음문자, 이 압축 음편 데이터의 음편 데이터베이스(10)의 기억 영역 내에서의 선두의 어드레스, 이 압축 음편 데이터의 데이터 길이, 및, 특정한 발성 스피드를 나타내는 스피드 초기치 데이터를, 제 1의 실시형태의 음편 데이터베이스 작성부(13)와 같은 동작을 행함에 의해 음편 데이터베이스(10)의 기억 영역에 기록, 또한, 음성의 선두 및 말미의 피치 성분의 주파수를 특정한 결과를 나타내는 데이터를 생성하여, 피치 성분 데이터로서 음편 데이터베이스(10)의 기억 영역에 기록하는 것으로 한다.
또한, 발성 스피드 및 피치 성분의 주파수의 특정은, 예를 들면, 제 1의 실시형태의 음편 데이터베이스 작성부(13)가 행하는 방법과 실질적으로 동일한 방법에 의해 행하면 좋다.
다음에, 이 음성 합성 시스템의 동작을 설명한다.
이 음성 합성 시스템의 언어 처리부(1)가 프리텍스트 데이터를 외부로부터 취득한 경우, 및, 음향 처리부(4)가 배신 문자열 데이터를 취득한 경우의 동작은, 제 1의 실시형태의 음성 합성 시스템이 행하는 동작과 실질적으로 동일하다. (또한, 언어 처리부(1)가 프리텍스트 데이터를 취득하는 방법이나 음향 처리부(4)가 배신 문자열 데이터를 취득하는 방법은 어느것이나 임의이고, 예를 들면, 어느것이나 제 1의 실시형태의 언어 처리부(1)나 음향 처리부(4)가 행하는 방법과 같은 방법에 의해 프리텍스트 데이터 또는 배신 문자열 데이터를 취득하면 좋다)
다음에, 음편 편집부(8)가, 정형 메시지 데이터 및 발성 스피드 데이터를 취 득하였다고 한다. (또한, 음편 편집부(8)가 정형 메시지 데이터나 발성 스피드 데이터를 취득하는 방법도 임의이고, 예를 들면, 제 1의 실시형태의 음편 편집부(8)가 행하는 방법과 같은 방법으로 정형 메시지 데이터나 발성 스피드 데이터를 취득하면 좋다)
정형 메시지 데이터 및 발성 스피드 데이터가 음편 편집부(8)에 공급되면, 음편 편집부(8)는, 제 1의 실시형태의 음편 편집부(8)와 마찬가지로, 정형 메시지에 포함되는 음편의 독음을 나타내는 표음문자에 합치하는 표음문자가 대응지어져 있는 압축 음편 데이터를 전부 색출하도록, 검색부(9)에 지시한다. 또한, 화속 변환부(11)에 대해서도, 제 1의 실시형태에서의 음편 편집부(8)와 마찬가지로, 화속 변환부(11)에 공급되는 음편 데이터를 변환하여, 해당 음편 데이터가 나타내는 음편의 시간 길이를, 발성 스피드 데이터가 나타내는 스피드에 합치하도록 할 것을 지시한다.
그러면, 검색부(9), 신장부(6) 및 화속 변환부(11)가, 제 1의 실시형태의 검색부(9), 신장부(6) 및 화속 변환부(11)의 동작과 실질적으로 동일한 동작을 행하고, 이 결과, 화속 변환부(11)로부터 음편 편집부(8)에, 음편 데이터, 음편 독음 데이터 및 피치 성분 데이터가 공급된다. 또한, 누락 부분 식별 데이터가 검색부(9)로부터 화속 변환부(11)에 공급된 경우는, 또한 이 누락 부분 식별 데이터도 음편 편집부(8)에 공급된다.
음편 편집부(8)는, 화속 변환부(11)로부터 음편 데이터, 음편 독음 데이터 및 피치 성분 데이터가 공급되면, 이하 설명하는 순서에 따라, 공급된 음편 데이터 중에서, 정형 메시지를 구성하는 음편의 파형으로 간주할 수 있는 파형을 나타내는 음편 데이터를, 음편 1개에 대해 1개씩 선택한다.
구체적으로는, 우선, 음편 편집부(8)는, 화속 변환부(11)로부터 공급된 피치 성분 데이터에 의거하여, 화속 변환부(11)로부터 공급된 각 음편 데이터의 선두 및 말미의 각 시점에서의 피치 성분의 주파수를 특정한다. 그리고, 화속 변환부(11)로부터 공급된 음편 데이터중에서, 정형 메시지 내에서 인접하는 음편끼리의 경계에서의 피치 성분의 주파수의 차의 절대치를 정형 메시지 전체에서 누계한 값이 최소가 되는이라는 조건을 충족시키도록, 음편 데이터를 선택한다.
음편 데이터를 선택하는 조건을, 도 5(a) 내지 (d)를 참조하여 설명한다. 예를 들면, 도 5(a)에 도시한 바와 같은, 「이앞은 오른쪽 커브입니다」라는 독음의 정형 메시지를 나타내는 정형 메시지 데이터가 음편 편집부(8)에 공급된 것으로 하고, 이 정형 메시지가 「이앞은」, 「오른쪽 커브」 및 「입니다」라는 3개의 음편으로 이루어지는 것으로 한다. 그리고, 도 5(b)에 리스트를 도시한 바와 같이, 음편 데이터베이스(10)가, 독음이 「이앞은」인 압축 음편 데이터가 3개(도 5(b)에서 「A1」 「A2」 또는 「A3」로서 나타낸 것), 독음이 「오른쪽 커브」인 압축 음편 데이터가 2개(도 5(b)에서 「B1」 또는 「B2」로서 나타낸 것), 독음이 「입니다」인 압축 음편 데이터가 3개(도 5(b)에서 「C1」 「C2」 또는 「C3」로서 나타낸 것), 각각 색출되고, 신장되어, 음편 데이터로서 음편 편집부(8)에 공급되었다고 한다.
한편, 독음이 「이앞은」인 각 음편 데이터가 나타내는 각 음편의 말미의 피 치 성분의 주파수와 독음이 「오른쪽 커브」인 각 음편 데이터가 나타내는 각 음편의 선두의 피치 성분의 주파수와의 차의 절대치는 도 5(c)에 도시한 바와 같다고 한다.(도 5(c)는, 예를 들면, 음편 데이터(A1)가 나타내는 음편의 말미의 피치 성분의 주파수와 음편 데이터(B1)가 나타내는 음편의 선두의 피치 성분의 주파수와의 차의 절대치는 「123」인 것을 나타내고 있다. 또한, 이 절대치의 단위는, 예를 들면 「헤르츠」이다)
또한, 독음이 「오른쪽 커브」인 각 음편 데이터가 나타내는 각 음편의 말미의 피치 성분의 주파수와 독음이 「입니다」인 각 음편 데이터가 나타내는 각 음편의 선두의 피치 성분의 주파수와의 차의 절대치는 도 5(c)에 도시한 바와 같다고 한다.
이 경우에, 「이앞은 오른쪽 커브입니다」라는 정형 메시지를 소리내어 읽는 음성의 파형을 음편 데이터를 이용하여 생성한 경우, 인접하는 음편끼리의 경계에서의 피치 성분의 주파수의 차의 절대치의 누계가 최소가 되는 조합은, A3, B2 및 C2라는 조합이다. 따라서 이 경우, 음편 편집부(8)는, 도 5(d)에 도시한 바와 같이, 음편 데이터(A3, B2 및 C2)를 선택한다.
이 조건을 충족시키는 음편 데이터를 선택하기 위해, 음편 편집부(8)는, 예를 들면, 정형 메시지 내에서 인접하는 음편끼리의 경계에서의 피치 성분의 주파수의 차의 절대치를 거리로서 정의하고, DP(Dynamic Programming) 매칭의 방법에 의해 음편 데이터를 선택하도록 하면 좋다.
한편, 음편 편집부(8)는, 화속 변환부(11)로부터 누락 부분 식별 데이터도 공급되어 있는 경우에는, 누락 부분 식별 데이터가 나타내는 음편의 독음을 나타내는 표음문자열을 정형 메시지 데이터로부터 추출하여 음향 처리부(4)에 공급하고, 이 음편의 파형을 합성하도록 지시한다.
지시를 받은 음향 처리부(4)는, 음편 편집부(8)로부터 공급된 표음문자열을, 배신 문자열 데이터가 나타내는 표음문자열과 마찬가지로 취급한다. 이 결과, 이 표음문자열에 포함되는 표음문자가 나타내는 음성의 파형을 나타내는 압축 파형 데이터가 검색부(5)에 의해 색출되고, 이 압축 파형 데이터가 신장부(6)에 의해 원래의 파형 데이터로 복원되고, 검색부(5)를 통하여 음향 처리부(4)에 공급된다. 음향 처리부(4)는, 이 파형 데이터를 음편 편집부(8)에 공급한다.
음편 편집부(8)는, 음향 처리부(4)로부터 파형 데이터가 반송되면, 이 파형 데이터와, 화속 변환부(11)로부터 공급된 음편 데이터중 음편 편집부(8)가 선택한 것을, 정형 메시지 데이터가 나타내는 정형 메시지 내에서의 각 음편의 나열에 따른 순서로 서로 결합하여, 합성 음성을 나타내는 데이터로서 출력한다.
또한, 화속 변환부(11)로부터 공급된 데이터에 누락 부분 식별 데이터가 포함되지 않은 경우는, 제 1의 실시형태와 마찬가지로, 음향 처리부(4)에 파형의 합성을 지시하는 일 없이 곧바로, 음편 편집부(8)가 선택한 음편 데이터를, 정형 메시지 데이터가 나타내는 정형 메시지 내에서의 각 음편의 나열에 따른 순서로 서로 결합하여, 합성 음성을 나타내는 데이터로서 출력하면 좋다.
이상 설명한 바와 같이, 이제 2의 실시형태의 음성 합성 시스템에서는, 음편 데이터끼리의 경계에서의 피치 성분의 주파수의 불연속적인 변화의 량의 누계가 정 형 메시지 전체에서 최소로 되도록 음편 데이터가 선택되고, 녹음 편집 방식에 의해 자연스럽게 서로 연결되기 때문에, 합성 음성이 자연스런 것으로 된다. 또한, 이 음성 합성 시스템에서는, 처리가 복잡한 운율 예측은 행하여지지 않기 때문에, 간단한 구성으로 고속의 처리에도 추종할 수 있다.
또한, 이 제 2의 실시형태의 음성 합성 시스템의 구성도, 상술한 것으로 한정되지 않는다.
예를 들면, 피치 성분 데이터는 음편 데이터가 나타내는 책편의 선두 및 말미에서의 피치 길이를 나타내는 데이터라도 좋다. 이 경우, 음편 편집부(8)는, 화속 변환부(11)로부터 공급된 각 음편 데이터의 선두 및 말미에서의 피치 길이를 화속 변환부(11)로부터 공급된 피치 성분 데이터에 의거하여 특정하고, 정형 메시지 내에서 인접한 음편끼리의 경계에서의 피치 길이의 차의 절대치를 정형 메시지 전체에서 누계한 값이 최소가 된다는 조건을 충족시키도록, 음편 데이터를 선택하면 좋다.
또한, 음편 편집부(8)는, 예를 들면, 언어 처리부(1)와 함께 프리텍스트 데이터를 취득하고, 이 프리텍스트 데이터가 나타내는 프리텍스트에 포함되는 음편의 파형으로 간주할 수 있는 파형을 나타내는 음편 데이터를, 정형 메시지에 포함되는 음편의 파형으로 간주할 수 있는 파형을 나타내는 음편 데이터를 추출하는 처리와 실질적으로 동일한 처리를 행함에 의해 추출하여, 음성의 합성에 이용하여도 좋다.
이 경우, 음향 처리부(4)는, 음편 편집부(8)가 추출한 음편 데이터가 나타내는 음편에 관해서는, 이 음편의 파형을 나타내는 파형 데이터를 검색부(5)에 색출 시키지 않아도 좋다. 또한, 음편 편집부(8)는, 음향 처리부(4)가 합성하지 않아도 좋은 음편을 음향 처리부(4)에 통지하고, 음향 처리부(4)는 이 통지에 응답하여, 이 음편을 구성하는 단위 음성의 파형의 검색을 중지하도록 하면 좋다.
또한, 음편 편집부(8)는, 예를 들면, 음향 처리부(4)와 함께 배신 문자열 데이터를 취득하고, 이 배신 문자열 데이터가 나타내는 배신 문자열에 포함되는 음편의 파형으로 간주할 수 있는 파형을 나타내는 음편 데이터를, 정형 메시지에 포함되는 음편의 파형으로 간주할 수 있는 파형을 나타내는 음편 데이터를 추출하는 처리와 실질적으로 동일한 처리를 행함에 의해 추출하여, 음성의 합성에 이용하여도 좋다. 이 경우, 음향 처리부(4)는, 음편 편집부(8)가 추출한 음편 데이터가 나타내는 음편에 관해서는, 이 음편의 파형을 나타내는 파형 데이터를 검색부(5)에 색출시키지 않아도 좋다.
(제 3의 실시형태)
다음에, 본 발명의 제 3의 실시형태를 설명한다. 본 발명의 제 3의 실시형태에 관한 음성 합성 시스템의 물리적 구성은, 상술한 제 1의 실시형태의 구성과 실질적으로 동일하다.
다음에, 이 음성 합성 시스템의 동작을 설명한다.
이 음성 합성 시스템의 언어 처리부(1)가 프리텍스트 데이터를 외부로부터 취득한 경우, 및, 음향 처리부(4)가 배신 문자열 데이터를 취득한 경우의 동작은, 제 1 또는 제 2의 실시형태의 음성 합성 시스템이 행하는 동작과 실질적으로 동일하다. (또한, 언어 처리부(1)가 프리텍스트 데이터를 취득하는 방법이나 음향 처리 부(4)가 배신 문자열 데이터을 취득하는 방법은 모두 임의이고, 예를 들면, 어느것이나 제 1 또는 제 2의 실시형태의 언어 처리부(1)나 음향 처리부(4)가 행하는 방법과 같은 방법에 의해 프리텍스트 데이터 또는 배신 문자열 데이터를 취득하면 좋다)
다음에, 음편 편집부(8)가, 정형 메시지 데이터 및 발성 스피드 데이터를 취득하였다고 한다. 또한, 음편 편집부(8)가 정형 메시지 데이터나 발성 스피드 데이터를 취득하는 방법도 임의이고, 예를 들면, 제 1의 실시형태의 음편 편집부(8)가 행하는 방법과 같은 방법으로 정형 메시지 데이터나 발성 스피드 데이터를 취득하면 좋다. 또는, 예를 들면 이 음성 합성 시스템이 카 네비게이션 시스템 등의 차량 내 시스템의 일부를 이루는 것으로서, 이 차량 내 시스템을 구성하는 다른 장치(예를 들면, 음성 인식을 행하고, 음성 인식의 결과 얻어진 정보에 의거하여 에이전트 처리를 실행하는 장치 등)가, 유저에 대해 발화하는 내용이나 발화 스피드를 결정하고, 결정 결과를 나타내는 데이터를 생성하는 것인 경우, 이 음성 합성 시스템은, 생성된 이 데이터를 수신(취득)하고, 정형 메시지 데이터 및 발성 스피드 데이터로서 취급하도록 하여도 좋다.
정형 메시지 데이터 및 발성 스피드 데이터가 음편 편집부(8)에 공급되면, 음편 편집부(8)는, 제 1의 실시형태에서의 음편 편집부(8)와 마찬가지로, 정형 메시지에 포함되는 음편의 독음을 나타내는 표음문자에 합치하는 표음문자가 대응지어져 있는 압축 음편 데이터를 전부 색출하도록, 검색부(9)에 지시한다. 또한, 화속 변환부(11)에 대해서도, 제 1의 실시형태에서의 음편 편집부(8)와 마찬가지로, 화속 변환부(11)에 공급되는 음편 데이터를 변환하여, 해당 음편 데이터가 나타내는 음편의 시간 길이를, 발성 스피드 데이터가 나타내는 스피드에 합치하도록 할 것을 지시한다.
그러면, 검색부(9), 신장부(6) 및 화속 변환부(11)가, 제 1의 실시형태의 검색부(9), 신장부(6) 및 화속 변환부(11)의 동작과 실질적으로 동일한 동작을 행하고, 이 결과, 화속 변환부(11)로부터 음편 편집부(8)에, 음편 데이터, 음편 독음 데이터, 이 음편 데이터가 나타내는 음편의 발성 스피드를 나타내는 스피드 초기치 데이터 및 피치 성분 데이터가 공급된다. 또한, 누락 부분 식별 데이터가 검색부(9)로부터 화속 변환부(11)에 공급된 경우는, 또한 이 누락 부분 식별 데이터도 음편 편집부(8)에 공급된다.
음편 편집부(8)는, 화속 변환부(11)로부터 음편 데이터, 음편 독음 데이터 및 피치 성분 데이터가 공급되면, 화속 변환부(11)로부터 공급된 각각의 피치 성분 데이터에 관해 상술한 값(α, β)의 세트 및/또는 Rmax를 구하고, 또한, 이 스피드 초기치 데이터와, 음편 편집부(8)에 공급된 정형 메시지 데이터 및 발성 스피드 데이터를 이용하여, 상술한 값(dt)을 구한다.
그리고, 음편 편집부(8)는, 화속 변환부(11)로부터 공급된 각각의 음편 데이터에 관해, 스스로 구한 해당 음편 데이터(이하, 음편 데이터(X)라고 기재한다)에 관한 α, β, Rmax 및 dt의 값과, 정형 메시지 내에서 해당 음편 데이터가 나타내는 음편의 뒤에 인접하는 음편을 나타내는 음편 데이터(이하, 음편 데이터(Y)라고 기재한다)의 피치 성분의 주파수에 의거하여, 수식 7에 도시한 평가치(HXY)를 특정한다.
HXY=(WA·cost_A)+(WB·cost_B)+(WC·cost_C)
(단, WA, WB 및 WC는 어느것이나 소정의 계수이고, WA는 0이 아닌 것으로 한다)
수식 7의 우변에 포함되는 값(cost_A)은, 해당 정형 메시지 내에서 서로 인접하는, 음편 데이터(X)가 나타내는 음편과 음편 데이터(Y)가 나타내는 음편과의 경계에서의 피치 성분의 주파수의 차의 절대치의 역수이다.
또한, 음편 편집부(8)는, cost_A의 값을 특정하기 위해, 화속 변환부(11)로부터 공급된 피치 성분 데이터에 의거하여, 화속 변환부(11)로부터 공급된 각 음편 데이터의 선두 및 말미의 각 시점에서의 피치 성분의 주파수를 특정하도록 하면 좋다.
또, 수식 7의 우변에 포함되는 값(cost_B)은, 음편 데이터(X)에 관해 수식 8에 따라 평가치(cost_B)를 구한 경우의 값이다.
cost_B=1/(WB1|1-a|+WB2|β|+WB3·dt)
(단, WB1, WB2 및 WB3는 소정의 정의 계수)
또한, 수식 7의 우변에 포함되는 값(cost_C)은, 음편 데이터(X)에 관해 수식 9에 따라 평가치(cost_c)를 구한 경우의 값이다.
cost_C=1/(WC1|Rmax|+WC2·dt)
(단, WC1 및 WC2는 소정의 계수)
또는, 음편 편집부(8)는, 수식 7 내지 수식 9에 대신하여, 수식 10 및 수식 11에 따라 평가치(HXY)를 특정하도록 하여도 좋다. 단, 수식 10에 포함되는 cost_B 및 cost_C에 관해서는, 상술한 계수(WB3 및 WC3)의 값은 어느것이나 0이라고 한다. 또한, 수식 8 및 수식 9에서의 (WB3·dt) 및 (WC2·dt)의 항을 구비하지 않아도 좋다.
HXY=(WA·cost_A)+(WB·cost_B)+(WC·cost_C)+(WD·cost_D)
(단, WD는 0이 아닌 소정의 계수)
cost_D=1/(Wd1·dt)
(단, Wd1은 0이 아닌 소정의 계수)
그리고, 음편 편집부(8)는, 화속 변환부(11)로부터 공급된 각 음편 데이터중에서, 음편 편집부(8)에 공급된 정형 메시지 데이터가 나타내는 정형 메시지를 구성하는 음편 1개에 대해 1개씩의 음편 데이터를 선택함에 의해 얻어지는 각 조합중, 조합에 속하는 각 음편 데이터의 평가치(HXY)의 총합이 최대로 되는 것을, 정형 메시지를 소리내어 읽는 음성을 합성하기 위한 최적의 음편 데이터의 조합으로서 선택한다.
즉, 예를 들면 도 5에 도시한 바와 같이, 정형 메시지 데이터가 나타내는 정형 메시지가 음편(A, B 및 C)으로 구성되고, 음편(A)을 나타내는 음편 데이터의 후보로서 음편 데이터(A1, A2 및 A3)가 색출되고, 음편(B)을 나타내는 음편 데이터의 후보로서 음편 데이터(B1 및 B2)가 색출되고, 음편(C)을 나타내는 음편 데이터의 후보로서 음편 데이터(C1, C2 및 C3)가 색출된 경우, 음편 데이터(A1, A2 및 A3)중에서 1개, 음편 데이터(B1 및 B2)중에서 1개, 음편 데이터(C1, C2 및 C3)중에서 1개, 합계 3개 선택함에 의해 얻어지는 조합 합계 18가지 중, 조합에 속한 각 음편 데이터의 평가치(HXY)의 총합이 최대로 되는 것을, 정형 메시지를 소리내어 읽는 음성을 합성하기 위한 최적의 음편 데이터의 조합으로서 선택한다.
단, 총합을 구하기 위해 이용되는 평가치(HXY)로서는, 조합 내에서의 음편의 접속 관계를 올바르게 반영한 것이 선택되는 것으로 한다. 즉, 예를 들면 조합 내에, 음편(p)을 나타내는 음편 데이터(P) 및 음편(q)을 나타내는 음편 데이터(Q)가 포함되어 있고, 정형 메시지 내에서는 음편(p)이 음편(q)에 선행하는 형태로 서로 인접한다는 경우, 음편 데이터(P)의 평가치로서는, 음편(p)가 음편(q)에 선행하는 형태로 서로 인접하는 경우의 평가치(HPQ)가 이용되는 것으로 한다.
또한, 정형 메시지의 말미의 음편(예를 들면, 도 5을 참조하여 전술한 예로 말하면, 음편(C1, C2 및 C3)에 관해서는, 후속하는 음편이 존재하지 않기 때문에, cost_A의 값을 정할 수가 없다. 이 때문에, 이들 말미의 음편을 나타내는 음편 데이터의 평가치(HXY)를 산정함에 있어서, 음편 편집부(8)는, (WA·cost_A)의 값을 0 인 것으로 하여 취급하고, 한편, 계수(WB, WC 및 WD)의 값은, 각각, 다른 음편 데이터의 평가치(HXY)를 산정하는 경우와는 다른 소정의 값인 것으로 하여 취급한다.
또한, 음편 편집부(8)는, 수식 7 또는 수식 11을 이용하여, 음편 데이터(X)에 관해, 해당 음편 데이터(X)가 나타내는 음편의 앞에 인접하는 음편 데이터(Y)와의 관계를 나타내는 평가치를 포함하는 것으로 하여 평가치(HXY)를 특정하여도 좋다. 이 경우는, 정형 메시지의 선두의 음편에 관해, 선행하는 음편이 존재하지 않기 때문에, cost_A의 값을 정할 수 없게 된다. 이 때문에, 이들 선두의 음편을 나타내는 음편 데이터의 평가치(HXY)를 산정함에 있어서, 음편 편집부(8)는, (WA·cost_A)의 값을 0인 것으로서 취급하고, 한편, 계수(WB, WC 및 WD)의 값은, 각각, 다른 음편 데이터의 평가치(HXY)를 산정하는 경우와는 다른 소정의 값인 것으로서 취급하도록 하면 좋다.
한편, 음편 편집부(8)는, 화속 변환부(11)로부터 누락 부분 식별 데이터도 공급되고 있는 경우에는, 누락 부분 식별 데이터가 나타내는 음편의 독음을 나타내는 표음문자열을 정형 메시지 데이터로부터 추출하여 음향 처리부(4)에 공급하고, 이 음편의 파형을 합성하도록 지시한다.
지시를 받은 음향 처리부(4)는, 음편 편집부(8)로부터 공급된 표음문자열을, 배신 문자열 데이터가 나타내는 표음문자열과 마찬가지로 취급한다. 이 결과, 이 표음문자열에 포함되는 표음문자가 나타내는 음성의 파형을 나타내는 압축 파형 데 이터가 검색부(5)에 의해 색출되고, 이 압축 파형 데이터가 신장부(6)에 의해 원래의 파형 데이터로 복원되고, 검색부(5)를 통하여 음향 처리부(4)에 공급된다. 음향 처리부(4)는, 이 파형 데이터를 음편 편집부(8)에 공급한다.
음편 편집부(8)는, 음향 처리부(4)로부터 파형 데이터가 반송되면, 이 파형 데이터와, 화속 변환부(11)로부터 공급된 음편 데이터중, 평가치(HXY)의 총합이 최대로 되는 조합으로서 음편 편집부(8)가 선택한 조합에 속하는 것을, 정형 메시지 데이터가 나타내는 정형 메시지 내에서의 각 음편의 나열에 따른 순서로 서로 결합하여, 합성 음성을 나타내는 데이터로서 출력한다.
또한, 화속 변환부(11)로부터 공급된 데이터에 누락 부분 식별 데이터가 포함되지 않은 경우는, 제 1의 실시형태와 마찬가지로 음향 처리부(4)에 파형의 합성을 지시하는 일 없이 곧바로, 음편 편집부(8)가 선택한 음편 데이터를, 정형 메시지 데이터가 나타내는 정형 메시지 내에서의 각 음편의 나열에 따른 순서로 서로 결합하여, 합성 음성을 나타내는 데이터로서 출력하면 좋다.
이상 설명한 바와 같이, 이 제 3의 실시형태의 음성 합성 시스템에서도, 음편 데이터가 녹음 편집 방식에 의해 자연스럽게 서로 연결되고, 정형 메시지를 소리내어 읽는 음성이 합성된다. 음편 데이터베이스(10)의 기억 용량은, 음소마다 파형을 기억하는 경우에 비하여 작게 할 수 있고, 또한, 고속으로 검색할 수 있다. 이 때문에, 이 음성 합성 시스템은 소형 경량으로 구성할 수 있고, 또한 고속의 처리에도 추종할 수 있다.
그리고, 제 3의 실시형태의 음성 합성 시스템에 의하면, 정형 메시지를 소리내어 읽는 음성을 합성하기 위해 선택된 음편 데이터의 조합의 적절함을 평가하기 위한 다양한 평가 기준(예를 들면, 음편의 파형의 예측 결과와 음편 데이터와의 상관을 1차 회귀시킨 경우의 기울기나 절편에 의한 평가나, 음편의 시간차에 의한 평가나, 음편 데이터끼리의 경계에서의 피치 성분의 주파수의 불연속적인 변화의 량의 누계 등)이, 1개의 평가치에 영향을 미치는 형태로 종합적으로 반영되고, 이 결과, 가장 자연스러운 합성 음성을 합성하기 위해 선택하여야 할 최적의 음편 데이터의 조합이 적정하게 결정된다.
또한, 이 제 3의 실시형태의 음성 합성 시스템의 구성도, 상술한 것으로 한정되지 않는다.
예를 들면, 최적의 음편 데이터의 조합을 선택하기 위해 음편 편집부(8)가 이용하는 평가치는 수식 7 내지 13에 도시한 것으로 한정되지 않고, 음편 데이터가 나타내는 음편을 서로 결합하여 얻어지는 음성이, 사람이 발하는 음성에 어느 정도 유사한지 또는 상위한지에 관한 평가를 나타내는 임의의 값이라도 좋다.
또한, 평가치를 나타내는 수식(평가식)에 포함되는 변수 내지 정수도 반드시 수식 7 내지 13에 포함되어 있는 것으로 한정되지 않고, 평가식으로서는, 음편 데이터가 나타내는 음편의 특징을 나타내는 임의의 파라미터나, 또는 해당 음편을 서로 결합하여 얻어지는 음성의 특징을 나타내는 임의의 파라미터나, 또는 해당 음성을 사람이 발한 경우에 해당 음성에 갖추어진다고 예측되는 특징을 나타내는 임의의 파라미터를 포함한 수식이 이용되어도 좋다.
또한, 최적의 음편 데이터의 조합을 선택하기 위한 기준은 반드시 평가치의 형태로 표현 가능한 것일 필요는 없고, 음편 데이터가 나타내는 음편을 서로 결합하여 얻어지는 음성이 사람이 발하는 음성에 어느 정도 유사 또는 상위한가에 관한 평가에 의거하여 음편 데이터가 최적의 조합을 특정하는데 이르는 기준인 한 임의이다.
또한, 음편 편집부(8)는, 예를 들면, 언어 처리부(1)와 함께 프리텍스트 데이터를 취득하고, 이 프리텍스트 데이터가 나타내는 프리텍스트에 포함되는 음편의 파형으로 간주할 수 있는 파형을 나타내는 음편 데이터를, 정형 메시지에 포함되는 음편의 파형으로 간주할 수 있는 파형을 나타내는 음편 데이터를 추출하는 처리와 실질적으로 동일한 처리를 행함에 의해 추출하여, 음성의 합성에 이용하여도 좋다. 이 경우, 음향 처리부(4)는, 음편 편집부(8)가 추출한 음편 데이터가 나타내는 음편에 관해서는, 이 음편의 파형을 나타내는 파형 데이터를 검색부(5)에 색출시키지 않아도 좋다. 또한, 음편 편집부(8)는, 음향 처리부(4)가 합성하지 않아도 좋은 음편을 음향 처리부(4)에 통지하고, 음향 처리부(4)는 이 통지에 응답하여, 이 음편을 구성하는 단위 음성의 파형의 검색을 중지하도록 하면 좋다.
또한, 음편 편집부(8)는, 예를 들면, 음향 처리부(4)와 함께 배신 문자열 데이터를 취득하고, 이 배신 문자열 데이터가 나타내는 배신 문자열에 포함되는 음편의 파형으로 간주할 수 있는 파형을 나타내는 음편 데이터를, 정형 메시지에 포함되는 음편의 파형으로 간주할 수 있는 파형을 나타내는 음편 데이터를 추출하는 처리와 실질적으로 동일한 처리를 행함에 의해 추출하여, 음성의 합성에 이용하여도 좋다. 이 경우, 음향 처리부(4)는, 음편 편집부(8)가 추출한 음편 데이터가 나타내는 음편에 관해서는, 이 음편의 파형을 나타내는 파형 데이터를 검색부(5)에 색출시키지 않아도 좋다.
이상, 본 발명의 실시형태를 설명하였지만, 본 발명에 관한 음성 데이터 선택 장치는, 전용의 시스템에 의하지 않고, 통상의 컴퓨터 시스템을 이용하여 실현 가능하다.
예를 들면, 퍼스널 컴퓨터에 상술한 제 1의 실시형태의 언어 처리부(1), 일반 단어 사전(2), 유져 단어 사전(3), 음향 처리부(4), 검색부(5), 신장부(6), 파형 데이터베이스(7), 음편 편집부(8), 검색부(9), 음편 데이터베이스(10) 및 화속 변환부(11)의 동작을 실행시키기 위한 프로그램을 격납한 매체(CD-ROM, MO, 플로피(등록상표)디스크 등)로부터 해당 프로그램을 인스톨함에 의해, 해당 퍼스널 컴퓨터에, 상술한 제 1의 실시형태의 본체 유닛(M)의 기능을 행하게 할 수 있다.
또한, 퍼스널 컴퓨터에, 상술한 제 1의 실시형태의 수록 음편 데이터 세트 기억부(12), 음편 데이터베이스 작성부(13) 및 압축부(14)의 동작을 실행시키기 위한 프로그햄을 격납한 매체로부터 해당 프로그램을 인스톨함에 의해, 해당 퍼스널 컴퓨터에, 상술한 제 1의 실시형태의 음편 등록 유닛(R)의 기능을 행하게 할 수 있다.
그리고, 이들의 프로그램을 실행하고, 제 1의 실시형태의 본체 유닛(M)이나 음편 등록 유닛(R)으로서 기능하는 퍼스널 컴퓨터가, 도 1의 음성 합성 시스템의 동작에 상당하는 처리로서, 도 6 내지 도 8에 도시한 처리를 행하는 것으로 한다.
도 6은 이 퍼스널 컴퓨터가 프리텍스트 데이터를 취득한 경우의 처리를 도시한 플로우 차트이다.
도 7은 이 퍼스널 컴퓨터가 배신 문자열 데이터를 취득한 경우의 처리를 도시한 플로우 차트이다.
도 8은 이 퍼스널 컴퓨터가 정형 메시지 데이터 및 발성 스피드 데이터를 취득한 경우의 처리를 도시한 플로우 차트이다.
즉, 우선, 이 퍼스널 컴퓨터가, 외부로부터, 상술한 프리텍스트 데이터를 취득하면(도 6, 스텝 S101), 이 프리텍스트 데이터가 나타내는 프리텍스트에 포함되는 각각의 표의문자에 관해, 그 독음을 나타내는 표음문자를, 일반 단어 사전(2)이나 유져 단어 사전(3)을 검색함에 의해 특정하고, 이 표의문자를, 특정한 표음문자로 치환한다(스텝 S102). 또한, 이 퍼스널 컴퓨터가 프리텍스트 데이터를 취득하는 방법은 임의이다.
그리고, 이 퍼스널 컴퓨터는, 프리텍스트 내의 표의문자를 전부 표음문자로 치환한 결과를 나타내는 표음문자열이 얻어지면, 이 표음문자열에 포함되는 각각의 표음문자에 관해, 해당 표음문자가 나타내는 단위 음성의 파형을 파형 데이터베이스(7)로부터 검색하고, 표음문자열에 포함되는 각각의 표음문자가 나타내는 단위 음성의 파형을 나타내는 압축 파형 데이터를 색출한다(스텝 S103).
다음에, 이 퍼스널 컴퓨터는, 색출된 압축 파형 데이터를, 압축되기 전의 파형 데이터로 복원하고(스텝 S104), 복원된 파형 데이터를, 표음문자열 내에서의 각 표음문자의 나열에 따른 순서로 서로 결합하고, 합성 음성 데이터로서 출력한다(스 텝S105). 또한, 이 퍼스널 컴퓨터가 합성 음성 데이터를 출력하는 방법은 임의이다.
또한, 이 퍼스널 컴퓨터가, 외부로부터, 상술한 배신 문자열 데이터를 임의의 방법으로 취득하면(도 7, 스텝 S201), 이 배신 문자열 데이터가 나타내는 표음문자열에 포함되는 각각의 표음문자에 관해, 해당 표음문자가 나타내는 단위 음성의 파형을 파형 데이터베이스(7)로부터 검색하고, 표음문자열에 포함되는 각각의 표음문자가 나타내는 단위 음성의 파형을 나타내는 압축 파형 데이터를 색출한다(스텝 S202).
다음에, 이 퍼스널 컴퓨터는, 색출된 압축 파형 데이터를, 압축되기 전의 파형 데이터로 복원하고(스텝 S203), 복원된 파형 데이터를, 표음문자열 내에서의 각 표음문자의 나열에 따른 순서로 서로 결합하여, 합성 음성 데이터로서 스텝 S105의 처리와 같은 처리에 의해 출력한다(스텝 S204).
한편, 이 퍼스널 컴퓨터가, 외부로부터, 상술한 정형 메시지 데이터 및 발성 스피드 데이터를 임의의 방법에 의해 취득하면(도 8, 스텝 S301), 우선, 이 정형 메시지 데이터가 나타내는 정형 메시지에 포함되는 음편의 독음을 나타내는 표음문자에 합치하는 표음문자가 대응지어져 있는 압축 음편 데이터를 전부 색출한다(스텝 S302).
또한, 스텝 S302에서는, 해당하는 압축 음편 데이터에 대응지어져 있는 상술한 음편 독음 데이터, 스피드 초기치 데이터 및 피치 성분 데이터도 색출한다. 또한, 1개의 음편에 대해 복수의 압축 음편 데이터가 해당하는 경우는, 해당하는 압 축 음편 데이터 전부를 색출한다. 한편, 압축 음편 데이터를 색출하지 못한 음편이 있은 경우는, 상술한 누락 부분 식별 데이터를 생성한다.
다음에, 이 퍼스널 컴퓨터는, 색출된 압축 음편 데이터를, 압축되기 전의 음편 데이터로 복원한다(스텝 S303). 그리고, 복원된 음편 데이터를, 상술한 음편 편집부(8)가 행하는 처리와 같은 처리에 의해 변환하여, 해당 음편 데이터가 나타내는 음편의 시간 길이를, 발성 스피드 데이터가 나타내는 스피드에 합치시킨다(스텝 S304). 또한, 발성 스피드 데이터가 공급되지 않은 경우는, 복원된 음편 데이터를 변환하지 않아도 좋다.
다음에, 이 퍼스널 컴퓨터는, 음편의 시간 길이가 변환된 음편 데이터중에서, 정형 메시지를 구성하는 음편의 파형에 가장 가까운 파형을 나타내는 음편 데이터를, 상술한 음편 편집부(8)가 행하는 처리와 같은 처리를 행함에 의해, 음편 1개에 대해 1개씩 선택한다(스텝 S305 내지 S308).
즉, 이 퍼스널 컴퓨터는, 정형 메시지 데이터가 나타내는 정형 메시지에 운율 예측의 방법에 의거한 해석을 가함에 의해, 이 정형 메시지의 운율을 예측한다(스텝 S305). 그리고, 정형 메시지 내의 각각의 음편에 관해, 이 음편의 피치 성분의 주파수의 시간 변화의 예측 결과와, 이 음편과 독음이 합치하는 음편의 파형을 나타내는 음편 데이터의 피치 성분의 주파수의 시간 변화를 나타내는 피치 성분 데이터와의 상관을 구한다(스텝 S306). 보다 구체적으로는, 색출된 각각의 피치 성분 데이터에 관해, 예를 들면, 상술한 기울기(α) 및 절편(β)의 값을 구한다.
한편으로, 이 퍼스널 컴퓨터는, 색출된 스피드 초기치 데이터와, 외부로부터 취득한 정형 메시지 데이터 및 발성 스피드 데이터를 이용하여, 상술한 값(dt)을 구한다(스텝 S307).
그리고, 이 퍼스널 컴퓨터는, 스텝 S306에서 구한 α, β의 값, 및, 스텝 S307에서 구한 dt의 값에 의거하여, 정형 메시지 내의 음편의 독음과 일치하는 음편을 나타내는 음편 데이터중, 상술한 평가치(cost1)가 최대로 된 것을 선택한다(스텝 S308).
또한, 이 퍼스널 컴퓨터는, 스텝 S306에서, 상술한 α 및 β의 값을 구하는 대신에, 상술한 Rxy(j)의 최대치를 구하도록 하여도 좋다. 이 경우는, 스텝 S308에서, Rxy(j)의 최대치와, 스텝 S307에서 구한 계수(dt)에 의거하여, 정형 메시지 내의 음편의 독음과 일치하는 음편을 나타내는 음편 데이터중, 상술한 평가치(cost2)가 최대로 되는 것을 선택하면 좋다.
한편, 이 퍼스널 컴퓨터는, 누락 부분 식별 데이터를 생성한 경우, 누락 부분 식별 데이터가 나타내는 음편의 독음을 나타내는 표음문자열을 정형 메시지 데이터로부터 추출하고, 이 표음문자열에 관해, 음소마다, 배신 문자열 데이터가 나타내는 표음문자열과 마찬가지로 취급하여 상술한 스텝 S202 내지 S203의 처리를 행함에 의해, 이 표음문자열 내의 각 표음문자가 나타내는 음성의 파형을 나타내는 파형 데이터를 복원한다(스텝 S309).
그리고, 이 퍼스널 컴퓨터는, 복원한 파형 데이터와, 스텝 S308에서 선택한 음편 데이터를, 정형 메시지 데이터가 나타내는 정형 메시지 내에서의 각 음편의 나열에 따른 순서로 서로 결합하여, 합성 음성을 나타내는 데이터로서 출력한다(스 텝 S310).
또한, 퍼스널 컴퓨터에 상술한 제 2의 실시형태의 언어 처리부(1), 일반 단어 사전(2), 유져 단어 사전(3), 음향 처리부(4), 검색부(5), 신장부(6), 파형 데이터베이스(7), 음편 편집부(8), 검색부(9), 음편 데이터베이스(10) 및 화속 변환부(11)의 동작을 실행시키기 위한 프로그램을 격납한 매체로부터 해당 프로그램을 인스톨함에 의해, 해당 퍼스널 컴퓨터에, 상술한 제 2의 실시형태의 본체 유닛(M)의 기능을 행하게 할 수 있다.
또한, 퍼스널 컴퓨터에 상술한 제 2의 실시형태의 수록 음편 데이터 세트 기억부(12), 음편 데이터베이스 작성부(13) 및 압축부(14)의 동작을 실행시키기 위한 프로그램을 격납한 매체로부터 해당 프로그램을 인스톨함에 의해, 해당 퍼스널 컴퓨터에, 상술한 제 2의 실시형태의 음편 등록 유닛(R)의 기능을 행하게 할 수 있다.
그리고, 이들의 프로그램을 실행하고, 제 2의 실시형태의 본체 유닛(M)이나 음편 등록 유닛(R)으로서 기능하는 퍼스널 컴퓨터가, 도 1의 음성 합성 시스템의 동작에 상당하는 처리로서, 제 6도 및 도 7에 도시한 상술한 처리를 행하고, 또한, 도 9에 도시한 처리를 행하는 것으로 한다.
도 9는 이 퍼스널 컴퓨터가 정형 메시지 데이터 및 발성 스피드 데이터를 취득한 경우의 처리를 도시한 플로우 차트이다.
즉, 이 퍼스널 컴퓨터가, 외부로부터, 상술한 정형 메시지 데이터 및 발성 스피드 데이터를 임의의 방법에 의해 취득하면(도 9, 스텝 S401), 우선, 상술한 스 텝 S302의 처리와 마찬가지로, 이 정형 메시지 데이터가 나타내는 정형 메시지에 포함되는 음편의 독음을 나타내는 표음문자에 합치하는 표음문자가 대응지어져 있는 압축 음편 데이터와, 해당하는 압축 음편 데이터에 대응지어져 있는 상술한 음편 독음 데이터, 스피드 초기치 데이터 및 피치 성분 데이터를, 전부 색출한다(스텝 S402). 또한, 스텝 S402에서도, 1개의 음편에 관해 복수의 압축 음편 데이터가 해당하는 경우는 해당하는 압축 음편 데이터 전부를 색출하고, 한편으로 압축 음편 데이터를 색출하지 못한 음편이 있은 경우는, 상술한 누락 부분 식별 데이터를 생성한다.
다음에, 이 퍼스널 컴퓨터는, 색출된 압축 음편 데이터를, 압축되기 전의 음편 데이터로 복원하고(스텝 S403), 복원된 음편 데이터를, 상술한 음편 편집부(8)가 행하는 처리와 같은 처리에 의해 변환하여, 해당 음편 데이터가 나타내는 음편의 시간 길이를, 발성 스피드 데이터가 나타내는 스피드에 합치시킨다(스텝 S404). 또한, 발성 스피드 데이터가 공급되지 않은 경우는, 복원된 음편 데이터를 변환하지않아도 좋다.
다음에, 이 퍼스널 컴퓨터는, 음편의 시간 길이가 변환된 음편 데이터중에서, 정형 메시지를 구성하는 음편의 파형으로 간주할 수 있는 파형을 나타내는 음편 데이터를, 상술한 제 2의 실시형태의 음편 편집부(8)가 행하는 처리와 같은 처리를 행함에 의해, 음편 1개에 대해 1개씩 선택한다(스텝 S405 내지 S406).
구체적으로는, 우선, 이 퍼스널 컴퓨터는, 음편의 시간 길이가 변환된 각 음편 데이터의 선두 및 말미의 각 시점에서의 피치 성분의 주파수를, 색출된 피치 성 분 데이터에 의거하여 특정한다(스텝 S405). 그리고, 이들의 음편 데이터중에서, 정형 메시지 내에서 인접하는 음편끼리의 경계에서의 피치 성분의 주파수의 차의 절대치를 정형 메시지 전체에서 누계한 값이 최소가 된다는 조건을 충족시키도록, 음편 데이터를 선택한다(스텝 S406). 이 조건을 충족시키는 음편 데이터를 선택하기 위해, 이 퍼스널 컴퓨터는, 예를 들면, 정형 메시지 내에서 인접하는 음편끼리의 경계에서의 피치 성분의 주파수의 차의 절대치를 거리로서 정의하고, DP 매칭의 방법에 의해 음편 데이터를 선택하도록 하면 좋다.
한편, 이 퍼스널 컴퓨터는, 누락 부분 식별 데이터를 생성한 경우, 누락 부분 식별 데이터가 나타내는 음편의 독음을 나타내는 표음문자열을 정형 메시지 데이터로부터 추출하고, 이 표음문자열에 관해, 음소마다, 배신 문자열 데이터가 나타내는 표음문자열과 마찬가지로 취급하여 상술한 스텝 S202 내지 S203의 처리를 행함에 의해, 이 표음문자열 내의 각 표음문자가 나타내는 음성의 파형을 나타내는 파형 데이터를 복원한다(스텝 S407).
그리고, 이 퍼스널 컴퓨터는, 복원한 파형 데이터와, 스텝 S406에서 선택한 음편 데이터를, 정형 메시지 데이터가 나타내는 정형 메시지 내에서의 각 음편의 나열에 따른 순서로 서로 결합하여, 합성 음성을 나타내는 데이터로서 출력한다(스텝 S408).
또한, 퍼스널 컴퓨터에 상술한 제 3의 실시형태의 언어 처리부(1), 일반 단어 사전(2), 유져 단어 사전(3), 음향 처리부(4), 검색부(5), 신장부(6), 파형 데이터베이스(7), 음편 편집부(8), 검색부(9), 음편 데이터베이스(10) 및 화속 변환 부(11)의 동작을 실행시키기 위한 프로그램을 격납한 매체로부터 해당 프로그램을 인스톨함에 의해, 해당 퍼스널 컴퓨터에, 상술한 제 3의 실시형태의 본체 유닛(M)의 기능을 행하게 할 수 있다.
또한, 퍼스널 컴퓨터에 상술한 제 3의 실시형태의 수록 음편 데이터 세트 기억부(12), 음편 데이터베이스 작성부(13) 및 압축부(14)의 동작을 실행시키기 위한 프로그램을 격납한 매체로부터 해당 프로그램을 인스톨함에 의해, 해당 퍼스널 컴퓨터에, 상술한 제 3의 실시형태의 음편 등록 유닛(R)의 기능을 행하게 할 수 있다.
그리고, 이들의 프로그램을 실행하고, 제 3의 실시형태의 본체 유닛(M)이나 음편 등록 유닛(R)으로서 기능하는 퍼스널 컴퓨터가, 도 1의 음성 합성 시스템의 동작에 상당하는 처리로서, 제 6도 및 도 7에 도시한 상술한 처리를 행하고, 또한, 도 10에 도시한 처리를 행하는 것으로 한다.,
도 10은 이 퍼스널 컴퓨터가 정형 메시지 데이터 및 발성 스피드 데이터를 취득한 경우의 처리를 도시한 플로우 차트이다.
즉, 이 퍼스널 컴퓨터가, 외부로부터, 상술한 정형 메시지 데이터 및 발성 스피드 데이터를 임의의 방법에 의해 취득하면(도 10, 스텝 S501), 우선, 상술한 스텝 S302의 처리와 마찬가지로, 이 정형 메시지 데이터가 나타내는 정형 메시지에 포함되는 음편의 독음을 나타내는 표음문자에 합치하는 표음문자가 대응지어져 있는 압축 음편 데이터와, 해당하는 압축 음편 데이터에 대응지어져 있는 상술한 음편 독음 데이터, 스피드 초기치 데이터 및 피치 성분 데이터를, 전부 색출한다(스 텝 S502). 또한, 스텝 S502에서도, 1개의 음편에 대해 복수의 압축 음편 데이터가 해당하는 경우는 해당하는 압축 음편 데이터 전부를 색출하고, 한편으로 압축 음편 데이터를 색출하지 못한 음편이 있은 경우는, 상술한 누락 부분 식별 데이터를 생성한다.
다음에, 이 퍼스널 컴퓨터는, 색출된 압축 음편 데이터를, 압축되기 전의 음편 데이터로 복원하고(스텝 S503), 복원된 음편 데이터를, 상술한 음편 편집부(8)가 행하는 처리와 같은 처리에 의해 변환하고, 해당 음편 데이터가 나타내는 음편의 시간 길이를, 발성 스피드 데이터가 나타내는 스피드에 합치시킨다(스텝 S504). 또한, 발성 스피드 데이터가 공급되지 않은 경우는, 복원된 음편 데이터를 변환하지않아도 좋다.
다음에, 이 퍼스널 컴퓨터는, 음편의 시간 길이가 변환된 음편 데이터중에서, 정형 메시지를 소리내어 읽는 음성을 합성하기 위한 최적의 음편 데이터의 조합을, 상술한 제 3의 실시형태의 음편 편집부(8)가 행하는 처리와 같은 처리를 행함에 의해 선택한다(스텝 S505 내지 S507).
즉, 우선, 이 퍼스널 컴퓨터는, 스텝 S502에서 색출된 각각의 피치 성분 데이터에 관해 상술한 값(α, β)의 세트 및/또는 Rmax를 구하고, 또한, 이 스피드 초기치 데이터와, 스텝 S501에서 취득한 정형 메시지 데이터 및 발성 스피드 데이터를 이용하여, 상술한 값(dt)을 구한다(스텝 S505).
다음에, 이 퍼스널 컴퓨터는, 스텝 S504에서 변환된 각각의 음편 데이터에 관해, 스텝 S505에서 구한 α, β, Rmax 및 dt의 값과, 정형 메시지 내에서 해당 음편 데이터가 나타내는 음편의 뒤에 인접하는 음편을 나타내는 음편 데이터의 피치 성분의 주파수에 의거하여, 상술한 평가치(HXY)를 특정한다(스텝 S506).
그리고, 이 퍼스널 컴퓨터는, 스텝 S504에서 변환된 각 음편 데이터중에서, 스텝 S501에서 취득한 정형 메시지 데이터가 나타내는 정형 메시지를 구성하는 음편 1개에 대해 1개씩의 음편 데이터를 선택함에 의해 얻어지는 각 조합중, 조합에 속하는 각 음편 데이터의 평가치(HXY)의 총합이 최대로 되는 것을, 정형 메시지를 소리내어 읽는 음성을 합성하기 위한 최적의 음편 데이터의 조합으로서 선택한다(스텝 S507). 단, 총합을 구하기 위해 이용되는 평가치(HXY)로서는, 조합 내에서의 음편의 접속 관계를 올바르게 반영한 것이 선택된 것으로 한다.
한편, 이 퍼스널 컴퓨터는, 누락 부분 식별 데이터를 생성한 경우, 누락 부분 식별 데이터가 나타내는 음편의 독음을 나타내는 표음문자열을 정형 메시지 데이터로부터 추출하고, 이 표음문자열에 관해, 음소마다, 배신 문자열 데이터가 나타내는 표음문자열과 마찬가지로 취급하여 상술한 스텝 S202 내지 S203의 처리를 행함에 의해, 이 표음문자열 내의 각 표음문자가 나타내는 음성의 파형을 나타내는 파형 데이터를 복원한다(스텝 S508).
그리고, 이 퍼스널 컴퓨터는, 복원한 파형 데이터와, 스텝 S507에서 선택한 조합에 속하는 음편 데이터를, 정형 메시지 데이터가 나타내는 정형 메시지 내에서의 각 음편의 나열에 따른 순서로 서로 결합하여, 합성 음성을 나타내는 데이터로서 출력한다(스텝 S509).
또한, 퍼스널 컴퓨터에 본체 유닛(M)이나 음편 등록 유닛(R)의 기능을 행하게 한 프로그램은, 예를 들면, 통신 회선의 게시판(BBS)에 업로드하고, 이것을 통신 회선을 통하여 배신하여도 좋고, 또한, 이들의 프로그램을 나타내는 신호에 의해 반송파를 변조하고, 얻어진 변조파를 전송하고, 이 변조파를 수신한 장치가 변조파를 복조해 이들의 프로그램을 복원하도록 하여도 좋다.
그리고, 이들의 프로그램을 기동하고, OS의 제어하에, 다른 어플리케이션 프로그램과 마찬가지로 실행함에 의해, 상술한 처리를 실행할 수 있다.
또한, OS가 처리의 일부를 분담하는 경우, 또는, OS가 본원 발명의 하나의 구성 요소의 일부를 구성하는 경우에는, 기록 매체에는, 그 부분을 제외한 프로그램을 격납하여도 좋다. 이 경우도, 본 발명에서는, 그 기록 매체에는, 컴퓨터가 실행하는 각 기능 또는 스텝을 실행하기 위한 프로그램이 격납되어 있는 것으로 한다.