113
-1- 음성인식 엔진 및 음성인식 개발 및 S/W 사업화 결과보고서 창업기업명 : 주 디앤엠테크놀로지 ( ) 표: 한국산업기술평가원

음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 1 -

음성인식 엔진 및 음성인식 개발 및S/W

사업화 결과보고서

창업기업명 : 주 디앤엠테크놀로지( )

대 표 : 정 익 주

한 국 산 업 기 술 평 가 원

Page 2: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 2 -

결 과 보 고 서

년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및 음성인식2000

개발에 관한 기술개발 및 사업화 의 결과보고서를 별첨과 같이 제출합니S/W “

다.

첨 부 결과보고서 부 끝: 10 , .

년 월 일2001 7 16

창업기업명 : 주 디앤엠테크놀로지( )

대 표 : 정 익 주 인( )

한국산업기술평가원장 귀하

Page 3: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 3 -

제 출 문

한국산업기술평가원장 귀하

본 보고서를 음성인식엔진 및 음성인식 개발에 관한 기술개발 및 사업화 의“ S/W ”

결과보고서로 제출합니다.

2001. 7. 16.

기 술 개 발 책 임 자 : 정 익 주

참 여 기 술 인 력 : 김 성 종

기 창 서

정 연 희

정 훈

Page 4: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 4 -

요 약 서

항 목 현 황

일 반 현 황

설립일 년 월 일 자본금 억원: 2000 6 1 ( 1 )■

총 종업원수 명 경영 명 사무 명 영업 명: 7 ( /1 , /1 , /1■

연구 기술 명/4 )ㆍ

사업장 현황 강원도 춘천시 효자 동 강원대학교 호: 2 302■

(53.4 )㎡

개 발 현 황

다양한 음성인식 엔진 개발 ( SRE-1000, SRE-10000CS,■

,SRE-1000EM)

음성인식 응용 개발S/W ( VoiceExplorer, PalmVoice )■

음성 인식 개발H/W Module ( VR-33R )■

양산체제등

설비구축현황해당 사항 없음

사업화 현황

매출실적■

사업 기간 동안 약 억원의 매출5

음성인식엔진 억 만원(1) : 2 1000

응용 소프트웨어 억 천 만원(2) :2 9

사업화 현황■

음성인식 엔진 개발 및 출시로 라이센스 형태의 매출이 이루어지

고 있으며 응용 의 경우 패키지상품으로 출시하여 판매 중이S/W

다 공급 또한 활발히 이루어져서 현대멀티캡 주연테크 한. OEM , ,

국음성도메인센타 등에 납품되었다.

최근에 개발된 임베디드용 음성인식 엔진 및 용 응용PocketPC

인 의 업계 반응이 좋으므로 임베디드 음성인식S/W PalmVoice

시장을 집중 공략할 계획이다.

대외기관 인증

특허 외부자금/

활용방안

특허■

특허출원 컴포넌트를 이용한 음성인식 브라우저 구현: MSHTML

방법

특허등록 음성인식 기술을 이용한 중간광고 자동 송출 방법:

상표출원 : VoiceExplorer, PalmVoice

벤처캐피탈 투자 현황■

현재 투자와 관련하여 진행 중에 있음

기 타 사 항

포상■

신기술 개빌 및 산업 발전 기여와 관련하여 강원체신청장 표창IT

정통 제 호( 157 )

Page 5: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 5 -

기술개발 및 사업화 목적과 중요성I.

기술 개발1.

년도 신기술 창업보육사업을 통하여 본사에서는 음성인식 엔진 및 음성인식2000 “

개발 과제를 년간 수행 완료하였으며 과제 결과를 기반으로 원천기술인 다S/W ” 1 , ,

양한 음성인식 엔진의 개발 및 이를 이용한 음성인식 응용 를 상품화하였다S/W .

음성인식 원천 기술은 여러 조사 기관의 자료에 따르면 세기 대 핵심 기술 중21 10

에 하나로 선정될 정도로 매우 중요한 첨단기술로 시장 규모가 날로 확대되고 있

다 따라서 경쟁력 있고 우수한 음성인식 기술을 확보하는 것이 시급하다고 할 수.

있다 그러나 음성인식 기술은 알고리즘의 개발 및 음성 데이타의 수집 처리 등. , ,

단 기간에 개발될 수 없는 기술로서 일부 대기업이나 대학교 정부출연 연구소 등, ,

에서만 개발이 이루어져 왔다 최근에는 이러한 연구 결과를 바탕으로 관련 인력이.

벤처기업을 창업하여 음성인식 기술을 활발히 상용화하고 있다 본사의 경우도 강.

원대학교 연구실의 연구결과를 바탕으로 년간 음성인식 기술을 개발 상용화하는1 ,

데 성공하였다 이번 사업을 통하여 개발된 기술 및 응용 를 요약하면 다음과. S/W

같다.

음성인식 엔진■

화자독립 가변어휘 핵심어 인식 엔진SRE-1000 :

용 화자독립 가변어휘 대용량 음성인식 엔진SRE-10000C : Client

기반의 화자독립 가변어휘 대용량 음성인식 엔진SRE-10000CS : Client-Server

용 화자독립 가변어휘 음성인식 엔진SRE-1000EM : Embedded

응용 S/W■

음성인식 브라우저VoiceExplorer :

용 음성 인식 응용PalmVoice : Pocket PC S/W

Page 6: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 6 -

사업화 목적 및 중요성2.

년 전 신기술 사업자로 선정되어 본 과제를 수행할 때와 지금의 음성인식 관련 산1

업계의 동향은 상당한 변화를 겪었다 년 전에는 외국기업인 가 지명도를 앞. 1 L&H

세워 상당한 시장 지배력을 가지고 있었으나 의 몰락 이후 보이스웨어L&H , SL2,

디앤엠테크놀로지등 국내 기업이 시장을 장악하고 있다 그리고 음성인식 관련 산.

업에 대한 정부 및 업계의 관심도 높아져 산업자원부 정보통신부 등에서 관련 협,

회 또는 협의회를 구성하여 음성인식 기술이 단순한 기술을 넘어서 이제 당당히 산

업으로 자리를 잡게 되었다 본사도 산업자원부에서 지원하는 한국음성정보기술산.

업협회에 이사사로 참여하고 있다 결과적으로 보면 년 전 신기술 사업자로 선정. 1

되어 음성인식 기술을 개발하게된 것은 매우 시기적절한 것이었다.

국내의 음성인식 시장은 태동기를 맞고 있다고 여겨지며 관련업체들이 속속 음성인

식 관련산업에 뛰어들고 있다 이들 관련 업체는 크게 두 부류로 나누어지는데 하.

나는 음성인식 원천 기술 또는 엔진을 개발하는 업체이며 두번째는 이러한 원천 기

술을 이용하여 응용제품을 만드는 업체이다 본사는 과제 수행 기간 동안 이 두 가.

지를 모두 수행하였는데 향후에는 음성인식 원천 기술을 개발하는 부분에 역량을

집중을 할 것이다 과제 수행기간 동안 원천기술과 응용기술을 모두 수행하였던 이.

유는 개발된 원천기술의 우수성을 알리기 위해서는 이 원천 기술을 사용한 응용 제

품이 필요하므로 우선적으로 응용제품을 병행하여 개발하였다.

현재 국내의 음성인식 시장은 확대일로에 있으며 이를 간파한 외국기업들이 속속,

국내 시장에 진출하고 있다 등 외국의 유명. Conversay, SpeechWorks, Neuance

업체들이 지사 또는 사를 통하여 직간접적으로 진출하고 있다 따라서 음성Partner .

인식 시장이 막 형성되는 이 시점에서 국내의 기술이 자리 잡지 못한다면 이는 곧

바로 지명도 기술력 자본력을 앞세운 외국기술이 국내 시장을 장악하게 될 것이, ,

다 이러한 점이 본 과제를 통하여 기술개발 및 사업화를 하는 중요성이라고 할 수.

있다.

본사는 과제를 통하여 개발된 기술의 사업화가 순조롭게 진행되어 지난 년간 개발1

된 기술 및 제품의 판매를 통하여 약 억원의 매출을 올리는 성과를 이루었다 더5 .

욱더 중요한 것은 과제를 제안할 때 목표했던 기술 뿐만 아니라 음성인식 모듈 및

음성인식 칩과 같은 관련 기술 또한 병행하여 개발이 되었으므로 앞으로 이러한 기

술을 바탕으로 향후 좋은 결과가 있을 것이라고 믿어 의심치 않는다.

Page 7: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 7 -

기술개발 내용II.

제품의 개요1.

개발된 제품은 크게 음성인식 엔진과 음성인식 응용 로 나누어진다S/W .

음성인식 엔진■

1. SRE-1000

은 용 화자독립 가변어휘 핵심어 인식 엔진이다 사양은 다음과 같다SRE-1000 PC . .

인식단어수 최대 단어(1) : 5000

엔진의 크기(2) : 3.5MByte

메모리 소요랑 단어 기준(3) :1000 2.5MByte

인식 속도 에서 단어 기준 초 미만(4) : Pentium III 500 5000 1

인식률 단어 기준(5) : 1000 97.5%

및2. SRE-10000C SRE-10000CS

및 는 대용량 음성인식 엔진으로 각각 및SRE-10000C SRE-10000CS Client

이다 은 인식이 와 에서 나Client Server version . Clinet Server version Client Server

누어 이루어지며 에 부담을 주지 않으면서 를 이용하여 대용량의 인식Client Server

을 가능하게 한다 향후 및 에 대응하여 추가 개발이 이루어 질 것이. VolP VoXML

다.

인식단어수 최대 단어(1) : 50000

엔진의 크기(2) : 3MByte

메모리 소요랑 단어 기준(3) : 10000 25MByte

인식 속도 에서 단어 기준 초 미만(4) : Pentium III 500 20000 1

인식률 단어 기준(5) : 1000 97.5%

3. SRE-1000EM

은 용 화자독립 가변어휘 고립단어 인식엔진이다SRE-1000EM Embedded .

환경을 고려하여 최소의 메모리를 사용하며 고정소수점 연산을 통하여Embedded

인식속도를 향상시켰다.

인식단어수 최대 단어(1) : 500

메모리 소요랑 단어 기준(2) : 100 350KByte

엔진의 크기(3) : 550KByte

Page 8: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 8 -

인식속도 에서 단어 기준 초 미만(4) : StrongARM 206MHz 300 1

인식률 단어 기준(5) : 100 95%

음성인식 응용 S/W■

1. VoiceExplorer

는 인터넷익스플로러를 음성인식 브라우저로 바꾸어 주는 소프트웨어VoiceExplorer

이다 음성으로 원하는 사이트의 명칭을 발음하며 인식하여 이동하며 이동한 페이.

지 내에서도 링크되어 있는 단어를 발음하면 해당 링크로 이동한다. VoiceExplorer

은 엔진을 이용하여 제작이 되었으며 음성인식 브라우저 기능만ver.1.0 SRE-1000

탑재되어 있다 한편 은 제안서 제출시에 가칭 라는. , VoiceExplorer version 2.0 ToBi

이름으로 제안하였던 기능을 모두 포함한 종합적인 음성인식 이다 음성 브라S/W .

우징 뿐만 아니라 음성으로 컴퓨터를 제어하는 기능을 포함하고 있다.

엔진을 이용하여 사용자의 에서 뿐만 아니라 에서 인식이SRE-10000CS PC Server

가능하므로 사용자는 대용량의 인식단어 사용이 가능하다 예를 들어 네이버에서. “

검색 이라고 발음한 후 엽기 라고 발음하며 엽기 라는 단어는 에서 인식이” “ ” “ ” Server

된다 따라서 사용자는 수만단어의 검색어를 사용자 에서 인식가능한 단어로 사. PC

용할 수 있다 이 기능은 국내에서 최초로 개발된 것이다. .

는 음성도메인 서비스를 하고 있는 한국음성도메인센터의 음성 인식VoiceExplorer

브라우저인 라는 이름으로도 공급이 되고 있다Sayser OEM .

2. PalmVoice

는 용 음성인식 로서 의 불편한 사용자 인터페이PalmVoice PocketPC S/W PocketPC

스를 음성으로 대신할 수 있게하여주는 매우 편리한 소프트웨어이다 과제를 시작.

하기 전에 개발된 은 화자종속 기술을 사용하였으나 본 과PalmVoice version 1.0

제를 통하여 개발된 화자독립 가변어휘 인식엔진인 을 이용하여 새로SRE-1000EM

개발되었다.

는 음성으로 의 프로그램을 실행시키고 이름을 발음하여 개인PalmVoice PocketPC ,

정보를 불러내고 이를 이용하여 이메일을 구동시키거나 전화를 걸 수 있도록 하여,

준다 뿐만 아니라 를 지원하여 딕테이션은 아니지만 자주 사용하는 단어. Keymacro

나 문장은 음성으로 입력이 가능하다 현재 업체와 계약을 진행 중이며 국내의. PDA

대표적인 번역전문기업인 창신소프트웨어와 휴대용 음성인식 번역기 공동개발에 관

한 제휴를 맺고 이를 진행 중에 있다.

Page 9: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 9 -

위의 음성인식 엔진과 음성인식 응용 외에도 본 과제를 통하여 개발된 음성인S/W

식 엔진을 이용한 음성인식 모듈 및 음성인식 칩이 과제 기간동안에 개발이 되었

다 제안서에는 포함되어 있지 않은 사항이므로 보고서 내용에는 포함시키지 않았.

으나 별첨에 관련 보도자료를 첨부하였다.

설계 내용2.

음성인식 엔진의 설계부분에 대하여 설명하며 응용제품에 대하여는 별첨에 사용자

매뉴얼로 대치를 한다 음성인식 엔진의 경우 유사한 구조를 가지고 있으므로 본.

과제에서 개발된 대표적인 음성인식 엔진인 을 기준으로 설명한다SRE-1000 .

