8051 마이크로컨트롤러 기반 음성 제어 홈 오토메이션 시스템
8051 마이크로컨트롤러를 이용한 음성 제어 홈 오토메이션 시스템
음성 인식 기반 홈 오토메이션
스마트 기기와 다양한 무선 통신 기술의 발전으로, 이제는 거리 제약 없이 가전제품을 제어하여 시간과 에너지를 절약할 수 있게 되었습니다. 이러한 스마트 가전 제어를 홈 오토메이션(Home Automation)이라 하며, 산업 자동화와 같은 개념입니다.
무선 통신, 사물인터넷(IoT), 음성 인식 등 다양한 기술 중, 여기서는 음성 인식을 홈 오토메이션에 활용하는 방법을 소개합니다.
먼저 음성 인식에 대한 이론적 지식을 살펴보겠습니다.
음성 인식(Voice Recognition)
음성 인식은 기계나 프로그램이 사람의 언어적 발화를 수신하고 해석하는 과정입니다. 사람의 음성을 인식하여 텍스트 형태로 변환하는 기술입니다.
기본적으로 아날로그 음파(사람의 발성으로 인한 공기 진동)을 디지털 신호로 변환하고, 이를 적절한 단어로 디코딩한 후 문장으로 조합하는 과정을 거칩니다.
음성 인식 시스템은 일반적으로 다음 요소로 구성됩니다:
- 음성 수집 장치: 마이크로폰 및 아날로그-디지털 변환기(ADC)로 아날로그 음성 신호 샘플링 및 디지털화
- 디지털 신호 처리(DSP) 모듈: 디지털 신호를 시간 영역에서 주파수 영역으로 변환해 원본 정보 보존
- 전처리 신호 저장 시스템: 후속 작업을 위한 메모리 카드
- 사전 정의된 음성 패턴: 참조용으로 메모리에 저장
- 패턴 매칭 알고리즘: 입력 음성 신호와 참조 패턴 비교
일반적인 사람은 초당 10개 음소를 발음할 수 있으며, 음성 신호의 필요 정보율은 초당 50비트입니다. 이 음향 신호는 마이크로폰에서 전기 신호로, 다시 아날로그-디지털 변환을 거쳐 디지털 신호가 됩니다.
이 디지털 신호는 시간 영역에서 초당 16,000회 샘플링되므로 음성 패턴 파악에 부적합합니다. 따라서 고속 푸리에 변환(FFT) 기법으로 주파수 영역으로 변환합니다. 이 기법은 1/100초마다 성분을 분석하고 각 성분의 주파수 스펙트럼을 계산합니다.
각 주파수 그래프/스펙트럼은 화자가 발음한 소리 구간을 나타냅니다. 컴퓨터나 컨트롤러는 미지의 음성 구간을 언어의 저장된 음소와 매칭합니다.
패턴 매칭 방식:
- 음향 음소 접근법: 은닉 마르코프 모델(HMM) 사용, 음성 구간을 확률적으로 음소와 매칭
- 패턴 인식 접근법: 미지 음성 패턴과 참조 패턴 간 거리 측정으로 비교
- 인공지능 접근법: 기본 지식 소스 활용 기반
제안된 음성 제어 홈 오토메이션 모델
두 개의 8051 마이크로컨트롤러 간 무선 통신을 이용한 소규모 음성 인식 기반 홈 오토메이션 시스템을 구축해 보았습니다.
면책 조항: 여기에 제시된 송신부와 수신부 회로는 이론적 설계로 실제 테스트되지 않았습니다. Multisim에 HM2007 시뮬레이션 모델과 통신 모델이 없어 제대로 된 시스템 시뮬레이션이 불가능했습니다.
시스템 구성: 사용자 음성 명령(마이크 입력) → 음성 인식 IC 처리 → 통신 모듈로 송수신 → 마이크로컨트롤러 제어 → 수신 측 마이크로컨트롤러가 정확한 음성 명령 수신 시 전구 점멸 제어.
시스템 동작 원리 개요:
그림 2: HM2007 음성 인식 보드
음성 인식 시스템의 핵심은 HM2007 IC로, 48핀 IC로 음성 인식 기능을 제공합니다. 수동 모드 또는 CPU 모드로 동작하며, 최대 20개 단어 인식 가능(단어당 1.92초), 동작 전압 9~15V DC. 여기서는 수동 모드 사용.
음성 인식 홈 오토메이션 시스템 회로도
송신부(Transmitter)
송신부 회로도
수신부(Receiver)
수신부 회로도
시스템 동작 순서
- 사용자가 HM2007 IC의 MICIN 핀에 마이크를 통해 음성 입력
- IC의 RDY 핀이 활성 LOW 상태 → 학습 모드 준비 완료 표시
- 사용자 키패드에서 "1" 누른 후 "TRAIN" 키 누르고 목표 단어("ON" 또는 "OFF") 발화
- 메모리 인에이블(ME) 핀, 외부 SRAM 해당 핀 연결 → 해당 번호의 8비트 데이터 신호 저장
- 음성 입력 감지 시 RDY 핀 HIGH 전환 → 인식 프로세스 시작
- 인식 결과 데이터 버스를 통해 8051 마이크로컨트롤러로 전달
- 마이크로컨트롤러(uC1) 통신 모듈을 통해 데이터 신호 송신
- 수신 측 마이크로컨트롤러(uC2) 데이터 수신 후 저장된 명령과 비교. 일치 시 릴레이 동작(명령 수행), 불일치 시 오류 신호 재송신
- uC1 오류 신호 수신 시 진행 중 프로세스 중단, 연결된 LCD에 오류 정보 표시
음성 인식 시스템 한계
- 연속 발화 불가: 단어 간 중첩 발생으로 공백/일시정지 필요. 고립 단어만 인식 가능.
- 화자 의존적: 다수 화자 동시 발화 시 신호 중첩 및 방해 발생.
- 어휘 크기 제한: 어휘가 많은 언어는 패턴 매칭이 어려움(모호한 단어 발생 확률 높음). 어휘가 적은 언어가 유리.
위 한계에도 불구하고, 음성 인식 기반 가전 제어는 시간 절약과 보안 제공 측면에서 이점이 있습니다.
소규모 음성 인식 홈 오토메이션 모델을 제시했습니다. 대규모 구축 시 다양한 응용 분야에 활용 가능합니다.
음성 인식을 이용한 가전 제어에 대한 다른 아이디어는 댓글로 공유해 주세요.
함께 읽으면 좋은 글: