Abstract
In this study, we'd implemented a real time embedded speech recognition system that requires minimum memory size for speech recognition engine and DB. The word to be recognized consist of 40 commands used in a PCS phone and 10 digits. The speech data spoken by 15 male and 15 female speakers was recorded and analyzed by short time analysis method, which window size is 256. The LPC parameters of each frame were computed through Levinson-Burbin algorithm and they were transformed to Cepstrum parameters. Before the analysis, speech data should be processed by pre-emphasis that will remove the DC component in speech and emphasize high frequency band. Baum-Welch reestimation algorithm was used for the training of HMM. In test phone, we could get a recognition rate using likelihood method. We implemented an embedded system by porting the speech recognition engine on ARM core evaluation board. The overall recognition rate of this system was 95%, while the rate on 40 commands was 96% and that 10 digits was 94%.
본 연구에서는 음성인식 엔진과 데이터베이스에 필요한 메모리 규모를 최소화시킨 실시간 임베디드 음성인식 시스템을 구현하였다. 실험을 위해 PCS 전화기에서 사용하는 40가지의 명령어와 10개의 숫자음으로 구성된 단어 목록을 만들고, 이들 단어들을 남,여 화자가 발성하여 음성 시료를 구했다. 채록된 음성을 대상으로 창크기 256표본외 단기 분석을 통해 선형 예측 계수를 구한다. 이때 고역강조를 통해 직류 성분을 제거하고 성문 등의 저역 필터효과를 제거하였다. 선형 예측 계수는 Levinson-Durbin 알고리즘을 사용해 구했고 이를 다시 켑스트럼 계수로 변환하여 인식을 위한 특징 벡터열로 구축하였다. 각 단어의 특징 벡터 열에 대해 Baum-Welch 추정법을 이용하여 HMM을 훈련시킨 다음, 기능성 계산을 통해 각 단어에 대한 인식을 수행하도록 하였다. 단어 인식을 위해 ARM CPU코어가 장착된 보드에 음성인식 엔진과 데이터 베이스를 포팅하여 실험용 임베디드 시스템을 구축하였다 5가지 인식 계수집단에 대한 인식 실험을 실시하여 인식률이 좋은 계수 집단을 선정하였다. 전체적인 음성인식 엔진의 인식률은 95%이었고 명령어에 대한 인식률은 96%, 숫자음에 대한 인식률은 94%로 나타났다.