음성 인식 시스템2.1

일반적으로 음성 인식시스템은 인간이 자연스럽게 발음한 음성신호를 자동적으로

문자나 문장 따위의 미리 정의된 기호로 바꾸어 주는 시스템을 의미한다 그림. 2-1

은 전형적인 음성 인식시스템의 구조를 보여주고 있다.

음성 검출부에서는 입력된 신호에서 음성이라고 여겨지는 부분만을 검출하며 특징,

파라메타 추출부에서는 검출된 음성으로부터 그 음성의 특징을 잘 표현하고 인식에

적합한 특징 파라메타를 추출한다 유사도 측정부에서는 기준 모델과 검출된 음성.

신호간의 유사도를 측정하고 후처리 과정에서는 인식된 결과의 타당성을 검증한,

후 인식 결과를 출력하게 된다.

그림 일반적인 음성인식 시스템의 구조2-1.

Page 10: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 10 -

음성 검출부■

음성 검출은 음성인식 시스템의 성능에 커다란 영향을 미치는 부분이다 음성검출.

오류는 이후의 모든 과정에 전파되어 인식 시스템의 성능을 저하시키는 원인이 된

다 따라서 정확한 음성 검출이 요구되는데 이상적인 경우라면 음성 검출기는 다음. ,

과 같은 특징을 지녀야 한다 첫째 주변 환경에 영항을 받지 않다 둘째 음성 신호. , .

에서 추출하기 쉬운 파라메타와 일관적인 알고리즘을 이용하여 음성을 검출한다.

셋째 실시간으로 음성을 검출한다 그러나 대부분의 음성 검출기는, . , ZCR(Zero

에너지와 같이 계산량이 적은 시간 영역의 파라메타를 사용하여 실Crossing rate),

시간으로 음성을 검출하고 주위의 환경 변화에 따라 음성 검출 파라메타의 값들을

조정하는 방식을 통해 주변 환경의 영항을 덜 받게 한다.

특징 파라메타 추출부■

특징 파라메타 추출부는 일종의 음성 압축 부분으로 또 한편으로는 인간의 발성 기

관을 하나의 필터로 가정하고 필터의 계수를 찾음으로써 발성 기관을 모델링하는

부분이라고 생각할 수 있다 이 부분에서는 음성에 불필요하게 중복되어 있는 정보.

를 없애고 다른 음성 신호간의 변별력을 높일 수 있는 정보를 추출하는 부분이다, .

현재 널리 사용되는 음성 특징 파라메타는 다음과 같은 세 가지가 있는데 첫째,

방식의 특징 파라메타이다 이 파라메타는 각 주파수대의 에너지를 특징Filter-Bank .

파라메타로 사용한다 둘째 인간의 발성 기관을 하나의 필터로 간주하고 그 필터의. ,

계수를 특징 파라메타로 사용하는 것으로 가LPC(Linear Prediction Coefficients)

대표적이다 세째 인간의 청각적 인지 특성에 따라 주파수 성분에 가중치를 두어. ,

분석하는 방법으로 멜 스케일 을 이용한 나 가 있다(Mel Scale) FFT LPC .

유사도 측정부■

음성은 크게 문맥과 화자에 종속적인 변이와 지속 시간 변이라는 두 종류의 시변적

인 특성을 지니고 있다 문맥과 화자에 종속적인 변이는 화자에 따라 동일 음운일.

지라도 다르게 발음되며 동일 화자가 발음했을지라도 문맥에 따라 그 음운의 음성

학적 특성이 변하는 것을 의미하며 음성의 지속 시간 변이는 동일 음운일지라도,

발음 할 때 마다 음성의 지속 시간이 달라지는 특성을 의미한다 따라서 유사도 측. ,

정부에서는 이런 음성의 시변적 변화를 잘 보상하면서 두 음성 신호간의 유사도를

측정하는 인식 알고리즘이 필요하다 대표적인 인식 알고리즘으로 와 이. DTW HMM

있다.

Page 11: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 11 -

후처리 과정■

후처리 과정에서는 인식된 결과의 타당성을 검증하게 된다 가령 인식 어휘가 아닌.

임의의 단어 를 사용자가 발음한 경우에는 이를 인식하지 않고(Out of Vocabulary)

거절하는 처리가 필요하게 되는데 이를 후처리 과정에서 하게 된다.

의 구조2.2 SRE-1000

은 일반적인 음성인식 시스템과 동일한 구조를 설계되었으며 개의 서SRE-1000 4

로 다른 기능별 로 구성되어 있다 이때 는Component .( Component Active-X

가 아닌 동일한 기능을 지니는 함수의 집합을 의미한다Component .)

실시간 음성 검출 Component▶

인식 Component▶

네트워크 Component▶

기타 Component▶

그림 은 각 가 음성 인식 시스템 내에서 어떤 역할을 담당하고 있2-2 Component

는지를 도식적으로 보여주고 있다.

그림 의 구조2-2. SRE-1000

Page 12: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 12 -

실시간 음성 검출2.2.1 Component

실시간 음성 검출 는 마이크를 통해 신호를 입력 받아 음성을 검출하고Component

특징 파라메타를 추출하는 역할을 담당하고 있다 따라서 음성 검출 에. , Component

는 마이크를 통해 음성을 입력 받기 위한 오디오 입력 제어 기능 입력된 신호에서,

음성을 검출하기 위한 음성 검출 알고리즘 주변의 잡음 환경의 변화에도 정확하게,

음성을 검출하기 위한 잡음 적응 알고리즘 검출된 음성 신호를 인식에 적합한 파,

라메타로 변환하는 특징 파라메타 변환 알고리즘이 포함되어 있다.

음성 검출 관련 함수Component■

다음은 음성 검출 를 구성하는 함수이다 함수의 설명 순서가 실시간으Component .

로 음성을 검출하기 위해 호출되야 하는 순서이다.

음성 검출 알고리즘 객체의 생성▶

마이크를 통해 입력되는 신호에서 음성을 검출하기 위해서는 음성 검출 알고리즘과

주변 잡음 적응 알고리즘이 필요하다.

BOOL SRCreateDetector( void )은 음성 검출 알고리즘 객체를 생성해 잡음 환경

에서도 정확히 음성을 검출할 수 있게 한다.

오디오 입력 장치 생성▶

음성 검출 알고리즘 객체가 생성 되었으면 마이크로부터 음성 신호를 실시간으로

입력 받아 음성 검출 알고리즘 객체에 넘겨줄 오디오 입력 장치를 생성해야 한다.

BOOL SROpenDetector( void )은 오디오 입력 장치를 오픈하고 입력되는 신호가

음성 검출 알고리즘의 입력값이 되도록 실정한다.

프레임 콜백 함수 등록▶

실시간으로 입력되는 신호를 프로그램에서 처리하고자 하는 경우에는 프레임 콜백

함수를 등록해야 한다.

DATA_CALLBACK SRRegisterFrameDataProc( DATA_CALLBACK callBack )은 사

용자 정의 프레임 콜백 함수를 등록하게 된다 등록된 콜백 함수는 마다 호출. 25ms

되며 입력 파라메타로 입력된 신호의 데이터를 넘겨준다.

Page 13: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 13 -

실시간 음성 검출 시작▶

음성 검출 알고리즘 객체와 오디오 입력 장치가 생성되었다면 이제 실시간으로 음

성을 검출할 모든 준비를 마친 셈이다. void SRStartDetector( void )는 오디오 입

력 장치로부터 입력을 받아 들이고 음성 검출 알고리즘을 동작시킴으로써 실시간

음성 검출을 시작한다.

실시간 음성 검출 중지▶

void SRPauseDetector( void )는 오디오 입력을 잠시 중지시켜 실시간 음성 검출

을 중지시킨다 다시 음성 검출을 재개하기 위해서는 함수. SRStartDetector( void )

를 호출하면 된다.

오디오 입력 장치 해제▶

더 이상 음성 검출이 필요 없는 경우에는 void SRCloseDetector( void ) 를 호출하

여 오디오 입력 장치를 해제한다.

음성 검출 알고리즘 해제▶

더 이상 음성 검출이 필요 없는 경우에는 void SRFreeDetector( void )을 호출하여

음성 검출 알고리즘 객체를 해제한다.

Page 14: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 14 -

실시간 음성 검출하기2.2.2

그림은 는 실시간으로 음성을 검출하기 위한 과정과 이때 호출되어야 할 함수2-3

를 보여주고 있다.

음성 검출 알고리즘 객체를 생성하고 오디오 입력 장치를 생성한 후 음성 검출을

시작하면 음성 검출 중지가 호출되기 전까지는 계속해서 음성을 검출을 시도하고

음성이 검출되면 입력된 신호를 인식하기 위한 알고리즘이 자동 호출된다.

그림 실시간 음성인식의 과정2-3.

Page 15: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 15 -

실시간 음성 검출이 시작되면 마다 입력된 데이타를 처리하여 음성인지를 판25ms

별하는 작업이 수행된다 그림 은 그 과정에 대한 흐름도이다. 2-4 .

그림 음성 구간 검출 과정2-4.

Page 16: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 16 -

음성 인식2.2.3 Component

음성인식 는 의 핵심이 되는 부분으로 음성 검출Component SRE-1000

를 통해 특징 파라메타로 변환된 음성 신호와 네트워크 에Component Component

서 제공하는 인식 네트워크를 사용하여 입력 신호가 가장 유사한 어휘를 찾아내고

그 결과를 검증하여 최종 인식 결과를 출력하게 된다 따라서 음성인식. ,

에는 입력 신호와 인식 모델간의 유사도를 측정하는 알고리즘과Component Viterbi

인식된 어휘를 검증하기 위한 거절 알고리즘이 포함되어 있다.

음성 인식 관련 함수component■

다음은 음성 인식 를 구성하는 함수이다 함수의 설명 순서가 입력된Component .

신호를 인식하기 위해 호출되야 하는 순서이다.

음성 인식 알고리즘 객체 생성▶

음성을 인식하기 위해서는 입력된 음성 신호와 인식 대상 어휘간의 유사도를 측정

하는 인식 알고리즘과 인식된 결과를 검증하는 거부 알고리즘이 필요하다.

BOOL SRCreateEngine( void )는 유사도를 측정하기 위한 알고리즘과 비등Viterbi

록 어휘를 거부하기 위한 에 기반을 둔 거부 알고리즘이 포Utterance Verification

함된 객체를 생성한다.

음성 인식 알고리즘 객체 초기화▶

음성 인식 알고리즘 객체가 생성되었으면 이를 초기화해야 하는데 이는 성별 데이

타로 초기화가 된다 만일 사용자가 남성이라면 로 초기화하면 되고 여성. male.dat

이면 로female.dat void SRlnitEngine(char *szDB)를 사용해 초기화한다.

음성 처리 콜백 함수 등록▶

검출된 음성신호를 처리하기 위해서는 음성 처리 콜백 함수를 등록해야 한다.

DATA CALLBACK

SRRegisterUtteranceDataProc( DATA_CALLBACK callBack )은 음성 처리 콜백 함

수를 등록한다.

Page 17: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 17 -

인식 결과 콜백 함수 등록▶

인식된 결과를 얻기 위해서는 반드시 인식 결과 콜백 함수를 등록하여야 한다.

RESULT_CALLBACK

SRRegisterResultProc( RESULT_CALLBACK callBack )는 인식 결과 콜백 함수를

등록한다 인식된 결과는 인식 결과 콜백 함수를 통해서만 알 수 있으므로 반드시.

등록해야 한다.

음성 인식 알고리즘 객체의 해제▶

더 이상 음성 인식 알고리즘 객체를 사용하지 않으려면 void SRFreeEngine( void

)를 호출하여 음성 인식 알고리즘 객체를 해제 한다.

유사도 측정 하기■

그림 는 음성 인식 를 이용해 음성을 인식하기 위한 과정을 보여2-5 Component

준다.

그림 유사도 측정 과정2-5.

Page 18: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 18 -

그림 는 음성이 검출되었을 때 음성 인식 내부에서 처리되는 과정2-6 Component

에 대한 흐름도이다.

그림 음성 인식 과정2-6

Page 19: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 19 -

네트워크2.2.4 Component

인식 네트워크란 음성 인식 시스템에서 인식 가능한 어휘와 인식 가능한 빌음 규칙

에 대한 네트워크를 의미한다.

네트워크 관련 함수Component■

다음은 네트워크 를 구성하는 함수이다 함수의 설명 순서가 인식 어Component .

휘를 추가하거나 변경하기 위해 호출되어야 하는 순서이다.

태스크 생성▶

인식 어휘를 추가하기 위해서는 먼저 태스크를 생성해야 합니다 태스크는 비슷한.

성격을 지니는 인식 어휘들을 일관적으로 처리하기 위한 내부의 자료구조 이다.

BOOL SRCreateTasks( int nTask )는 사용하게 될 태스크들을 생성한다.

태스크에 어휘 추가▶

태스크가 생성되었으면 태스크에 인식하고자 하는 어휘를 추가한다.

BOOL SRAddWord( int Taskld, char *szKorean, char *szCommand, long

dwUser )는 태스크에 인식 어휘를 추가하게되는데 이때에는 인식 어휘에 대한 한

글 이름이외에도 사용자 정의 문자열과 사용자 정의 타입 정보를 추가하게 된long

다.

태스크에서 어휘 삭제▶

void SRDelWord( int Taskld, int index )는 태스크에 포함된 어휘를 삭제하기 위해

사용한다.

태스크의 모든 어휘 삭제▶

void SRDeleteAII( int Taskld )는 태스크에 포함된 모든 어휘를 삭제하기 위해 사

용한다.

인식 네트워크 갱신▶

태스크에 인식 어휘를 추가하거나 삭제한다고 실제 인식에 사용되는 인식 네트워크

가 갱신되지는 않습니다 태스크상의 어휘변화를 인식에 적용하기 위해서는. void

SRUpdateNetwork( RECOG_MODE recogMode, BOOL fUseReject )를 호출하여

