2019. 8. 10. 00:11 ㆍ개발 이야기/머신러닝(딥러닝)
음성인식이란 무엇일까?
컴퓨터가 사람의 음성을 인식하고
이해하는 것이라고 볼 수 있다.
내가 다룰 내용은
음성인식의 기초이지만 궁극적으론 STT(Speech To Text)의 내용을 다룰 것이다.
요즘 회사에서 프로젝트를 하면서 가장 중요한 코어 기능이 바로 저 STT이다.
컴퓨터를 전공한 사람, 컴퓨터를 좋아하는 사람은 알것이다.
컴퓨터는 완전 바보이다.
그렇기 때문에 컴퓨터에게 사람의 언어를 가르친다는 것은 정말 어려운 일일 수 있다.
기본적으로 컴퓨터는 0과 1로 이야기를 한다.
수무히 많은 0과1로 프로토콜을 만들어서 우리가 이해하는 언어와 비슷하게
이해하고 통신하는 것이 컴퓨터이다.
자 그렇다면 이 컴퓨터에게 말소리를 들려줘 보자!
이렇게 저렇게 녹음을 한 후
컴퓨터에게 하고싶은 말을 하고 녹음한 오디오 파일을
file 명령어를 통해 확인해봤다.
우리가 아는 오디오 파일 확장자 명이 뭐가 있을까?
wav, flac, mp3, aac 기타 등등
이런 오디오 파일들은 모두 이렇게 비슷한 특성을 가진다.
이게 무슨 뜻일까?
bitsteam은 일반적으로 비트가 나열된 데이터를 말한다.
16bit는 표현할 수 있는 음의 높낮이라고 생각하는게 좋을 것 같다
쉽게 생각해보자 3bit는 몇 개의 음을 표현할 수 있을까?
000, 001, 011, 111, .........
3bit는 이정도의 음을 표현해 낼수 있다.
그렇다면
16비트는 ??
2^16 이다
2의 16승 = 65,536
이렇게 많다.
그림으로 보자면
이정도가 될 것같다.
mono, stereo는 모노는 1채널, 스테레오는 2채널
하나의 스피커, 두개의 스피커 이런 느낌이고
16khz는 16bit로 표현된 음이 초당 16000개 있다는 이야기다.
오디오 파일은 이렇게 단순한 데이터가 응집되어서 만들어지게 된다.
오디오 스펙의 기본을 알아야 음성인식을 알 수 있다
그럼,
컴퓨터에게 어떻게 이해시킬 수 있을까?
다음 글에서 다루도록 하자
'개발 이야기 > 머신러닝(딥러닝)' 카테고리의 다른 글
#Back to basic 머신러닝이란? (0) | 2019.09.29 |
---|---|
#5 음성인식 노이즈 제거 (15) | 2019.09.20 |
#4 음성인식 KALDI 툴을 이용한 한국어 음성인식(zeroth project) (69) | 2019.08.18 |
#3 음성인식 KALDI 툴 설치 (12) | 2019.08.18 |
#2 음성인식 이해 (0) | 2019.08.10 |