오늘은 네이버에서 제공하는 음성인식 API를 이용해보도록 하겠습니다.

아직은 Beta버전이지만 인식은 무리없이 잘 되는 것 같습니다.


자세한 API이용 설명은 개발가이드에서 제공해주는 https://developers.naver.com/docs/labs/vrecog 를 참고하셔도 금방 할 수 있으실 것입니다.


먼저 https://developers.naver.com/products/vrecog 에 네이버 개발자 센터에서 음성인식(Beta)를 선택하여 네이버에서 제공하는 음성인식API를 이용해봅시다. 

현재는 한국어와 영어를 제공해주고 있으며, 하루에 1000개까지 처리가 가능하다고 합니다.

-> 화면에서 오픈 API이용 신청을 클릭합니다.


애플리케이션 이름을 자유롭게 적어주시고, 카테고리를 설정하신 후, 음성인식API를 사용하기 위해 비로그인 오픈API 를 선택합니다. 

또한 다른 API(지도, 검색, 음성합성 등) 를 사용하고 싶다면, 추가적으로 선택해주시면 됩니다.


저는 안드로이드 스튜디오를 이용하여 애플리케이션을 제작 후, 네이버음성인식을 테스트해보고자 합니다.

따라서 안드로이드 스튜디오에서 처음 프로젝트를 만들 때, 입력한 패키지 이름을 이곳에 적어주시면 됩니다.

** 반드시 본인의 애플리케이션 패키지 이름과 동일하게 해주어야 합니다. ** - 패키지이름정도는 기억해줍시다~

다음으로 동의에 체크해 준 후, 등록하기를 눌러줍니다.


화면처럼, Client ID와 Client Secret 키가 생성된 것을 확인할 수 있습니다. 기억해주세요.


이제, SDK를 다운받아야 합니다. https://github.com/naver/naverspeech-sdk-android 이곳에 들어가시면 아래와 같은 화면에서, 초록색버튼 Clone or Download 를 클릭합시다.

Download ZIP 을 선택하여 코드를 다운받고, 압축을 풀어줍니다.


해당 폴더에 들어가서 sample로 이동하시면 위 화면으로 개발툴이 android-studio와 eclipse 로 나뉩니다. 

저는 Android Studio를 이용하기 때문에 해당 디렉토리로 이동합니다.

이동하셔서 바로 아래의 build.gradle 코드를 (본인의 Android Studio 툴 내에 있는 build.gradle)에 추가해줍니다.


다음으로 app 디렉토리로 이동하여 build.gradle에 있는 아래 코드를 (본인의 Android studio툴 내에서 기존에 존재하는 app-> build.gradle 파일에다가) 중복되는 부분을 제외한 나머지 코드만 추가해주면 됩니다.


그리고, 현 디렉토리(\naverspeech-sdk-android-master\naverspeech-sdk-android-master\sample\NaverspeechClient-android-studio\app) 에 build.gradle 외에 libs 라는 폴더도 있을 것입니다.

그대로 자신의 안드로이드 스튜디오에서 생성한 프로젝트의 똑같은 디렉토리에 그대로 폴더 자체를 복사하여 붙여넣어 줍니다. (libs에는 jar 파일이 들어있습니다.)


위까지 진행 하셨으면 이제 src->main 폴더로 이동하여 jniLibs 라는 폴더 또한 자신의 프로젝트의 해당 디렉토리에 복붙해줍니다.


//////////////////////////////////

이제는 코드에서 처리하도록 할 차례입니다. 먼저 Manifest에서 아래와 같이 작성해주면 됩니다. package=" " 에는 위에서 네이버 개발자센터에서 음성인식API를 등록할 때 설정해주었던 패키지 이름을 적어주시면 됩니다. 자신의 프로젝트 패키지이름과 같을 것입니다.

그리고 4개 permission을 추가해주면 됩니다.

[AndroidManifest.xml]

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="당신의 패키지 이름을 적어주세요!">
<!-- Naver Talk 부분 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />


그리고 Activity를 하나 생성해야 하므로 activity 또한 추가해줍니다. (저는 안드로이드 스튜디오 내에서 naverTalk라는 패키지를 만들어서 그 안에 NaverTalkActivity 의 이름으로 만들어주었습니다. )

<!-- Naver Talk -->
<activity android:name=".naverTalk.NaverTalkActivity" />


다음 포스팅에서는 본격적으로 소스들을 수정해주는 부분을 살펴보도록 하겠습니다.


WRITTEN BY
SiriusJ

,