중급 예제

약간은 익숙하시거나 익숙해지셨나요? 그렇다면 조금더 깊이 다뤄볼까요?

SPEECH TO TEXT(STT) 라이브러리와 프로세싱을 이용하여 음성인식 테스트하기

2016-03-21 15:48:34

개요

 

Speech to Text는 사용자의 음성을 인식하여 텍스트로 변환해주는 것을 말합니다.

 

 

STT는 다양한 곳에서 사용되고 있는데, 대표적으로 iPhone에 siri가 있습니다.

 

이번 컨텐츠에서는 컴퓨터에 마이크를 연결 후 구글에서 지원해주는 STT를 이용하여 프로세싱에서 음성을 입력받아 텍스트로 보여주는 예제를 실습해 보겠습니다.

 

 

 

구글 Speech API 사용 방법

 

구글 speech API를 사용하기 위해서는 chromium-dev 그룹에 가입을 해야 합니다.

우선 구글에 로그인을 하신 후 chromium-dev@chromium.org 에 들어가면 밑의 사진과 같이 가입버튼이 있습니다. 이것을 눌러줍니다.

 

버튼을 누르면 밑의 사진과 같이 나오는데 자신에 맞게 설정 후 가입하기 버튼을 눌러줍니다.(이메일 처리를 안할 경우 해당 구글 메일로 메일이 많이 날라오기 때문에 이메일 받지 않음을 선택해 주었습니다.)

 

가입이 완료 되었으면 가입한 계정으로 https://cloud.google.com/console 접속해 줍니다.

접속 할 경우 프로젝트 만들기가 나오는데, 원하는 프로젝트 이름을 넣고 만들어 줍니다.

 

프로젝트가 완성 되었으면 Speech API키를 받기 위해 화면 가운데 있는 API 사용 설정 및 관리 버튼을 눌러줍니다.

 

API검색 창에 speech API를 검색해 주시면 밑의 두번째 사진과 같이 검색이 됩니다.(chromium-dev 그룹에 가입이 안되있으면 검색이 안됩니다.)

 

 

검색 결과를 누르면 Speech API에 대한 간략한 소개와 함께 사용 설정 버튼이 나옵니다. 이를 눌러 줍니다.

 

사용 설정 누르 신후 사용자 인증 정보로 이동하셔서, 3단계 절차에 맞게 진행 하시면 마지막 단계에서 API 키가 나오게 됩니다.

(* 밑의 사진은 API키를 가려서 안보입니다. 실제로 절차대로 진행하면 빨간 밑줄 그려진 곳에 API키가 나오게 됩니다.)

 

 

API키를 받으시면 프로세싱으로 STT를 사용할 준비가 다 되었습니다.

 

소프트웨어 Coding

 

프로세싱 코드

  Speech To Text 기능을 사용하기 위해서는 STT라이브러리를 사용해야 합니다.

  프로세싱의 라이브러리 추가는 문서 -> processing -> libraries 폴더안에 라이브러리 파일을 넣어 주시면 됩니다.

 

import com.getflourish.stt.*;

STT stt;
String result;

void setup ()
{
  size(600, 200);
  // Init STT with default manual record mode
  String key = "API키를 입력해주세요.";
  stt = new STT(this, key);
  stt.enableDebug();
  stt.setLanguage("en"); 
  
  // Some text to display the result
  textFont(createFont("Arial", 24));
  result = "Say something!";
}

void draw ()
{
  background(0);
  text(result, mouseX, mouseY);
}

// Method is called if transcription was successfull 
void transcribe (String utterance, float confidence) 
{
  println(utterance); 
  result = utterance;
}
 
// Use any key to begin and end a record
public void keyPressed () {
  stt.begin();
}
public void keyReleased () {
  stt.end();
}

 

 

소프트웨어 설명

  String key = "API키를 입력해주세요.";

이 부분에 위에서 받은 API크를 넣어 주신 후 실행을 하면 밑의 사진과 같이 나옵니다.

(해당 Text는 마우스를 따라 다닙니다.)

 

 

이 때 키보드의 아무키나 누르시고 계시면 밑에 콘솔창에 Recoding 이라는 메세지가 나옵니다.(키보드를 계속 누르고 있어야 합니다.)

이때 마이크를 통해 음성을 입력하고 버튼을 떼면  인식 진행 및 인식 결과가 콘솔창에 나오면서 밑의 사진과 같이 결과가 나옵니다.

(이 결과 또한 Text가 마우스를 따라 다닙니다.)

 

이번 컨텐츠에서 프로세싱을 통해 음성인식 하는 방법을 알아봤습니다.

 

이를 응용하면 프로세싱과 아두이노와 연결하여 음성으로 제어할 수 있는 다양한 프로젝트가 가능하니 한번 도전해 보세요.

 

 

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

프로세싱, STT, 음성인식, 마이크

만두 2016-03-22 09:12:21

다음 프로젝트에 유용하게 쓰일것같아요! 감사합니다^3^

최윤범 2016-08-03 09:31:38

라이브러리 폴더에 압축푼 파일을 넣으면 되는건가요?

송인혜 2016-08-04 01:49:30

Error parsing JSON. Please check your API key. 이라고 뜨는데... 키도 맞게 넣었는데.. 뭐가 잘못된건가요,,?

송인혜 2016-08-04 01:49:35

Error parsing JSON. Please check your API key. 이라고 뜨는데... 키도 맞게 넣었는데.. 뭐가 잘못된건가요,,?

hee7318 2017-07-13 17:14:53

Speech To Text 기능을 사용하기 위해서는 STT라이브러리를 사용해야 합니다. <- 여기에서 STT라이브러리가 파일이 없다고 뜹니다 ㅠㅠ 도와주세요

young 2017-10-18 23:05:39

stt library가 processing3.x와 호환이 안되나요?
line 11에서 "The constructor STT() in undefined"라는 오류메세지가 계속 뜨네요ㅜㅜ