3.2차 중간 보고

                 종합설계 프로젝트 2차 중간보고서 요약

팀명

쁘띠 사운즈

제출일

2013 5 2

프로젝트 제목

Petit Voice Recognition ( 쁘띠 음성 인식 )

설계프로젝트 개요

프로젝트 수행 내용 및 중간 결과

프로젝트 요약문

Petit Voice Recognition 어플리케이션은 사용자의 음성과 닮은 연예인 찾기 기능 뿐만 아니라 연예인의 유행어를 성대모사 하는 기능을 테스트 할 수 있는 시스템입니다.

이 프로젝트의 목표는 다음과 같습니다.

1. 음성인식에 대한 전반적인 흐름을 공부하고특징추출패턴인식 부분을 중점적으로 다루어 정확한 유사도를 구하는 정확성 높은 어플리케이션을 만드는 것이 목표입니다.

2. 사용자의 목소리가 어떤 연예인과 비슷한 지 궁금증을 유발하고사용자 목소리의 억양과 높낮이에 따라 다른 연예인이 나오게 되는 재미를 느끼게 한다또한 사용자가 연예인의 유행어를 성대모사 하여 얼마나 닮게 성대모사를 하였는지 확인하는 재미를 느끼게 합니다.

 

마일스톤 수행 내용 

1. 데이터베이스

- 성대모사 음성 수집

연예인의 성대모사가 포함된 동영상을 인코딩하여 mp3파일 형식으로 음성파일을 추출하고 성대모사 음성만을 따로 저장

음성파일은 MFCC로 특징추출하기 위한 입력 값이며, 어플리케이션에서 연예인음성을 들어볼 수 있는 기능에서 사용됨.

- DB 구축

20~30명 정도의 연예인 정보 데이터를 저장하기 위한 데이터베이스 엔진으로 SQLite를 사용.

운영체제에 상관없이 사용할 수 있는 SQLite Manager를 통해서 데이터베이스 생성 및 레코드 입력, 조회 수정 등 연습하고 실제 데이터 베이스 디자인을 구상.

디자인한 데이터베이스 테이블을 실제로 구축하고 어플리케이션 안에서 테이블 안의 데이터들을 가져올 수 있도록 데이터베이스를 어플리케이션 안에 저장. 

테이블은 닮은 목소리 연예인 찾기와 연예인 성대모사에 각각 쓰일 2개의 테이블을 구축.

2. User Interface

안드로이드 작업에서 레이아웃 부분은 여러 스마트폰 특정상 정확한 크기를 위해 LinearLayout으로 각 페이지의 기본 틀을 설정.

메인 화면에서 두 가지 중 선택할 이미지 버튼 중 한가지씩 눌렀을 경우 다음 페이지로 넘어가는 이벤트 처리 작업까지 완료 및 버튼의 기본 형태를 구현.

3. 특징추출

MFCC의 특징 벡터를 추출하기 위해서 다음과 같은 과정으로 완성.

End Point Detection → Pre-emphasis → Framing → Windowing → FFT → Magnitude

→ Mel-Filterbank → Logarithm → DCT →

데이터베이스로 관리하는 연예인 음성파일은 음성의 시작과 끝에 맞춰서 미리 잘라놓을 수 있지만 사용자로부터 들어오는 음성은 그렇지 않기 때문에 끝점을 검출하는 방법을 추가.

Windowing hamming window를 사용하였고, FFT는 쿨리-튜키 알고리즘을 사용하였다. MFCC 1~12차까지 12차 벡터들의 집합을 출력.

4. 패턴비교

- MFCC 특징추출 결과로 시간대별 캡스트럼을 데이터로 취한다. 이 데이터는 연속적이므로 이산적인 값을 observation으로 다루기 위해 kmeans 알고리즘을 이용해 벡터를 군집화 하여 이산적으로 데이터를 다시 취한다. 이 방식으로 수집된 음성데이터들을 observation으로 취하고 Baum Welch 알고리즘으로 훈련하여 하나의 최적화된 HMM클래스를 계산.

- 훈련된 HMM에 새로운 데이터가 들어가면 그 HMM클래스와의 패턴유사 확률을 jahmm 라이브러리를 사용하여 계산.

- 모든 HMM클래스들과 패턴 유사 확률을 각각 계산하여 가장 높은 유사도를 갖는 HMM클래스를 찾는다.

 

동영상

쁘띠 음성 인식

 

다음 마일스톤 일정

데이터베이스

 

5 1

5 2

5 3

5 4

최종 DB구축

 

 

 

 

안드로이드 연동 및 테스트와 수정

 

 

 

 

최종 테스트

 

 

 

 

HMM값에 대해 저장할 자료가 아직 불분명하여 출력값이 확정되면 수정해서 테이블을 업데이트할 예정이다. 어플리케이션 안에 저장된 데이터베이스 테이블에서 자료를 가져올 수 있도록 자바코드를 구현하고 계속적인 테스트와 수정을 할 것이다.

 

User Interface

 

5 1

5 2

5 3

5 4

디자인 작업

 

 

 

특징추출, 패턴비교, db의 작업 연동

 

 

수정 및 최종테스트

 

 

특징추출 및 패턴비교(DTW)

 

 

5 1

5 2

5 3

5 4

DTW 구현

 

 

 

 

특징추출에 대한 테스트 및 개선

 

 

 

 

DTW에 대한 테스트 및 개선

 

 

 

 

 

다음과 같은 사항을 고려하여 코드를 개선하고자 한다.

1.     들어오는 사용자 음성은 파일로 저장이 되는가? 혹은 어떻게 관리가 되는가?

2.     들어오는 사용자 음성은 몇 채널이며 초당 샘플수는 어떻게 되는가? 또한 각 스마트폰 환경마다 다른가?

è  현재 채널이 많을 경우 채널마다의 음성이 있기 때문에 데이터 양이 배가 된다.

è  초당 샘플수가 다를 경우 framing을 하기 위하여 frame size shift size를 고려해야 하며 이로 인해 저장된 연예인 음성과 어긋날 수 있다.

è  따라서 1채널에 고정된 초당 샘플수를 가지는 것이 좋다.

3.     끝점 검출을 할 때 계수값을 얼마만큼 값을 주어야 하는가? (정확성)

4.     MFCC 추출 계수가 특징을 잘 나타내는가? (정확성)

패턴비교(HMM)

   

5 1

5 2

5 3

5 4

시스템 안정화 및 애플리케이션과 연동

 

 

 

 

테스트 및 개선

 

 

 

 

다음과 같은 사항을 고려하여 코드를 개선하고자 한다.

1.     State수와 Cluster의 수는 적절한가?

2.     Hmm을 수행한 확률 값이 얼마나 정확한가? (정확성)

è  현재 확률값이 너무 낮게 나오기 때문에 더 정확하고 높은 확률값을 표현할 수 있는 방안을 고려해야 한다.

첨부화일 (아래 안내는 첨부 후에 삭제할 것)

1. 동영상 (위 본문 페이지에 삽입)
2. 중간 보고서(PDF)
Ċ
7조 캡스톤,
2013. 5. 1. 오후 10:30