ai-makers-kit-master\python3 폴더 안에는 KT에서 제공하는 예제가 있다.

Python3 폴더 안에 md 파일을 보면 다음과 같은 설명이 있다.

https://github.com/gigagenie/ai-makers-kit/tree/master/python3

 

gigagenie/ai-makers-kit

GiGA Genie AI Makers Kit for Raspberry Pi. Contribute to gigagenie/ai-makers-kit development by creating an account on GitHub.

github.com

GiGA Genie AI Makers Kit을 이용하기 위한 Python 3버전 소스 코드입니다.

1. Prerequisites
Python 3.x를 지원하며 아래 Python 라이브러리 추가 설치가 필요합니다.

gRPC
PyAudio
GiGA Genie 음성호출어('기가지니', '지니야' 등) 이용을 위해 GiGA Genie에서 제공하는 shared library와 Python extension이 필요합니다.

libkwscmdapi.so (Raspberry Pi용)
ktkws Python extension module
2. Quick Start
a) 사용자 인증정보 받기
  AI Makers Kit 이용을 위해서는 KT APILINK 사이트에서 개발자 등록 후
  인증정보(clientid, client key, clientsecret)를 먼저 발급 받아야 합니다.

b) Python3 버전 추가 라이브러리 설치
   $ sudo easy_install3 pip
   $ sudo easy_install3 install/ktkws-1.0.1-py3.5-linux-armv7l.egg
   $ sudo apt install portaudio19-dev
   $ sudo pip3 install grpcio grpcio-tools
   $ sudo pip3 install pyaudio

c) 사용자 인증 정보 입력
   [user_auth.py 파일에 인증정보 입력]
      아래 정보를 기가지니 포털에서 발급 받은 클라이언트 키 정보로 업데이트 하세요.
   [client]
      clientid: YOUR_CLIENT_ID
      clientkey: YOUR_CLIENT_KEY
      clientsecret: YOUR_CLIENT_SECRET

d) 예제 실행(ex1 ~ ex9)
   $ python3 ex1_kwstest.py

3. Usage
a) 기본이 되는 단위 기능별 사용 예제
  ex1) 음성 호출(Keyword Spotting) 이용(code 참조)

import ktkws

ktkws.init(KWSMODELDATA)   # ../data/kwsmodel.pack 이용
ktkws.start()
ktkws.set_keyword(KWSID)   # 0: 기가지니, 1: 지니야(default), 2: 친구야, 3: 자기야
ktkws.detect(AUDIOSTERAM)  # AUDIOSTREAM: PCM 16000Hz, mono, LINEAR16 LE
# ktkws.detect() return value가 1이면 detect
   ex2-6) 음성인식/대화/음성합성 API 이용(code 참조)

gRPC 서비스 정의 : ../data/gigagenieRPC.proto
API
getVoice2Text : 음성인식(Speech-to-text)
getText2VoiceUrl : 음성합성(Text-to-speech) wave file url로 전달
getText2VoiceStream : 음성합성(TTS)을 stream data로 전달
queryByText : Text에 대한 대화해석 결과(기가지니 Dialog Kit 참조)
queryByVoice : STT한 결과에 대한 대화해석 결과(기가지니 Dialog Kit 참조)
  ex7-9) 복합 예제(음성/대화/TTS/Button)

  기타) 기능파일

user_auth.py : 사용자 인증 구현
MicrophoneStream.py : 마이크 스트림 구현
b) gkit을 이용한 예제
sample_keyword.py : 음성호출을 이용한 음성인식/음성합성 이용 예제
sample_button.py : 버튼을 이용한 음성인식/음성합성 이용 예제
sample_led.py : 다양한 애니메이션 효과를 준 LED 이용 예제
main_demo.py : 음성호출/버튼을 함계 이용한 음성인식/음성합성 이용 예제(LED 사용 포함)
sample_keyword.py
# gkit 모듈 준비
import gkit

