본문 바로가기

컴퓨터&인터넷

윈도우 PC를 음성명령 자동화 시스템으로 사용해본 후기





세컨 PC를 항상 켜놓고 TV나 자료 다운, 동영상 감상용 등으로 사용하고 있는데 메인 PC를 사용할때면 키보드, 마우스를 이리저리 바꾸고 하는게 귀찮다.

누워서 PC를 조작할때도 무선마우스/키보드 건전지 교체하는것도 귀찮고, 유선 케이블 정리하는 것도 귀찮다.

스마트폰으로 PC원격조작하는 방법도 있었지만 매번 앱을 실행해야한다. PC조작용 리모컨이 가장 편리할 것 같은데 쓸데없이 돈쓰는 것 같은 기분이다.


그러다 얼마전 게임을 음성명령으로 하는 프로그램들을 사용해보다 결국엔 윈도우 시스템 전체를 음성명령으로 자동화하기에 이르렀다..

물론 완전한 음성명령 자동화는 아니다. 그냥 누워서 할 수 있는 간단한 작업들만 일단 해보게됐는데 굉장히 편리하다.



윈도우에는 예전부터 음성인식 기능이 있었다.

한글 윈도우에 있는 음성인식 기능은 STT(Speech to Text)라는 음성을 인식해서 텍스트를 입력하거나 작업을 수행하는 기능이 빠져있다. TTS(Text to Speech) 라는 텍스트를 음성으로 읽어주는 기능만 사용 가능하다.


윈도우 10으로 오면서 음성인식 기능은 코타나라는 이름으로 바뀌고 더 진화된 기술을 탑재했다고 한다. 하지만 한국어는 여전히 지원하지 않는다.

윈도우 10의 STT 기능을 사용하려면 지원하는 언어로된 윈도우를 사용해야 한다. 게다가 미국 영어를 빼면 음성인식률 등의 완성도가 그렇게 좋은 편은 아니라고 한다.


음성인식을 통한 음성명령 기능은 윈도우 PC뿐 아니라 구글의 안드로이드에도 있고, 애플에도 시리라는 이름으로 있다.

개인비서(Personal Assistant)라고 불리는 이 기능은 구글이나 애플과 달리 MS는 한국어를 아직 지원하지 않고 있다.

개발역량이 없는건지 뭔지는 모르겠지만 관련 글들을 찾아보니 한국어 기능을 만들기가 꽤 까다로운 모양이다.

구글이나 애플의 음성인식 엔진도 영어처럼 그렇게까지 완벽하진 않다고 한다.


3사 모두 이런 음성인식 기능들의 최종 목표를 일종의 인격체 수준까지 끌어올리는데 두고 있다고 한다.

예를 들면, 특정 언어로 단어와 문장이 딱 떨어지는 말이 아니라 지금 몇시냐? 현재 시간은? 코타나? 지금 몇시? 외 비슷한 문맥과 목적을 모두 파악해서 관련 작업을 자동화하게 하는거라는 말이다.

이런 걸 인공지능 데이터베이스 작업이라고 하고 모르긴 몰라도 전세계 언어 중에서 한국어가 가장 까다로울것 같다.

간단한 웹 검색만 해봐도 사람들이 사용하는 말은 접미사, 어미, 형용사 뿐 아니라 문법까지 그야말로 천차만별이다.

영어로는 대중적인 두세가지 단어로 검색해보면 되지만 한국어로는 더 복잡하고 영어 표기까지 뒤져봐야된다.


테크놀러지의 대중화라고 하기도 한다.

마이크로소프트의 윈도우도 이런 기술 대중화의 가장 성공적인 모범 사례다.

그렇게 생각하면 코타나 한국어 지연은 개발역량 부족이 맞는듯하다.

한국어 사용자들의 원성과 요청이 많을텐데도 마소는 묵묵부답인데, 그냥 몇가지 단어나 특정 문장 형식만이라도 가능한 코타나라도 빨리 지원되면 좋겠다.

하지만 MS는 버그성 업데이트들을 수없이 내놓으면서도 코타나만은 아직 내놓기가 좀 그런 단계인 것 같다.


더 자세한 것들은 아래 대충 스크랩해둔 내용들을 참고하면 될듯하다.