인식 네트워크를 변경하여야한다.

Page 20: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 20 -

태스크 해제▶

void SRFreeTasks( void )는 할당된 모든 태스크를 해제한다.

인식 네트워크 생성하기■

그림 은 인식 어휘를 추가하거나 삭제한 후 인식 네트워크를 갱신하기 위한 과2-7

정과 호출하여야 할 함수를 도식적으로 설명하고 있다.

그림 인식 네트워크 생성 과정2-7.

Page 21: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 21 -

기타2.2.5 Component

기타 에서는 인식과는 직접적인 관련은 없으나 인식과 관련된 마이크Component

및 성별과 같은 환경 사항에 대한 정보를 설정하거나 얻게 된다.

기타 관련 함수Component■

다음은 기타 를 구성하는 함수이며 기능별로 설명되어 있다Component .

마이크 입력 볼륨 관련 함수▶

마이크 볼륨은 정확한 음성 검출을 위해 매우 중요한 역할을 하게 된다 마이크 입.

력 볼륨이 너무 작거나 큰 경우에는 음성 검출이 불가능하므로 인식을 제대로 할

수 없다.

void SRSetVolme( DWORD dwLevel )

마이크의 입력 볼륨값을 내부 변수에 저장합니다 실제로 마이크의 입력 값이 변경.

되지는 않는다.

DWORD SRGetVolume( void )

함수에 의해 저장되어 있는 마이크 입력 볼륨값을 리턴합니다 실SRSetVolume( ) .

제 마이크 입력값은 아니다.

void SRLevelSet( DWORD dwLevel )

실제로 마이크의 입력값을 변경한다.

void SRLevelGet( DWORD *pdwLevel, DWORD *pdwMin, DWORD *pdwMax,

DWORD *pdwStep )

실제로 마이크의 입력 볼륨에 대한 정보를 구한다.

거부율 조정 관련 함수▶

거부율이란 인식 대상 어휘가 아닌 어휘가 발음되었을 때 이를 인식하지 않는 기능

이다 거부율이 낮으면 비등록 어휘가 발음되었을 때 이를 오인식할 가능성이 높아.

지며 반대로 거부율이 높으면 인식 대상어휘를 발음한 경우에도 이를 거부할 가능

성이 높아진다.

Page 22: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 22 -

void SRSetRejection( BOOL flag )

거부 기능 사용 유무에 대한 내부 변수를 설정합니다 인식 네트워크는 갱신하지.

않는다.

BOOL SRGetRejection( void )

함수로 설정한 거부 기능 사용 유무값을 리턴한다SRSetRejection( ) .

void SRSetRejectionLevel( int level )

거부의 정도에 대한 내부 변수만을 설정할 뿐 실제로 거부율이 변하지는 않는다.

int SRGetRejectionLevel( void )

함수에 의해 설정된 거부율값을 리턴 한다SRSetAejectionLevel( ) .

void SRSetRejectionThreshold( int level, RECOG_MODE recogMode )

실제로 인식 네트워크의 거부율을 조정한다.

인식 모드 설정 관련 함수▶

인식 모드란 사용자가 어떻게 발음한 형태의 음성을 인식할지를 결정하는 것으로

고립단어 방식의 경우에는 사용자가 인식 대상 어휘만을 발음한다고 가정하고 이를

인식하는 방식이고 핵심어 방식의 경우에는 사용자가 발음한 문장속에 인식하고자

하는 어휘가 포함되어 있다고 가정하고 이를 인식하는 방식이다.

void SRSetRecogMode( RECOG_MODE recogMode )

인식 모드를 내수 변수에 저장할 뿐 인식 네트워크에는 영향을 미치지 않습니다.

인식 모드의 변화를 적용하기 위해서는 함수를 호출하여야 한SRUpdateNetwork( )

다.

RECOG_MODE SRGetRecogMode( void )

에 의해 설정된 내부 변수값을 리턴 한다SRSetAecogMode( ) .

성별 설정 관련 함수▶

은 화자 독립으로 이론적으로는 성별의 구분없이 인식이 가능하나 성별SRE-1000

에 대한 정보가 있는 경우에는 좀더 좋은 성능을 발휘하게 되므로 에서SRE-1000

는 성별을 선택하도록 되어 있다.

void SRSetSex( SEX_TYPE type )

성별에 대한 정보를 내부 변수에 저장한다.

Page 23: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 23 -

SEX_TYPE SRGetSex( void )

에 의해 설정된 변수값을 리턴한다SRSetSex( ) .

을 이용한 프로그래밍2.3. SRE-1000

그림 은 을 이용하여 음성인식기능을 추가하기 위해 필요한 작업을2-8 SRE-1000

도식적으로 설명한 것이다 그림 에서 보는 것과 같이 을 이용하여. 2-8 SRE-1000

프로그램을 작성하기 위해서는 다음과 같은 기능을 정확히 파악하고 프로그래밍 해

야 한다.

음성 인식 엔진 생성SRE-1000▶

음성 인식 알고리즘 객체 생성▶

인식 네트워크 생성▶

실시간 음성 검출기 생성▶

실시간 음성 검출 시작▶

성별 변경▶

인식 모드 변경▶

거부기능 변경▶

마이크 볼륨 조정▶

Page 24: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 24 -

Page 25: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 25 -

음성인식 엔진 생성2.3.1 SRE-1000

을 이용해 음성인식 기능을 사용하기 위해서는 다른 함수를 호출하기 전SRE-1000

에 반드시 함수를 호출하여 음성 인식 객체를 생SRCreateSRCentral( ) SRE-1000

성해야 한다.

음성 인식 알고리즘 객체 생성2.3.2

입력된 음성 신호를 인식 네트워크에서 인식하기 위해서는 다음과 같이 인식 알고

리즘 객체를 생성하고 이를 초기화해야 한다 남성이면 로 여성이면. male.dat

로 초기화한다 그리고 인식된 어휘에 대한 결과를 얻기 위해서 인식female.dat . ,

결과 콜백을 등록한다.

Page 26: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 26 -

인식 결과 콜백 함수■

음성이 인식되면 로 등록된 함수가 호출SRRegisterResultProc( RecogResultProc )

된다 등록된 콜백 함수는 인식된 결과에 대한 다음과 같은 정보를 얻게 된다. .

인식 어휘에 대한 거부 유무▶

인식 어휘가 속한 태스크 번호▶

태스크 내의 인식 어휘의 번호▶

인식 어휘의 이름▶

인식 어휘에 대한 사용자 정의 문자열▶

인식 어휘에 대한 사용자 정의 타입 데이터long▶

인식 네트워크 생성2.3.3

인식 네트워크는 태스크를 생성하고 태스크에 어휘를 추가한 후에 인식 모드와 거

부 유무를 이용하여 생성하게 된다.

Page 27: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 27 -

실시간 음성 검출기 생성2.3.4

실시간으로 음성을 입력받고 검출하기 위해서는 다음과 같이 음성 검출기를 생성한

다.

Page 28: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 28 -

실시간 음성 검출 시작2.3.5

실시간으로 음성을 검출하기 위해서는 를 호출한다SRStartDetector( ) .

Page 29: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 29 -

실시간 음성 검출 정지2.3.6

음성 검출을 잠시 중단하기 위해서는 를 호출한다SRPauseDetector( ) .

Page 30: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 30 -

함수 설명서2.4. SRE-1000

void SRSetVolume( DWORD dwLevel );▶

마이크의 입력 볼륨값을 내부 환경 변수에 저장한다.

dwLevel 마이크의 입력 볼륨값

comment 마이크의 입력 볼륨이 실제로 변경되지 않는다.

DWORD SRGetVolume( void );▶

내부환경 변수에 저장되어 있는 마이크 볼륨값을 리턴한다.

return 내부 환경 변수에 저장된 마이크의 입력 볼륨값

comment 으로 저장된 값이 리턴된다SRSetVolume( DWORD ) .

void SRLevelSet( DWORD dwLevel );▶

마이크의 입력 볼륨값을 실제로 변경한다.

dwLevel 새로운 마이크의 입력 볼륨값

void SRLevelGet( DWORD▶ *pdwLevel, DWORD *pdwMin, DWORD *pdwMax,

DWORD *pdwStep );

마이크의 입력 볼륨에 대한 정보를 구한다.

pdwlevel 마이크의 현재 입력 볼륨값

pdwMin 가장 작게 실정할 수 있는 입력 볼륨값

pdwNax 가장 크게 설정할 수 있는 입력 볼륨값

pdwStep 입력 볼륨의 단계

Page 31: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 31 -

void SRSetRecogMode( RECOG_MODE recogMode );▶

음성 인식 모드를 내부 환경 번수에 설정한다 고립단어의 경우에는. recogMode

ISOLATE_MODE로 설정하고 핵심어 모드인 경우에는 KEYWORD_MODE로 설정한

다.

내부 환경 변수만을 변경하므로 실제로는 인식 모드의 변경이 어떤 영comment

향도 미치지 않는다 인식 모드의 변화를 적용하기 위해서는. SRUpdateNetwork(

함수를 반드시 호출한다RECOG_MODE, BOOL ) .

RECOG_MODE SRGetRecogMode( void );▶

내부 환경 변수에 저장되어 있는 인식 모드값을 리턴한다.

return 에 의해 설정되었던 인식 모드값SRSetRecogMode( )

void SRUpdateNetwork( RECOG_MODE recogMode, BOOL fUseReject );▶

에 추가되어 있는 어휘 인식 모드 및 거절 기능의 사용유무를 기반으로 인식Task ,

네트워크를 갱신한다.

RecogMode 고립 단어 방식의 인식인 경우에는 ISOLATE_MODE로 핵심어

방식의 인식인 경우에는 KEYWORD_MODE로 설정한다.

거절 기능을 사용하면 그렇지 않으면fUseReject TRUE FALSE로 설정한다.

comment SRUpdateNetwork( )함수는 인식 어휘 인식 모드 및 거부 기능의 사용,

유무의 변화를 실제로 인식 엔진에 적용하는 역할을 한다 따라서 이들중 하나의. ,

변화라도 있으면 SRUpdateNetowrk( ) 함수를 호출하여야 한다.

void SRSetRejection( BOOL flag );▶

거절 기능의 사용 유무를 내부 환경 변수에 저장한다.

Flag 거절 기능을 사용하면 TRUE로 설정하고 그렇지 않으면 FALSE

로 설정한다.

Page 32: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 32 -

BOOL SRGetRejection( void );▶

내부 환경 변수에 저장되어 있는 거절기능의 유무값을 리턴한다.

Return 내부 환경 변수에 저장되어 있는 거절 기능의 사용 유무

Comment SRSetRejection( )에 의해 설정된 값을 리턴한다.

void SRSetRejectionLevel( int level );▶

거절률을 내부 환경 변수에 저장한다.

까지의 값을 사용한다 은 거절률이 가장 낮은것이며 은 가장 높은Level 1-10 . 1 10

거절률이다.

Comment 거절률이 높으면 인식 어휘가 아닌 단어가 발음되었을 때 이를

잘 거절하나 반면에 인식어휘가 발음되 경우에도 거절할 가능성

이 높아진다.

Int SRGetRejectionLevel( void );▶

환경 변수에 저장되어 있는 거절률값을 리턴한다.

Return 환경 변수에 저장되어 있는 거절률

void SRSetRejectionThreshold( int level, RECOG_MODE recogMode );▶

거절률이 실제로 인식기에 영항이 미치도록한다.

Level 거절률을 설정한다 거절률은 사이의 값을 설정할 수 있다. 1-10 .

RecogMode 인식 모르를 설정한다 고립 단어 방식의 경우에는.

ISOLATE_MODE로 핵심어 방식의 인식에는 KEYWORD_MODE로

설정한다.

void SRSetSex( SEX_TYPE SexType );▶

성별에 대한 정보를 내부 환경 변수에 저장한다.

SexType 남성의 경우에는 SEX_MAN으로 설정하고

여성의 경우에는 SEX_WOMAN으로 설정한다.

Page 33: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 33 -

SEX_TYPE SRGetSex( void );▶

내부 환경 변수에 설정되어 있는 성별 정보를 리턴한다.

Return 남성의 경우에는 SEX_MAN

여성의 경우에는 SEX_WOMAN을 리턴한다.

void SRLoadDB( char▶ *szDB );

성별에 대한 인식용 를 로딩한다DB .

SzDB 남성의 경우에는 man.dat를 로딩하고

여성의 경우에는 woman.dat를 로딩한다.

Comment 를 호출한 후에는 반드시SRLoadDB( ) SRUpdateNetwork( )함

수를 호출해서 인식 네트워크를 갱신해야 한다.

BOOL SRCreateTasks( int nTask );▶

태스크를 생성한다.

NTask N개의 태스크를 생성한다.

Return 태스크 생성이 성공하면 TRUE를 리턴하고 생성이 실패하면

FALSE를 리턴한다.

void SRFreeTasks( void );▶

모든 태스크를 해제한다.

Int SRGetTaskNum( void );▶

생성된 태스크의 개수를 리턴한다.

Return 생성된 태스크 도메인의 개수

Page 34: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 34 -

BOOL SRAddWord( int Taskld, char▶ *szKorean, char *szCommand, long

dwUser );

태스크에서 인식할 어휘를 추가한다.

Taskld 태스크 번호

SzKorean 인식 어휘

SzCommand 사용자 정의 문자열

DwUser 사용자 정의 플래그

void SRDelWord( int Taskld, int index );▶

태스크에서 인식 어휘를 삭제하게 된다.

Taskld 태스트 번호

Index 태스크 내에서 삭제할 어휘의 번호

void SRDeleteAII( int Taskld )▶

태스크의 모든 어휘를 삭제한다.

Taskld 삭제할 태스크의 번호

Int SRGetWordNum( int Taskld );▶

태스크내의 어휘의 개수를 구한다.

Taskld 태스크 번호