# KWS 모델데이터를 준비
gkit.kws_start()
# 음성호출에 사용할 키워드 세팅: 지니야(default), 기가지니, 친구야, 자기야
gkit.kws_setkeyword('기가지니')
# kws_detect() 리턴값이 1 이면 음성 호출어가 감지된 것임
if gkit.kws_detect() == 1:
    print ('detected')
sample_button.py
import gkit

# 버튼이 눌러졌을 때 실행되는 callback
def callback():
    print ("Button was pressed")

# 버튼 생성 후 callback 등록
gkit.get_button().on_press(callback)
sample_led.py
import gkit

# LED 객체 생성
led = gkit.get_led()

# LED로 나타낼 상태 애니메이션 설정
led.set_state(gkit.LED.BLINK)
"""
사용 가능한 LED 상태 값
    gkit.LED.OFF
    gkit.LED.ON
    gkit.LED.BLINK
    gkit.LED.BLINK_3
    gkit.LED.BEACON
    gkit.LED.BEACON_DARK
    gkit.LED.DECAY
    gkit.LED.PULSE_SLOW
    gkit.LED.PULSE_QUICK
"""
main_demo.py
import gkit

# 음성호출이나 버튼이 눌러졌을 때 실행되는 callback
def myservice():
    """ Do something: your service ... """
    # for example : Speech-to-text
    stt_text = gkit.getVoice2Text()

# 클라이언트 키 정보 설정
gkit.set_clientkey(CLIENT_ID, CLIENT_KEY, CLIENT_SECRET)

# Detector 객체 생성(음성호출, 버튼에 대한 detection 처리)
detector = gkit.KeywordDetector()
try:
    detector.start(callback = myservice)
except:
    detector.terminate()
Enjoy with AI Makers Kit !

 

예제를 실행하기 전에 다음과 같이 위의 md 파일의 설명 중에 하기 1번 항목에 대해서 먼저 작업이 필요하다.

1. Prerequisites
Python 3.x를 지원하며 아래 Python 라이브러리 추가 설치가 필요합니다.

gRPC
PyAudio
GiGA Genie 음성호출어('기가지니', '지니야' 등) 이용을 위해 GiGA Genie에서 제공하는 shared library와 Python extension이 필요합니다.

libkwscmdapi.so (Raspberry Pi용)
ktkws Python extension module

즉, 설명과 같이 libkwscmdapi.so와 ktkws Python extension module 라이브러리를 설치해야 한다.

그런데 어떻게 설치하는지에 대한 설명이 없다.... !!!

그래서 일단 2번의 하기 항목을 먼저 실행한다. 우선, ai-makers-kit-master\python3 폴더에서 다음의 명령어를 실행한다.

b) Python3 버전 추가 라이브러리 설치
   $ sudo easy_install3 pip
   $ sudo easy_install3 install/ktkws-1.0.1-py3.5-linux-armv7l.egg
   $ sudo apt install portaudio19-dev
   $ sudo pip3 install grpcio grpcio-tools
   $ sudo pip3 install pyaudio

첫번째 행을 다음과 같이 실행.

두번째 행을 다음과 같이 실행.

 

세번째 행을 다음과 같이 실행.

네번째 행을 다음과 같이 실행.

다섯번째 행을 다음과 같이 실행.

자, 이제 모든 설치는 완료가 되었고, 실제 예제를 다음과 같이 실행을 했다. 물론 Python3 폴더 안에 있는 예제이다.

하지만, libkwscmdapi.so 파일이 없어서 Error가 발생했다. libkwscmdapi.so 파일은 하기와 같이 ai-makers-kit-master/lib에 위치해 있다.

libkwscmdapi.so 파일의 경로를 ld.so.conf 파일에 등록을 해주어야 한다.

가장 간단한 방법은 다음의 방법이다.

pi@raspberrypi:~$ LD_LIBRARY_PATH=/home/pi/ai-makers-kit-master/python3/example_apps
pi@raspberrypi:~$ export LD_LIBRARY_PATH

하지만, 매번 cmd창을 새로 열때 마다 설정을 해주어야 하는 단점이 있다.

그래서, 한번만 셋팅하면 끝나는 방법을 찾아야한다.

그럼 다음 기회에....

 

+ Recent posts