코타나 지원되는 국가의 로케일로 설정하지 않으면 사용할 수 없어요.

예를 들어 미국으로 하면 음성을 인식하기 위한(영어인식 샘플링 데이타) 데이타가 설치되지만 한국어는 그런게 없습니다.

그리고 사용자가 어떤 질문을 했을 때, 코타나가 그에 대한 대답을 내놓으려면 어떤 정보가 필요한데, 그런 정보는 MS사의 거대한 클라우드 시스템에서 병렬로 수행되는 인공지능 프로그램에 의해서 기본적으로 Bing에 구축되어 있는 빅데이타가 활용된다고 합니다.

사용자의 질문 행태에 따라 필요한 대답을 내놓기 위해선 단순히 음성인식 기능만 구현되면 되는 것이 아니고, 인공지능을 이용하는 전체 시스템이 언어별로 구현돼서 동작되야 하는 그런 구조.

MS에 음성인식이나 인공지능 기술을 다루는 랩이 있다고 하는데, 유감스럽게도 거기에 한국어의 언어적 구조나 문화를 잘 이해하고 있는 한국 출신 프로그래머가 극소수라는 것.

정부에선 우리가 중국 보다 인공지능이 앞선다고 설레발 치고 있지만, 중국 일본에 비하면 우리나라가 이쪽으로 인재풀이 너무 빈약하죠.

IT 강국이라고 해봐야 배우기 쉽고 먹고살기 편한 웹이나 데이타베이스 프로그래밍 쪽 위주고. 구현하기 쉬운 단순한 '음성인식 기능'이 발목을 잡는 게 아니고, 한국적 문화를 이해할 수 있는 '인공지능 시스템'의 구축이 관건.

( https://windowsforum.kr/qna/7527162#comment_7527355 )


- 아이폰, 인격체가 되다

이제 제품을 살펴보자. 아이폰4S의 가장 큰 변화는 '인격체'의 지위를 획득했다는 점일 것이다(전화기를 뜻하는 아이'폰'이라는 이름이 격에 맞게 않게 느껴질 정도다). 다음 기사에서 자세히 다루겠지만, 제품에 '인성'을 부여하려는 노력은 애플의 창업 이래 계속되어온 노력이다. 애플은 음성명령체계 '시리'를 장착한 새 제품을 내놓으면서 '개인비서(personal assistant)'라고 불렀다.

여기서 분명히 하고 싶은 것은, '시리'가 채택한 음성명령 체계가 기존의 음성인식과는 다른 층위에서 작동한다는 사실이다. 음성인식이 목소리를 인식해서 문자로 바꿔 주거나 간단한 장치를 조작하는 것이라면, 음성명령은 인공지능을 통해 자연어를 인식하고 이에 대해 자연어로 반응하는 상호작용을 포함하기 때문이다. '아이폰4S'는 사용자와 대화할 능력을 갖춘 최초의 개인 단말기다. 

도착한 문자 메시지를 음성으로 읽어주고, 주인의 답변을 받아 적어 문자로 보내주는 것은 기본이다. '아직도 비가 오냐'고 물으면, '이제는 비가 오지 않는다'라고 말하며 해당 지역의 일기예보를 보여주고, '1인치가 몇 센티미터냐'고 물으면 단위를 계산해서 말해준다. '30분 후에 깨워달라'고 말하면 그러겠다고 답하며 타이머를 작동시킨다. 

'시리'는 할 일 없는 사용자들의 실없는 질문에도 성실히 답변해 준다. '넌 여자냐?'는 질문에 '나는 정해진 성별이 없다'고 답변하고, 결혼하자고 하면 '그냥 친구로 지내는 게 좋겠다'고 정중하게 거절하기도 한다. 어떤 이는 청혼 후 "사용계약에 결혼은 포함되어 있지 않습니다. 죄송합니다"라는 답변을 들었다. 어떤 이의 '재미있는 이야기를 해 달라'는 부탁에는 '두 대의 아이폰이 술집에 갔는데...그 다음엔 잊어버렸어요'라고 답했다.

사용자가 늘면서 완벽하지 않은 음성명령체계의 허점과 문제점도 드러나겠지만, 그 전까지 애플은 막대한 매출을 올리며 '시리에게 말 걸기'라는 새로운 유희문화를 탄생시킬 것이다. 머잖아 유튜브가 '시리의 우스운 답변 시리즈'로 도배되리라는 것도 어렵지 않게 예측할 수 있다. 시리는 이 수많은 사용자들이 경험하는 '즐거운 오류'와 더불어 좀 더 성숙한 인격체로 진화할 것이다.

- 전화기, 인생을 논하다

한 사용자가 시리에게 '삶이 무엇이냐'고 물었다. 이 철학적 질문에 시리는 여러 답변을 준비해 두었다. 영화 <포레스트 검프>를 패러디해 '여러 증거를 종합해 보면 초콜릿인 것 같다'고 답변하기도 하고, '답변 대신 긴 희곡을 쓰겠다'라고 말하며 이렇게 덧붙이기도 한다. "하지만 결국 그 희곡에서는 아무 일도 일어나지 않습니다." 사무엘 베케트를 읽은 게 틀림없다. 내게 가장 깊은 인상을 준 답변은 이러했다.

"남에게 친절해지세요. 지방을 가급적 적게 섭취하고, 가끔씩 좋은 책을 찾아 읽고, 사색에 잠기기도 하고, 어떤 사람들과도 평화롭고 조화롭게 살도록 노력하세요. 상대가 무엇을 믿든, 어떤 국적을 지니고 있든 상관없이 말입니다." 

아이폰4S와 '시리'는 한국 기업을 괴롭히며 여러 교훈을 줄 것이다. 무엇보다 눈앞의 돈벌이에 눈이 멀어 인문학, 예술, 기초과학을 내던진 어리석음의 결과를 목격하게 해 줄 것이다. 길게 말할 것 없이, 한국은 예술대학 취업률이 낮다는 이유로 퇴출을 거론하며 이것을 '선진화'라고 부르는 곳이다. 예술대와 경영대가 다른 이유로 존재한다는 사실조차 깨닫지 못하고 있는 것이다. 

무엇보다 시리가 한국 사회에 줄 가장 큰 교훈은 부끄러움일 것이다. 이 사회는 '삶은 무엇인가?'라는 질문에 답할 준비가 되어 있지 않기 때문이다. 인공지능도 답하는 이 질문에 말이다.

'무의미한 기계적 답변을 확대해석하지 말라'고 항변할지도 모르겠다. 하지만 적어도 그런 답변을 내놓는 기기는 '삶의 의미'를 생각해 본 사람, 회사, 공동체의 산물이라는 점을 기억할 필요가 있다. 이제 경쟁은 더 이상 하드웨어나 소프트웨어를 둘러싼 싸움이 아니다. 삶, 의미, 가치, 아름다움에 대한 것이다. 한국 사회의 미래가 더욱 어두워 보이는 까닭이 여기 있다.

애플의 '기술대중주의'는 가장 이해하기 쉽고, 가장 쓰기 쉬운 기술을 지향한다. 어린이나 장애인처럼 기술로부터 배제되어 온 사람들일수록 애플의 섬세한 배려에 감탄하게 된다. 두 사진은 아이폰4S 광고로, 점자를 읽던 시각장애인이 문자를 음성으로 확인한 후, 구두명령으로 문자 메시지를 보내고 있다


- (댓글) 기술적인 부분에 대해 잘 모르겠지만, 시리 개발팀의 인터뷰에 따르면...
단순히 서버에 모이는 방대한 DB에만 의존하지 않는다는겁니다.
여러 알고리즘을 이용해 시리의 '성격'을 튜닝하는것도 가능하고...
차후 업데이트에 사용자에 입맛에 맞게 다양한 설정을 반영하겠다고 하더라구요. (까칠한 성격, 온화한 성격 등등)
아직 베타 딱지를 달고있으니, 내년에 한국어 등 다국어 지원되는 정식버전이 출시되면 어느정도의 기술인지 실감할수 있겠죠.
확실한건, UI의 새로운 혁명이라는거죠. 여러 기업에서 개발중인 음성인식 기술 경쟁에 제대로 불을 붙였다고나 할까요.


좀 편리하게 하자고 음성인식으로 작업하는데 인격체니 뭐니 하는 게 좀 오버스럽지만, 현재 영어와 같은 수준으로 한국어로 구현된다면 확실히 좋을 것 같긴하다. 재밌기도 하고..


아무튼 윈도우 PC에서 음성명령으로 코타나같은 자동화 시스템을 만들려면 일단 지원되는 언어패키지를 설치한 다음에 윈도우 기본 언어를 해당 언어로 한번 바꿔서 관련된 설정을 한 번 해줘야 된다.

그리고 윈도우 기본 표시 언어를 영어로 그대로 사용하거나 한글로 다시 바꿔주면 된다.

코타나를 활용해도 되지만 코타나를 끄고 윈도우7에도 있던 구 제어판의 음성인식(Speech Recognition) 의 예전 STT 음성명령 API 엔진만 이용해도 된다.

코타나 프로그램은 별개로 작동하는 프로그램인 것 같고, 다른 보이스(음성명령) 매크로 응용프로그램들은 모두 제어판 설정이 사용된다.


언어팩을 설치하고 코타나 및 음성명령인식 기능을 활성화하는 방법은 아래 링크 참조.

2018/02/12 - [게임] - 윈도우10 음성인식 명령과 음성명령 프로그램으로 PC 게임하기 (GAVPI 사용법)



△ sf 영화에서 보던 음성명령 장면처럼 pc를 사용할 수 있어서 재밌기도 하다.



사용한 프로그램은 voicemacro 라는 프로그램이다.

이런 음성/키보드//마우스 인식(에뮬레이터) 매크로(자동화) 프로그램들의 사용법은 거의 비슷하다.

아래 링크 글을 참조하면 이런 매크로 프로그램들이 어떻게 작동하는지 대충 알 수 있음.

2018/02/24 - [컴퓨터&인터넷] - 보이스/키보드/마우스 단축키 매크로 종합 프로그램 - Voice Macro



코타나나 기본 음성제어 기능을 사용하지 않고 보이스매크로같은 프로그램으로 PC를 제어할때 불편하거나 주의해야 할점은 다음과 같다.


- 음성명령 정할 때 발음이 비슷하거나 겹치지 않게 해야 하므로 코타나 수준으로 구현하려면 상당한 시간과 노력이 필요할 것 같다.


- 코타나같이 what time? what time is it? 같은 맥락어에 반응하도록 하려면 명령어를 복수 입력하면 된다.

명령어 복수 입력은 ;(세미콜론)을 사용한다. "open windows;start window" (세미콜론 앞뒤로 공백이 있으면 안됨)

하지만 그만큼 단어와 문장들이 다른 명령어들과 겹칠 가능성도 있고 더 정확한 발음과 긴 문장이 필요할 것 같다.

명령어가 길고 복잡하면 인식률이 높아지고 많은 명령어들을 일일이 외우지 않아도 되지만 작업효율은 떨어진다.

가령 '엔터' 하면 너무 짧아 다른 명령어로 오작동하는 경우가 있지만 그만큼 시간은 단축된다.

'프레스 엔터' 같이 두 단어 정도가 가장 무난한듯하다.


- 코타나를 사용할거라면 설정에 있는 비원어민 억양 인식에 체크해서 사용하면 된다.

보이스매크로같은 다른 프로그램을 사용하려면 코타나 설정은 적용되지 않기때문에 까끔 까다로운 발음을 요구하기도 한다. 모니터가 아니라 마니터, 토글이 아니라 타글이다. ㅡㅡ;

보이스매크로에는 각 액션마다 음성인식 엔진을 변경하는 옵션도 있기때문에 영국영어 정도만 추가로 설치해두면 더 나을 것 같다.


- 모든 작업은 기본적으로 윈도우 기본 단축키 + 특정 프로그램 단축키로 이뤄지지만 마우스 작업도 어느정도 가능하다.


- 한글 텍스트 입력은 구글 음성 엔진을 사용하는 에버노트같은 문서 응용프로그램을 설치해서 활용하면 될 것 같다.

(한보이스같은 유료 프로그램들도 있지만 단순 음성을 텍스트로 입력해주는 엔진이고 코타나같은 개인비서 기능의 프로그램은 국내고 해외고 없는것 같다)


- 매크로 프로그램 사용법을 잘 익히면 코타나 못지 않은 자연어 인공지능 구축도 가능할듯하다. ㅡㅡ;


- 마이크는 만원대의 2미터짜리 지향성 핀마이크를 사용했다.

1.5미터짜리 3.5파이 스테레오 연장선에 연결해서 누워서 작업하는데 굉장히 편리하다.


예)

 * '팟플레이어' 라고 말하면 팟플이 실행된다. 그후 'open tv' > 'kbs/mbc/sbs' > 'channel down/volume up' > 'close window' 명령어로 tv를 본다.


