음성 인식 AI 어시스턴트 만들기 — Google Assistant SDK 실습기
인공지능 기술이 빠르게 발전하면서, 음성 인식과 자연어 처리를 활용한 AI 어시스턴트가 일상 속으로 깊이 들어왔습니다. 구글 어시스턴트, 아마존 알렉사, 애플 시리 등은 모두 음성 명령을 기반으로 작동하는 대표적인 AI 비서입니다. 이번 글에서는 Google Assistant SDK를 활용해 직접 음성 인식 기반 AI 어시스턴트를 만들어보는 과정을 단계별로 정리했습니다. 라즈베리파이, 리눅스 환경, 또는 PC에서 직접 실습할 수 있는 구체적인 방법을 다룹니다.
Google Assistant SDK란 무엇인가
Google Assistant SDK는 구글의 음성 인식 및 인공지능 API를 외부 기기나 프로그램에서 사용할 수 있도록 만든 개발 도구입니다. 이를 통해 사용자는 Google의 음성 명령 기능을 IoT 디바이스나 맞춤형 앱에 통합할 수 있습니다.
SDK를 활용하면 다음과 같은 기능을 구현할 수 있습니다.
- 사용자의 음성을 인식하고 텍스트로 변환(STT)
- 구글의 자연어 처리(NLU)로 명령을 해석
- 음성으로 응답(TTS)
- 구글 검색, 일정, 날씨, IoT 제어 등 Google 서비스와 연동
즉, 단순한 음성 명령이 아닌 실질적인 대화형 AI 어시스턴트를 구현할 수 있게 해주는 핵심 도구입니다.
준비물 및 사전 설정
AI 어시스턴트를 만들기 위해 필요한 기본 구성은 다음과 같습니다.
- 라즈베리파이 4 이상 또는 Linux/Windows PC
Python 3.9 이상 환경에서 SDK를 실행할 수 있습니다. - 마이크 및 스피커(또는 USB 헤드셋)
음성 입력 및 출력 장치로 필수적입니다. - Google Cloud Platform (GCP) 계정
Google Assistant API 사용을 위해 프로젝트를 생성해야 합니다. - 인터넷 연결
음성 인식과 응답은 모두 구글 서버를 통해 처리됩니다.
Google Cloud Console 설정
- Google Cloud 프로젝트 생성
https://console.cloud.google.com/ 에 접속해 새 프로젝트를 생성합니다.
프로젝트 이름은 자유롭게 지정해도 되며, 이후 API 활성화에 사용됩니다. - Google Assistant API 활성화
좌측 메뉴에서 “API 및 서비스 → 라이브러리”로 이동한 후 “Google Assistant API”를 검색해 활성화합니다. - OAuth 2.0 클라이언트 ID 생성
인증 정보 → 새로 만들기 → OAuth 클라이언트 ID를 선택합니다.
애플리케이션 유형은 “기타” 또는 “데스크톱 앱”을 선택합니다.
완료 후 JSON 키 파일을 다운로드합니다. 이 파일은 이후 인증에 사용됩니다.
환경 구성 및 SDK 설치
1. Python 가상환경 생성
sudo apt update
sudo apt install python3-venv python3-pip
python3 -m venv env
source env/bin/activate
2. Google Assistant SDK 설치
pip install --upgrade google-assistant-sdk[samples]
pip install google-auth-oauthlib[tool]
3. 인증 절차 수행
다운로드한 client_secret.json 파일을 인증에 사용합니다.
google-oauthlib-tool --client-secrets client_secret.json \
--scope https://www.googleapis.com/auth/assistant-sdk-prototype \
--save --headless
명령을 실행하면 링크가 출력되고, 브라우저에서 로그인 후 인증 코드를 복사해 입력하면 설정이 완료됩니다.
음성 인식 테스트 및 구동
이제 AI 어시스턴트를 직접 실행할 수 있습니다.
googlesamples-assistant-pushtotalk --project-id [프로젝트ID] --device-model-id [모델ID]
명령어를 입력하면 마이크가 활성화되고, 말을 하면 구글 어시스턴트가 이를 인식해 응답을 반환합니다.
예를 들어 “오늘 날씨 어때?”라고 말하면, 구글 서버가 이를 분석해 음성으로 답변합니다.
Python 코드로 제어하기
Google Assistant SDK는 Python API로도 사용할 수 있습니다. 아래는 간단한 예제입니다.
from google.assistant.library import Assistant
from google.assistant.library.event import EventType
def on_event(event):
if event.type == EventType.ON_CONVERSATION_TURN_STARTED:
print("Listening...")
elif event.type == EventType.ON_RECOGNIZING_SPEECH_FINISHED:
print("You said:", event.args["text"])
elif event.type == EventType.ON_CONVERSATION_TURN_FINISHED:
print("Conversation ended.")
with Assistant() as assistant:
for event in assistant.start():
on_event(event)
이 코드를 실행하면 사용자의 음성을 인식해 텍스트로 출력하고, 구글의 응답을 이어서 재생할 수 있습니다. 자신만의 인터페이스나 트리거(예: 버튼, 키워드 등)를 추가해 맞춤형 어시스턴트를 구현할 수 있습니다.
나만의 AI 어시스턴트로 확장하기
기본 기능 외에도 Google Assistant SDK는 다양한 확장 기능을 제공합니다.
- 스마트홈 제어
Google Home이나 IoT 기기 API를 연동해 조명, 온도, 전원 제어 등 자동화를 구현할 수 있습니다. - 커스텀 명령어 추가
Dialogflow나 Google Actions를 사용하면 “내 일정 알려줘”, “PC 꺼줘” 같은 개인화된 명령어를 직접 등록할 수 있습니다. - 웹훅(Webhook) 연결
음성 인식 결과를 웹서버로 전달해, 외부 API나 ChatGPT 같은 다른 AI 엔진과 연동할 수도 있습니다. - 라즈베리파이 스피커 어시스턴트 만들기
라즈베리파이에 SDK를 설치하고 부팅 시 자동 실행되도록 설정하면, “Hey Google” 명령으로 작동하는 개인용 스마트 스피커를 제작할 수 있습니다.
개발 시 유의할 점
- Google Assistant SDK는 상업적 사용보다는 개인 학습 및 프로토타입 용도로 제한됩니다.
- 인증 토큰은 주기적으로 갱신해야 하며, 클라우드 콘솔 정책 변경에 따라 일부 기능이 달라질 수 있습니다.
- 음성 인식 품질은 마이크 성능과 네트워크 속도에 크게 의존하므로, USB 콘덴서 마이크 사용을 권장합니다.
마무리
Google Assistant SDK를 활용하면, 단순한 명령형 프로그램이 아닌 대화형 음성 비서를 직접 만들어볼 수 있습니다. 이 과정에서 자연어 처리, API 인증, 클라우드 통신 등 현대 AI 기술의 핵심 구조를 실제로 경험할 수 있습니다.
한 번 세팅만 완료하면 음성으로 음악을 재생하고, 일정과 날씨를 확인하며, 나만의 IoT 기기를 제어하는 개인 비서를 구현할 수 있습니다. 복잡해 보이지만 단계별로 따라 하면 누구나 완성할 수 있으며, 이를 기반으로 자신만의 AI 플랫폼으로 확장해 나갈 수도 있습니다.
음성 인식 기술은 앞으로 더욱 정교해질 것이며, Google Assistant SDK는 그 변화를 가장 직접적으로 체험할 수 있는 좋은 출발점이 될 것입니다.