Return 태스크의 어휘의 개수

BOOL SRCreateDetector( void );▶

실시간 음성 검출기를 생성한다.

Return 음성 검출기 생성이 성공하면 TRUE를 리턴하고 실패하면

를 리턴한다FALSE .

Page 35: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 35 -

void SRFreeDetector( void );▶

생성된 음성 검출기를 해제한다.

BOOL SROpenDetector( void );▶

실시간 음성 검출기에 포함된 음성 입력 장치를 Open한다.

Return 음성 입력 장치 Open에 성공하면 TRUE 실패하면 FALSE를 리

턴한다.

Comment 이미 음성 입력 장치가 Open되어 있으면 Open에 실패하게 된

다.

void SRPauseDetector( void );▶

음성 입력을 잠시 중단함으로써 음성 검출을 중단한다.

void SRStartDetector( void );▶

음성 입력을 시작함으로써 음성 검출을 시작한다.

BOOL SRCloseDetector( void );▶

실시간 음성 검출기에 포함된 음성 입력 장치를 Close한다.

Return 음성 입력 장치를 성공적으로 Close하면 TRUE를 실패하면

FALSE를 리턴한다.

void SRSetTimeOverFlag( BOOL flag );▶

함수가 호출된 후 일정 시간이 지나도록 음성 입력이 없으면SRStartDetector( )

음성 검출을 자동으로 중지할지 계속 검출을 시도할 지를 실정한다.Flag 일정 시간 내에 입력이 없는 경우 자동으로 음성 검출을 중지하

기 위해서는 TRUE로 설정하고 그렇지 않으면 FALSE로 설정한

다.

Comment 특정한 키로 음성인식기능을 활성화하는 모드에서는 이를 TRUE

로 설정하고 사용한다.

Page 36: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 36 -

BOOL SRGetTimeOverFlag( void );▶

플래그값을 리턴한다Time Over .

Return Time Over플래그 값을 리턴한다.

void SRSetAutoStartFlag( BOOL flag );▶

음성이 검출되어 인식이 완료된 후에 자동으로 음성 검출 모드로 전환될지 음성

검출 중단 모드에 머물러 있을지를 설정한다.

Flag 자동으로 음성 검출 모드가 되기 위해서는 TRUE로 설정하고 그

렇지 않고 음성 검출 모드에 머물러 있으려면 FALSE로 설정한

다.

Comment 특정키에 의해 인식기를 활성화하는 경우에는 FALSE로 설정한

다.

BOOL SRGetAutoStartFlag( void );▶

자동 음성 검출 플래그값을 구한다.

Return 자동 음성 검출 플래그 값을 구한다.

void SRSetEllapseCount( int count );▶

TimeOver 프래그가 실정된 경우 음성 검출기가 기다릴 만기시간을 설정한다.

Count 25ms * 만큼의 시간을 만기시간으로 설정한다count .

Int SRGetEllapseCount( void );▶

만기 시간 값을 구한다.

Return 만기 시간 카운트 값을 리턴한다.

Page 37: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 37 -

BOOL SRCreateEngine( void );▶

디코더를 생성한다Viterbi .

Return디코더가 성공적으로 생성되면viterbi TRUE를 리턴하고 실패하

면 FALSE를 리턴한다.

void SRFreeEngine( void );▶

디코더를 해제한다Viterbi .

void SRlnitEngine( char▶ *szDB );

디코더를 초기화한다Viterbi .

SzDB 음성DB파일

Comment 성별에 따라 남성의 경우에는 man.dat로 초기화하고 여성의 경

우에는 woman.dat로 초기화한다.

DATA_CALLBACK SRRegisterUtteranceDataProc( DATA_CALLBACK callBack );▶

음성 구간이 검출되었을 때 호출될 콜백함수를 설정한다.

callback 새로이 등록될 콜백함수

return 이전에 등록되어 있던 콜백함수

DATA_CALLBACK SRRegisterFrameDataProc( DATA_CALLBACK callBack );▶

프레임 데이터가 입력되었을 때 호출될 콜백함수를 설정한다.

callback 새로이 등록될 콜백함수

return 이전에 등록되어 있던 콜백함수

RESULT_CALLBACK SRRegisterResultProc( RESULT_CALLBACK callBack );▶

인식된 결과를 얻기 위한 콜백 함수를 설정한다.

Callback 새로이 등록할 콜백 함수

return 이전에 등록되어있던 콜백 함수

Page 38: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 38 -

void SRCreateSRCentral( void );▶

엔진을 생성한다SRE-1000 .

void SRFreeSRCentral( void );▶

엔진을 해제한다SRE-1000 .

Page 39: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 39 -

제조 공정도3.

개발된 것이 이므로 특별히 공정도가 존재하지 않으나 과제 기간 중 출시된S/W

패키지는 다음과 같은 과정을 통하여 생산이 되었다VoiceExplorer .

개발(1) VoiceExplorer S/W

매뉴얼 및 팜플렛 및 광고 제작(2)

박스의 디자인 및 페키지 박스 제작(3)

제작(3) Master CD

생산(4) CD

박스 포장(5)

양산 원가 계산과 기존 제품과의 원가 비교4.

이므로 원가 계산 부분은 큰 관련성이 없다 다만 패키지의 경S/W . , VoiceExplorer

우 원가는 원이었으며 제품 판매가는 이었다 그러나 패키지의 경우10000 38,500 .

패키지 자체의 판매 보다는 공급등을 목표로 일종의 마켓팅을 위한 수단으로OEM

사용되었다 즉 실제 패키지 판매 수량은 개 정도였으나 이를 계기로 잡지 신. , 500

문 광고를 통하여 여러 업체에 공급이 가능하였으므로 패키지의 판매 수랑과OEM

관계없이 패키지 출시는 나름대로 충분히 그 역할을 하였다고 생각한다.

Page 40: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 40 -

성능 평가5.

음성인식 엔진에 대한 성능 평가는 객관성을 확보하기 매우 어려운 부분이다 인식.

환경과 인식 단어의 선정 등에 모두 영향을 받으므로 단순히 인식률 몇퍼센트라는

식의 성능 평가는 의미가 없다 아래 인식엔진의 사양은 객관성을 확보하기 위하여.

인식 단어 세트를 국어공학연구소에서 배포한 고빈도 어절을 이용하였다 따라2000 .

서 인식률을 높이기 위하여 인위적으로 인식단어의 선정을 배제하였으며 인식 환경

에 영항을 받지 않기 위하여 국어공학연구소에서 녹음한 테스트용 데이터를 이용하

여 성능평가를 하였다.

음성인식 엔진 사 양

SRE-1000

인식단어수 최대 단어(1) : 5000

엔진의 크기(2) : 3.5MByte

메모리 소요량 단어 기준(3) :1000 2.5MByte

인식 속도 에서 단어 기준 초 미만(4) : Pentium III 500 5000 1

인식률 단어 기준(5) : 1000 97.5%

SRE-10000C &

SRE-10000CS

인식단어수 최대 단어(1) : 50000

엔진의 크기(2) : 3MByte

메모리 소요랑 단어 기준(3) : 10000 25MByte

인식 속도 에서 단어 기준 초 미만(4) : Pentium III 500 20000 1

인식률 단어 기준(5) : 1000 97.5%

SRE-1000EM

인식단어수 최대 단어(1) : 500

메모리 소요랑 단어 기준(2) : 100 350KByte

엔진의 크기(3) : 550KByte

인식속도 에서 단어 기준 초(4) : StrongARM 206MHz 300 1

미만

인식률 단어 기준(5) : 100 95%

Page 41: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 41 -

양산 개발시 애로 사항 및 해결 과정6.

양산 개발과 관련한 애로 사항은 없으나 마켓팅과 홍보에 애로 사항이 있다 나름.

대로 좋은 기술은 개발했다고 자부하며 따라서 이를 알리는 것이 중요하다고 생각

한다 과제 수행 중 광고 게제 전시회 참가 등을 통하여 홍보를 하였으나 지방 소. ,

재 업체의 한계점은 여전히 있으며 향후 서울에 사무소를 개설하여 우선적으로 해

결하려 하고 있다 한편 현재는 영업 부분은 타사와 영업대행과 관련된 제휴를 맺.

으므로 어느 정도 해결하고 있다.

Page 42: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 42 -

양산사업화 추진 내용III .

추진 경과1.

위에서 언급한 바와 같이 엔진의 개발 및 이를 이용한 제품을 출시하였다 엔진의.

경우는 라이센스를 통하여 판매가 되었으며 개발된 응용 는 패키지 및 을S/W OEM

통하여 판매가 되었다 이외에도 년간의 개발을 통하여 최근에 개발이 완료된 관. 1

계로 현재 다수의 비즈니스를 진행 중이다.

그동안의 추진 경과 및 회사의 연혁을 정리하면 다음과 같다.

2000. 4

기술신용보증기금 기술평가센터의 기술평가에서 우수 평가를 받음

2000. 4

예비 벤처로 지정

2000. 5

테크노마트 참가

2000. 6

주 디앤엠테크놀로지 설립( )

2000. 6

벤처기업 확인 우수 기술평가기업 중소기업청(“ ” - )

2000. 6

주 보이스텍에 음성인식엔진 기술이전 협약체결( ) SRE-1000

2000. 7

산업자원부로부터 음성인식 신기술 사업자로 선정

2000. 7

주 디에스티와 인터넷 용 음성인식 솔루션에 대한 판매대행 협약체결( ) TV

Page 43: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 43 -

2000. 7

주 디지탈앤보이스와 음성인식엔진에 관한 전반적인 전략적 업무제휴 협약체결( )

2000. 8

컴텍스코리아 참가2000

2000. 11

로커스와 전략적 제휴 맺음

2000. 11

음성인식 브라우저 보이스익스플로러 및(VoiceExplorer)

말로하는 스타크래프트 보이스크래프트 신상품 출시(VoiceCraft)

2000. 12

주 디앤엠테크놀로지 부설연구소 음성처리부 영상처리부 설립( ) ( , )

2000. 12

연구소에 음성인식 브라우저 공급LG Appliance Toolkit

2001. 5

초소형 화자독립 음성인식 모듈 개발VR33-R

2001.6

한국음성도메인센터에 음성도메인용 음성인식브라우저 공급

2001.7

창신소프트와 휴대용 음성인식 번역기 공동 개발에 관한 양해각서 체결

2001.7

와 음성인식칩 공동개발TLI

Page 44: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 44 -

매출실적과 향후 년간 계획2. 3

과제 기간 년 동안의 매출 실적 억원1 : 5■

음성인식 엔진 라이센스로 억 만원의 매출을 올렸으며 응용 소프트웨어 판매2 1000

로 억 천만원의 매출을 올렸다2 9 .

향후 년간 매출 계획 실적3■

연도

구분년2001 년2002 년2003

매출액 억원( ) 억원7 억원12 억원20

주요제품

음성인식 엔진

음성인식 응용S/W

음성인식 H/W

음성인식 엔진

음성인식 응용S/W

음성인식 H/W

음성인식 칩

음성인식 엔진

음성인식 응용S/W

음성인식 H/W

음성인식 칩

주요납품처

유통을 통한 Open

Market

용 공급PC OEM

공급PDA OEM

유통을 통한 Open

Market

용 공급PC OEM

공급PDA OEM

유통을 통한 Open

Market

용 공급PC OEM

공급PDA OEM

사업화 추진상 애로사항 및 해결 과정3.

개발과 관련하여는 별다른 애로 사항은 없었으나 영업 및 홍보에 어려움이 있었다.

특히 현재의 음성인식 기술은 기업을 대상으로 판매하는 경우가 많은데 이런 경우

비즈니스 네트워크의 부족으로 어려움이 있다 현재는 이러한 문제를 위하여 전문.

영업 인력을 보완하였으며 영업대행사를 지정하여 영업부분은 보완하고 있다.

한편 시장이 초기단계인 관계로 아직 업체별로 수요자가 직접 접할 수 있는 따라서

비교 평가할 수 있는 제품이 거의 없다 전문지식이 부족한 수요자의 경우 단순히.

브랜드나 기업의 규모만을 보고 제품을 선정하는 경우가 있는데 창업 초기인 기업

의 경우 좋은 기술력을 보유하고도 제품 판매의 어려움을 겪게된다 이러한 애로.

사항은 시간이 흐르면 해결될 것으로 보인다 결국 어느 정도 시간이 흘러 시장이.

제 궤도에 오르면 각 사의 기술을 적용한 제품을 시장에서 쉽게 접할 수 있게 될

것이며 이럴 경우 기술력의 차이를 공정하게 평가받을 수 있기 때문이다.

Page 45: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 45 -

기대효과IV

현재 국내의 음성인식 시장은 규모에 비하여 너무 과열되는 현상이 빚어지고 있다.

많은 기업들이 음성인식 전문회사라는고 표명하며 시장에 뛰어들고 있으며 외국의

기업들로 덩달아 지사를 세우고 있다 아시아 지역에 지사가 전혀 없는 외국기업들.

조차 일본과 중국을 제처두고 한국에 지사를 세우는 실정이다 이처럼 과열되는 상.

황에서 제대로된 국내 기술의 개발이야말로 곧 바로 수입대체 효과로 이어진다고

할 수 있다 뿐만 아니라 원천기술을 개발하는 업체의 경우 이 원천 기술을 응용.

기술을 개발하는 업체에 라이센스하므로서 음성인식 제품이 다양하게 출시되게 하

므로서 음성인식 시장을 활성화하는 역할을 하게 될 것이다.

Page 46: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 46 -

첨부자료V.

말로하는인터넷 사용자 설명서1 . VoiceExplorer

사용자 설명서2. PalmVoice For PocktPC

팜플렛 및 제품 관련 기사 별책3. ( )

Page 47: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 47 -

말로하는 인터넷

VoiceExploere

사용설명서

음성으로 여는 편리한 세상

주 디앤엠테크놀로지( )

