Start a Conversation

해결되지 않음

이 게시글은 5년 이상 된 게시글입니다.

Closed

N

270 Posts

834

October 16th, 2008 03:00

비스타의 음성 인식 기능(WSR) 소개(2)

본 포스트는 비스타 음성 인식(Windows Speech Recognition, WSR)에 관한 두 번째 포스트이다. WSR의 기본 개념과 사용하기 위한 요구 사항에 관련된 예전 포스트에는 아래 링크가 있다.

비스타의 음성 인식 기능(WSR) 소개(1) new win - WSR의 소개와 사용시 요구 사항에 관하여


image

 본 두 번째 포스트에서는 첫번째 포스트에 이어서 WSR 구동하기 전에 사용자가 알아야 할 기본적인 사항에 관하여 소개한다. 가장 먼저 WSR 기능이 윈도우 내에 어디있는지 알아보자면 영문 비스타로 전환된 시점에서 "contron panel>ease of access>speech recognition option"으로 접근할 때 위의 그림과 같은 창이 나타난다. 사용자는 가장 먼저 "set up microphone"을 수행하여 자신의 마이크가 WSR을 올바르게 사용할 수 있도록 조정해야만 한다. 그 다음에 "start speech recognition"을 클릭하여 비로소 비스타에서 WSR 기능을 사용해볼 수 있다.

 여기서 잠깐 비스타가 사용자의 음성을 어떻게 인식하는지에 관하여 알아둘 필요가 있다. 비스타의 WSR가 사용자의 음성을 인식하는 방법은 1)사용자의 음성을 음파로써 받아들여서, 2)입력된 음파에 가장 비슷한 단어를 찾고, 3)기본 내장된 grammar에 기초하여 사용자가 어떠한 표현을 했는가를 결정하는 순서로 이루어진다. 이 모든 것은 상당히 놀라울 정도로 빠른 시간에 이루어지는데, 숙달된 사용자는 말하는 빠르기로 dictation/받아쓰기를 할 수 있는 정도이다. 뿐만 아니라, 사람의 목소리는 개개인 마다 전부 다르기 때문에 컴퓨터의 WSR을 개인에 맞게 튜닝하는 작업이 요구된다. 이는 별도로 WSR에서 컴퓨터를 train/훈련시키는 모드를 제공하며 이 훈련을 더 많이 하거나, 혹은 WSR을 사용하는 시간이 길어질 수록 초기의 WSR은 더욱 정확하게 사용자의 음성을 인식할 수 있게 된다. 결과적으로 WSR은 여러분의 음성을 상당한 정확도로 인식하게 된다. ksiryx 본인의 경험담을 이야기하자면 초기에 또박또박, 마이크 앞에서 그리고 천천히 목소리를 내야만 정확하게 인식하던 초기의 WSR에 비해 현재는 작은 목소리로 대충 중얼거려도 놀라운 정확도로 WSR이 작동한다. 이것은 정말 놀라운 경험이다!

 WSR training은 약 5분 미만의 스크립트를 읽어주는 것으로 진행되며 위의 그림과 같은 형태를 띄고 사용자는 주어진 스크립트를 WSR이 인식할 때 까지 읽어주면 된다.

 WSR의 원리에서 한 가지 단점은 WSR이 사용자가 언제 무슨 말을 꺼낼지 전혀 예측하지 못한다는 것이다. 이는 WSR이 실행되면 그 순간부터 마이크에 수신되는 모든 파형을 분석한다는 얘기로써, 주변의 잡음, 충격음, 노래를 전부 받아들이게 된다. WSR을 실행하고 idle 상황에서 이로인한 CPU usage는 없지만 약 51,000K의 메모리를 사용하게 된다. 여기서 질문 : 모든 소리에 반응한다면 WSR을 사용할 때 음악을 들을 순 없다는 얘기가 될까? ksiryx 본인의 경험담을 가지고 얘기를 하자면 그렇진 않다. 사용자에 알맞게 튜닝된 WSR은 사용자의 목소리와 음악을 구분할 줄 알게된다. 따라서 음악을 틀어놓는다 하더라도 그것의 음파를 처리하기 위하여 쓸데없이 반응하지 않는다는 것이다! 아래의 화면은 WSR이 각각의 상황에서 어떻게 반응하는지를 보여준다.

image

 첫번째 화면은 WSR이 활성화되어있는 상태이다. 이 때에는 WSR이 주어지는 모든 음성을 듣게된다. 두번째 화면은 WSR이 (가)비활성화되어있는 상태인데 WSR을 활성화시키는 명령어인 "start listening"을 제외하고 어떠한 음성에도 반응하지 않는 상태를 의미한다. 세번째 상태는 WSR이 분석하지 못하는 음파를 받아들였을 때 보이는 반응이며 사용자의 이어지는 다음 음성을 수초간 기다린다. 마지막 화면은 WSR이 명령어를 처리하고 어떤 명령어를 처리하는지 캡션으로 피드백하는 상황을 보여준다.

 WSR은 음성을 성공적으로 분석하게되면 다음과 같은 두 가지 형태로 결과를 처리한다.

1. Dictation
2. Commands

 Dictation으로 인식하는 상황은 말 그대로 사용자가 하는 말을 받아적는 기능을 의미한다. 쉽게 이야기하여 키보드 대신에 문자를 입력하는 상황이라고 할 수 있다. Dictation이 발동하기 위한 조건은 사용자가 문자를 입력할 환경을 마련해두고(메모장을 열어둔다던지..) commands로 처리되는 단어로 시작하지 않는 단어로 말하면 되겠다. 예를 들어서 내가 "I want to speak"라는 문장을 메모장에 적고 싶으면 메모장을 열어두고 그대로 "I want to speak"라고 이야기하면 된다. 하지만 "Open internet explore"이라고 이야기하면 WSR은 "Open internet explore"라고 메모장에 적는게 아니라 인터넷 익스플로러를 실행하게된다. 왜냐하면 "Open internet explore"는 commands 중의 하나이기 때문이다!

 반면 commands는 사용자가 어떤 순간에 있던지간에 지정된 명령을 실행하는 기능을 의미한다. commands로 처리되는 단어들에는 다양한 종류가 있는데 한 예로써 "open (application name)"의 명령어가 있다. 사용자는 "open firefox"라고 이야기하게 되면 자신이 메모장에 타이핑을 하고 있든지, 게임을 하고 있던지, 영화를 보고 있던지 WSR은 모질라 파이어폭스를 실행하게 된다.

 본 포스트까지 WSR을 사용하기위한 사전 지식에 관하여 알아보았다. 세번째 연재에서는 WSR에 사용자정의 명령어를 만들어주는 WSR Macros에 관하여 알아보기로 한다.
No Responses!
이벤트를 찾을 수 없습니다!

Top