RVC로 학습돌렸고, 노래에서 보컬 분리하는 데이터셋 기준으로 쓴 글임)


내가 학습하려고하는 가수는 같은 고음이라해도, 숨소리 섞은 가성고음이랑, 진성으로 쨍쩅하게 내는 고음이 있고

저음도 그와 비슷하게 창법이 노래마다 다름(고음보다는 그 차이가 매우 덜 느껴지지만)


얘네를 다 넣고 학습을 돌리면, 추론곡에서 가성부분일때 가성으로, 진성부분일때 진성으로 부르는게 아니라 싹다 가성과 진성사이 어딘가의 창법(애매하게 진성에 가성이 섞인 탁한) 으로 부름


그 어딘가의 창법으로 노래의 저음구간 고음구간 할것없이 전체를 "균일"하게 불러서 전체가 어색함


데이터셋 만들때 가성으로 부르는거랑, 진성으로 부르는거랑 같이 안넣는게 좋을것같음. 

"진성"만 넣는게 좋을거같음 (보통 저음은 진성으로 부르니까 저음과 고음이 가성보단 더 일관적이게 됨)

아직 ai음성 방식이 하나의 노래에서 가성과 진성을 구분안하는거 같음, 가성일때는 가성으로 부르고 진성일떄 진성으로 부르지를 못하는거같으니....


그래서 실제로 가성고음이 없는 진성고음으로 부른 노래만으로 데이터셋을 구성해서 다시 추론해보니까 노래 전체 구간에서 부르는 방식이 상당히 많이 개선됨, 물로 "균일"한건 여전하지만 적어도 싱크로율이 높은 진성으로 불러주니까. 


노래부르는 방식이 균일한건 ai학습의 구조적 문제같음, ai허브에서 인기많은 모델로 추론돌려도 이건 여전하더라

근데 이건 믹싱으로 어느정돈 커버될수도 있을거같음.


아직 테스트로 10분 정도만 한건데 다시 각잡고 데이터셋을 선별해봐야될듯 ㅇㅇ


그리고 uvr 보컬분리 방법 자체가 고음위주보컬의 경우 고음기준으로 분리를 해서그런가, 저음을 잘 못뽑고, 저음위주보컬의 경우 반대로 고음을 잘 못뽑음

노래를 처음부터 저음파트와 고음파트를 짤라서 따로따로 보컬분리해야되려나.... 이건 나중에 시도해봐야겠음




요약) ai가 가성 진성을 구분못하고, 가성고음은 탁하고 허스키한 '음색', 진성고음은 쨍쩅한 '음색'으로 인식해서 걔네를 같이 학습돌리면 그 중간값으로 음색을 애매하게 일반화한다. 그 음색으로 노래 전체를 부른다.


추신)rvc는 학습이 빨라서 몇스텝만 가도 대체적인 학습은 금방됨, 학습오래한다고 선형적으로 좋아지는게아니라 초반에 상당부분 완성됨. 거기서 학습더한다고 눈에 띄게 달라지는건 아님.  학습은 ddsp기준 validtion loss, rvc기준 loss g total,kl,mel 이 충분히 내려가서 이제 옆으로 꽤 가는거같으면 중단하고 들어보셈. 들어보고 아닌거같으면 데이터셋을 다시 바꾸셈. 굳이 과적합 나기 직전의 최적의 모델 뽑으려고 기다리는건 너무 시간소요가 큼. 데이터셋이 중요하다.