http://www.dnmtech.co.kr

Page 48: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 48 -

목 차

시작하기 전에0

기능 설명0.1

사용 환경0.2

제품에 포함된 내용물0.3

음성인식 기술에 대하여1

에 대하여2 VoiceExplorer

의 설치3 VoiceExplorer

빨리 사용해보기4 VoiceExplorer

실행하기4.1 VoiceExplorer

마이크 입력 볼륨 조절하기4.2

의 실행화면4.3 VoiceExplorer

음성으로 네이버 홈페이지로 이동하기4.4 “ ”

네이버 홈페이지 분석4.5 “ ”

뉴스 미디어 링크로 이동하기4.6 “ , ”

임의의 링크로 이동하기4.7

뒤로 가거니 앞으로 가기4.8 “ ” “ ”

끝내기4.9 VoiceExplorer

자세히 사용하기5 VoiceExplorer

가 인식할 수 있는 명령어5.1 VoiceExplorer

음성으로 인터넷 탐색기 제어하기5.1.1

음성으로 홈페이지에 접속하기5.1.2

음성으로 링크된 사이트에 접속하기5.1.3

명령어 관리하기5.2

인식 어휘 추가하기5.2.1

인식 어휘 편집하기5.2.2

인식 어휘 삭제하기5.2.3

음성 즐겨찾기에 추가하기5.2.4

Page 49: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 49 -

환경 설정하기5.3

마이크 입력 볼륨 설정하기5.4

명령어 리스크 창 토글하기5.5

인식이 안 되는 경우6

Page 50: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 50 -

시작하기 전에0.

기능 설명0.1

는 다음과 같은 특징이 있습니다VoiceExplorer .

보이는 모든 것을 말할 수 있습니다.■

링크된 단어뿐만 아니라 링크된 이미지도 번호를 이용하여 이동할 수 있습니다.

음성 즐겨찾기 목록■

유명한 인터넷 사이트는 미리 등록이 되어 있어 음성으로 곧바로 이동 가능하며,

새로운 사이트나 사용자만이 아는 사이트의 경우는 사이트의 이름과 을 입력URL

하는 것 만으로 음성으로 이동할 수 있습니다.

인터넷 탐색기 자체 명령어 음성인식■

즐겨찾기 추가 글자크게 뒤로가 등 인터넷 탐색기 자체 명령어를 음성으로“ ”, “ ”, “ ”

동작시킬 수 있습니다.

영어와 한자 음성인식■

만 단어의 영어사전을 이용하여 영어를 인식하며 한자로 된 단어도 음성인식 이25 ,

지원됩니다.

화자독립 무제한 음성인식 기술■

더 이상 사전에 사용자의 목소리로 훈련 시킬 필요가 없습니다 무제한 인식 기술.

덕분에 웹페이지 상의 모든 링크된 단어를 인식합니다.

핵심어 인식 기술■

사용자는 야후코리아 라고만 말할 필요가 없습니다 야후코리아로 이동해 어” ” . “ ”, “

디 야후코리아 좀 가볼까 와 같이 자연스런 문장으로 말할 수 있습니다.” .

음성인식 엔진SRH-1000■

은 의 핵심을 이루는 화자독립 가변어휘 핵심어 음성인식SRE-1000 VoiceExplorer

엔진입니다.

Page 51: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 51 -

사용환경0.2

를 사용하기 위해서는 다음과 같은 하드웨어와 소프트웨어가 필요합VoiceExplorer

니다.

운용체계 한글 한글 한글: Windows98/ Windows Me/ Windows2000■

브라우저 인터넷 탐색기 이상: MS 5.0■

시스템 이상의 호환 컴퓨터: Pentium II IBM-PC■

메모리 이상 권장: 32MB (64MB )■

의 여유 공간HDD: 20MB■

사운드카드 양방향 사운드카드: 16bit■

용 스피커PC■

제품에 포함된 내용물0.3

제품에는 다음과 같은 내용물이 들어 있어야 합니다VoiceExplorer .

설치VoiceExplorer CD-ROM■

헤드셋 마이크■

사용 설명서■

제품에 포함된 내용물은 기능 향상을 위하여 예고 없이 변경될 수 있습니다.※

Page 52: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 52 -

음성 인식 기술에 대해1.

대부분의 사람들은 음성인식 프로그램입니다 라고 하면 음성인식 프로그램이 자“ .”

신의 모든 말을 인식하기를 기대합니다 그러나 아직 현재의 기술로는 인간의 모. “ ,

든 음성을 인식하는 것은 불가능합니다 라고 하면 왜 아직도 불가능한지 의아해”

합니다 인간에게 있어서 음성인식은 숨을 쉬는 것 만큼이나 쉽고 자연스럽게 일어.

나는 일이지만 인간이 음성을 인식하는 과정을 산술적인 계산을 통해서만 알아내야

하는 컴퓨터에게는 패스파인더를 화성에 착륙 시키는 것보다 더 어려운 일일지도

모릅니다 따라서 음성인식 기술은 크게 가지 제약을 상호 가한 상태에서 발전하. , 3

여왔으며 이 제약 조건에 따라 음성 인식 기술이 분류됩니다 첫번째 제약은 인식.

가능한 어휘 수에 제약을 두는 것인데 인식기가 수십 단어만을 인식 할 수 있으면

소규모 어휘 음성인식 수만 단어 이상을 인식할 수 있으면 대규모 어휘 음성 인식,

이라고 합니다 두 번째는 화자에 대한 제약을 두는 것입니다 훈련에 참여한 한 사. .

람의 음성만을 인식할 수 있으면 화자 종속 모든 사람의 음성을 인식 할 수 있으,

면 화자 독립이라고 합니다 마지막으로 발음 형태에 대한 제약으로 인식 대상 어.

휘만을 단독으로 발음해야만 하는 것을 고립 단어 방식 자연스럽게 발음해도 인식,

이 가능한 것을 연속 음성 인식이라고 하며 발음한 문장 안에 인식 대상 어휘가 포

함되어 있으면 이를 인식 하는 방식을 핵심어 인식이라고 합니다.

는VoiceExplorer 가변어휘 방식의 화자독립 핵심어 방식 음성인식 기술을 사용함으

로써 인식하고자 하는 어휘에 대한 문자 정보만을 제공해주면 모든 사용자가 비교, ,

적 융통성을 가지고 발음한 음성을 인식할 수 있습니다.

그럼 이제 음성인식의 세계로 들어가 보겠습니다 단 음성인식 기술이 복잡한 사용. ,

법을 일일이 배우지 않고도 컴퓨터를 쉽게 쓰게하기 위한 것이기는 하지만 위에서,

설명한 것 처럼 아직 음성인식 기술이 완벽하지 못하므로 음성인식 기술을 잘 이용

하기 위해서는 일단 음성인식기를 사용하는 방법을 익히는 것이 중요합니다 어떤.

분은 이를 두고 앓느니 죽지 라고 할 분도 계실지 모르나 이는 잘못된 생각입니“ ”

다 왜냐하면 컴퓨터 자체를 배우는 것은 시간도 오래 걸리고 어렵지만 컴퓨터를. ,

쉽게 사용하기 위한 도구로서의 음성인식기를 사용하는 방법 이나 요령은 약간의

관심만으로도 배울 수 있기 때문입니다 따라서 인식이 잘 안될 경우 사용설명서를. ,

충분히 읽으신 후 이렇게 저렇게 사용해 보시면서 요령을 익히시면 음성인식 기술

이라고 하는 것이 인간을 편하게 해 주는 기술이라는 것을 느끼게 되실 것 입니다.

Page 53: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 53 -

에 대해2. VoiceExplorer

는 마이크로소프트사의 윈도우즈에서 기본으로 제공하는 브라우VoiceExplorer Web

저인 인터넷 탐색기를 음성 인식 브라우저로 바꾸어주는 프로그램으로 사용자가 음

성만으로도 인터넷을 항해 할 수 있도록 도와줍니다 다음은 를 사용. VoiceExplorer

하여 할 수 있는 일들입니다.

음성으로 자주 가는 사이트에 접속할 수 있습니다.■

자주 접속하는 사이트의 이름을 말하면 바로 접속합니다.

음성으로 페이지내의 모든 하이퍼링크로 이동할 수 있습니다web .■

페이지내의 모든 하이퍼링크를 음성으로 이동할 수 있습니다 가령 조선일보Web . “ ”

사이트에 접속한 후에 특정 기사의 내용을 보고 싶다면 그 기사와 관련 있는 인식

어휘만을 발음하면 원하는 링크로 이동하게 됩니다.

음성으로 인터넷 탐색기를 제어할 수 있습니다.■

페이지를 뒤로 이동하거나 앞으로 이동하는 것과 같이 인터넷 탐색기 명령을Web

음성으로 지시할 수 있습니다

Page 54: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 54 -

의 설치3. VoiceExplorer

제공된 에서 를 실행하십시오 다음과 같이 설치를 도와주는 설치CD “setup.exe" .

마법사가 실행됩니다.

설치 과정은 설치프로그램에서 지시하는 대로 따르기만 하면 쉽게 설치할 수 있습

니다.

설치가 끝나면 바탕화면에 다음과 같은 아이콘이 생성됩니다VoiceExplorer .

Page 55: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 55 -

빨리 사용해보기4. VoiceExplorer

는 인터넷 탐색기에 음성 인식 기술을 추가함으로써 음성 명령으로VoiceExplorer

인터넷을 항해할 수 있도록 도와주는 프로그램입니다 바꾸어 말하면 인터넷 탐색.

기에 인간의 귀에 해당하는 기능을 부여하는 소프트웨어입니다 따라서 컴퓨터에. ,

익숙하지 않거나 익숙하더라도 좀더 편리하게 컴퓨터를 사용하고자 하는 사용자에,

게 음성으로 브라우저를 조작하여 인터넷을 항해할 수 있도록 도와줍니다.

다음의 예제에서는

■ VoiceExolorer를 실행하고

음성으로■ 네이버에 접속한 후

뉴스 미디어 링크로 이동했다가■

뒤로 가거나■

혹은 임의의 링크로 가는■

예제를 설명함으로써 를 빨리 사용해 볼 수 있도록 도와줍니다VoiceExplorer .

Page 56: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 56 -

실행하기4.1. VoiceExplorer

를 실행하기 위해서는VoiceExplorer

바탕화면의 아이콘을 더블 클릭 하세요1. VoiceExplorer .

참고로 음성인식 기능을 사용하고 싶지 않은 경우에는 그냥 인터넷 탐색기를 실행,

하시면 됩니다 가 처음 실행되었다면 가 정상적으로 동. VoiceExplorer VoiceExplorer

작하기 위해 사용자의 성별과 마이크 입력 볼륨을 설정하게 됩니다.

사용자의 성별을 설정하세요 성별은 이후에도 변경이 가능합니다2. ( )

다음 버튼을 누르세요3. “ ” .

Page 57: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 57 -

Page 58: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 58 -

마이크 입력 볼륨 조절하기4.2.

는 마이크를 통해 입력된 음성을 인식하게 되는데 이때 입력된 음성VoiceExplorer

이 너무 작거나 크면 무슨 말인지 잘 알아듣지 못합니다 그러므로. , VoiceExplorer

가 올바로 작동하기 위해서는 반드시 마이크 입력 볼륨을 적당한 크기로 조정해 주

십시오.

마이크 사용하기■

음성인식이 잘 되기위해서는 제공된 헤드셋마이크를 제대로 착용하여야 합니다 우.

선 마이크의 높이는 아래 입술 바로 밑 정도가 적당하며 거리는 입술과 마이크 사,

이에 손가락 하나가 들어갈 정도로 간격을 유지하십시오.

볼륨 설정 요령■

안녕하세요 란 발음을 하면서 조정하십시오 가 음성을 검출하면“ ” . VoiceExplorer

음성검출 신호 파형 창에 검출된 음성파형이 그려지고 란에는 입력된 볼륨의Score

크기를 표시하는데 이때의 값 이 되도록 마이크의 볼륨을 조정Score 10000-20000

하세요.

가 꺼져 있을 경우는 일반적으로 볼륨크기가 작아집니다 따라서 아무리 입력AGC .

볼륨을 높여도 적당한 값이 얻어지지 않으면 를 켜보십시오Score AGC .

Page 59: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 59 -

Page 60: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 60 -

의 실행화면4.3. VoiceExplorer

가 실행되면 다음과 같은 개의 창으로 구성됩니다VoiceExplorer 4 .

인터넷 탐색기■

■ 명령어 리스트 창 음성으로 이동 가능한 홈페이지와 기본 명령어를 보이는 창( )

■ 입력레벨을 나타내는 창 마이크를 통해 입력 되는 신호의 크기를 보이는 창( )

■ 인식된 결과 및 현재 마이크 입력 볼륨의 크기를 나타내는 창 으로 구성되어 있

습니다.

Page 61: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 61 -

Page 62: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 62 -

음성명령으로 네이버 홈페이지로 이동하기4.4. “ ”

명령어 리스트 창에 있는 홈페이지중의 하나를 발음하면 해당 사이트로 이동하게

됩니다 여기서는 일단. “네이버 홈페이지를 음성 명령을 접속하도록 하겠습니다” .

1. 네이버 라고 발음합니다“ ” .

정상적으로 발음하였다면2. 인식된 결과가 인식 결과 창에 출력되고 네이버 홈“ ”

페이지로 이동하게 됩니다.

인식이 안되었거나 잘못되었다구요 아마 다시 한번 자연스럽게 발음하시면 인식이?

될 것입니다.

Page 63: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 63 -

네이버 홈페이지 분석4.5. “ ”

네이버 홈페이지로 이동을 완료하면 다음과 같이“ ” _페이지를 분석 중이라는 메시지

가 나타나면서 페이지를 분석하여 페이지내의 모든 링크에 대한 인식 어휘를 추출

하는 과정에 들어갑니다.

