사물인터넷 시대가 열리면서 말을 알아듣는 전자 기기가 늘어나고 있다. Siri나 Cortana 같은 앱이 탑재된 스마트폰, 태블릿 그리고 랩톱은 검색을 통해 질문에 대한 답을 찾아주거나 주변의 전자기기를 제어할 수 있게 도와준다. 굉장한 기능의 앱이지만 이를 구현하기 위해서는 엄청난 프로세싱 성능과 메모리가 필요하다. 많은 사람들이 마이크로컨트롤러(MCU)는 음성을 인식하기엔 너무 작다고 오해하는 것도 놀라운 일은 아니다.
확실히 MCU는 저전력과 작은 크기 때문에 사람의 말을 모두 알아 듣기에 어려움이 있다. 하지만 소형의 저전력 임베디드 애플리케이션의 경우에는 확실한 몇 마디만 인식할 수 있으면 된다. 예를 들어 “커피를 데워줘”나 “전등을 꺼줘” 같은 것이다. TI의 저전력 MSP432™ MCU를 사용해서 바로 이러한 기능을 구현해 보았다.
TI는 C 코드로 작성된 음성 인식기 라이브러리를 발표했다. 이는 MSP432 MCU 기반 애플리케이션이 사용자의 음성을 인식할 수 있도록 한다. 다른 문구를 배제하면서, 최대 11개의 문구를 인식한다. 나만의 문구를 이 인식기로 몇 번 거듭해서 말하기만 하면 그 문구를 인식할 수 있다.
이 라이브러리는 다음과 같은 기능을 제공한다.
· 언제든 문구를 변경할 수 있다.
· 몇 개의 문구에만 응답하도록 할 수 있다.
· 내 목록에서 특정 문구를 삭제할 수 있다.
이 라이브러리는 사용하기 편리한 헤더 파일과 사용자 및 API 가이드를 제공하므로 빠르게 애플리케이션을 개발하고 실행할 수 있다. 이 다운로드는 또한 MSP432 MCU 론치패드™ 개발 키트, 오디오 부스터팩™ 플러그인 모듈, Sharp 또는 Kentec LCD 부스터팩 키트와 함께 사용할 수 있도록 데모 프로그램 예제를 포함한다.
이 데모 앱은 MSP432 MCU에 통합된 14 bit 아날로그-디지털 컨버터(ADC14)를 사용해 음성을 포착하고 LDC를 사용해서 메뉴를 표시한다. 이들 메뉴를 사용해서 인식기 기능을 실행할 수 있다. 다음의 과정을 통해 인식을 실행할 수 있다.
· 인식기에 기억시키고자 하는 문구를 말한다. 그러면 이 음성에 대한 모델을 생성하고 플래시 메모리에 저장한다. 이 작업은 '등록(enrollment)'이라고 한다.
· 등록된 문구를 다시 말한다. 그러면 인식기가 이를 사용해서 더 나은 모델을 생성함으로써 성능을 향상시킨다. 이 작업은 '업데이트(update)'라고 한다.
· 등록된 모델을 삭제할 수 있다.
· 음성 인식을 실행한다.
이 외에도 음성을 사용한 다양한 형태의 MCU 기반 앱이나 기기를 개발할 수 있을 것이다.
<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>