*  '오픈 푸바' > '탭' > '체인지탭' (ctrl+tab 목록탭 이동) > ' 업/다운/페이지다운/페이지업' (트랙 이동) > '엔터' (재생) > '스페이스바'(정지)


*  화면 확대 프로그램은 OneLoupe를 추천.

윈도우 기본 돋보기는 품질은 좋지만 좀 무거워서 저사양PC에서 약간 버벅댄다. oneloupe는 써본 프로그램 중 가장 가볍게 작동한다.


*  change window (alt+tab 창간 전환) > left/right (방향키) > this windows (선택)


*  실행되어 있는 창 활성화는 change window(alt+tab)으로 하거나 마우스 매크로로 바로 가능함

만일 특정 프로그램이 활성화되어 있다면 move notepad left(창제목표시줄 왼쪽 좌표) 또는 move notepad right(제목표시줄 최소화표시 있는 곳)를 지정해 바탕화면에 띄우면서 활성화시킴. (매크로 액션 설정에서 프로그램 지정)

아니면 특정 프로그램 옵션에서 멀티 실행이 있다면 체크해제하고 'open 프로그램; change 프로그램' 같이 지정해줘도 된다. 

(미디어 플레이어들은 옵션 설정에 글로벌핫키라는 항목이 있다. 단축키로 볼륨이나 채널트랙 변경을 할때 창이 활성화되있지 않아도 가능하게 해주는 옵션임)