이렇게 페이지를 분석하는 중에는 그림 처럼 노란색 윈도우가 떠 있는 동안( ) 음성

입력을 받아들이지 않습니다 따라서 만약 발음하는 도중에 이 노란색 윈도우를 만. ,

나게 되면 인식이 되지 않을 수도 있습니다.

Page 64: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 64 -

뉴스 미디어 링크로 이동하기4.6. “ , ”

네이버 페이지에 대한 분석이 완료되면 다음과 같이 인식 가능한 어휘는 색깔이“ ”

빨간색으로 변하고 밑줄이 생기거나 숫자가 쓰여진 노란색 풍선으로 표시됩니다.

이때 빨간색으로 변경되고 밑줄이 그어진 단어를 발음하면 그에 해당하는 링크로

이동하게 됩니다 여기서는 뉴스 미디어 링크로 이동하고자 하므로 빨간색 밑줄. “ , ”

로 표시된 뉴스미디어“ ” 라고 발음합니다. 노란색 풍선속의 번호는 그림하나“ ”,

그림둘 그림열셋“ ”, “ ” 과 같은 방식으로 발음하면 됩니다 즉 그림 이란 접두어. “ ”

를 앞에 붙이고 숫자를 기수로하여 발음하면 됩니다.

Page 65: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 65 -

임의의 링크로 이동하기4.7.

뉴스 미디어 링크로 이동하면 절에서 설명한 페이지 분석과정을 거쳐 모든“ , ” 4.5

링크에 대해 인식 가능한 어휘를 선정하고 이를 빨간색 밑줄로 표시하게 됩니다.

이 상태에서 이동하고자 하는 링크가 있다면 빨간색으로 표시된 단어를 발음하십시

오.

Page 66: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 66 -

뒤로 가거나 앞으로 가기4.8. “ ” “ ”

뒤로 가거나 앞으로 가기 혹은 페이지의 다운로드를 중지하는 것과 같은 인터“ ” “ ”

넷 탐색기 명령을 다음과 같이 실행할 수 있습니다.

뒤로 이동하기 위해서는 뒤로가 라고 발음하고“ ” “ ” ,

앞으로 이동하기 위해서는 앞으로가 라고 발음하면 됩니다“ ” “ ” .

여기서는 뒤로 이동하고자 하므로 뒤로가 라고 발음하여 보십시오“ ” .

Page 67: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 67 -

끝내기4.9. VoiceExplorer

를 끝내는 방법은 두 가지가 있습니다 첫번째는 음성명령을 이용하VoiceExplorer .

는 것입니다 인터넷 탐색기가 활성화 되어 있을 경우 윈도우닫기 라는 명령어를. “ ”

이용하여 음성으로 를 종료할 수 있습니다 만약 인터넷 탐색기가 여VoiceExplorer .

러 개 실행되어 있었을 경우 마지막 인터넷 탐색기가 종료될 때 도VoiceExplorer

함께 종료됩니다.

두 번째는 바탕화면 우측 아래에 있는 의 인식 결과를 나타내주는 창VoiceExplorer

에 마우스의 오른쪽 버튼을 이용하여 클릭을 하면 메뉴가 나타납니다 여기서 종료.

를 선택하면 가 종료 됩니다 이 경우는 인터넷 탐색기 자체는 종료VoiceExplorer .

되지 않습니다.

Page 68: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 68 -

자세히 사용하기5. VoiceExplorer

는 사람의 음성 명령을 인식하고 그에 적당한 행동을 하지만 사람이VoiceExplorer

아니므로 다음의 사항을 잘 알고 있어야 합니다.

사용자가 알려준 웹사이트 이름과 현재 인터넷 탐색기 창에 보이는 단어만을 인■

식합니다 하지만 현재 나타난 임의의 웹페이지에서 링크된 어떠한 단어도 인식할.

수 있습니다.

적당한 크기로 입력되는 음성 신호만을 인식할 수 있습니다 마이크의 입력볼륨.■

을 적절히 조절하는 것은 아주아주 중요합니다.

인식 대상이 아닌 단어에 대해서는 오작동을 할 수도 있습니다 컴퓨터에서 동.■

작하는 음성인식기는 지금 한 말이 컴퓨터 자신에게 한 말인지 아니면 옆 사람에게

한 말인지를 구분할 수 없습니다 가령 컴퓨터에게 명령을 내리다가 옆 사람이 말. ,

을 걸어와 이야기를 하면 컴퓨터는 자신에게 이야기를 하는 줄 알고 나름대로 열심

히 고민하다가 컴퓨터가 판단하기에 적절하다고 여겨지는 명령어를 수행하게 될 수

도 있습니다 따라서 옆 사람과 어느 정도 이야기하다 컴퓨터 모니터를 보면 자신. ,

도 모르게 여러가지 일이 벌어져 있을 지도 모릅니다 이런 경우에는 인식중지. “ ”

라는 명령어를 이용하여 잠시 컴퓨터의 인식기능을 일부 정지시키면 됩니다.

Page 69: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 69 -

가 인식 할 수 있는 명령어5.1 VoiceExplorer

앞서 언급한대로 는 모든 단어를 인식할 수 있는 것이 아니라 다음VoiceExplorer ,

과 같이 명령어 리스트창의 단어들과 현재 활성화된 인터넷 탐색기에서 빨간색으로

밑줄이 그어진 단어나 숫자가 그려진 풍선속의 번호를 인식할 수 있습니다.

명령어 리스트창의 명령을 음성으로 내리고 싶으면 그에 해당하는 단어를 발음하면

됩니다 예를 들어 네이버 에 접속하고 싶으면 네이버 라고 발음하면 되고 뒤. “ ” “ ” “

로 가고 싶으면 뒤로가 라고 명령하면 됩니다” “ ” .

웹페이지 내에 있는 빨간색이면서 밑줄이 그어진 링크를 음성 명령으로 이동하고

싶으면 빨간색이면서 밑줄이 그어진 단어에 포함되어 있는 한글만을 발음하면 됩니

다 가령. 뉴스 라고 되어 있으면 뉴스 라고 발음하면 되고“ ” 뉴스 미디어& 또는 뉴

스 미디어/ 또는 뉴스 미디어[ ] 라고 되어 있으면 뉴스미디어 라고 발음하면 됩니“ ”

다 즉 한글만 발음하면 됩니다. .

숫자가 쓰여진 풍선 속의 번호를 발음할 때는 그림 하나 그림 둘 그림 셋“ ”, “ ”, “ ”

과 같이 그림 이라는 접두어 뒤에 숫자에 대한 기수를 발음하면 됩니다... “ ” .

Page 70: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 70 -

음성으로 인터넷 탐색기 제어하기5.1.1

인터넷 탐색기가 활성화된 상태에서 명령어 리스트창의 명령어IE 리스트에 있는

단어를 발음하면 음성으로 인터넷 탐색기를 제어할 수 있습니다.

뒤로 가기 위해서는 뒤로가 라고 명령하고“ ”

앞으로 가기 위해서는 앞으로가 라고 명령하면 됩니다“ ” .

명령어 이름 명령어의 기능

뒤로가 뒤로 이동합니다앞으로가 앞으로 이동합니다.중지 연결을 중지합니다.표준단추 표준단추바를 보이거나 숨깁니다.즐겨찾기 즐겨찾기를 보이거나 숨깁니다.열어본 페이지 목록 열어본 페이지 목록을 보이거나 숨깁니다.즐겨찾기 추가 즐겨찾기 추가를 실행합니다.홈페이지 추가 음성 즐겨 찾기를 실행합니다.전체화면 전체화면을 실행합니다.화면복귀 화면복귀를 실행합니다.윈도우닫기 윈도우를 답습니다.페이지 아래로 한 페이지 내립니다.페이지 위로 한 페이지 올립니다.아래로 선택을 한줄 아래로 합니다.위로 선택을 한줄 위로 합니다.확인 키를 시뮬레이션합니다ENTER .취소 취소 또는 키를 시뮬레이션합니다ESC .아니오 키를 시뮬레이션 합니다N .글자 크게 글자를 크게 합니다.글자 작게 글자를 작게 합니다.글자 보통 글자를 보통으로 합니다.인식 중지 잠시 인식을 중지합니다.인식 재기 인식을 재개합니다.명령어 리스트 명령어 리스트 창을 보이거나 숨깁니다.

주의 사항※

명령어를 사용할 때에는 반듯이 인터넷 탐색기가 활성화되어 있어야 합니다 그IE .

리고 인터넷 탐색기기 전체화면으로 되어 있을 때에는 위의 명령어 중 일부는 동작

하지 않습니다.

Page 71: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 71 -

인식 중자 와 인식 재개 명령어‘ ’ “ ”■

인식 중지 명령어는 를 사용하다가 잠시 인식을 중지할 때 사용합“ ” VoiceExplorer

니다 가령 헤드셋마이크를 쓴 상태에서 타인과 얘기를 하면 마이크로는 계속 입력.

이 들어가므로 오동작할 가능성이 커집니다 이런 경우에 인식 중지 라고 명령하. “ ”

여 잠시 인식을 중지합니다 이렇게 인식 중지 상태에서 다시 인식을 시작하려면.

인식 재개 라고 발음하면 인식을 계속할 수 있습니다“ ” .

중지“ ”■

인터넷 속도가 느릴 경우 특정 인터넷 사이트에 연결되어 페이지 내용이 모두 전,

송되는데 다소 시간이 걸릴 수 있습니다 그리고 페이지를 분석하기 위해서는 한.

페이지 내용의 전송이 완료되어야 하므로 속도가 느린 곳에서는 다소 불편할 수 있

습니다 이럴 경우에는 페이지의 내용이 일부만 전송된 상태에서 중지 라고 명령. “ ”

을 하면 현재까지 전송된 내용이 분석되고 사용자는 그때까지 전송된 내용 중에 원

하는 링크로 이동 할 수 있습니다 하지만 이렇게 페이지 내용이 전송되고 있는 중. ,

간에도 이미 등록되어 있는 홈페이지로의 이동이나 인터넷 탐색기 메뉴와 관련된

명령어들은 전송 완료와 관계없이 인식이 가능합니다.

아래로 위로 확인“ ”, “ ”, “ ”■

다음과 같은 콤보박스에서는 아래로 나 위로 를 이용하여“ ” “ ”

원하는 항목으로 이동하신 후 확인 을 이용하여 선택하십시“ ”

오.

Page 72: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 72 -

음성으로 홈페이지에 접속하기5.1.2

음성 명령으로 홈페이지에 접속하기 위해서는 명령어 리스트창의 홈페이지리스트에

있는 단어를 발음하면 됩니다 이렇게 음성으로 이동 가능한 홈페이지를 추가하거.

나 삭제하기 위해서는 의 명령어 관리하기를 참조하세요5.2 .

주의 사항※

반드시 명령어 리스크 창의 홈페이지에 보이는 단어만을 발음하세요 가령 가고자. ,

하는 홈페이지가 리스트에 없다면 과정을 통해 등록한 후에 발음하세요 야5.2 . “

후 에 접속하고 싶은데 명령어 리스트에는 야후 코리아 라고 나와 있으면 야후” “ ” “

코리아 라고 발음하세요” .

Page 73: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 73 -

Page 74: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 74 -

음성으로 링크된 사이트에 접속하기5.1.3

인터넷 탐색기에서 빨간색이면서 밑줄쳐진 단어이거나 숫자가 그려진 풍선 이미지

는 인식이 가능한 단어입니다 따라서 빨간색이면서 밑줄이 그어진 단어를 발음하.

면 해당 링크를 마우스로 클릭한 것 처럼 이동하게 되며 숫자가 그려진 풍선 이미

지 속의 번호는 그림 기수 의 형태로 발음하면 됩니다 가령 이미지 속의 숫자“ + ” .

가 이라면 그림 하나 라고 발음하고 이라면 그림 스물 과 같이 발음하면1 “ ” 20 “ ”

됩니다.

Page 75: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 75 -

명령어 관리하기5.2

음성 명령으로 원하는 홈페이지에 직접 접속하기 위해서는 사용자가 무엇을 발음할

지와 어디로 이동할지에 대한 정보를 에 알려주어야 합니다 이는VoiceExplorer . 인

식 어휘 관리 대화상자를 통해서 이루어집니다.

인식 어휘 관리기에서는 다음과 같이 새로운 홈페이지를 추가하거나 기존의 홈페이

지를 편집하거나 삭제할 수 있습니다.

Page 76: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 76 -

Page 77: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 77 -

인식 어휘 추가하기5.2.1

음성 명령으로 원하는 홈페이지에 접속하기 위해서는 다음과 같이 어휘추가 메뉴“ ”

를 선택한 후에 무엇을 말할지와 어디로 이동할지에 대한 정보를 기입하면됩니다.

주의 사항※

홈페이지 이름은 반드시 한글로 기입하세요 가령 의 경우 이비에쓰 라고 기. , EBS “ ”

입하십시오.

Page 78: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 78 -

인식 어휘 편집하기5.2.2

기존의 홈페이지에 대한 이 변경되거나 이름을 바꾸기 위해서는 어휘편집 명URL “ ”

령어를 실행합니다.

주의 사항※

홈페이지 이름은 반드시 한글로 기입하세요 가령 의 경우 이비에쓰 라고 기. , EBS “ ”

입하십시오.

Page 79: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 79 -

인식 어휘 삭제하기5.2.3

등록된 어휘를 인식 대상에서 제거하기 위해서는 어휘삭제 를 이용합니다“ ” .

Page 80: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 80 -

음성 즐겨찾기에 추가하기5.2.4

음성 즐겨찾기는 어휘 관리기에서 새로운 어휘를 추가하는 것과 동일한 역할을 합

니다 단지 한번의 명령으로 쉽게 음성 즐겨찾기에 추가할 수 있습니다 그림처럼. .

메뉴를 통하여 실행할 수 있을 뿐만 아니라 홈페이지 추가 라는 음성명령어를 이“ ”

용하여 실행시킬 수도 있습니다 이 경우 현재 인터넷 탐색기에 나타나있는 페이지.

의 이 자동으로 입력창에 삽입이 됩니다 그러고 인터넷 익스플로러의 타URL URL .

이틀바에 나타나 있는 글자가 한글일 경우 그 내용을 홈페이지 이름 입력창에 자동

으로 삽입합니다 새로운 이름으로 바꾸거나 나타난 내용을 수정 편집하여 사용하.

실 수 있습니다.

Page 81: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 81 -

환경 설정하기5.3

에서는 다음과 같은 환경 설정을 필요로 합니다VoiceExplorer .

성별 선택■

를 사용하는 사용자가 남성인지 여성인지를 선택합니다 만일 성별이VoiceExplorer .

올바르지 못하면 인식 성능이 크게 저하되므로 주의하세요.

거부 기능■

거부 기능이란 사용자가 인식 대상 어휘이외의 단어를 발음했을 때에는 아무런 반

응을 취하지 않도록 하는 기능을 말합니다 이는 사람에게는 너무나 당연한 일이나.

음성 인식 시스템에서는 매우 어려운 일입니다 거부 기능을 사용하지 않으면 입력.

된 발음에 대해서 그 발음이 인식 대상이 아니더라도 일단 인식 대상 어휘와 비교

하여 가장 가깝다고 여겨지는 단어에 해당하는 행동을 취하게 됩니다 반면 거부기. ,

능을 사용할 때에는 거부율에 따라 인식 대상 어휘가 아닌 단어가 발음된 경우에

이를 거부하게 됩니다 이때 거부율이 낮으면 부정확하게 발음된 인식어휘에 대하. ,

여도 동작하지만 인식 어휘가 아닌 단어가 입력된 경우에도 인식대상 중에 하나로,

인식하여 오동작할 수 있습니다 반면 거부율이 높으면 인식대상이 아닌 어휘의 입.

력에 대한 오동작은 줄어들지만 인식 어휘를 정확히 발음해야만 인식이 가능해집니

다.

인식 모드■

고립 단어 인식이란 인식 대상어휘만을 발음한 경우에 정확한 인식을 할 수 있는

방식입니다 예를 들어 인식 어휘 중에 네이버 로 이동하고 싶으면 네이버 라. “ ” “ ”

고만 발음해야 네이버 로 이동하는 방식입니다 반면 핵심어 인식 모드에서는 사“ ” .

용자가 어느 정도 부주의하게 발음한 경우에도 이를 인식할 수 있는 방식으로 네“

이버로 이동해 라든지 어 네이버요 와 같이 발음한 문장 속에 인식 대상 어휘가” “ ”

포함되어 있으면 이를 인식하는 방식 입니다 고립 단어 방식은 발음상의 제약을.

두지만 인식 속도가 빠른 장점이 있습니다 핵심어 인식 모드의 경우 인식속도가.

느려집니다.

풍선 이미지■

그림이나 콘트롤들의 경우 번호를 매기기 위하여 풍선모앙의 이미지를 사용합니다.

이 옵션을 이용하여 풍선 이미지가 삽입되지 않도록 할 수 있습니다.

음성 메시지■

음성명령이 인식된 후 음성 메시지를 출력할 지를 설정할 수 있습니다.

Page 82: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 82 -

마이크 볼륨 자동 조절■

사용자가 설정한 마이크 볼륨을 기준으로 하여 어느 정도 마이크의 볼륨을 자동으

로 조절합니다 단 자동 조절 기능을 설정하더라도 절을 참조하여 처음 한번은. , 5.4

마이크 볼륨을 수동으로 조절하셔야 합니다.

Page 83: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 83 -

Page 84: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 84 -

마이크 입력 볼륨 설정하기5.4

마이크 입력 볼륨은 와 같은 음성인식 프로그램에서는 매우 중요합니VoiceExplorer

다 마이크 입력볼륨이 너무 작거나 지나치게 크면 인식을 제대로 하지 못하게 되.

므로 적당한 입력 볼륨을 설정하는 것이 매우 중요합니다 마이크 입력 볼륨을 설.

정하기 위해서는 다음과 같이 안녕하세요 라고 발음하면서 음성이 검출되는 지를“ ”

확인하고 음성이 검출되었을 때 그 스코어 값이 사이에 오도록 마이10000-20000

크 볼륨을 설정하세요.

한편 음성인식이 잘 되기위해서는 제공된 헤드셋마이크를 제대로 착용하여야 합니,

다 우선 마이크의 높이는 아래 입술 바로 밑 정도가 적당하며 거리는 입술과 마이. ,

크 사이에 손가락 하나가 들어갈 정도 떨어지게 하십시오.

Page 85: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 85 -

Page 86: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 86 -

명령어 리스크 창 토글하기5.5

명령어 리스트창에는 음성으로 인터넷 탐색기를 제어하기 위한 명령어와 음성으로

이동이 가능한 홈페이지에 대한 리스트를 보여주고 있습니다 이 명령어 리스트 창.

은 메뉴 명령어를 통해서 보이게하거나 감출 수 있습니다.

음성으로 명령어 리스트 라고 발음하여도 같은 결과를 얻을 수 있습니다“ ” .

Page 87: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 87 -

인식이 안 되는 경우6.

오인식되거나 발음을 해도 전혀 반응하지 않는 경우에는 다음 사항을 살피세요.

사용자의 성별이 정확히 설정되었는지 확인하세요1. .

남성이면 남성으로 여성이면 여성으로 설정하십시오.

마이크 입력 볼륨을 적당히 맞추세요2. .

발음을 해도 아무런 반응이 없는 경우에는 마이크 입력 볼륨을 높이고 인식 결과

창이 목소리 큼이라고 너무 자주 나오거나 특별히 말을 하지 않았는데도 불안정,

하게 이상한 동작을 할 경우 마이크 볼륨을 낮추십시오.

거부기능이 너무 높지 않은지 확인하세요3. .

거부기능을 사용하고 거부율이 높으면 인식이 잘 안되는 경우가 있습니다 이런 경.

우에는 거부율을 낮추세요 그래도 인식이 안되거나 반응이 없으면 거부 기능을 끄.

세요.

말하는 도중 페이지분석을 위한 노란색 창을 만났다면 이 경우는 인식이 되지4.

않을 수 있습니다.

페이지가 모두 전송이 되면 아주 짧은 순간 페이지를 분석하게 되는데 이순간에만

모든 인식이 잠시 중지됩니다 간혹 인터넷 속도가 느려 페이지가 모두 전송되는.

것을 기다리지 못하고 중간에 다른 사이트로 이동이나 중지 와 같은 명령을 하게“ ”

되는데 이런 경우 말하는 도중 노란색 창을 만날 수도 있습니다 이런 경우 노란색.

창이 사라진 후 다시 말하면 됩니다.

영어 발음의 경우에는 처럼 발음하려고 노력하지 않아도 됩니다5. native speaker .

에서 사용하는 영어 음성인식엔진은 우리나라 사람들이 발음하는 소VoiceExplorer

위 콩글리쉬 발음에 적합하도록 되어있으므로 우리나라 사람들이 말하는 영어에“ ” ,

발음에 대하여는 를 위한 영어 음성 인석기보다 인식률이 높습니다native speaker .

Page 88: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 88 -

PalmVoice

For Pocket PC

사용자 설명서

음성으로 여는 편리한 세상

주 디앤엠테크놀로지( )

Page 89: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 89 -

머리말

용 음성 인식 소프트웨어Pocket PC PalmVoice

PalmVoice 는 Pocket PC 를 기반으로 하는 음성 인식 프로그램으로서 사용자가

음성 명령으로 특정 프로그램을 실행하고 미리 정의된 키보드 매크로를 실행할 수,

있으며 Pocket PC 에서 기본으로 제공하는 인명 정보 데이터 베이스를 검색하여

음성으로 전화를 걸거나 전자우편을 보낼 수 있습니다.

PalmVoice 는 화자 독립 어휘 독립 고립단어 방식의 음성인식 기술을 사용하면서

도 최소한의 시스템 자원을 사용하도록 설계된 SRE1000 for Pocket PC 음성인식

엔진을 사용함으로써 시스템 자원이 열악한 Pocket PC 장치에서도 무리 없이 사용

할 수 있습니다.

년 월2001 6

D&M Technology

Page 90: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 90 -

시작하기 전에1.

의 특징1.1 PalmVoice

음성인식 엔진 사용SRE1000 For Pocket PC■

는 디앤엠테크놀로지에서 개발한 용 화자 독SRE1000 For Pocket PC Pocket PC

립 어휘독립 고립단어 방식의 음성인식 엔진으로 사용자가 인식하고자 하는 어휘

에 대한 별도의 음성 훈련 없이도 문자정보만을 입력함으로써 인식할 수 있는 음성

인식 엔진입니다.

최소의 시스템 자원 사용■

는 최소의 시스템 자원을 사용하도록 설계되었으므로 와 같PalmVoice Pocket PC

이 시스템 자원이 열악한 환경에서도 시스템 자원에 부담을 주지 않습니다.

의 실행에는 약 의 메모리가 소요되며 화자 독립용 음성 를PalmVoice 200KB DB

저장하기 위해 정도의 메모리를 사용합니다500KB storage .

최적화된 인식 알고리즘■

는 음성 인식과 관련된 복잡한 알고리즘을 최적화하여 사용자의 말이PalmVoice

끝남과 거의 동시에 인식을 완료함으로써 실용적으로 사용할 수 있습니다.

첨단의 음성 인식 알고리즘■

는 첨단의 음성인식 기술을 적용하여 가 주로 사용되는 환경PalmVoice Pocket PC

인 잡음이 존재하는 실외에서도 높은 인식률을 제공합니다.

다양한 명령어 추가 기능■

는 에서 제공하는 기본 프로그램외에도 사용자가 응용 프PalmVoice Windows CE

로그램 및 키보드 매크로를 추가할 수 있으며 의 인명 관련 를 음Windows CE DB

성으로 검색할 수 있어 음성으로 전화를 걸거나 전자우편을 편리하게 보낼 수 있습

니다.

Page 91: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 91 -

시스템 사양1.2

를 사용하기 위해서는 다음과 같은 하드웨어와 가 필요합니다PalmVoice OS .

시스템 오디오 입출력 장치가 포함된: Pocket PC■

최소 이상 설치 및 실행 포함RAM : 1MB ( )■

운영체제 이상: Windows CE 3.0■

의 동작 원리1.3 PalmVoice

는 기반에서 응용프로그램 키보드매크로 및 인명 데이터베PalmVoice Pocket PC ,

이스를 음성 명령으로 실행 하거나 검색해주는 음성 인식 프로그램으로 화자독립,

어휘 독립 고립단어 방식의 음성인식 알고리즘을 사용하고 있습니다 화자 독립 어, .

휘 독립이란 사용자가 인식을 원하는 발음을 사전에 훈련하는 과정이 필요 없이 곧

바로 사용할 수 있는 것이고 고립 단어 인식이란 사용자가 인식하고자 하는 어휘,

만을 단독으로 발음한 음성을 인식하는 기술입니다 따라서 를 사용하. , PalmVoice

기 위해서 별도의 훈련 과정없이 바로 사용하실 수 있습니다.

Page 92: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 92 -

설치하기2. PalmVoice

를 설치하는 과정은 일반 응용프로그램을 에 설치하는 과정PalmVoice Pocket PC

과 동일하므로 자세한 사항은 하드웨어 설명서를 참조하기 바랍니다 다음은.

를 에 설치하는 과정입니다PalmVoice Pocket PC .

를 데스크 탑 컴퓨터에 연결하십시오1. Pocket PC .

용 디스켓을 삽입하고 를 실행하십시오2. PalmVoice Setup Setup.exe .

대화상자에서 버튼을 누르십시오 프로그램이3. Setup Install PalmVoice . Setup

필요한 모든 파일을 연결된 로 복사할 것 입니다Pocket PC .

Page 93: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 93 -

사용하기에 앞서3. PalmVoice

를 올바로 사용하기 위해서는 다음과 같이 몇 가지 환경을 설정해야합니PalmVoice

다.

스크린 탭 사운드 끄기3.1

대부분의 가 용 오디오 장치를 지원하지 않으므로 오디오Pocket PC Full-duplex

입력 장치와 출력장치를 동시에 열게 되면 충돌하여 프로그램이 정지하는 현상이

발생하는 경우가 있으므로 다음과 같이 스크린 탭 사운드를 없앱니다.

의 메뉴를 누른 다음 메뉴를 클릭하십시오1. Pocket PC Start Setting .

를 클릭하세요2. Sounds & Reminders .

항목에서 를 그림 과 같이 마킹 된 부분3. Enable sounds for : Screen taps [ 3.1]

을 해제 시켜주세요.

Page 94: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 94 -

그림 오디오 설정[ 3.1]

Page 95: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 95 -

켜기3.2 AGC

정확한 음성을 인식하기 위해서는 왜곡됨이 없는 음성신호가 입력 되어야 하는데

대부분의 장치들이 단순한 음성 레코딩을 목적으로 함으로 입력되는 신Pocket PC

호가 왜곡되는 경우가 많습니다 는 큰소리를 작게 작은 소리는 크게 자동으. AGC

로 조절함으로써 신호의 왜곡을 줄여주게 되므로 를 켜야만 정확한 인식이 가AGC

능합니다.

의 메뉴를 누른 다음 메뉴를 클릭하십시오1. Pocket PC Start Setting .

메뉴에서 항목을 클릭한 다음 를 선택합니다2. Setting System Microphone AGC .

를 로 설정합니다3. Microphone AGC Enable .

세팅하기3.3 Buttons

를 효과적으로 사용하기 위해서는 기존의 레코딩 버튼을 로PalmVoice PalmVoice

연결하는 것이 바람직합니다 이렇게 연결한 후에 실행하거나 검색하고자 하는 사.

