AI로 목소리를 학습하여 노래를 부르게 하자! #1

Apic·2023년 4월 6일
2

심심한 프로젝트

목록 보기
8/18

추진 이유

유튜브를 보다가 어떤 영상을 보게 되었다.

이미 돌아가신 故김광석님의 목소리로 김범수의 '보고싶다'를 부르는 장면이다.
이걸 보면서 생각했다.

그럼, 목소리를 학습시키면 내가 원하는 가수의 목소리로 원하는 곡을 리메이크를 할 수 있겠네?

그리고 이런 기사도 발견했다.

오잉?

여기서부터 개발이 시작된다.

개발 일정

이 프로젝트는 2주간 진행되었다.

음성 합성하기?

음성 합성에 대해서는 여러가지 자료들을 찾아볼 수 있다.
가장 유명한건 보코더(vocoder)타코트론(tarcotron)이다.

이것들을 이용해서 음성 합성을 해보려고한다.... 였지만,
이 글을 읽는데, 뭐가 뭔지 모르겠다.

일단 이것들을 하려면 음성에 관해 기본적인 지식들이 필요하다.

처음에 음성 합성을 위해 여러 자료들을 조사했다.
먼저 학습할 노래를 가져오고, 거기서 가사를 추출하고, 목소리에서 음의 높낮이도 추출해서 학습하려고 했으나,

하지만 짧은 기간이 주어졌던 나에게는 이걸 하나하나 공부해서 실험해보고, 적용할 수 없었다.

그렇게 자료들을 찾아보고, 다른 것으로 할까 하던 찰나에 흥미로운것을 발견했다.

Diff-svc(Diffusion-SingingVoiceConversation)

Diff-svc라는 것을 발견했다.

우리가 음성 데이터에서 음절 하나하나, 초성 하나하나 분리해서 학습하는 것이 아닌 목소리 부분만 통째로 넣으면 학습이 되는 것이다!

그래서 이번에는 이 모델을 이용해서 학습하고, 변조를 해볼 예정이다.

이제 학습을 위해 학습시킬 데이터를 모아야 한다.

먼저 학습 데이터를 모으는 코드를 만들기 전에, 전문 성우가 녹음한 목소리를 가지고 한 번 해보려고 한다.

한국어 음성 감정 데이터셋 (KESDy18)
Korean Single Speaker Speech Dataset

여기서 두 번째 캐글에서 데이터를 가져와 해보려고 한다.

profile
코딩 공부하는 사람

0개의 댓글