*  minimize all (창 모두 최소화)


*  go taskbar (작업표시줄 현재 실행중인 앱 보기 이동) > 방향키 > 엔터


*  go taskbar( 윈도우키+T) > tab (알림영역 아이콘으로 이동) > 스페이스바 또는 엔터 (알림영역 활성 아이콘으로 마우스 이동) > right click > 방향키 > 엔터


*  open power option(바탕화면 전원옵션 바로가기 실행) > change plan settings (5xTab키) > turn off setting (7xTab키) > 방향키 (30분 후 모니터 끄기 선택) > 엔터(save changes)


*  go calendar (마우스를 작업표시줄 시계 이동) > move left(마우스 xy좌표이동) 또는 move sound setting > click > 방향키(볼륨조절) > Tab (재생장치 메뉴) > 스페이스바 > 방향키(재생장치 선택) > escape (esc키)


*  오픈 크롬 > 고 구글 > 검색어를 음성으로 (크롬 설정에서 마이크 설정 허용) > 이후 크롬 단축키를 음성명령어에 할당


*  오픈 에버노트 > 음성으로 텍스트 입력 > 카피 올 > 오픈 노트패드 > 페이스트 (붙여넣기) > save as > 복사한 제목 붙여넣기 > 엔터


*  그 외 자주 사용하는 프로그램(크롬 등)의 단축키를 알아두고 적당한 음성명령어 입력.


* 마우스 좌표 이동은 아래처럼 마우스 그리드를 그어놓고 익숙해질때까지 사용하면 될것같다.

명령어는 move one / move one one / move one two ...


*  각 명령어 매크로 액션 앞에 동작 인식 배경음을 설정해두면 음성인식이 정확히 되었는지 알 수 있다.

비프음 사운드파일을 재생해도 되지만 text to speech 를 넣어 음성명령어와 같은 말을 입력해주면 어떤 명령어가 오작동이 자주 생기는지 알 수 있다.




아직까지 계속 테스트해보고 수정 중인데 이 글도 조금씩 업데이트해봐야겠다.