brunch

You can make anything
by writing

C.S.Lewis

by 김도환 Jan 26. 2023

AI 학습용 데이터셋 획득 프로그램 개발 후기

음성합성 엔진에 학습시킬 데이터셋 자동 획득 프로그램 

안녕하세요. 디피니트입니다.


여러분들은 AI 보이스가 성우분들을 대체할 수 있다고 생각하시나요?


최근 음성합성 기술을 활용한 AI 보이스 제작 플랫폼 및 제품들이 개발되고 있는데요.


가장 대표적인 예로 AI 스피커에서 나오는 목소리도 음성합성 기술로 구현된 것입니다.


이젠 커스텀 보이스 시장까지 등장하여 특정인의 목소리를 음성합성 기술로 모방하는 수준까지 성장했습니다.


이러한 영상은 유튜브에서 손쉽게 찾아볼 수 있습니다.


https://www.youtube.com/watch?v=3DIb9F9ATNE



아마 성우분들은 추후 목소리를 AI 에 빌려주고 직접 말하지 않아도 저작권으로 수익을 얻는 시대를 맞이할 것입니다.






최근 디피니트에도 다양한 음성합성 기술 관련 프로젝트 의뢰가 들어오고 있습니다.


이번 콘텐츠에서는 음성합성 엔진을 학습시킬 데이터셋 획득 의뢰 후기에 대해 이야기 해드리겠습니다.




• 의뢰주신 클라이언트께서는 


애니메이션 제작시 캐릭터의 목소리를 음성 합성 엔진으로 생성한 목소리로 대체하고자 하는 목표를 갖고 계셨습니다.





• 음성 합성 엔진을 학습하기 위해 단일 화자의 데이터 셋을 구축해야 하는데 이 과정에서 AI 기술을 활용하여 시간과 비용을 줄일 수 있는 자동화 프로그램을 필요로 하였습니다.



즉, 음성 합성 엔진에 사용할 데이터셋 구축용 프로그램 개발이 클라이언트가 의뢰한 작업 결과물이었습니다.


AI기획 시 두 가지를 고려해야 합니다.


AI 가 어떻게 일을 자동화하거나 사람의 능력을 강화 시켜줄 수 있을까



이번 프로젝트에서는 인간이 하는 일을 자동화해주는 AI 프로그램을 개발한 것으로 볼 수 있습니다.






■ 구현방식



• 애니메이션에서 원하는 화자의 목소리를 추출


• 우선 전체 오디오 파일에서 사람의 음성 구간을 검출


• 구간의 음성들 중 추출하고자 하는 화자와 일치하는 목소리만 분류하도록 workflow를 정의 


• 마지막으로 추출된 음성 파일들을 음성 합성의 학습에 알맞은 길이로 맞추기 위해 파일들을 병합


• (자막 파일이 존재하는 경우) 


: 병합된 음성 파일과 자막의 시간대를 매핑



• (자막 파일이 존재하지 않는 경우) 


: 음성 인식을 통해 자막 파일을 생성 후 매핑






※ workflow


Speech section split  reference voice extract  voice file combine  subtitles matching or speech recognition  restful-api






■ 음성 구간 검출 



•  배경음을 제거한 오디오에서 사운드의 진폭을 정규화하고 정규화 된 진폭을 활용하여 침묵/비침묵 구간을 검출



• 프로그램 개발이 완료된 후 restapi로 배포하는 과정에서 사용자가 해당 파라미터들을 원하는 값으로 설정 & 실행할 수 있도록 개발







■ 특정 화자 음성 추출


• 추출하기를 원하는 특정 화자의 음성으로만 구성된 음성 파일을 참조 음성으로 사용



• 음성 구간을 검출한 결과로 생성된 여러 음성 파일들의 스펙트럼을 클러스터링하여 참조 음성과 비교



• 이 결과로 참조 음성과 각 음성 파일들의 목소리가 얼마나 유사한지 스코어를 얻을 수 있음



• 이 스코어 값이 특정 값보다 높으면 참조 음성과 같은 화자의 목소리라고 판단




■ 파일 병합 및 음성 인식




• 고객은 음성 합성 엔진의 학습용 데이터 셋이 6~11초일 때 가장 이상적이기 때문에 프로그램의 결과가 6~11초로 병합된 음성 파일이기를 원함




• 추출된 음성 데이터들의 길이 분포를 구한 후 가장 이상적인 조합으로 모든 음성 데이터가 6~11초가 될 수 있도록 음성 파일을 병합하고 그에 맞게 자막들도 매핑되어 최종적인 결과물을 얻을 수 있도록 개발




• 대부분의 입력 파일에 자막 파일이 함께 포함되지만 자막 파일이 존재하지 않는 경우 결과물 음성 파일의 대본 파일을 생성하기 위해 OpenAI의 Whisper 음성 인식 엔진을 연동하여 자막 파일이 없어도 대본 파일을 얻을 수 있도록 함





■ 프로그램으로 추출된 데이터셋



이렇게 AI 학습용 데이터 셋을 자동으로 가공할 수 있는 프로그램으로 음성합성 학습용 데이터셋을 

획득하도록 하였습니다.


개발 과정에서 클라이언트의 요구사항을 명확히 파악해 반영하는 것이 중요하였고,


애니메이션에서 음성&자막 데이터가 자동으로 가공되어 가공시간에 대한 리소스를 줄일 수 있도록 

하였습니다. 



클라이언트분께서도 AI 활용에 대한 이해가 있으셔서인지 디피니트 기술이 어우러져 멋진 결과물을 

만들어낼 수 있었습니다.


음성합성 기술을 활용하고자 하시는 분들께서는 부담없이 컨설팅 의뢰를 해주세요!


감사합니다.


https://walla.my/newclients





브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari