버디버드라는 앵무새에게 말을 가르치는 서비스를 개발중입니다. 아래는 그 과정에 대한 기록입니다.

https://www.instagram.com/king_gongryong/ https://www.instagram.com/buddybird.xyz/


앵무새의 인간 언어 모사 성공여부 판정 파이프라인

Parrot Human-Speech Mimicry Assessment Pipeline

목적: 앵무새가 ‘안녕(예시)’ 발음에 성공/실패 여부 판별

버디버드는 보호자가 부재중일 때 앵무새의 말 학습을 도와주는 서비스.

‘안녕(예시)’ 학습 세션에서 앵무새가 실제로 ‘안녕’을 따라 말하는 데 성공/실패했는지를 자동으로 판정하는 것이 목표.


제약사항

1. 이 파이프라인의 입력값에는 노이즈가 있다.

  • 입력값: 사용자의 기기에서 VAD(소리가 난 구간만 자름)처리된 audio clip(이하 VAD clip)
  • 앵무새 소리, 사람 소리, TV 소리 등등이 모두 섞여 있는 형태.

2. ‘안녕(예시)’ 판단에 앵무새의 ‘안녕’ 발화를 사용할 수 없다.

  • 안녕의 경우 대중적이라 앵무새의 발음 오디오를 수집할 수 있으나,
  • ‘망고야’, ‘아구내새끼’ 등 개인화된 단어의 앵무새 발음은 수집하기 어렵다.
  • ==> 사용자가 ‘단어 생성’ 단계에서 녹음한 1~5개의 사용자 목소리 녹음본이 기준이 되어야 한다.

파이프라인 구조 설계

현재 검토중인 파이프라인이다.

0. VAD 클립 입력
1. 앵무새 소리 여부 판별 — 사람 음성·TV 등 잡음 VAD 클립 자체를 제외.
2. biodenoising — VAD 클립에서 앵무새 음성만 남기고 이외 섞인 잡음 제거
X. (기각) 울음 vs 발화 시도 판별 —> 기각됨. 
3. 발화 성공 여부 판정 — 보호자 녹음과 비교하여 성공/실패 반환

버디버드 앱


Step 0(입력값). VAD 클립 입력

‘학습 세션’이 진행될 때, 일정 음량 이상의 소리가 감지되면, 그 부분만 잘라 audio clip으로 서버로 전송된다.

버디버드 앱

버디버드 앱

Step2. 앵무새 소리 여부 판별

사람음성, TV 등 잡음으로 판단된 VAD clip을 걸러낸다.

버디버드 앱

이 단계에서 ‘사람 목소리’를 걸러내는 것이 매우 중요하다. 이 부분이 안될 경우, step4에서 ‘보호자 녹음’과 유사도가 높게나옴 -> 사람 목소리가 '발화 성공'으로 오판될 가능성이 있다.

검토 기술

  1. Perch 2.0 (Google) + probe
  2. AVEX (EarthSpecies) + probe

(자세한 검토 내용은 다른 포스트에서 다루겠다)

Step X. 울음 vs 발화 시도 판별 —> 기각됨.

앵무의 발화 시도는 인간 목소리와 유사할 것이라는 가설을 토대로 한 단계이다.

-> 아닌 것으로 판명되었다.

Step 3. 발화 성공 여부 판정

버디버드 앱

보호자 녹음본과 비교하여 성공/실패를 반환한다.

검토 기술

  1. SSL 프레임 임베딩 + DTW