안드로이드 씽스(Android Things) 네이버 API - 5.1 음성인식(Speech Recognition) 사용하기

알도 2017-11-15 (수) 17:52 6년전 4808  


 

라즈베리파이 강좌

  안드로이드 씽스(Android Things) 네이버 API - 5.1 음성 인식(Speech Recognition) 사용하기






  안녕하세요. 메카솔루션 알도입니다.

  지난 주에는 강좌가 아니라 라즈베리파이 프로젝트로 라즈비안에서 구글 어시스턴트를 사용하는 방법을 알아보았습니다. 국내에서 최근 네이버와 카카오가 각각 프렌즈와 미니라는 인공지능 스피커를 출시한데 이어, 각 통신사들도 자사의 음성인식 TV를 서로 앞다투어 광고하고 있습니다. 이처럼 우리 실생활에 인공지능이 차지하는 영역이 점차 늘어나고 있습니다. 이전의 구글이나 아마존처럼 우리나라 기업들도 자사의 API를 개발자들이 사용할 수 있게 해 두었습니다.



  대화형 API인 구글의 어시스턴트나 아마존의 알렉사와 달리 국내 음성인식 API는 음성인식과 합성 기능을 별도만 제공하고, 아직 대화 기능은 제공하고 있지 않습니다. 어차피 자신 만의 음성인식 장치를 개발하기 위해서는 대화 기능을 사용하기 어렵기 때문에 그다지 큰 문제가 되지는 않으리라 생각됩니다.


 


 

      음성 인식 사용하기


준비물

  음성인식이니 무엇보다 마이크가 필요합니다. 라즈베리파이는 아날로그 입력이 없기 때문에 일반적으로 USB 마이크를 사용하는데, 메카솔루션에서는 아직 상품이 준비되어 있지 않습니다.


  먼저 스크린을 활용하려면 스크린이 있어야겠죠? 다행히(?) 저희 메카 솔루션에서는 업계 최저 가격으로 터치 스크린을 판매하고 있습니다. 갑자기 안하던(?) 광고를 하려니 어색하네요.


http://mechasolution.com/shop/goods/goods_view.php?goodsno=541411&category=052008

  5인치 터치 스크린도 함께 판매하고 있는데 안타깝게도 아직 안드로이드 씽스에서 5인치의 800x480 해상도를 지원하고 있지 않아 사용할 수가 없습니다. 스크린 연결 방법은 아래를 참고하시면 됩니다. 라즈비안에서 사용하려면 스크린 해상도를 config.txt에 미리 설정해줘야 하는데 안드로이드 씽스는 이를 자동으로 감지하고 설정하기 때문에 그런 과정이 필요 없습니다.


  사실 음성 인식을 위해 터치 스크린이 필요한 것은 아니지만, 예제 앱에서 터치 기능을 요구하기 때문에 이번만 필요합니다. 만약 터치 스크린이 없으시다면, 안드로이드 폰에 업로드 해서 테스트해 볼 수 있습니다. 예제 코드를 터득하신 후에 안드로이드 씽스에 적용하셔도 됩니다. 이 때 안드로이드 폰에 앱을 업로드하려면, 별도로 개발자 모드를 설정해야 되는데, 저희 블로그에는 없으나, "안드로이드 개발자 모드"로 검색하시면 쉽게 방법을 찾으실 수 있습니다. 이에 관하여서는 다음 기회에 포스트 해보도록 하겠습니다.



네이버 클로바 음성 인식(Clova Speech Recognition) 예제 프로젝트 다운로드 받기

  아래 링크를 통해 네이버 클로바 음성인식 예제 프로젝트를 다운로드 받습니다.

master.zip

  위 프로젝트가 있는 깃허브 저장소 주소는 아래와 같습니다.

https://github.com/naver/naverspeech-sdk-android

  다운로드 받은 압축 파일을 푼 후, 안드로이드 스튜디오로 samples 폴더 안에 EPDTypeAutoSample 프로젝트를 엽니다.


 

  클라이언트 아이디가 없기 때문에 당장 빌드를 하고 업로드를 하여도 기능은 작동하지 않습니다. 이제 네이버 개발자 센터에서 클라이언트 아이디를 만들어 보겠습니다.



네이버 API 클라이언트 아이디 만들기

  아래 링크를 통해 네이버 개발자 센터로 갑니다.

https://developers.naver.com/main/


    아래 화면에서 서비스 API를 선택합니다.

 
   다음 화면에서 아래와 같이 [Clova]-[Clova A.I. APIs]-[Clova Speech Recognition] 을 선택한 후,  오픈 API 이용 신청을 합니다.
 
 

  다음 화면에서 애플리케이션 이름을 제외하고 모두 아래와 같이 입력하시면 됩니다. 애플리케이션 이름은 원하시는대로 입력하세요.

 

  아래와 같이 클라이언트 아이디가 나오면 이를 복사합니다.

 

  다시 안드로이드 스튜디오로 돌아와서 프로젝트의 메인 엑티비티의 CLIENT_ID에 복사한 클라이언트 아이디를 붙여 넣은 후 업로드하면 됩니다.

 

  업로드가 완료되면 화면에 START 버튼이 뜹니다. START 버튼은 누르고 아무 말이나 해보세요.

 

  아직 한글 폰트가 설치되어 있지 않아서 위와 같이 깨져서 나옵니다. 원래는 안드로이드 폰의 경우, 이게 별 어려움 없이 되야하는데, 구글/안드로이드 쪽에서 안드로이드 SDK 개발 과정에서 실수를 하고, 이에 많은 한국인 개발자들이 항의를 하는데도 아직 수정되지 않고 있습니다.
  실제 문제는 안드로이드 폰에서 지원을 해도 씽스에서 지원을 하지 않고 있기 때문에, 혹시 자신의 개발 환경에서 이 문제를 해결해 놓은 개발자 분들도 같은 결과를 보시게 될 것입니다. 이 문제를 해결하려면 SDK가 아니라 앱 자체에 폰트를 포함시켜야 합니다. 이에 대해서는 아래 부분의 링크에 설명되어 있습니다.



한글 폰트 설정하기

  먼저 아래 링크를 통해 스크린 셋팅 및 한글 폰트 설정을 참고하시기 바랍니다. 

http://blog.naver.com/roboholic84/221133516691


  설정을 마친 후 다시 업로드하면, 아래와 같이 인식된 한글이 정상적으로 출력되는 것을 확인하실 수 있습니다.

 



나만의 음성 인식 앱 만들기
  먼저 갔었던 네이버 개발자 센터에서 다음 화면에서 아래와 같이 [Clova]-[Clova A.I. APIs]-[Clova Speech Recognition] 을 선택한 후, [개발 가이드 보기]를 선택하면 어떻게 음성 인식 API를 적용하는지 상세한 설명이 나와 있습니다.
 

 
  다음 포스트에서는 저도 간단한 음성인식 앱을 개발해보겠습니다. 여러분들도 한번 도전해보세요.



메카리워즈 Image Map


모바일 버전으로 보기