본문 바로가기

개발일지/디스코드 봇

디스코드 봇 개발 일지(아님) 2023-07-19 - 학습한 AI 모델한테 노래 부르게 하기

 

 

※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의

 

※ 이 글은 디스코드 봇과는 관련이 없음. 쓰려다가 계획 변경으로 남은 것 잔반 처리 글

 

※ 물론 나중에 디코 봇에 써먹을 가능성이 있긴 함

 

 

 

학습시킨게 너무 아까워서......

 

 

RVC를 통해 학습시킨 모델로는 TTS 봇을 제작하기에는 부적합하다...

 

라는 결론을 일단은 저번에 내렸다.

 

하지만 학습시켰던 것들이 너무 아깝다!

 

그래서 이 기술의 본래의 주 목적을 달성해보도록 하자.

 

 

 

 

히히 노래 불러라 내 친구들아

 

 

역시 N년지기 친구들을 괴롭히는 것은 정말 재미있다.

 

기존에 학습시켰던 것들 가지고 0곡갑(대충 노래 하나도 안 불렀지만 쩌는 가수라는 뜻)을 만들어주자.

 

 

만약 이전의 글을 따라했었더라면, RVC를 이용한 학습에 사용했던 파일이 있을 것이다.

 

사실 그 파일은 학습뿐만 아니라 다른 음성 파일을 넣고 학습하는 것도 되는 만?능 파일이다.

 

뭐 다른 기능이 더 있겠지만 항상 도움말을 읽는 것은 정말 귀찮다.

 

필요한 것이 있을 때나 읽는 것이 효율적이고 좋다고 생각한다.

 

그래놓고 여기서 글을 늘이고나 있다. 비효율적인 놈

 

 

 

 

이제 진짜 해보자

 

 

이 글은 이전에 썼던 글에서 사용한 파일을 그대로 이용했기 때문에 그것을 참고하길 바란다.

 

https://syerco0.com/48

 

디스코드 봇 개발 일지 2023-07-10 - TTS 봇 - 목소리 학습시키기

※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의 ※ 이 글에서 사용하는 프로그램 모두 오픈 소스를 이용했기 때문에 직접 코드를 올리지 않음 ※ 직접 하면서 알게된 것을 모두 써서 사족

syerco0.com

 

자 그럼 이 이후에 할 것들을 해보자.

 

Model Inference

여기에서 "Recommended"라고 써져있는 것이 있고,

 

하단에는 거의 내용이 비슷한데 "Batch"로 시작하는 부분이 있다.

 

차이는 대략적으로 파일 1개/여러개 변환 정도의 차이로 보인다(아마 맞을거다).

 

 

그러니까 그냥 1개에 대해서 변환하는 것만 설명하고

 

다수는 설명 안 하려고 한다.

 

 

 

Inferencing voice

 

weights 폴더에 있는 학습된 목소리 모델에 대해 선택하면 된다.

 

여기에 없으면 못 찾을 거라서 학습된 모델은 다른 곳에 옮길 거면 복사를 하자.

 

 

Transpose

 

키 올리고 내리는 것. 여성 보컬을 남자 목소리 모델이 부르게 할 때 -12, 반대는 12로 넣으면 되는데,

 

원곡(MR)과의 괴리가 있다면 계속 바꿔보면서 조절해도 된다.

 

 

Enter the path of the audio file

 

말 그대로 원본 보컬 파일의 위치를 지정해주면 된다.

 

이전 글에서도 말했지만, 중간에 띄어쓰기는 없어야 한다.

 

 

Select the pitch extraction algorithm

 

사실 정확히는 모르겠지만, 'harvest' 또는 'crepe'를 쓰면 되는데

 

harvest는 CPU 갈구고, crepe은 GPU를 갈군다더라.

 

그래서 crepe을 쓰는데, 좋은 GPU 없으면 harvest 쓰는 식으로 하면 될 것 같다.

 

솔직히 이 둘 사이에서의 퀄리티 차이는 내가 테스트한 것에서는 차이점을 잘 못 느끼겠다.

 

그래도 다른 글들 찾아보니까 crepe가 평균적으로 더 나은 식으로 말하더라.

 

 

 

나머지는 굳이 건드릴 필요가 없으니

 

"Convert"를 눌러서 변환해주자.

 

그러면 하단 오른쪽 "Export audio" 에서 듣기 및 다운로드가 가능하다.

 

만족스러우면 다운로드하고 충분히 놀려주자.

 

 

 

 

희희

 

 

 

여담

 

귀찮다.

 

정말 귀찮다.

728x90