KR920009961B1 - 무제한 단어 한국어 합성 방법 및 회로 - Google Patents

무제한 단어 한국어 합성 방법 및 회로 Download PDF

Info

Publication number
KR920009961B1
KR920009961B1 KR1019900001876A KR900001876A KR920009961B1 KR 920009961 B1 KR920009961 B1 KR 920009961B1 KR 1019900001876 A KR1019900001876 A KR 1019900001876A KR 900001876 A KR900001876 A KR 900001876A KR 920009961 B1 KR920009961 B1 KR 920009961B1
Authority
KR
South Korea
Prior art keywords
data
synthesis
sound
syllable
syllables
Prior art date
Application number
KR1019900001876A
Other languages
English (en)
Other versions
KR910015960A (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 이재홍
Priority to KR1019900001876A priority Critical patent/KR920009961B1/ko
Publication of KR910015960A publication Critical patent/KR910015960A/ko
Application granted granted Critical
Publication of KR920009961B1 publication Critical patent/KR920009961B1/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/06Elementary speech units used in speech synthesisers; Concatenation rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)

Abstract

내용 없음.

Description

무제한 단어 한국어 합성 방법 및 회로
제1도는 본 발명에 따른 흐름도.
제2도는 본 발명에 따른 흐름도.
제3도는 본 발명에 따른 제2도의 전처리과정의 구체흐름도.
제4도는 본 발명에 따른 제2도의 전송과정의 구체흐름도.
제5도는 본 발명에 따른 제2도의 합성과정의 구체흐름도.
제6도는 본 발명에 따른 데이타 베이스 음성시료 제작과정의 파형도.
제7도는 본 발명에 따른 제6a도의 초성+중성 예로서“마”에 대한 합성과 음절(스펙트로그램) 파형도.
제8도는 본 발명에 따른 제6b도의 초성+중성 예로서“언”에 대한 합성과 음절(스펙트로그램) 파형도.
제9도는 본 발명에 따른 제8도에 의해 만들어지는 음성데이타 베이스 구성도.
제10도는 본 발명에 따른 제9도의 음성데이타 베이스에 기록된 구체적인 화일 테이블도.
제11도는 본 발명에 따른 제3도의 특수 기호 읽기 과정에서 참조되는 예외 사전 테이블도.
제12도는 본 발명에 따른 제3도의 변동 규칙 처리 과정에서 참조되는 규칙 사전 테이블도.
본 발명은 한국어 합성에 관한 것으로, 특히 입력된 한국어 문장을 무제한 단어 합성방법에 의해 음성으로 합성하되 합성의 단위를 반음절로 하여 양호한 음질의 합성음으로 합성해낼 수 있는 무제한 단어 한국어 합성방법 및 회로에 관한 것이다.
이제까지 컴퓨터로 부터 인간에게로의 정보전달(man-machine communication)의 수단은 모니터, 프린터, 플로터 등의 시각적인 장치 이외에 청각적인 방법이 새로이 등장하여 최근 급격히 그 사용범위가 넓혀지고 있다. 이러한 발전은 음성신호처리 기술의 연구 진행에 고무된 것으로서 이는 컴퓨터를 이용한 인간언어의 인식과 합성의 두 분야로 나눌 수 있다. 인간언어의 인식과 합성은 컴퓨터(혹은 넓은 의미의 기기)와 인간의 두 주체 사이에서 정보전달시 그 방향이 서로 반대이며, 이에 따라 수신주체도 다르게 된다. 그리고 기계를 이용한 인간의 음성언어 합성(이하 음성 합성으로 약함)의 경우 합성시스템은 음성을 합성하고, 이를 인간이 인식하게 되는데, 여기서 합성되는 음질의 명료도 및 자연성이 제일 중요한 문제라 할 수 있다. 또한 상기 합성되는 단어의 범위에 따라 제한단어 합성과 무제한 단어 합성으로 구별되는데, 특히 무제한 단어 합성의 경우는 제한단언 합성보다 그 시스템이 훨씬 복잡하게 되는 것으로 알려져 있다.
현재 세계 각국에서는 자국의 언어를 사용하여 음성을 합성하는 방법을 연구하고 있는데, 몇몇 언어에 있어서는 음절(syllable), 음소(phoneme), 이음(allophone) 등을 합성의 기본단위로 하는 무제한 단어에 대한 음성합성 기술이 상당한 수준에 이르고 있다.
영어를 대상으로한 합성기의 경우를 보면 Votrax사의 Type-n-Talk가 있는데, 이것은 발음 정확도가 65%정도이고, 억양기능이나 파라미터 평활화(parameter Smoothing) 기능은 없었다. 한편“Yahara Speech Machine”은 상기 “Type-n-Talk”의 정확도를 조금 향상시킨 것이며, 그 후에 개발된 “Steet Electronics Echo GP”는 “Texas Instrument”의 “TMS 5220”을 사용한 것으로서 문자의 끝에 억양처리를 할 수 있게 되어 있다. 최근의 것으로서는 “Telesensory Prose 2000”이 있으며, 이는 문장을 음소의 열로 바꾸는 400여개의 “text-to-phoneme”규칙과 2000여개의 예외 규칙을 가지고 있고 영문 약자 처리와 숫자음 처리가 가능하다. 또한 발음 정확도는 95%이며, 억양처리 및 파라미터 평활화 기능도 가지고 있다.
일본어의 경우에는 언어체계가 단순하고 사용하는 음절수가 작아서 문장/음성 변환이 비교적 용이한 장점이 있어 TI사의 CM54200S를 이용한 일본어 합성시스템이 개발되었다.
한국어의 경우도 음성합성은 합성가능한 어휘의 범위에 따라 제한 단어 음성합성과 무제한 단어 음성합성으로 분류되는데, 상기 제한 단어 음성합성은 한정된 몇 개의 단어 또는 문장만을 합성할 수 있는 것이고, 무제한 단어 음성합성은 임의의 어떠한 단어나 문장이라도 합성할 수 있도록 한 것이다.
국내에서도 상기 무제한 단어 합성기술에 대한 연구가 최근에 시작되었다. 그러나 무제한 단어 합성시스템에 필요한 한국어의 음가에 대한 정확한 정량적인 연구가 부족하여 체계적인 연구가 어려운 실정이며, 몇몇 연구팀에서 음절보다 작은 음소나 이음의 단위로 무제한 단어 음성합성의 가능성을 보였으나 아직 만족스러운 합성음을 얻지 못하고 있는 실정이다.
따라서 본 발명의 목적은 음성데이타의 기억용량, 검색 속도 등에 고려되어 음성데이타 베이스를 구성하는 음절의 단위를 반음절로 하여 임의의 한국어 입력 문장을 음성 출력으로 변환시키는 무제한 단어 음성합성회로를 제공함에 있다.
본 발명의 다른 목적은 MPLPC방식인 파형 부호화법으로 무제한 단어까지도 상당한 명료성과 자연성을 가진 수준으로 까지 합성 성능을 높여 인간과 기계간의 청각통신을 가능토록 하는 방법을 제공함에 있다.
상기 목적을 수행하기 위한 본 발명은 액센트를 규칙화하여 입력된 문장에 반영하고 문잘을 소리나는 대로 바꾸어주는 음운 변동처리를 포함하는 전처리과정과, 음성합성 단위를 결정하고 음성시료를 채취하여 A/D변환을 거쳐 정해진 MPLPC부호화 방법으로 구성되는 데이타베이스 부분과, 액센트를 부호화하고 합성에 필요한 각 데이타를 불러오는 중앙 처리 프로그램과 실제로 음성을 합성해내는 음성합성기의 부분으로 구성됨을 특징으로 한다.
이하 본 발명을 첨부된 도면을 참조하여 상세히 설명한다.
제1도는 본 발명에 따른 회로도로서, 음성 합성의 단위를 결정하고 MPLPC방식으로 코딩된 음성합성시료데이타와 아스키코드와 한글 변동규칙사전 및 합성할 작성된 텍스트 화일을 저장하고 있는 메모리(144)와, ASCII 및 한국 코드별로 구분하여 ASCII의 경우 영문, 숫자음 특수기호별로 처리하고, 한글인 경우 종성 및 초성별로 변동규칙에 따라 처리하여 코드에 해당하는 데이타 베이스 화일에 따라 MPLPC방식으로 음절을 코딩하여 상기 메모리(144)에 저장하며 합성 시스템의 전체를 제어하기 위해 제어신호를 발생하는 호스트컴퓨터(140)와, 상기 호스트컴퓨터(140)로 부터 출력되는 데이타를 버퍼링하는 제1버퍼(170)와, 상기 호스트컴퓨터(140)에서 출력되는 데이타에 의해 상기 제1버퍼(170)를 통해 출력되는 데이타 저장을 위한 지정 어드레스 신호를 발생하는 어드레스 발생기(100)와, 상기 메모리(144)의 음성데이타 베이스에 따라 음절 조립된 데이타 및 합성을 위한 프로그램 데이타를 저장하는 램(110)과, 상기 호스트 컴퓨터(140)의 제어에 따라 상기 램(110)의 데이타 억세스를 위해 어드레스 및 데이타버스를 선택하는 선택기(150)와, 상기 선택기(150)로 부터 입출력되는 데이타를 버퍼링하는 제2버퍼(180)와, 상기 제2버퍼(180)를 통한 합성용 프로그램을 로딩하여 데이타를 MPLPC방식으로 디코딩하여 합성하는 디지탈 시그날 프로세서(160)와, 상기 디지탈 시그날 프로세서(160)에서 디코딩되어 합성되어진 데이타를 아나로그 음성신호로 변환하는 디지탈/아날로그(D/A) 변환기(120)와, 상기 디지탈/아나로그 변환기(120)의 변환된 음성신호로 부터 고주파 잡음을 제거하도록 저역 통과 필터링하는 저역통과 필터(130)와, 상기 저역통과(130)를 통한 아나로그 신호를 사용자가 청취하도록 음성으로 출력하는 스피커(131)와, 상기 호스트컴퓨터(140)로 부터 제어데이타와 신호를 받아 상기 램(110)으로의 코딩 데이타의 저장을 위한 저장 위치 지정을 위해 상기 어드레스 발생기(100)를 제어하고 전송될 데이타 버퍼링을 위해 제1,2버퍼(170,180)를 제어하며 상기 램(110)으로 데이타를 리드/라이트 하기 위해 선택기(150)를 제어하여 어드레스와 데이타버스를 선택하고 상기 디자탈 시그날 프로세서(160)의 리세스 및 핸드세이킹을 이루도록 하여 주변회로와의 인터페이싱을 원활하게 하기위한 프로그램어블 주변 인터페이스회로(190)로 구성된다.
제2도는 본 발명에 따른 흐름도로써, (2a)는 호스트 컴퓨터(140)에서 전처리 및 데이타전송 처리흐름도이고 (2b)는 음성합성시 처리흐름도이다.
본 발명의 전체 흐름은 음성 합성의 기본 단위를 반음절로 하여 모든 음에 대해 A/D변환하여 음성시료를 만들되, 합성 파라메터를 음성부호화법인 MPLPC를 사용하여 데이타 베이스를 구성하는 데이타베이스 구성과정과, 텍스트 파일로 작성된 문장을 읽어들이는 문장입력 과정과, 상기 문장 입력과정에서 읽어들인 데이타로 부터 한글과 아스키코드로 분류하고 상기 아스키코드에서 영문, 숫자 특수부호별로 읽고 상기 한글코드에서 종성과 초성을 분류시켜 변동 규칙사전을 참조하여 변동 규칙을 적용하여 음운 변동을 처리하는 전처리 과정과, 상기 전처리 과정을 거친 음절데이타를 3바아트 코드로 변환하여 “초성+중성”으로 형성된 코드와 “중성+종성”으로 형성된 코드로 부터 해당하는 상기 데이타 구성과정에서 구성된 데이타 베이스 화일을 읽어 음절을 조립하여 보조기억 장치에 저장하는 음절조립과정과, 상기 음절조립과정에서 저장된 데이타를 읽어서 새로운 파일이 없을때까지 합성용 데이타 저장장치에 저장하도록 전송하는 전송과정과, 상기 전송과정의 합성용 메모리 장치로 부터 12워드씩 LPC계수로 된 데이타를 읽어 파코(PARCOR) 계수로 디코딩하고 펄스위치값을 파일링한 후 펄스크기로 디코딩하여 디엠퍼시스하여 합성하는 합성과정과, 상기 합성과정에서 디코딩된 합성데이타를 아나로그 신호로 변환하여 변환처리시 발생된 고주파 잡음을 제거한 후 증폭하여 스피커로 출력하는 출력과정으로 이루어진다.
제3도는 본 발명에 따른 제2도의 전처리과정의 구체흐름도로서, 상기 문장 입력 과정에서 읽어들여진 데이타로 부터 한글코드인지 아스키코드인지를 체킹하는 제1과정과, 상기 제1과정에서 한글 코드일 때 2바이트 한글코드를 규칙에 따라 초, 중, 종성의 3바이트로 바꾼다음 종성과 초성을 분류하는 제2과정과, 상기 제2과정에서 종성과 초성으로 분류된 코드를 저장한 후 종성코드에 의해 변동규칙 사전으로 부터 규칙의 계열을 선택하고 초성코드에 의해 그 계열내에 적용성 규칙을 선택하는 방법으로 종성 또는 초성 모두를 변환하는 제3과정과, 상기 제3과정에서 변동 유무를 체킹하여 변동일 경우 상기 종성분류를 다시 실행하고 변동이 아닐경우 처리를 끝내는 제4과정과, 상기 제1과정에서 아스키 코드로 분류된 경우 영문인지를 체킹하여 영문으로 분류된 경우 영문처리를 해주는 제5과정과, 상기 제5과정에서 영문이 아닌 것으로 분류된 경우 숫자인지를 체킹하여 숫자일 경우 숫자처리를 해주는 제6과정과, 상기 제6과정에서 숫자가 아닌 것으로 분류된 경우 특수보호인지를 체킹하여 특수보호인 경우 특수보호를 처리하는 제7과정으로 이루어진다.
제4도는 본 발명에 따른 제2도의 전송과정의 구체흐름도로서, 상기 제3도의 전처리과정에서 처리된 데이타를 저장시 소정의 문장단위로 인덱스를 부여하여 저장하는데 있어 합성용데이타 저장 메모리 장치로 로딩하기 위해 우선적으로 인덱스 화일과 상기 화일인덱스의 데이타를 읽어 들이는 제1단계와, 상기 제1단계에서 상기 인덱스 화일의 끝인가를 확인하기 위해 모든 파일 인덱스 데이타를 읽어들였는가를 체킹하는 제2단계와, 상기 제2단계의 각 인덱스 마다 화일인덱스와 같은 데이타를 읽어들이어 첫루우프인가를 체킹하는 제3단계와, 상기 제3단계에서 첫루우프일때 음성합성을 위해 디지탈 시그날 프로세서(160)를 구동하는 합성용프로그램과 음성합성에 사용되는 각종 파라메타 테이블을 상기 호스트 컴퓨터(140)로부터 다운 로딩하여 시작신호가 될때까지 대기하는 제4단계와, 상기 제3단계에서 첫루우프가 아닐때 합성된 문장 데이타를 호스트 컴퓨터(140)에서 상기 디지탈 시그날 프로세서(160)로 다운 로딩하고 처리끝인가를 확인하는 제5단계로 이루어진다.
제5도는 본 발명에 따른 제2도의 합성 과정의 구체흐름도로서, 합성에 필요한 상수값을 설정하고 합성용 데이타를 읽어서 파코계수로 디코딩하고 펄스위치 값을 확정하여 펄스크기를 디코딩하는 합성 데이타 디코딩 과정과, 상기 합성데이타 디코딩과정에서 합성할 데이타 억세스가 마지막일때 데이타프레임의 첫번째 펄스위치서부터 크기를 조절 후 모두 계산하여 출력포트로 옮겨 디엠퍼시스하는 합성 펄스 계산 과정과, 상기 합성 펄스 계산과정의 디엠퍼시스한 한 프레임 계산 후 다음 프레임의 계산할 데이타가 있는가를 체킹하는 검색과정으로 이루어진다.
제6도는 본 발명에 따른 데이타 베이스 음성시료 제작과정 파형도로써 (6a)는 초성+중성의 경우의 예로서 모음이 시작된 것으로 부터 0-20msec후 잘라서 만들어 지는 예를 도시한 것이다. 이 경우 너무 앞에서 자르면 에너지가 적어서 자음이 안들리고, 너무 뒤에서 자르면 합성후의 음질이 너무 길어진가.
제6b도는 중성+종성의 경우의 예로서, 모음의 정상상태(steady state)가 끝난점으로 부터 -50-+50msec사이에서 잘라서 만들어지는 예를 도시한 예이다. 이 경우 너무 앞에서 자르면 합성후의 음질이 길어져 대단히 느린 속도가 되고, 너무 뒤에서 자르면 임펄스성 노이즈가 발생된다.
제7도는 본 발명에 따른 제6a도의 초성+중성의 예로서 “마”에 대한 합성과 음절(스펙트로그램)파형을 도시한 예로서, 제7a도는 합성된 음절“마”의 파형 및 스펙트로그램 파형도이고, 제7b도는 자연음 음절 “마”의 파형 및 스펙트로그램 파형도이다.
제8도는 본 발명에 따른 제6b도의 중성+종성의 예로서 “언”에 대한 합성과 음절(스펙트로그램)파형을 도시한 예로서, 제8a도는 합성음“언”의 파형 및 스펙트로그램 합성파형도이고, 제8b도는 자연음“언”의 파형 및 스펙트로그램 파형도이다.
제9도는 본 발명에 따른 제8도에 의해 음성데이타 베이스 구성도로서, 제9a도에는 초성+중성의 일부로 반음절의 화일 개수가 351개 기록되어 있고(제10a도의 내용), 제9b도에는 중성+종성으로 이루어진 반음절의 화일갯수가 168개 기록되어 있으며(10b도의 내용), 제9c도에는 변이음으로 이루어진 데이타 베이스로서 화일의 개수가 98개 기록되어 있다(제10c도의 내용).
제10도는 본 발명에 따른 제9도의 음성 데이타 베이스에 기록된 구체적인 화일로서, 제10a도가 초성+중성의 일부가 이루어진 반음절 351개이고, 제10b도가 중성의 일부+종성으로 이루어진 반음절 168개이며, 제10c도가 변이음으로 이루어진 데이타 베이스로서 화일의 개수가 98개 된다.
제11도는 본 발명에 따른 제3도의 특수기호 읽기과정에서 참조되는 예외 사전 테이블도이다.
제12도는 본 발명에 따른 제3도의 변동규칙 처리과정에서 참조되는 규칙사전 테이블로서, 우선 본 발명의 보다 나은 이해를 돕기 위해 음운 변동을 간략히 기술하면, 한국어 음운의 낱소리는 실제 언어생활에서 단독으로 쓰이지 않고 자음과 모음이 음절을 어울려 이루고, 이 음절들이 서로 어우러져 상위의 단위를 이루어 사용된다. 이때 음절과 잇달아 소리나게 되면 서로 영향을 주고 받아서 음운이 달리 나타나게 된다. 이런 현상을 “음운변동”이라고 하는데, 음운운동은 필연성에 따라서 필연적 변동과 임의적 변동으로 나누어진다. 상기 필연적 변동은 일정한 조건하에서 반드시 일어나는 변동이고 임의적 변동은 일정한 조건하에서 일어날 수도 있고 일어나지 않을수도 있는 변동이다. 예를들면, “갚는다”의 ㅍ이 ㄴ앞에서 ㅁ으로 발음되는 것은 필연적 변동이고, “신문”의 ㄴ이 ㅁ앞에서 ㅁ으로 발음될 수 있는 것은 필연적 변동이다. 또한 음운변동은 변동이 일어나는 형태소의 조건에 따라서 보편적 변동과 개별적 변동으로 나누어진다. 보편적 변동은 일정한 조건하의 일정한 음운은 어떠한 경우에서나 일정한 다른 음운으로 바꾸는 변동이고, 개별적 변동은 이러한 변이 조건이 국한된 형태소에서만 적용되는 변동이다. 예를들면, 비음 앞의 ㄱ이 ㅇ으로 발음되는 것은 어떤 형태소에도 적용되는 보편적 변동이다. 반면에 형태소 이, 야, 여, 요, 유 앞에 ㄴ이 첨가되는 것은 국한된 형태소에만 적용되므로 개별적 변동이다.
본 발명에서는 필연적 변동과 보편적 변동을 규칙화하였고 개별적 변동은 예외 규칙으로 처리하였으며 임의적 변동은 고려하지 않았다.
음운변동중 고려된 음운변동 규칙은 귀착, 자음접변, 구개음화, 축약, 이화이다. 음운변동 현상들은 일정한 적용순서가 존재하지 않고 단지 종성과 초성의 종류에 따라서 음운변동을 일으킨다. 예를들면 “값하다”라는 단어는 귀착과 격음화가 순차적으로 적용되어 “가파다”로 소리난다. 그러나 “많지”의 경우에는 귀착은 적용되지 않고 격음화된 적용되어 “만치”로 소리난다. 따라서 음운변동 규칙들을 규칙의 특징에 따라 블럭화시키고 이 블럭화된 규칙을 순차적으로 배열하여 적용하면 규칙 간에 적응 순서에 따른 충돌이 발생한다. 이런 문제를 극복하기 위하여 본 발명에서는 음운변동이 일어나는 종성과 초성의 모든 가능한 조합들을 찾아내어 먼저 종성의 종류별로 계열화하고, 다시 초성의 종류별로 계열화한다. 정리된 규칙의 내용이 제12a∼f도에 나타나 있다.
따라서 본 발명의 구체적 실예를 제1도-제12도를 참조하여 상세히 설명하면, 본 발명에 제작된 무제한 단어 음성합성 시스템은 제11도의 하드웨어 부분과 제어 부분을 포함한 제2도-제5도의 소프트웨어 부분으로 나누어진다. 제어 부분을 포함한 소프트웨어 부분은 다음 세가지 부분으로 나누어진다. 그 첫째는 음성데이타베이스이고, 둘째는 음운변동 처리 시스템이며, 세째는 제어 프로그램이다.
제9도-제10도의 음성데이타베이스는 음성합성시의 기본단위에 대한 데이타들의 집합으로서, 이들 데이타는 제6도와 같이 음성 시료를 A/D 변환(analog-go-digital conversion)한 후 합성 파라미터를 추출함으로써 얻어진다. 제3도의 전처리과정에서 음운 변동 처리는 제12도와 같이 음성합성될 문장을 발음나는대로의 문장으로 변환시켜 준다. 제2도의 제어 프로그램은 하드웨어 부분을 총괄 제어하며, 음운 변동 처리에서 출력 결과를 토대로 제12도의 음성데이타베이스로부터 합성에 필요한 데이타를 가져와서 엑센트와 인토네이션(intonation)을 위한 데이타를 첨가한 후 합성기로 내보낸다. 합성음의 자연스러움은 제어 프로그램에 있는 엑센트와 인토네이션에 관한 규칙의 정확성에 의존하며, 합성음의 명료성과 음성데이타베이스의 크기는 음성데이타베이스의 구성단위와 구성 방법에 따라 좌우된다. 제12도의 음성데이타베이스의 구성단위는 음절, 반음절(demisylable), 음소 및 이음 등이 있고, 구성 방법은 음성부호화법에 따라 결정된다.
본 발명에서 다룬 음성부호화법인 MPLPC를 사용한 음성합성과 기존의 LPC를 사용한 음성합성을 비교하여 간단히 설명하면 다음과 같다. 기존의 LPC 음성합성은 LPC계수로써 음성합성 필터를 구성하고, 그 입력으로서 유성음을 합성할 경우는 일정한 크기와 피치(pitch) 간격을 가진 펄스열(pulse train)을 사용하며, 무성음을 합성할 경우는 백색잡음(white noise)을 사용한다. MPLPC 음성합성에서는 그 합성 필터의 구성은 LPC 음성합성과 동일하고, 입력으로서 유성음 합성이든 무성음 합성이든 구별하지 않고 음성신호로부터 검출된 펄스열을 사용한다. 제작된 합성기는 PC/AT를 호스트 컴퓨터(140)로 하여 키보드를 통하여 입력문장을 입력한 후 음운 변동 처리 프로그램을 수행하고, 제어 프로그램을 거쳐 음성합성기를 통하여 음성출력을 낸다. 합성기의 디지탈 시그날 프로세서(160)는 미국 “Teaxs Instrument”사의 신호처리 칩인 “TMS32010”을 CPU로서 채택하여 구성한다.
상기 메모리(144)에 저장된 음성데이타베이스의 음성기로 제작 저장과정을 설명하면, 음성의 규칙 합성(synthesis-by-rule)에 사용되는 합성단위는 합성음 음질의 명료성(intelligibility)과 자연성(naturalness)을 결정하는데, 합성단위가 클수록 명료성과 자연성이 높아지지만 데이타베이스의 양이 엄청나게 커지는 것으로 알려져 있다. 반면에 데이타베이스의 양을 줄이면 합성단위가 작아지고 각 단위간의 상호 영향이 고려되지 못하므로 합성음의 음질이 떨어지게 된다. 따라서 데이타베이스의 양과 음질 사이에 타협이 이루어져야 최상의 음성 합성의 결과를 얻어낼 수 있음은 주지의 사실이다.
현재, 한국어 음성합성에 사용되는 합성단위로는 음절(syllable), 반음절(demisyllable), diphone등이 사용되고 있으나 음절의 경우 데이타베이스의 양이 너무 크고 음소단위로 내려가면 명료성과 자연성이 크게 떨어지는 단점이 있다.
따라서 본 발명에서는 음소의 천이 과정을 포함하여 명료성과 자연성이 떨어지지 않고 데이타의 양도 시스템에서 사용할 수 있는 정도인 반음절(demisyllable)이라는 합성단위를 사용하고자 한다.
상기 반음절을 합성단위로 삼았을 때의 이점은 작은 크기의 데이타베이스로도 음절단위 합성에 준하는 명료도를 가진 합성음을 만들 수 있다는 것이다. 음절이라 함은 우리나라 언어 체계에서는 한 글자에 해당하는 것으로 “음”,“절”,“우”,“리”등이 모두 음절의 예가 된다. 반음절이라 함은 음절을 전반부와 후반부로 쪼개어 놓은 각각을 이야기한다.
국어에서의 음절은 (초성)+(중성)+(종성)을 그 기본 골격으로 하며 초성과 종성에는 자음이, 중성에는 모음이 위치하게 된다. 한 개의 음절을 시간축상에서 중성의 적절한 위치에서 잘라 앞뒤부분으로 나누면 두개의 반음절로 나누어진다. 즉, (초성)+(중성)+(종성)의 구조로 된 음절이 (초성)+(중성의 앞부분)으로 된 반음절과, (중성의 뒷부분)+(종성)으로 된 반음절로 나누어진다.
여기에서, “일” 또는 “가”등과 같이 초성이나 종성에 자음이 없는 음절도 있으므로 음절을 잘러서 생기는 반음절은 다음과 같은 4가지 경우가 있다.
(1) (초성)+(중성의 앞부분)
(2) (중성의 앞부분)
(3) (중성의 뒷부분)
(4) (중성의 뒷부분)+(종성)
음절이 반음절로 나뉘게 되는 예를 들어보면 다음과 같다.
“반”→“바”+“안”
“음”→“으”+“음”
“절”→“저”+“열”
이렇게 해서 한글의 발음 가능한 모든 음절로부터 얻어지는 반음절들이 데이타베이스로 저장되며, 그 목록은 제10a도에서 제10c도에 실려 있다.
반음절을 결합하여 다시 음절로 만드는 과정은 음절을 반음절로 나누는 과정과 정반대이다. 즉, “조”, “립”이란 음절을 만들려면, 데이타 베이스에 있는 반음절 중 “조”, “오”, “리”, “입”을 불러내어
“조”+“오”→“조”
“리”+“입”→“립 ”으로 합성하면 된다.
즉, 상기와 같이 인간이 음성을 낼 때 소리의 단절이 없는 한 단위로 내는 것이 음절이 되며, 상기 음절의 첫번째 놓이는 자음군과 모음 핵, 모음 다음에 나오는 자음군으로 구성되는데, 이런 자음+모음+자음으로 이루어진 음절에서 모은구간내 임의의 위치에서 음절을 두 부분으로 분리할 수 있다. 이때 분리된 각 부분이 반음절이다. 따라서 전반부 반음절은 초성과 중성의 일부, 자음에서 모음으로 천이하는 부분이 포함되고 후반부 반음절은 중성의 일부와 종성, 모음에서 자음으로 천이되는 부분이 포함된다. 일반적으로 자음에서 모음으로 천이되는 부분은 모음에서 자음으로 천이되는 부분에 비해 상당히 긴 특징을 가지고 있다.
한국어의 음절구조는 크게 홀소리, 닿소리+홀소리, 홀소리+닿소리, 닿소리+홀소리+닿소리의 네가지로 나누어질 수 있다. 본 발명의 반음절은 닿소리+홀소리+닿소리를 기본형태로 삼고, 나머지 세 경우는 이것의 변형으로 음절을 만들어 낸다. 닿소리+홀소리의 경우 닿소리+홀소리+닿소리 전반부 반음절과 홀소리로만 구성된 후반부 반음절을 합성하여 음절을 구성하고, 홀소리+닿소리의 경우 홀소리 음절의 전반부 반음절과 닿소리+홀소리+닿소리의 후반부 반음절을 합성한다. 또 홀소리만으로 이루어진 음절의 경우 홀소리의 전반부 반음절과 홀소리의 후반부 반음절을 합성한다. 이상의 결과를 스펙트로그램을 통해서 보면 제7도와 제8도와 같다.
제7도에서는 초성+중성의 경우에 대한 “마”의 경우를 나타낸 예로서 제6a도와 같이 계측기상에 디스플레이되는 스펙트로그램을 작업자가 직접 보고 모음이 시작되는 곳으로부터 0-20mes후에 자른 후 디지탈화시키고, 이 데이타는 통상의 MPLPC방식에 의해 코딩하여 출력되고, 이를 호스트컴퓨터(140)으로 로딩하여 데이타베이스 영역인 메모리(144)의 제9a도 영역에 제10a도와 같이 351가 저장시킨다. 제6a도에서 너무 앞에서 자르면 에너지가 적어서 자음이 잘 안들리고, 너무 뒤에서 자르면 합성후의 음절이 너무 길어지는 단점이 있으므로 이의 조성이 중요하다.
제8도에서는 중성+종성의 경우에 대한 “언”의 경우를 나타낸 예로써, 제6b도와 같이 계측기상에 디스플레이되는 스펙트로그램을 작업자가 직접 보고 모음의 정상상태가 끝난 점으로부터 -50+50mec 사이에서 자르는데, 너무 앞에서 자르면 합성후의 음절이 길어져 대단히 느린 스피치가 되고, 너무 뒤에서 자르면 임펄스정 노이즈가 발생되는 단점이 있다. 상기 해당 영역에 잘려진 아나로그 신호를 MPLPC 방식으로 코딩하여 디지탈 데이타로 출력하면 호스트컴퓨터(140)의 제어에 의해 데이타베이스의 메모리(144)의 제9b도의 영역으로 제10b도와 같은 음성데이타베이스 168개 저장된다. 그리고 제9c도에는 제10c도와 같이 변이음으로 이루어진 데이타 98개를 음성데이타베이스화 시킨다. 제10도에서 워드(Word)의 하나가 화일 하나를 만든다. 그리고 데이타베이스의 다른 영역에 전처리과정의 아스키코드(ASCII)와 특수기호 읽기시 참조될 예외 사전은 제11도와 같이 저장되어 있다. 예를들어 입력이 A 또는 a일때 출력을 “에이”이라 출력을 발생하도록 코드를 읽어 들인다. 그리고 데이타베이스의 또다른 영역에는 상기 전처리과정의 한글의 음운변동 처리시 참조될 규칙사전이 제12도와 같은 내용으로 저장되어 있음을 밝혀두며, 데이타베이스인 메모리(144)는 대용량의 HDD나 FDD를 사용할 수 있다. 그리고 상기 메모리(144)의 RMA 영역에 워드프로세서인 보석글로 작성된 텍스트화일이 저장되어 있고, 이를 음성으로 합성하고자 하면, (2a)과정에서 호스터컴퓨터(140)로 i80286 프로세서를 사용하여 메모리(144)를 제어하여 음성합성할 텍스트 화일을 읽어들인다. 상기 (2a)과정의 읽어들인 데이타를 (2b)과정에서 전처리과정을 실행한다.
상기 전처리과정을 제3도를 참조하여 구체적으로 설명하면, 호스트컴퓨터(140)에서 상기 과정에서 읽어들여 코드 데이타로부터 (3a)과정에서 한글코드인지를 체킹한다. 상기 (3a)과정에서 한글코드가 아닐때 아스키 코드인지를 (3b)과정에서 체킹한다. 상기 (3b)과정에서 아스키코드일 때 (3c), (3d), (3e) 과정을 거치면서 영문, 숫자, 특수부호인지를 체킹한다. 상기 (3c)과정에서 영문코드일때 (3f)과정에서 영문 참조 코드와 비교하여 영문으로 처리하고, 상기 (3d)과정에서 숫자코드이면 숫자를 처리하며, 상기 (3e)과정에서 특수부호 코드이면 (3h)과정에서 제11도와 같이 저장되어 데이타베이스 내용과 참조하여 특수기호 코드로 읽어 들인다. 상기 (3f), (3g), (3h)과정에서 읽어들인 데이타는 다시 메모리 소정 영역에 소정의 문장단위로 읽어들인 코드로 저장한다. 그러나 상기 (3a)과정에서 한글코드일 때 (3i), (3j)의 과정을 거치면서 호스트컴퓨터(140)는 종성과 초성을 분류한다.
상기 종성과 초성으로 분류한 데이타를 제12a∼12c도 규칙사전을 참조하여 (3k)과정에서 음운 변동처리를 하게 되는데, 예를 “국가”인 경우 “국”자의 “ㄱ”과 “가”자의 “ㄱ”의 변동 형태를 보면, 제12a도에서 가로축 “ㄱ”세로측의 “ㄱ”에서 참조한다. 여기서 초성에는 “- ”표시는 적용디는 규칙이 없다는 뜻이므로 중성에서 “ㄲ”로 변동되어 “국까”로 변동된다. 또다른 예를보면 “확정”에서 “확”자의 “ㄱ”과 “정”자의 “ㅈ”에서 가로열의 “ㄱ”과 세로열의 “ㅈ”을 참조한다. 초성에는 “- ”표시로 변동이 없다는 뜻이지만 “중성”에서는 “ㅉ”으로 변동되어 “확쩡”으로 변동된다. 그리고 (31)과정에서 더이상 변동이 없는 것이 확인되는데, 제12a도와 같이 “ㄱ”과 “ㄲ”열을 참조하여 “ㄱ”과 “ㅉ”열로 참조하면, “- ”로 더 이상 변동이 없음을 알 수 있다. 그러나“됐다”를 살펴보면 제12d도에서 “ㅆ”열과 “ㄷ”열로 살펴보면 초성에는 “ㄷ”로 변동되어 “ㄸ”자로 변동되는데, 종성에서는 변동이 없지만 다시 “●다”에서 “ㄷ”과 “ㄷ”가 변동이 발생되므로 (31)과정에서 체킹된다. 다시 “ㄷ”과 “ㄷ”가 변동이 발생되므로 (31)과정에서 체킹된다. 다시 “ㄷ”과 “ㄷ”자를 제12b도에서 참조하여 초성에서는 변동이 없지만 종성에서 “●”으로 변동되므로 “●다”로 되어 더이상 변동이 일어나지 않고 한글코드로 소리나는대로 읽혀진다.
즉, 상기한 음운 변동처리는 텍스트 형태의 한글문장 입력을 음운변동 규칙을 적용하여 소리나는 대로 문장을 변환시켜서 출력화일에 저장한다. 이는 입력처리부, 음운변동 규칙 적용부로 나누어진다. 입력처리에서는 한글 맞춤법에 맞게 작성된 문장은 우선 한글코드는 (3a)과정에서 체킹되어 분류되고 상기 (3a)과정에서 한글코드가 아니고 아스키(ASCII)코드이면 (3b)과정에서 구분한다. 상기 입력된 것이 (3b)과정에서 아스키(ASCII)코드인 경우 영문, 영문 약어, 숫자, 특수기호, 문장부호로 (3c)-(3h) 과정에서 분류되어 처리된다. 즉 영문이면 (3f)과정에서 처리되고, 상기 (3c)과정에서 영문이 아니면 (3d)과정에서 숫자인가를 체킹한다. 상기 (3d)과정에서 숫자이면 (3g)과정에서 처리된다. 상기 (3d)과정에서 숫자가 아니면 (3e)과정에서 특수기호인지를 체킹한다. 여기서 특수기호이면 (3g)과정에서 처리된다. 상기 영문이 입력된 경우 (3c) 우선 파일 형태로 저장된 제11도의 예외사전과 비교하여 일치하는 경우 그에 해당하는 한글 단어를 출력시키고 그것과 일치하는 것이 없을 경우에는 알파벳 형태로 읽어 출력시키게 된다. 예를들면 “TEL”이라는 단어와 “abc”라는 단어가 입력되었다면 전자는 제11도의 예외사전에 저장되어 있으므로 전화번호라는 출력으로 후자는 제11도의 예외사전에 해당하는 단어가 없으므로 그냥 “에이비씨”라는 출력을 나타내게 된다. 또 숫자가 입력되면 (3d), 먼저 자리수를 표시하고 “,”를 없애고, 실제 생활에서 8자리 이상의 숫자는 1000억과 같은 형태로 쓰기 때문에 최대 8자리까지 읽도록 하였다. 다음 (3e)과정에서 특수기호 입력인 경우 특수 기호는 수식에 사용되는 +, -, *, /, (), {}, []와 #, $, %를 제11도의 예외사전처럼 저장해 그에 해당하는 한글 단어를 출력시키게 된다. 이때 각각은 영역(space)을 두어 구별해 주어야 한다. (3b)의 한글코드인 경우에는 각 음절을 이루는 2바이트 한글코드를 규칙에 따라 초성, 중성, 종성의 3바이트 코드로 바꾼 다음 종성과 초성에 따라 음운변동 규칙을 적용한다.
음운 변동 규칙 적용은 종성과 초성을 (3i)(3j)과정에서 저장한 뒤 종성코드에 의하여 (3k)과정에서 제12도의 규칙의 계열을 선택하고 초성코드에 의해서 그 계열내에 적용될 규칙을 선택한다. 규칙에 의하여 종성 또는 초성, 중성, 초성 모두를 바꾸어준다. 바뀐 코드들을 규칙 적용전에 저장한 것과 비교하여 서로 다르면 규칙이 다시 적용될 여지가 있으므로 규칙 적용과정으로 들어가서 앞의 과정을 반복하여 결과에 변화가 없을 때까지 반복한다. 예를들어 단어가 “압력”이라면 첫음절의 종성이 ㅂ이므로 ㅂ-계열 규칙으로 들어가 초성이 “ㄹ”인 경우를 찾아 종성이 “ㅁ”으로 바뀌게 된다. 이 결과는 규칙이 적용되기 전과 비교하면 변화가 일어났으므로 다시 규칙을 적용하게 된다. 이때 역시 종성이 “ㅁ”이므로 ㅁ-계열 규칙으로 들어가 종성이 “ㅁ”인것과 초성 “”인 경우 제12d도에서 찾아보면 “ㄴ”으로 바꿔 결과적으로 “암력”이 됨을 알 수 있다. 그리고 종성 “ㅁ”과 초성 “ㄴ”을 다시 제12d도에서 (31)과정에서 다시 한번 반복하면 해당 변동규칙이 없으므로 (-)변동 규칙 과정에서 벗어난다.
음운변동 처리규칙에 처리할 수 없는 음운변동들을 예외사전을 구성하여 처리할 수 있는데, 본 발명에서는 “ㄴ”첨가 현상, 자음접변 중에서 종성 “ㄴ”과 초성 “ㄹ”이 만나는 경우 귀착 중에서 종성이 “ㅂ”인 경우를 다루고 있다. “ㄴ”첨가 현상은 두 형태소 사이에 휴식을 들 수 있는 경우에 형태소가 “이,야,여,요,유”일때 발생한다.즉 어간과 어미, 체언과 조사 사이에는 일어나지 않고 주로 복합어에서 발생한다. 따라서 이 현상은 규칙화 시킬 수 없고, 제11도의 예외사전으로 처리하여 형태소 “이,야,여,요,유”가 나타나면 “ㄴ”첨가 현상이 일어날 가능성이 있으므로 사전을 검색하여 일치하는 단어가 있으면 “ㄴ”을 첨가하여 음운변동 규칙 처리로 넘긴다. 자음접변 현상중에서 종성 “ㄴ”과 초성 “ㄹ”이 만나는 경우 종성 “ㄴ”이 “ㄹ”로 바꾸어 지지만 “판단력” , “절단력”등에서는 “ㄹ”이 “ㄴ”으로 바뀐다. 또한 종성이 “ㄹㅂ”인 경우 귀착이 적용되지만 “짧-”, “넓-”, “얇-”의 경우에는 “ㄹ”이 남고 “ㅂ”이 생략된다. 이 경우에 예외사전을 만들지 않고 “ㄹㅂ”계열중에서 초성코드와 중성코드를 비교하여 종성 코드를 “ㄹ”로 바꾸어 주도록 하였다. 이상의 규칙을 적용한 문장의 보기를 들면 아래와 같다.
Figure kpo00001
Figure kpo00002
상기 (2b)과정의 전처리 과정 거친 데이타코드를 기준으로 하여 호스트 컴퓨터(140)은 메모리(144)의 제10도의 음성데이타 베이스를 참조하여(2c)과정에서 음절을 조립한다. 상기 조립된 음절은 화일별로 문장 단위에 따라 인덱스를 부여하여 다시 메모리(144)의 소정 영역에 저장하고 (2d)과정에서 음성 합성용 메모리 장치인 램(110)으로 전송한다.
상기 (2d)전송과정을 제14도를 참조하여 상세히 설명하면 우선 호스트 컴퓨터(140)는 제어신호 및 제어데이타를 프로그램어블 인터페이스회로 (190)를 제어하여 프로그램어블 인터페이스회로(190)에서 어드레스 발생기(100)를 클리어하고 선택기(150)를 칩실렉팅하여 어드레스 발생기(100)의 어드레스와 디지탈 시그날 프로세서(160)에서 발생하는 어드레스 신호를 선택하도록 하고 제1, 2버퍼(170, 180)를 인에이블하여 램(110)에서 억세스하는 데이타를 버퍼링하도록 되어 있다.
따라서 호스트 컴퓨터(140)는 메모리(144)로 부터 (4a)과정에서 인데스 화일을 읽고, (4b)과정에서 화일 인덱스 데이타를 읽어서 (4c)과정에서 인덱스 화일의 값이 99인가를 체킹한다. 상기 인덱스 99는 인덱스 마지막을 의미하고자 하는 것이다. 상기(4c)과정에서 인덱스 99가 아닐때 인덱스와 일치하는 화일을 (4d)과정에서 읽어들인 후 (4e)과정에서 첫루우프가 되는가를 체킹한다. 상기 (4e)과정에서서 첫 루우프일 때 프로그램 어블 주변 인터페이스회로(190)를 통해 디지탈 시그날 프로세서(160)를 리세트하여 디지탈 시그날 프로세서(160)의 합성 프로그램과 합성에 필요한 데이타를 제2버퍼(180)와 선택기(150)의 선택된 데이타버스(112)와 어드레스 버스(111)를 통해 램(110)에 저장하는데, (4f)과정에서 프로그램을 다운로딩하고(4g)과정에서 합성에 필요한 각종 파라메타 테이블 값을 다운 로딩하되, 핸드세킹에 의해 (4h)과정에서 시작 신호가 있을 때까지 처리한다. 상기 (4h)과정에서 시작신호가 있을때 (4i)과정에서 호스트컴퓨터(140)가 메모리(144)로 부터 상기 읽은 합성용 데이타를 램(110)으로 다운 로딩하여 (4j)과정에서 끝이 아니면 다음 루우프부터 계속한다. 상기 합성 데이타를 다운 로딩하여 (4c)과정에서 인덱스가 99이면 데이타 전송을 완료한다. 그리고 (2f)과정에서 호스트 컴퓨터(140)는 다음 새로운 화일이 있는가를 체킹하여 있으면 상기 과정을 반복한다.
상기 (2d)과정에서 램(110)에 전송된 데이타를 디지탈 시그날 프로세서(160)에 합성하게 되는데, 상기 디지탈 시그날 프로세서(160)는 합성모드 명령어와 동시에 초기화되어 호스트컴퓨터(140)의 제어신호 출력에 따라 프로그램어블 주변 인터페이스회러(190)의 제어에 의해 선택기(150), 제2버퍼(180)를 제어하여 램(110)에 저장된 합성용 데이타를 읽어와서 (2i)과정에서 제5도 프로그램에 따라 시그날 프로세서(160)에서 합성한다. (5a)과정에서 합성에 필요한 상수값을 정하고, (5b)과정에서 램(110)으로 부터 읽고, 상기 램(110)으로 부터 읽은 데이타를 (5c)과정에서 파코 계수에 따라 디코딩한다. 그리고 (5d)과정에서 펄스위치값을 확정하여 (5e)과정에서 펄스크기를 디코딩하고 (5f)과정에서 디지탈 시그날 프로세서(160)는 램(110)의 데이타 억세스 끝인가를 체킹한다. 데이타 억세스가 마지막일때 합성 필터링에 대한 계수 i=0로 하고 [여기서 i는 한 프레임내에서 0번 부터 199까지의 200개의 샘플(sample)을 억세스하기 위한 인덱스임] (5h)과정에서 첫번째 출력[X(i)]을 하여 i에 대한 펄스위치인가를 체킹한다(여기서 X는 출력값이 저장하는 배열 임).
상기 (5i)과정에서 i가 해당 펄스위치가 아닐때 aa(10)을 “0”로 하고 (aa는 펄스 크기를 저장하기 위해 마련된 배열) i가 해당 펄스위치일 때 (5k)과정에서 aa(10)를 펄스 크기로 하여 (5e)과정에서 aa(9)가 aa(10)까지 계산한다. 그리고 (5m)과정에서 aa(0)로 부터 출력하여 (5n)과정에서 디엠퍼시스한다. 이어서(5o)과정에서 (5r, 5g)과정을 거치면서 각 계수에 대한 한 프레임을 모두 디코딩하고, 다음 프레임이 없을때까지 계속 실행 하여 MPLPC방법으로 디코딩하여 D/A변환기(120)에서 아나로그신호로 변환한다. 상기 D/A변환기(120)는 상기 출력 아나로그 신호를 저역통과 필터(130)에서 고주파 잡음을 제거한 후 스피커(131)를 구동하여 합성음을 출력한다.
상술한 바와 같이 파형 부호화법(waveform coding)으로 한정된 문장을 합성 사용하는 수준으로 부터 무제한 단어까지도 상당한 명료성과 자연성을 가진 수준으로까지 합성 가능하다는 가능성을 제시하여 man-machine간의 청각 통신의 가능성을 열어 놓았으며, 임의의 한국어 문장을 소리나는 대로 읽어내는 한국어 음성 합성 시스템을 구현하여 터미날 출력장치, 전자우편, 사무자동화, 맹인이용 독서기 등에 응용할 수 있는 이점이 있다.

Claims (9)

  1. 음성 합성 시스템에 있어서, 상기 음성 합성 시스템의 음성 합성의 단위를 결정하고 MPLPC방식으로 코딩된 음성합성 시료데이타와 아스키코드와 한글 변동규칙사전 및 합성할 작성된 텍스트 화일을 저장하고 있는 메모리(144)와, 상기 음성합성 시스템으로 입력되는 코드에 대해 ASCII 및 한글 코드별로 구분하여 ASCII의 경우 영문, 숫자음 특수기호별로 처리하고, 한글인경우 종성 및 초성별로 변동규칙에 따라 처리하여 코드에 해당하는 데이타 베이스 파일에 따라 MPLPC 방식으로 음절을 코딩하여 상기 메모리(144)에 저장하며 합성 시스템의 전체를 제어하기 위한 제어신호를 발생하는 호스트 컴퓨터(140)와, 상기 호스트컴퓨터(140)로 부터 출력되는 데이타를 버퍼링하는 제1버퍼(170)와, 상기 호스트컴퓨터(140)에서 출력되는 데이타에 의해 상기 제1버퍼(170)를 통해 출력되는 데이타 저장을 위한 지정 어드레스 신호를 발생하는 어드레스 발생기(100)와, 상기 메모리(144)의 음성데이타 베이스에 따라 음절 조립된 데이타 및 합성을 위한 프로그램 데이타를 저장하는 램(110)과, 상기 호스트 컴퓨터(140)의 제어에 따라 상기 램(110)의 데이타 억세스를 위해 어드레스 및 데이타버스를 선택하는 선택기(150)와, 상기 선택기(150)로 부터 입출력되는 데이타를 버퍼링하는 제2버퍼(180)와, 상기 제2버퍼(180)를 통한 합성용 프로그램을 로딩하여 데이타를 MPLPC방식으로 디코딩하여 합성하는 디지탈 시그날 프로세서(160)와, 상기 디지탈 시그날 프로세서(160)에서 디코딩되어 합성되어진 데이타를 아나로그 음성신호로 변환하는 디지탈/아날로그(D/A) 변환기(120)와, 상기 디지탈/아나로그 변환기(120)의 변환된 음성신호로 부터 고주파 잡음을 제거하도록 저역통과 필터링하는 저역통과 필터(130)와, 상기 저역통과(130)를 통한 아나로그 신호를 사용자가 청취하도록 음성으로 출력하는 스피커(131)와, 상기 호스트컴퓨터(140)로 부터 제어데이타와 신호를 받아 상기 램(110)으로의 코딩 데이타 저장을 위한 저장 위치 지정을 위해 상기 어드레스 발생기(100)를 제어하고 전송될 데이타 버퍼링을 위해 제1 ,2버퍼(170, 180)를 제어하며 상기 램(110)으로 데이타를 리드/라이트 하기 위해 선택기(150)를 제어하여 어들레스와 데이타버스를 선택하고 상기 디지탈 시그날 프로세서(160)의 리세트 및 핸드세이킹을 이루도록 하여 주변회로와의 인터페이싱을 원할하게 프로그램어블 주변 인터페이스회로(190)로 구성됨을 특징으로 하는 무제한 단어 한국어 합성회로.
  2. 음성 합성방법에 있어서, 상기 음성 합성의 기본 단위를 반음절로 하여 모든음에 대해 A/D변화 하여 음성시료를 만들되 합성 파라메터를 음성부호화법인 MPLPC를 사용하여 데이타 베이스를 구성하는 데이타베이스 구성과정과, 텍스트 화일로 작성된 문장을 읽어들이는 문장입력 과정과, 상기 문장 입력과정에서 읽어들인 데이타로 부터 한글과 아스키코드로 분류하고 상기 아스키코드에서 영문, 숫자 특수부호별로 읽고 상기 한글코드에서 종성과 초성을 분류시켜 변동 규칙사전을 참조하여 변동 규칙을 적용하여 음운 변동을 처리하는 전처리 과정과, 상기 전처리 과정을 거친 음절데이타를 3바이트 코드로 변환하여 “초성+중성”으로 형성된 코드와 “중성+종성”으로 형성된 코드로 부터 해당하는 상기 데이타 구성과정에서 구성된 데이타 베이스 화일을 읽어 음절을 조립하여 보조기억 장치에 저장하는 음절조립과정과, 상기 음절조립과정에서 저장된 데이타를 읽어서 새로운 화일이 없을때까지 합성용 데이타 저장장치에 저장하도록 전송하는 전송과정과, 상기 전송과정의 합성용 메모리 장치로 부터 12워드씩 LPC계수로 된 데이타를 읽어 파코(PARCOR) 계수로 디코딩하고 펄수위치값을 화일링한 후 펄스크기로 디코딩하여 디엠퍼시스하여 합성하는 합성 과정과, 상기 합성과정에서 디코딩된 합성데이타를 아나로그 신호로 변환하여 고주파 잡음 제거한 후 증폭하여 스피커로 출력하는 출력과정으로 이루어짐을 특징으로 하는 무제한 단어 한국어 합성방법.
  3. 제2항에 있어서, 전처리 과정이 상기 문장입력 과정에서 읽어들이어진 데이타로 부터 한글코드인지 아스키코드인지를 체킹하는 제1과정과, 상기 제1과정에서 한글 코드일 때 2바이트 한글코드를 규칙에 따라 초, 중, 종성의 3바이트로 바꾼다음 종성과 초성을 분류하는 제2과정과, 상기 제2과정에서 종성과 초성으로 분류된 코드를 저장한 후 종성코드에 의해 변동규칙 사전으로 부터 규칙의 계열을 선택하고 초성코드에 의해 그 계열내의 적용성 규칙을 선택하는 방법으로 종성 또는 초성, 종성, 초성 모드를 변환하는 제3과정과, 상기 제3과정에서 변동규칙 처리에 따라 변동규칙 사전에 저장된 데이타와 서로 비교시 변동 유무를 체킹하는 제4과정으로 이루어짐을 특징으로 하는 무제한 단어 한국어 합성방법.
  4. 제2항에 있어서, 전송과정이 상기 전처리과정에서 처리된 데이타를 저장시 소정의 문장단위로 인덱스를 부여하여 저장하는데 있어 합성용데이타 저장 메모리로 로딩하기위해 우선적으로 인덱스 화일과 상기 화일인덱스의 데이타를 읽어 들이는 제1단계와, 상기 제1단계에서 인덱스 화일의 모든 화일 인덱스 데이타를 읽어들이었는가를 체킹하는 제2단계와, 상기 제2단계의 각 인덱스 마다 화일인덱스와 같은 데이타를 읽어들이어 첫루우프인가를 확인하는 제3단계와, 상기 제3단계에서 첫루우프일때 합성용프로그램을 로딩하여 시작신호가 될때까지 대기하는 제4단계와, 상기 제3단계에서 첫루우프가 아닐때 합성용 데이타를 다운 로딩하는 제5단계로 이루어짐을 특징으로 하는 무제한 단어 한국어 합성방법.
  5. 제2항에 있어서, 합성 과정이 상기 음성합성에 필요한 상수값을 설정하고 합성용 데이타를 읽어서 파코계수로 디코딩하는 펄스위치 값을 확정하여 펄스크기를 디코딩하는 합성 데이타 디코딩 과정과, 상기 합성데이타 디코딩과정에서 합성할 데이타 억세스가 마지막일때 데이타 프레임의 첫번째 펄스위치서부터 크기를 조절 후 모두 계산하여 출력포트로 옮겨 디엠퍼시스하는 합성 펄스 계산 공정과, 상기 합성 펄스 계산과정의 디엠퍼시스한 한 프레임 계산후 다음 프레임의 계산할 데이타가 있는가를 체킹하는 검색과정으로 이루어짐을 특징으로 하는 무제한 단어 한국어 합성방법.
  6. 음성 합성에 참조되는 데이타 베이스의 음성시료 제작 방법에 있어서, 상기 음성합성에 있어서 음성을 닿소리+홀소리+닿소리를 기본형태로 하되 반음절이 되는 닿소리+홀소리 또는 홀소리+닿소리를 합성의 기본단위로함을 특징으로 하는 무제한 단어 한국어 합성방법.
  7. 제6항에 있어서, 닿소리+홀소리가 상기 닿소리+홀소리+닿소리의 전반부의 반음절과 홀소리로만 구성된 후반부의 반음절을 합성하도록 음절을 구성함을 특징으로 하는 무제한 단어 한국어 합성방법.
  8. 제6항에 있어서, 홀소리+닿소리가 상기 홀소리 음절의 전반부 반음절과 닿소리+홀소리+닿소리의 후반부 반음절을 합성하도록 음절을 구성함을 특징으로 하는 무제한 단어 한국어 합성방법.
  9. 제6항에 있어서, 홀소리만의 음절이 홀소리 전, 후반부 반음절을 합성하도록 함을 특징으로 하는 무제한 단어 한국어 합성방법.
