음성인식 Control System - 선풍기 제작 -홍길동 20000000지도교수 : 교수전자공학부Abstract : We will make electric fan using speech recognition. We use speech recognition module which consists of speaker recognition. When voice is generated, module generates Binary input using FFT(Fast Fourier Transform) for 80S51 chip. And 80S51 chip also generates signals for electric fan using module's Binary output. As a results, electric fan can act 5 different states. (ON, OFF, and the 3 different velocity of the wind)1. 서 론최근 들어 음성인식 기술의 발전이 크게 이루어지고 있다. 하지만 아직 음성인식 기술은 완성 단계가 아니다. 음성인식에 대한 관심이 높아지고 있으나 아직 우리생활 깊숙한 곳까지 자리 잡고 있지는 않았기 때문이다. 이번 졸업 작품을 통하여 조금이나마 음성인식 기술이 우리 생활 속에 자리 잡기를 바라는 취지에서 제작하게 되었으며, 또한 리모컨에 의해 작동되는 선풍기 제품상용화 이후에 음성인식 선풍기는 상용화 되지 못하였으며 최근 늘어나는 음성인식 제품 수요로 인해 이번 작품을 준비하게 되었다.2. 본 론가장 먼저 음성 입력이 마이크를 통하여 화자 인식 음성 시스템 모듈로 전달되면 모듈은 받아들여진 음성 입력을 FFT(Fast Fourier Transform)의 방법을 사용하여 스펙트럼을 만들어내고 기존에 녹음된 화자의 음성신호 2개의 스펙트럼과 각각 비교 추출을 통한 방법으로 일치와 불일치를 혹은 가장 근접한 스펙트럼을 찾아 재귀하여 알맞은 출력은 80S51에 전달하며 일치하는 스펙트럼이 없는 경우 …211. 음성인식 기술의 발달과 방향…………………………………………………………212. 졸업 작품 최종 후기………………………………………………………………………22※ 참고문헌 ……………………………………………………………………………………… 23Abstract : 음성인식 모듈을 사용한 선풍기 회로의 설계와 제작이다. 최종 제작의 결과는 음성인식 모듈을 이용하여 ON, OFF, 약, 중. 강풍 5단계의 결과를 만들 수 있다. 이번 선풍기에 대한 설계는 총 7단계의 음성을 녹음 할 수 있는 음성인식 모듈과 음성인식 모듈의 출력 바이너리 비트를 받아들여 각 MOSFET과 LED에 전달 해 줄 수 있는 80S51 마이크로 칩, 그리고 칩의 출력을 통해 돌아가는 FAN 으로 이루어져 있으며 약풍과 중풍, 강풍의 풍향을 현저히 나타내기 위하여 2개의 FAN을 달아 약풍일 때 하나가 약하게 중풍이면 하나가 강하게 강풍이면 2개의 FAN 강하게 돌아가도록 하였고, 각각의 풍향에 따라 각각 다른 LED가 켜질 수 있도록 설계하였다.Ⅰ. 서 론최근 들어 음성인식 기술의 발전이 크게 이루어지고 있습니다. 하지만 아직 음성인식 제어 기술은 완성 단계가 아닙니다. 음성인식에 대한 관심이 높아지고 있으나 아직 우리생활 깊숙한 곳까지 자리 잡고 있지는 않습니다. 때문에 이번 졸업 작품을 통하여 조금이나마 음성인식 기술이 우리 생활 속에 자리 잡기를 바라는 취지에서 제작하게 되었습니다.또한 리모컨에 의해 작동되는 선풍기 제품상용화 이후에 음성인식 선풍기는 상용화 되지 못하였으며 최근 늘어나는 음성인식 제품 수요로 인해 이번 작품을 준비하게 되었습니다.Ⅱ. 음성인식1. 음성인식이란??간단히 말해서 음성신호를 컴퓨터를 이용하여 음성의 특징 파라미터를 추출하여 컴퓨터로 하여금 인지하도록 하는 것이다. 우리가 컴퓨터를 사용할 때 불편한 점 중 하나는 명령 키보드로 입력하는 것이다. graphic interface의 발달로 마우스와 키보드를 병용함으로써 편의성이 많이 개선되었으나 지구상에서 가장 오래되고 경우 N이 커지면 커질수록 어려운 식별하는 것은 어려운 문제가 될 것이다. 이와 달리 open-set problem은 식별해 내고자 하는 화자가 N명의 알려진 화자의 그룹에 속하는가 하는 것을 판단해야 하는 문제이다. 이 두 문제에 대해서 전자는 화자식별(speaker identification) 후자는 화자검증(speaker verification)이라고도 부른다. 화자 검층시스템은 알려진 화자의 그룹에 속한지 아닌지에 대한 이진결정을 내리기만 하면 되지만, 녹음한 음성을 이용한 사기를 막기 위해 음성인식(speech recognition) 또한 동시에 요구되는 경우가 많다. 이러한 화자식별 및 화자검증 기술은 개인의 음성 특징이 유일하다는 사실을 근거로 하고 있으며 최근의 인터넷 기술의 발전과 더불어 보안을 위한 인증방법으로 각광을 받고 있다. 화자인식시스템은 발성의 종류에 따라 문맥종속 및 문맥독립화자인식으로 나눌 수 있는데, 문맥독립화자인식의 경우 보안성이 높아 이에 관해 많은 연구가 진행 중이다.문맥독립화자인식방법(text-independent speaker recognition)이라는 것은 식별과정(identification process)이 어떠한 text에도 동작하는 인식 방법을 말한다. 문맥종속 화자인식방법(text-dependent speaker recognition)과는 훈련, 테스트 방법이 다르다. 문맥종속화자인식방법에 있어서는 성능향상을 위해서 발음할 내용이 조절될 수 있다.화자인식 방법에는 Template matching(Statistical averaging), VQ(Vector Quantization)에 기반 한 방법, HMM과 GMM(Gaussian Mixture Model)에 기반 한 방법 등이 연구되고 있으며 이러한 접근방법들 중 화자특성변화의 표현에 있어서나 화자인식률 면에서 좋은 결과를 나타내고 있는 GMM에 의한 접근방법이 가장 유리한 것으로 알려져 있다.[그림 1] Speaker Recognition Systema. 령 디코더는 각 명령을 해독하여, 실제로 그 명령을 실행해서 완료할 때까지 필요한 CPU 내부 신호를 만들어서, 주어진 기능을 완료시키는 부분이다. 이와같이 CPU 내부 신호에는 소스 및 목적지 operand를 제어하는 신호와 산술논리 연산장치의 동작을 제어하는 신호 등이 있다.(2) 프로그램 카운터(PC : Program Counter)프로그램 카운터는 프로그램 메모리에 저장되어 있는 명령의 실행순서를 정하는 10비트 레지스터이며, 실행시킬 명령이 기억되어 있는 어드레스를 가리키고 있다. 프로그램 카운터는 점프/콜 등의 명령을 사용해서 변경시킬 수 있다.(3) ALU (Arithmetic Logic Unit)ALU는 그 이름이 의미하듯이 8비트의 변수에 대해서 산술 및 논리 연산을 하는 곳이다. ALU는 다음과 같은 기능을 갖고 있다.(a) 캐리가 없는 덧셈, 캐리가 있는 덧셈/뺄셈(b) 8비트/10비트 increasement, 8비트 decreasement(c) BCD(Binary Coded Decimal) 10진 조정(d) 곱셈/나눗셈(e) AND, OR EX-NOR, rotate(f) 바이트 complement(1의 보수), 비트 complement(g) 니블(nibble)단위 데이터 교환 및 바이트 단위의 데이터 교환(h) 조건 branch 등의 판단 등이 있다.8051의 중요한 특징의 하나로서, ALU에서 비트 처리 능력이 있다는 것이다. 즉, ALU는 8비트 데이터뿐만이 아니라, 1비트도 똑같이 취급할 수 있다. 8비트 레지스터내의 각 비트를 각각 셋, 리셋 또는 보수, 전송, 테스트 등의 논리연산까지도 똑같이 할 수 있다.(4) 어큐물레이터 (Accumulator)8051에서 가장 많이 사용하는 레지스터 중의 하나인 accumulator는 다음과 같이 사용한다.(a) 덧셈/뺄셈, 곱셈/나눗셈 등의 산술연산 명령 등에서, 명령실행에 필요한 1개의 operant를 입력하기도 하고, 또 명령실행이 끝나면, 그 결과를 기억하고 있게 되는 곳에도 사용한다하여 지 정할수 있다. Look - Up table 사용 시 유용하다.MOVA,#07HMOVDPTR, #0700HMOVCA, @A+DPTR- 암시 어드레스 지정방식OP 코드자체에 어드레스가 암시되어 있는 방식으로 어드레스를 별도로 지정할 필요가 없다.PUSHAPUSHPSWPOPPSWPOPA4. 연산과 데이터 전송 명령법 및 명령법의 예(1) 산술 연산 명령명령동 작실행시간(μsec)ADD A, A=A+1ADDC A, A=A++C1SUBB A, A=A--C1INC AA=A+11INC =+11INC DPTRDPTR = DPTR+12DEC AA=A-11DEC =-11MUL ABB:A = B*A4DIV ABA=INT[A/B]B=MOD[A/B]4DA A10진법으로 보정1(2) 논리연산 명령명 령동 작실행시간(㎲)ANL A,A = A AND 1ANL ,A = AND A1ANL ,#DATA = AND #DATA2ORL A,A = A OR 1ORL ,A = OR A1ORL ,#DATA = OR #DATA2XRL A,A = A X0R 1XRL ,A = XOR A1XRL ,#DATA = XOR #DATA2CRL AA = 00H1CPL AA = NOT A1RL ARotate Left A 1bit1RLC ARotate Left A 1bit with carry1RR ARotate Right A 1bit1RRC ARotate Right A 1bit wiht carry1SWAP ASwap Nibble in A1(3) 부울 명령명 령동 작실행시간(㎲)ANL C, BITC = C AND BIT2ANL C, /BITC = C AND (NOT BIT)2ORL C, BITC = C OR BIT2ORL C, /BITC = C OR (NOT BIT)2MOV C, BITC = BIT1MOV BIT, CBIT = C2CLR CC = 01CLR BITBIT = 01SETB CC = 11SETB BITBIT = 11CPL CC = NOT C1CPL BITBIT = NOT BIT1XOR 연산은 없되었다.