람이 있으면 단순히 버튼을 누른 후에 원하는 단어를 발음하면 됩니다.

의 메뉴를 누른 다음 메뉴를 클릭하십시오4. Pocket PC Start Setting .

아이콘을 클릭하세요5. Buttons .

를 선택한 다음 바로 아래 부분에 있는 항목에6. Button 5 , “Button assignment:"

서 를 선택하십시오PalmVoice .

Page 96: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 96 -

그림 세팅[ 3.3] Buttons

Page 97: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 97 -

빨리 사용해 보기4. PalmVoice

실행하기4.1 PalmVoice

이제 를 사용하기 위한 기본 설정을 마쳤으므로 를 사용해PalmVoice PalmVoice

음성 명령으로 응용프로그램을 실행하거나 인명 를 검색하는 방법을 알아봅니DB

다.

먼저 에서 인식 가능한 어휘가 무엇이며 그 어휘를 잘 인식하는지 테스PalmVoice

트하는 과정을 살펴본 후에 실제로 음성 명령을 내리는 과정을 살펴보도록 합니다.

의 버튼을 사용하여 실행하기4.1.1 Pocket PC

에서 에 를 연결하였다면 다음 그림과 같이 의3.1 Button5 PalmVoice , Pocket PC

왼쪽 위에 있는 버튼 을 누르면 가 실행됩니다(Button5) PalmVoice .

그림 의 버튼을 사용하여 실행하기[ 4.1.1] Pocket PC

Page 98: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 98 -

메뉴를 이용하여 실행하기4.1.2

그림 메뉴를 이용하여 실행하기[ 4.1.2]

실행결과 화면4.1.3 PalmVoice

를 실행하고 나면 다음과 같이 아이콘이 생성됩니다 만일PalmVoice PalmVoice . ,

가 맨 처음 실행된 경우에는 그림 의 화면이 표시됩니다PalmVoice [ 4.2] .

Page 99: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 99 -

그림 의 실행결과 화면[ 4.1.3] PalmVoice

명령어 인식 테스트하기4.2

가 처음에 실행되었거나 트레이 속의 를 더블클릭하면 그PalmVoice PalmVoice [

림 와 같이 상단에는 트리뷰와 하단의 리스트 뷰가 보이게 됩니다 상단의 트4.2] .

리뷰는 에서 인식 가능한 어휘들의 속성을 분류해주며 하단의 리스트PalmVoice

뷰는 각 속성에 포함된 명령어들의 리스트를 보여줍니다 예를 들어 상단이 트리뷰.

에서 인터넷 탐색기 를 선택하면 하단의 리스트 뷰가 홈페이지 명으로 바뀌게 되“ ”

는데 이는 음성으로 접속이 가능한 홈페이지가 무엇인지를 알려주게 됩니다 물론.

음성으로 접속하고 싶은 홈페이지나 검색하고자 하는 인명은 추가가 가능하며 자세

한 사항은 장의 명령어 추가하기를 참조하십시오 가 실행되었다면5 . PalmVoice

다음과 같은 과정을 거쳐 인식 어휘가 제대로 인식되는지 확인해 봅니다.

메뉴를 실행하십시오1. Vocabulary - Test Command .

대화상자에서 버튼을 누르고 인식테스트를 실행 하십시오2. Testing Test .

창에 있는 임의의 명령어를 발음하십시오3. Vocabulary .

주의 음성 명령을 내릴 때에는 와 입술과의 거리를 가량Pocket PC 15-20cm〈 〉

떨어뜨려서 발음 하셔야 합니다.

Page 100: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 100 -

그림 명령어 인식 테스트하기[ 4.2]

음성인식 모드로 전환 및 음성명령 수행하기4.3

가 인식할 수 있는 명령어가 무엇인지 확인하고 인식 테스트를 해보았PalmVoice

다면 이제는 실제로 음성으로 명령하여 프로그램을 실행해 봅니다 장에서. 3

를 레코딩 버튼에 할당하였다면 다음과 같이 수행하면 됩니다PalmVoice .

Page 101: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 101 -

메뉴를 실행하십시오1. File-Tray .

가 트레이로 들어갑니다 현재 화면이 가 아니었다면 트레이2. PalmVoice .( Today

가 안보입니다)

의 왼쪽 상단에 있는 버튼 을 누르면 음성인식모드가 됩니3. Pocket PC (Button5)

다.

창이 나타난 상태에서 음성명령을 내리면 됩니다4. Voice Commands .

예를 들면 계산기 라고 발음하면 계산기 프로그램이 실행됩니다( , “ ” .)

그림 음성인식 모드로 전환 및 음성명령 수행[ 4.3]

Page 102: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 102 -

명령어 추가하기5.

응용프로그램 추가하기5.1

1. Vocabulary-New Command-Application 메뉴를 실행하십시오.

대화상자에서 응용프로그램의 이름과 응2. New Voice Command for Application

용 프로그램의 경로를 기입합니다 이때 응용 프로그램은 버튼을 사용해. Browse

검색이 가능합니다.

그림 응용 프로그램 추가하기[ 5.1]

예를 들어 를 등록하고자 한다면 에 경로를 포“calc.exe” “Application File Name”

함한 파일 명을 입력하십시오 그리고 에는 실제로 음성으로 발. “Command Name”

음할 명령어를 입력하십시오 예를 들어 이런 경우에는 계산기 라고 입력할 수 있. “ ”

겠지요 를 이용할 경우에는 에는 를 이용하. Browser “Command Name” Browser

여 선택한 파일명에서 확장자를 제외한 부분이 자동으로 입력됩니다 예를 들어.

를 를 이용하여 선택하였을 경우 에는“calc.exe” Browser “Command Name”

가 자동으로 입력됩니다 물론 사용자가 계산기 로 바꿀 수 있겠지요“calc” . ” ” .

Page 103: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 103 -

키보드 매크로 추가하기5.2

에서는 가지 종류의 키보드 매크로를 사용자가 정의하여 사용할 수PalmVoice 2

있습니다 하나는 음성이 인식되었을 때 사용자가 정의한. 특정 상용구 문자열 를 화( )

면에 출력하는 매크로이고 또 하나는 키보드의 누름 동작을 시뮬레이션 하는 매크

로입니다.

상용구 매크로 추가하기5.2.1

상용구 문자열 매크로는 자주 사용되는 문자열을 음성 명령으로 화면에 출력하기( )

위해 사용하며 다음은 안녕 이라고 발음했을 때“ ” 안녕“ ”이란 상용구 문자열 가 화( )

면에 출력하기 위한 매크로를 추가하는 과정을 보여줍니다.

1. Vocabulary-New Command-Key Macro 메뉴를 실행하십시오.

대화상자의2. New Voice Command for Macro Command Name 항목에는 추가

하고자 하는 매크로의 이름을 기입합니다 일반적으로 인식 시에 발음할 어휘를 매.(

크로의 이름으로 사용합니다)

3. Keystroke Macro 항목에는 화면에 출력되길 원하는 문자열을 따옴표 로 감(“ ”)

싸 기입합니다.

가령, 안녕“ ” 이라고 발음했을 때, 안녕“ ”이란 문자열이 화면에 출력되기 위해서는

Command Name 에는 안녕 이라고 기입하고 Keystroke Name 에는 안녕“ ”이라고

기입하거나, Copy 버튼을 누릅니다 버튼은 의 내용을 따옴.(Copy Command Name

표로 감싸 에 자동으로 복사해 줍니다Keystroke Macro )

Page 104: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 104 -

4. Ok 버튼을 눌러 매크로 추가를 완료합니다.

그림 상용구 매크로 추가하기[ 5.2.1]

Page 105: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 105 -

키보드 매크로 추가하기5.2.2

키보드 매크로는 자주 사용되는 키 조합을 음성 명령으로 시뮬레이션 하기 위해 사

용 되며 다음은 파일“ ”이라고 발음했을 때 "ALT+F O"의 순서로 키가 눌린 것 같은

동작을 하는 키보드 매크로를 추가하는 과정을 보여줍니다.

1. Vocabulary-New Command-Key Macro 메뉴를 실행하십시오,

대화상자의2. New Voice Command for Macro Command Name 항목에는 추가

하고자 하는 매크로의 이름을 기입합니다 일반적으로 인식 시에 발음할 어휘를 매.(

크로의 이름으로 사용합니다)

3. Keystroke Macro 항목에는 누르고자 하는 키를 순서대로 기술합니다.

이때 키 매크로는 다음과 같은 규칙에 따라 기술하게 됩니다.

■ 모든 알파벳 숫자 및 콘트롤 키의 조합, 이 가능합니다.

연속된 키보드의 누름은 스페이스로 구분합니다.■

의 키가 눌린 것을 시뮬레이션 하기 위해서는H E L L O■ → → → → H E L L O를

항목에 기입합니다Keystroke Macro .

하나의 키가 눌린 상태에서 또 다른 키가 눌린 경우는■ +를 사용합니다.

와 가 동시에 눌린 것을 시뮬레이션 하기 위해서는ALT F■ ALT+F 를 Keystroke

항목에 기입합니다Macro .

Page 106: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 106 -

항목에 가능한 문자열Keystroke Macro■

항목에 가능한 문자열Keystroke Macro 시뮬레이션 대상 키

A-Z 알파벳

0-9 숫자

BACK BackSpace

TAB Tab

SHIFT Shift

CTRL Ctrl

ALT Alt

PAUSE Pause

CAPS Caps Lock

ESC Esc

SPACE Space bar

PRIOR Page Up

NEXT Page Down

END End

HOME Home

LEFT Left Arrow

UP Up Arrow

DOWN Right Arrow

INS Insert

DEL Delete

NUMLOCK Num Lock

INS Insert

DEL Delete

NUMLOCK Num Lock

Page 107: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 107 -

그림 키보드 매크로 추가하기[ 5.2.2]

검색하기5.3 Contacts DB

Contacts 는 Windows CE 에 기본으로 내장되어있는 연락처 관리 프로그램으로

개개인에 대한 전화번호 및 E-Mail 주소 등을 관리하게 해줍니다. PalmVoice 는

Contacts 의 DB 를 이용함으로써 음성으로 특정인에게 전화를 걸거나 E-Mail 을

보내게 됩니다 예를 들어 홍길동 이란 사람에 대한 정보를 얻기 위해서는. 홍길“

동”이라고 발음하고 그 사람의 사무실에 전화를 걸기 위해서는 사무실“ ”이라고 발

음하면 됩니다 마찬가지로. E-Mail 을 보내기 위해서는 "E-Mail"이라고 발음하면

됩니다. PalmVoice 의 이런 기능은 Pocket PC 와 같은 휴대용 장치의 주 용도중

의 하나가 연락처 관리 목적이나 입력 장치가 불편하다는 점을 고려하면 매우 유용

하게 사용될 수 있는 기능입니다.

PalmVoice 를 통해 Contacts DB 를 검색하고 전화를 걸거나 E-Mail 을 보내기 위

해서는 다음과 같은 과정을 거쳐야 합니다.

Page 108: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 108 -

1. Contacts 내의 인명 정보를 인식 어휘에 포함하기

음성으로2. Contacts 인명 정보 검색하기

음성으로 전화를 걸거나3. E-Mail 보내기

내의 인명 정보를 인식 어휘에 포함하기5.3.1 Contacts

의 상단 에서 연락처를 선택하십시오1. Command Manager Tree View .

2. Vocabulary-New Command-Contacts DB 메뉴를 실행하십시오.

원하는 연락처를 선택한 다음3. OK 버튼을 누르십시오.

에서 선택한 연락처가 추가된 것을 볼 수 있습니다4. 3 .

Page 109: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 109 -

그림 내의 인명 정보를 인식 어휘에 포함하기[ 5.3.1] Contacts

Page 110: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 110 -

음성으로 인명 정보 검색하기5.3.2 Contacts

1. 4.3 절에서처럼 음성 인식 모드로 전환하여 검색하고자 하는 사람의 이름을 발

음하십시오.

인식된 결과에 대한 정보가 대화 상자를 통해 화면에 표시됩니다2. Information .

그림 음성으로 인명 정보 검색하기[ 5.3.2] Contacts

음성으로 전화 걸기5.3.3

Information 대화 상자를 통해 화면에 표시된 상태에서

1. 4.3 절에서처럼 음성인식 모드로 전환하십시오.

전화 걸기 원하는 곳을 발음하십시오2. ( 사무실 휴대폰" ", “ ” 중에서)

3. Pocket PC 의 스피커를 수화기에 대면 DTMF 톤을 발생해 전화를 걸게 됩니다.

혹은 대화 상자에서 전화 걸기 원하는 곳의 버튼을 누르십시오, Information .

팩스는 버튼을 이용하여 걸 수 있습니다( .)

Page 111: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 111 -

음성으로 보내기5.3.4 E-Mail

Information 대화 상자를 통해 화면에 표시된 상태에서

1. 4.3 절에서처럼 음성인식 모드로 전환하십시오.

2. "E-Mail"이라고 발음하십시오.

3. Mail 관련 프로그램이 실행되고 E-Mail 주소가 자동으로 표시됩니다.

혹은 대화 상자에서, Information Email 버튼을 누르십시오.

Page 112: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 112 -

환경설정하기6.

Show Command list■

음성인식이 활성화 되면서 인식 가능한 명령어 리스트 대화상자를 보여줄 지를 결

정합니다.

Command list display duration■

명령어 리스트 대화상자가 화면에 표시되는 시간을 결정합니다.

그림 환경설정하기[ 6]

부록7.

사용시 주의 사항7.1 PalmVoice

■ 음성 인식시

음성 훈련과 인식 시에 와 의 거리를 유지하십시오1. Pocket PC 15-20cm .

음성 명령어만을 단독으로 발음하십시오2. .

Page 113: 음성인식엔진및음성인식 개발및S/W 사업화결과보고서 · -2-결과보고서 2000년도 신기술창업보육사업에 의하여 완료된 음성인식 엔진 및

- 113 -