KR1019900001876A 1990-02-16 1990-02-16 무제한 단어 한국어 합성 방법 및 회로 KR920009961B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019900001876A KR920009961B1 (ko) 1990-02-16 1990-02-16 무제한 단어 한국어 합성 방법 및 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019900001876A KR920009961B1 (ko) 1990-02-16 1990-02-16 무제한 단어 한국어 합성 방법 및 회로

Publications (2)

Publication Number Publication Date
KR910015960A KR910015960A (ko) 1991-09-30
KR920009961B1 true KR920009961B1 (ko) 1992-11-06

Family

ID=19296111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900001876A KR920009961B1 (ko) 1990-02-16 1990-02-16 무제한 단어 한국어 합성 방법 및 회로

Country Status (1)

Country Link
KR (1) KR920009961B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100379450B1 (ko) * 1998-11-17 2003-05-17 엘지전자 주식회사 음성합성보드에서의 연속적인 음성재생을 위한 구조 및 그 구조를 이용한 연속적인 음성재생방법

Also Published As

Publication number Publication date
KR910015960A (ko) 1991-09-30

Similar Documents

Publication Publication Date Title
Isewon et al. Design and implementation of text to speech conversion for visually impaired people
EP0688011B1 (en) Audio output unit and method thereof
MXPA06003431A (es) Metodo para sintetizar voz.
Cosi et al. Festival speaks italian!
US6477495B1 (en) Speech synthesis system and prosodic control method in the speech synthesis system
US6212501B1 (en) Speech synthesis apparatus and method
WO2004066271A1 (ja) 音声合成装置,音声合成方法および音声合成システム
Chettri et al. Nepali text to speech synthesis system using ESNOLA method of concatenation
KR920009961B1 (ko) 무제한 단어 한국어 합성 방법 및 회로
Damper Speech technology—implications for biomedical engineering
Ngugi et al. Swahili text-to-speech system
JP2021148942A (ja) 声質変換システムおよび声質変換方法
Bettayeb et al. A Study to Build a Holy Quran Text-To-Speech System
JP3397406B2 (ja) 音声合成装置及び音声合成方法
CN1629933B (zh) 用于语音合成的设备、方法和转换器
KR930004737B1 (ko) 한국어 문장 음성 변환 시스템 및 그 방법
Datta et al. Epoch Synchronous Overlap Add (ESOLA)
Roux et al. Data-driven approach to rapid prototyping Xhosa speech synthesis
KR100202539B1 (ko) 음성합성방법
JPH03245192A (ja) 外国語単語の発音決定方法
Allen Speech synthesis from text
JPH037999A (ja) 音声出力装置
EP0681729B1 (en) Speech synthesis and recognition system
Kayte et al. Artificially Generatedof Concatenative Syllable based Text to Speech Synthesis System for Marathi
Chowdhury Concatenative Text-to-speech synthesis: A study on standard colloquial bengali

Legal Events

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

Payment date: 19961116

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee