잡소리(읽고 싶지 않으면 스킵 읽고 싶으면 눌러줘)


우선 내가 이걸 쓰면서 정말로 크게 깨달은 점이 있다.

한국 설명은 음성 설명은(특히 TTS쪽) 절대 너희에게 친절하지 않다.무슨뜻이냐?


1.이해할려고 배울때

보통 설명이나 강의 같은건 어느정도 비슷한 형식을 띈다.

하지만 대부분 한국 음성AI  설명은 매우 비슷하고 깃허브나 여기 아카라이브 음성 설명은 대부분 그냥 내가

이 정도 AI와 파이썬 지식이 있으니 다른 사람도 있겠거니 하고 글을 쓰거나 강의를 만드는 경우가 많다.

반면에 우연히 본 일본인이 설명한 Bert-vits2나 중국인들은 방대한 자료로 친절한지는 중국어를 몰라서 모르겠지만 ㅈㄴ  음성 자료가 많았다. 당장 Bert-vits2 구글 검색창에 검색하고 아래로 쭉 내리다 보면 중국어 자료 ㅈㄴ 많을꺼다

암튼 일본쪽에는 친절한 강의가 많고 중국쪽에는방대한 설명 자료가 많다.

그래서 내린 결론은 AI음성 쪽은 진짜 제대로 공부하고 싶으면 인맥, 파이썬, AI, 아나콘다 환경에서 실행하는방법 NVIDA AI 뉴스도 가끔씩 읽고 그냥 ㅈㄴ 배경지식을 늘릴수 있는대로 최대한 본인 스스로 늘려야 한다. 얼리 어댑터마냥
결론은 이거 보고도 어차피 이해 안되거나 오류가 많을수 있으니 직접 파이썬 공부하고 AI 공부를 알아서 해야한다.


2. 단순 사용할려고 배울때
보통 AI 그림은 GUI 시스템이 잘되어있는데

일단 내가 지금 써볼려고하는 Bert-vits2-korean 도 그렇고MB-iSTFT-VITS-Korean도 GUI 시스템은 기본적으로

제공해주지 않는다. GUI 시스템이 익숙한 우리에게는 정말 불안하다 이게 제대로 실행이 잘 되었는지 학습이 잘 되었는지 확인할려면 방법은 있지만 익숙하지는 않다. 즉 무슨무슨 vits-korean은 대부분 프로그래밍 지식이나 파이썬이 익숙해야하고 확실히 AI 그림에 비해 사용만 하고 싶은데도 꽤 높은 난이도의 Text UI 시스템을 가진다.(난 조금 익숙해짐) 한편으로는 이해는 된다. "아무도 잘 안만들려고 하는 Korean TTS를 내가 Text UI로도 사용하게끔 만들어 줬는데 거기서 뭘 더 바래?" 만드신 분들은 모두 이런 심정이신것 같다. 확실히 지금 우리가 돈을 내고 프로그램을 사용하는것도 아니고 배우는것도 아니니 상업화가 안된 프로그램을 설치 및 실행 하는 과정에서 상대방에게 무조건적인 친절함은 기대하지 않는게 좋다.

그렇다고 너무 소통하지 말라는 얘기가 아니라 나 처럼 직접 배우는 과정을 글로 쓰며 여러사람들과 교류하며 소통하면 좋겠음, 다만 친절한 UI, 친절한 사용법을 안알려준다고 뭐라하면 안된단 얘기지 질문 하는 사람도 질문 받는사람도 상호간 인내를 가지며 구체적으로 소통하고자 하는 의지가 있다면 무엇이든 할 수 있다고 생각함




이거는 로컬 학습에 관한 내용이고
Git 이나 Python 설치까지 여기서 쓰면 너무 길어짐으로 알아서 하삼
그리고 본인 GPU 전용 메모리가 12기가 이상이 아닌 사람은 그냥 지금 나가라

목차

1. 서론

2. 개론

3. 윈도우에서 가상환경 설치 및 준비

4. MB-iSTFT-VITS-Korean 설치


5. 데이터 셋 준비 과정 
6.MB-iSTFT-VITS-Korean 전처리 과정

7. MB-iSTFT-VITS-Korean 훈련 과정

8.웹 UI로 학습 완료한 TTS 음성듣기

9. 참고 문헌(references)

(Ctrl +f로 알아서 자기가 원하는 부분으로 이동하자, 화살표를 눌러야 내용물을 볼 수 있어)


서론

1. 지금 쓰는 글은 MB-iSTFT-VITS-Korean 위주로 직접 훈련 및 학습을 하는 직접 경험을 하며 과정을 쓴 글이다.

2. 가능한한 이걸로 입문해서 AI 프로그래머로 지향하게끔 만들려고 입문자용으로 세세하게 썼지만 
나도 같은 입문자니까 원리나 이런걸 잘 모르거나 부족하거나 틀린 부분이 있을 가능성이 매우 높으니
참작해서 서로 소통하자
3. TTS가 여러 다양한 코드가 있고 왜 다양한 코드들이 존재하는지 모르면 아래 개론글, 참고 문헌등을
읽어줘



개론

MB-iSTFT-VITS-Korean도 다양한 학습 코드중 하나이고 필요한 학습량, 소요시간, 모델의 풀질이 다른 학습 코드를 가진 모델이랑 비교하면 장단점, 차이점이 존재 할 수 있음, 개인적으론 로컬로 돌리는것중에서 사용법도 간단하고, 퀄리티도 좋다고 생각함

필요한 파일들 따로 구드로 올려놓음 
중간에 데이터 셋 준비 과정이랑 웹 UI로 학습한거 테스트 할때 필요할꺼임
https://drive.google.com/drive/folders/1mXVCJ41nhBFJm-6Q72lkS-ktRw6Kl4oj?usp=sharing

윈도우에서 가상환경 설치 및 준비

아나콘다가 뭔지 이해하고싶으면 참고
https://seo-security.tistory.com/41


Anaconda (아나콘다) - 설치 및 사용 방법

1. Anaconda (아나콘다) Anaconda는 과학 컴퓨팅, 데이터 과학 및 기계 학습을 위한 Python 및 R 프로그래밍 언어의 오픈 소스 배포판입니다. 이러한 도메인에 대한 소프트웨어 환경을 설정하고 관리하는

seo-security.tistory.com





다운로드

https://www.anaconda.com


Download Now | Anaconda

Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities.

www.anaconda.com

Nvdia 도그렇고 anaconda도 자꾸 사이트 개편하고 지들만 아는곳에 쪼그맣게숨긴다.
하지만 대 해적시대를 넘어선 대 AI시대에서 이 정도는 금방 해결해주자





하고 이런식으로 하면 환경 변수를 등록 할 수 있다고 하는데 

그래도 다시 더블체크를 해야하니까







더블 클릭해줘도 되긴하는게 1. 번 2. 번 순서대로 확실히 하자

이렇게 등록 되있어야 하는데 없다면 "새로만들기"를 클릭해서 똑같이 만들어 준다음에 "위로이동"을 눌러서

가장위로 배치하자(그래야 시스템이 conda를 가장 먼저 우선순위로 읽는다)






MB-iSTFT-VITS-Korean 설치 및 준비

https://github.com/ORI-Muchim/MB-iSTFT-VITS-Korean


GitHub - ORI-Muchim/MB-iSTFT-VITS-Korean: Lightweight and High-Fidelity End-to-End Text-to-Speech with Multi-Band Generation and

Lightweight and High-Fidelity End-to-End Text-to-Speech with Multi-Band Generation and Inverse Short-Time Fourier Transform with Korean Cleaners - ORI-Muchim/MB-iSTFT-VITS-Korean

github.com


깃허브를 보면 Prerequisites(사전에 준비되어야 하는것들) 꼭 확인하고 우선 GPU 하고 RAM은 사양 체크를 꼭 하자 
참고로 GPU는

강제로 공유 메모리 까지 사용하게 하는 방법은 모르지만 Default값으로 Train 할때는 무조건 전용 메모리만 사용함으로
최소 12기가, 그리고 학습 시킬때 GPU 메모리 공간 확보를 꼭 해줘야 한다. Wallpaper Engine이나 Discord 화면 공유 같은걸 킨채로 Train 시키지 마라(누가 공유 메모리도 학습에 사용 할 수 있는 방법 알면 말해줘)


python 3.8 설치 , pyTorch는 차차 아래에서 아나콘다 가상환경을 새로 만들어서 알려줄꺼고

우선 CUDA, Zlib DLL 설치에 집중하자


https://lonaru-burnout.tistory.com/16


[ML][Windows 11] CUDA, cuDNN 설치

이 글은 NVIDIA 그래픽카드를 기준으로 작성되었음을 알립니다. 라데온 그래픽카드를 통한 머신러닝은 따로 다룰 예정입니다. 0. 자신의 GPU 확인 https://ko.wikipedia.org/wiki/CUDA CUDA - 위키백과, 우리 모

lonaru-burnout.tistory.com

우선 위에 설명을 참고해서 Cuda를 설치하고

https://developer.nvidia.com/cuda-11-7-0-download-archive



CUDA Toolkit 11.7 Downloads


developer.nvidia.com





이것만 잘 참고하고 왠만하면 경로 바꾸지 말고 똑같이 C: 드라이브를 베이스로 두는게 안 해깔리고 좋다.

================================================================================



Zlib.dll은 좀 설명하기가 얘매한데 아마 검색해도 찾기 어렵고 뭐가 뭔지 모르는 경우가 많을거임
지금 부터하는 설명이 두서가 없어도 이해하길 바란다.
추측으로는 둘중하나인것 같다.
1. cuDNN에 이미 포함
2.윈도우에서 이미 제공
나는 따로 zlib.dll을 설치 안하고 cuDNN만 잘 설치하고 돌려도 문제가 없지만 여기저기 검색해보고 얻은 정보로는

. 즉, Windows에서는 ZLIB 라이브러리가 cuDNN에 내장되어 있지만, 다른 플랫폼에서는 이와 관련된 변경 사항이 향후 릴리스에서 다루어질 예정된다고함 즉 윈도우 환경에서는 그냥 CUDNN만 설치하고 Zlib는 내장되어있으니 구동하는데 문제는 없을것 같다.


따로 문제가 생기는 사람은 이 글 참고후 여기서 말하는 경로로 복사 붙이기 하자


https://forums.developer.nvidia.com/t/zlib-dll-for-latest-cudnn-in-official-install-guide-is-missing/197630/7


ZLIB DLL for latest CUDNN in official install guide is missing

Sorry this thread did not get any attention from the NVIDIA support folks, I’ll bring this to them, if there is a dependency, and needs some manual copying it then it needs documentation and ideally this dependency should be avoided. Thanks again for pos

forums.developer.nvidia.com

그래서 zlib.dll은 해결된셈 치고

https://developer.nvidia.com/rdp/cudnn-archive


cuDNN Archive

Download releases from the GPU-accelerated primitive library for deep neural networks.

developer.nvidia.com


여기서 8.9.7 cuda 11.x 용으로  설치하자 (9.0 이상을 써도 문제가 없는걸로 나왔긴했는데 대부분 환경이 8.97을쓰고 그 버전을 권장하는것 같음)



최신버전을 쓰고 싶은 사람은 아래 링크 참고해서 CUDNN 다운로드 링크로 가자

https://thebook.io/080289/0590/


딥러닝 파이토치 교과서: 8.2.2 GPU를 이용한 성능 최적화 - 9

더북(TheBook): (주)도서출판 길벗에서 제공하는 IT 도서 열람 서비스입니다.

thebook.io


Cuda 하고 cudnn 다 잘 설치 했으면

위에 경로대로 압축 파일 푼거 복붙하면됨 그다음에  마지막으로 이것도 환경 변수가 잘 등록되어있는지 확인만 하자



진짜 마지막으로 cuda 잘 설치되어있는지 CMD 실행후 

nvcc --version

입력하면 

이런식으로 뜰거다. 그럼 잘 설치된거 ㅇㅇ

============================================================================================



빨간줄 그은 부분은 다 한거고 참고로
아직 한참 더 남았다.. 글쓰는 나도  피곤한데 견디자 다시 한번 말하지만 환경 변수 꼭 잘 되어있는지 획인해라



일단 Anaconda,cuda,cudnn을 위에 언급한 대로 설치가 다 되고 환경 변수까지 잘 되어있는지 잘 확인 했으면 Navigator를 킨다.


1. Environments

2. Create  

순서대로하고 나는 이미 만들어져 있어서 vits가 저렇게 있다.




이름을 vits로 하고 파이썬 3.8로 선택후 R은 건들 필요없다.




그렇게 하면 위에 쓰여진대로 1번이 끝난거임,
(원래는 콘솔로 해야하는데 Anaconda 윈도우 환경은 GUI 시스템으로도  이게 가능하게함)


그 다음 2번을 하기 위해



이거(PowerShell Prompt)  없으면 install 하고 lunch 눌러주자 

앞에 (vits)가 있어야 정상적으로 실행이 되는거고 이렇게 함으로서

2번의 conda activate vits를 매번 실행 할 필요 없게 된다.(이렇게 해야지 정상적으로 가상환경에 저장되어있는 파이썬 패키지가 불러와지고 여기서 pip install 할때마다 그 패키지가 이 vits 가상환경에 저장됨)



pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117

바로 Powershell에다가 저 명령어를 복사해서 붙여넣기 하자, 그럼 Pytorch 설치가 완료




3.(당연히 git 미리 설치하라 했고 사용법 익혀두라고 위에 언급) 했으니 설치하고 싶은 경로에 3번의 명령어를 복붙하면 된다. 

git clone https://github.com/ORI-Muchim/MB-iSTFT-VITS-Korean.git

https://youtu.be/AuFsGlY3wvA


이거 위에 보고 따라하면됨



4. Navigate to the cloned directory


이것도  실행했던 명령 프롬프트에


자기가 설치한 경로에 맞게끔 경로를 복사하고

cd 너가 설치한 MB-ISTFT-VITS 경로 입력

5. pip install -r requirements.txt 입력하면됨 (당연히 아까 말한대로 경로가 자기가 MB-iSTFT-VITS-Korean

설치한 경로여야함 )

그리고 난 설명하기 위해 vits2인거지 vits가 정상임



그러면 비로소 Prerequisites와 Installation이 끝났다.






데이터 셋 준비 과정

속보)보컬 분리 모델 혁명일어남 - AI 음성 채널

예전에 이 챈에서 많이 썼던https://mvsep.com/quality_checker/synth_leaderboard?분리 모델 랭킹사이트인데3월 말~지금까지 1위부터 상위권 쭉 밀려남그 주인공이 BS Roform

arca.live


https://shotcut.org/download/


Shotcut - Download

New Version 24.02: Go Where You Wanna Go Posted on 29 Feb 2024 New Version 24.01: Round and Round Posted on 28 Jan 2024 New Version 23.12: Fight the Good Fight Posted on 15 Dec 2023 New Version 23.11: Easing for Keyframes Posted on 29 Nov 2023

shotcut.org


학습을 할려면 TTS이므로 당연히 대사 텍스트 파일과 그 대사와 일치하는 음성 파일이 있어야 한다.
우선 복잡하게 생각 할 필요없이 차근차근 
1. 본인이 학습 시키고 싶은 음성이 담긴 영상이나 오디오 파일을 준비

(음성분리 팁들을 통해 배경음등을 분리해주자,딱히 분리팁까지 설명은 안할꺼다)
2. 위에 영상 편집 프로그램을 다운후 간단한 사용법 익인후  원하는 캐릭터의
대사 부분만 알아서 수동으로 편집하거나, 코딩을 사용한 자동화
3. 음성파일로 추출(.wav 형식으로)
44.1kHz(학습 전처리,최적화를 위해,학습중 wav를 이렇게 전처리 안하면 애러남
나는 다행히 아시는 분이 파이썬으로 영상을 사용하기 편하게 잘 정리해주셨다.


영상을 자를때 본인이 편하면 수동으로 저런 편집 프로그램을 사용해도 되지만 어느 정도는 코딩을 사용한 자동화를 추천한다.





텍스트 데이터 :
총 2가지 텍스트 데이터가 필요 train 하고 validation
 -학습량에 5%~10% validation 용으로 만들기
-UTF8 형식으로 저장하기(Ansi로 저장하지마)

( 일단 개념만 인식해두고 train 텍스트랑 validation 좀 있다가 어떻게 준비해야 하는지 설명할 테니 총 2가지가 필요하단 것만 생각해 깊게 고민하지 말고 )






위에 써져있는데로 저런식으로 준비를 하고 음성 데이터는 나는 15초 이하로 준비해서 끊어 쓸려고함
(다 다르기도 하고 깃헙에 대문짝하게 몇초까지 짜르세요가 없어서 그냥 일단 이렇게 결정함)


원래는 shotcut,이나 Prime Pro로 수동으로 편집해서 할려다가 중간에 여러 도움을 주시는 분들이 많았다.


그래서 이번에는 여러 파이썬 코드들로 좀 간략하게 하는 방법을 소개 할까 한다.

(최대한 자세히 설명하고 싶었지만 파이썬 내부 코드에서 파일 경로 설정 및 기타 폴더 구조 준비 그리고 아래 코드들은 실행들은  알아서 해야함...
그것까지 설명하면 너무 글이 두서없이 보이기도 하고 귀찮다. 파이썬을 몰라도 프로그래밍 조금 했다했으면 누구나 눈치껏 gpt사용하면서 할 수 있으니 걱정하지말고, 정 어떻게 사용하는지 모르겠다면 파이썬 공부를 우선하고 난뒤에 다시 글을 읽고 도전해도 늦지 않음)


https://youtu.be/RxSz9GBaCvo


1. 영상을 보고 따라해서 OpenAI API를 통해 자동으로 한글 텍스트 생성 및 자막 파일인 srt로 변환
또는 아래 깃허브로 srt 추출(아직 깃헙에 있는걸로 해복적은 없음, 영상은 API 형식이라 이게 더 편하다고는함)
https://github.com/jhj0517/Whisper-WebUI



2. pymonopcm1644khz.py 실행해서 최적화
(실행하기전에 명령 프롬프트에 pip install pydub 입력)


pymonopcm1644khz.py

0.00MB


(저거 if__name__에 경로 넣으면됨)


3. 영상에서 나온대로 무음처리를 코드로 처리해서 길이를 잘라도 되고, 지금 주는 파이썬 파일로 짤라도 되고 자기가 편한대로 학습 기준에 맞게 영상을 자르면 됨





DATASET_READY_TTS_HT.py

0.00MB


->이거 csv로 출력 될텐데 UTF-8로 저장 잘 되었는지 잘 확인해줘야함

자신이 직접 폴더를 만들어서 경로를 입력하면됨, 나는 이 파이썬 코드를 실행하는 위치에서 저 폴더들을 만듬


만약 이 코드 실행도중에 무슨 애러뜨면 pip install 하고 설치하란거 해주면됨 난 이미 설치해서 무슨 애러 뜨는지 모른다.


==========================================================================================

MB-iSTFT-VITS-Korean 전처리 과정

https://github.com/ORI-Muchim/MB-iSTFT-VITS-Korean?tab=readme-ov-file#preprocess


GitHub - ORI-Muchim/MB-iSTFT-VITS-Korean: Lightweight and High-Fidelity End-to-End Text-to-Speech with Multi-Band Generation and

Lightweight and High-Fidelity End-to-End Text-to-Speech with Multi-Band Generation and Inverse Short-Time Fourier Transform with Korean Cleaners - ORI-Muchim/MB-iSTFT-VITS-Korean

github.com





이제 데이터 셋 준비를 완료하고 텍스트 파일등을 잘 보관 했다면 전처리 (PreProcess)돌리기전에 몇 가지 할 사항들이 있다.
0.항상 실행하는 파이썬이 있는 경로로 맞춰주는거 잊지 말고


1. 폴더 구조를 먼저 만들어야함
참고로 지금 부터 만드는 폴더 구조는 초보자는 가급적 변경 하지 안하는게 좋다.

(파이썬 뉴비면 더더욱)
먼저 사진과 같은 경로에 models를 만들고

models 안에 자신이 만들고 싶은 폴더 이름을 생성하면됨




2. text 파일 하고,  44.1hz로 만든 wav를 복사 붙여넣기해서 잘 배치하기


3. csv 파일을 .txt로 확장자를 바꾸는 동시에 파일 이름을 filelist_train로 바꿔주고 파일을 열면

이렇게 아래 처럼 보일건데




아까 말한대로 5~10% 정도 Validation으로 만들어줘야 하니까 저 부분을 짤라서 따로 txt 파일을 만들어줘야 한다.


그럼 언급 한대로 총 두개의 텍스트 파일을 만들어야 하는데

각자 내용물은 이런식이 되겠지 (그냥 csv로 나온 텍스트 파일을 일부 쪼갠다고 생각하면 편해)



이런식으로 만들어주고 또 나는 지금 이거를 너희가 어떻게 해서든 사용하는데 집중하면서 설명했지만 validation이 왜 필요한지 궁금하다면 따로 검색해서 찾아보거나 이거 읽어보면됨

https://arca.live/b/aispeech/105550141


Validation이 정확히 무엇이고 이거를 어떻게 넣는지 말해주실수 있나요? - AI 음성 채널

https://arca.live/b/aiart/62890698개념글 참고나 일부 도와주시는분들에게 질문 드렸긴 했는데 이거를 정확히 Data Set을 준비할때언제 어디서 어떻게 제가 준비해야하는지는 이해가 잘 안갑니

arca.live





여기서 이렇게 쫙 나오는데 초보자는 멀티 스피커 전혀 신경 쓸 필요가 없고 일단 싱글 스피커만 신경쓰자

지금은 Prepreocess 명령어만 신경 쓰면됨






그러면 좀 명령어가 긴데 Single speaker를 자신의 경로에 맞게 아래 처럼 저런식으로 수정해야한다. 

python preprocess.py --text_index 1 --filelists "D:\bert-vits2\MB-iSTFT-VITS-Korean\models\female2\filelist_train.txt" ""D:\bert-vits2\MB-iSTFT-VITS-Korean\models\female2\filelist_val.txt"" --text_cleaners korean_cleaners


좀 마음에 걸리는 부분이 있는데 스피드 웨건식으로 설명해보겠다. 정상적으로 잘되면 스킵해도됨




이거는 확실치 않지만 만약 실행 안된다면 GPT한테 TrackBack 애러를 우선적으로 물어보고 해결해야하고, 리눅스 같은 경우 D드라이브를 마운트 했다면 경로를 mnt/d 이런식으로 해야하거나 다를수 있다. 저번 글에서는 리눅스로 기준으로 설명했지만 이번 글은 윈도우 기준임..
그리고 환경에 따라 저 역슬래쉬 "\"가(원화 표시 누르면되고 원화 모양이여도 역슬래쉬로 인식됨 대부분 너그 엔터키 위에 있음 ) 암튼 원화 표시를 눌러야 만드는 일반적으로 쓰는 슬래쉬 "/" 로 경로를 작성해야하는 제대로 구동되는 사람도 있는것 같다. 마찬가지로 이후로 내가 말하는 모든 경로 설정이 오류가 난 다면 체크해보는게 좋다.


그럼 두개의 cleaned 파일들이 생기면서 전처리 과정은 끝났다.


============================================================================================


MB-iSTFT-VITS-Korean 훈련 과정


그럼 이제 MB-iSTFT의 마지막 과정으로 Train을 해줄껀데 그 전에 준비 몇가지 준비해야 할께 있다.

1. Notepad++



이거 말고 본인이 사용하기 편한 다량의 텍스트 편집기가 있으면 그거 써도 무방함 


2.  파인 튜닝을 위한 자료

https://huggingface.co/ORI-Muchim/MB-iSTFT-VITS-Korean-Single-Speaker-Fine-tuning/tree/main


ORI-Muchim/MB-iSTFT-VITS-Korean-Single-Speaker-Fine-tuning at main


huggingface.co

마찬 가지로 파인튜닝에 대해 정확히 이해 하고 싶으면 검색해서 이해하는걸 추천하고
여기선 그냥 사전에 훈련된 모델을 이어서 훈련 시켜서 더 높은 퀄리티의 결과물을 얻는다고 보면 된다.

그럼 위에서 제공받은 파인 튜닝을 위한 파일들

저거 표시한 두개만 다운 받아서 너희가 전처리해준 경로에 복사 붙여넣기하자

3. 그리고 제발 앞서 언급했다 시피 GPU 전용메모리가 최소 12기가 인 사람들만 훈련을 실행하고
12기가 여도 여러 조건에 따라 부족 할수도 있음 디스 코드, Wallpaer Engine 이런거 용량 부족하다 싶으면 꺼라 (그냥 GPU 사용하는걸 다 꺼 아예)


기본적으로 준비해야하는건 끝났고 이제 학습을 위해 해야할께 있는데

이런식으로 ./models/female2/wavs/를 마찬가지로 그대로 복붙하지말고 자신의 경로에 맞게끔 수정해야한다.
그걸 위해 난 Notepad++를 고른거임

일단 NotePad++로 filelist_val.txt.cleaned, filelist_train.txt.cleaned를 불러오고


맨앞에를 Alt+Shift+마우스클릭 (LMB)를  한다음 총 3개 버튼을 누른채로 쭉 아래로 내려서 텍스트를 치다보면 감이 올거임
조준이 조금 힘들다면 아무대나  Alt+Shift+마우스클릭 (LMB)를 한 다음  누른채로 아래로 쭉 내려서
키보드 좌, 우로 텍스트 커서를 조준
하면됨

그럼 앞서 언급한대로 filelist_val.txt.cleaned, filelist_train.txt.cleaned 둘다 앞에 이런식으로 붙이면됨

잊지 마라 2개 다 바꿔줘야한다 앞에다가 경로 붙여서, 사진이 1개만 있다고 해서 1개만 수정하지마



config.json도 저 경로에 복붙 해줘야하는데 그냥 내가 올린거 쓰고


config.json

0.00MB






config.json을 열어서 표시된걸 너희 경로에 맞게 수정해줘라






이제 python train.py -c "models/female2/config.json" -m "female2"를 실행하면 된다.




이 애러 뜨면 pip install protobuf==3.20.3

그리고 pip install tensorflow tensorboard 해야 애러 없이 잘된다.(그런데 이상하게 2회차인 지금은 이거 안해도 잘되네..)

어차피 나중에 과적합이나 학습이 잘되는지 볼려면 tensorboard로 봐야하니 미리 설치하자


이런식으로 global step이 3000정도 이상이 떠야 이전에 학습 한걸 다시 이어서 작업함으로
파인튜닝이 잘된거다.


참고로 나는 4000.pth(학습한 결과물)을 보기까지 1시간 걸렸다 바로 학습한 결과물이 안 나온다고

당황하지말것


그럼 이제 MB-iSTFT-VITS-Korean을 기본적으로 사용하는 방법은 다 안건데 부가로
텐서 보드랑 웹UI에서 학습 결과물 실행하는것까지 알려줄께


먼저 텐서 보드

혹시 아까 pip install tensorflow tensorboard 하면서 빨간 글씨로 애러떴다면 GPT한테 넘겨서
해결 방법 물어봐라 내꺼는 참고만하고 직접 물어봐


설치 잘 되었으면 

 cd D:\bert-vits2\MB-iSTFT-VITS-Korean\models


입력하고

tensorboard --logdir=./female2/
이렇게 해서 아까 너희가 만든 폴더를 불러와서 실행하면 

이렇게 떠야 제대로 실행된거

제대로 분석해서 보는 방법은 나도 몰름
https://arca.live/b/aispeech/105389999?mode=best&p=1

이 분이 잘 써주신거 같더라



웹 UI로 학습 완료한 TTS 음성듣기

학습을 완료했으면 당연히 테스트를 해보고 들어야 겠지? 아쉽게도 기본적으로 MB-iSTFT-VITS-Korean 깃헙에서 제공해주지만
(아래 파이썬 코드를 실행해서 )
사용하기 조금 불편하다고 한다. 다행히 여기까지 알려주신분이 파일을 제공해주셨고 다른 사람들 한테 공유하는걸 허락 받았다.






MB-iSTFT-VITS-Korean_server.7z

0.00MB

이거 압축해제 풀고 파일들 다 복사해서
MB-iSTFT-VITS-Korean이 있는 경로에 붙여넣기 해야함



run_sever.bat 클릭하면 바로 실행되긴하는데 만약 실행 안되고 바로 .bat 파일이 꺼지면
python app.py해서 실행해라
아니면 인터넷에 찾아보니 이런식으로 .bat 파일을 실행할수 있음


cmd.exe /c run_server.bat



(당연히 경로를 cd D:\bert-vits2\MB-iSTFT-VITS-Korean 한 다음에 저 파이썬 코드를 실행해야겠지?)\

(코드 실행하기전에 pip install flask 한번 해주면 오류 안남)

여기에서 보면 models파일을 참조하고 있기 때문에 왠만하면 폴더 구조를 바꾸지 말라한거

그다음에 컨트롤 클릭해서 http 선택한다음 웹페이지에 복사 붙여넣기해라

이렇게 뜰텐데 speak에 models에 저장된 경로에서 너희가 학습한 폴더 선택해주고

체크 포인트는 150000.pth는 파인 튜닝을 하기 위한거고 

너희가 학습 시킨건 아마 4000부터 시작할꺼다. 아무튼 학습 시킨 .pth를 골라주면됨




그런데 지금 이 app.py가 간혹 오류가 나는데

2개 이상 모델이 있는 경우에만 정상적으로 체크 포인트를 선택 할수 있음

너희는 따로 모델 학습 더 시킬 필요 없고 그냥 빈 프로젝트로 새폴더 하나 더 만들어

그리고 선택을 왔다 갔다 하면서 하다보면 체크포인트가 정상적으로 보일꺼다.




퓨....여기까지 따라하느라 고생했다. 아무도 입문자 눈높이에 맞춰서 설명 해주지 않아서 빡쳐서 썼는데.. 왜 그런지 알것 같다. (진짜 고수들은 회사에서 일하거나 R&D 하느라 바쁘지 누가 시간 남아서 하나 부터 열까지 알려주겠어..)

이거 틈틈히 1달동안 썼고 여기저기 물어보기도 했고 1대1로 강의까지 받음, 가급적 악용은 안 했으면 좋겠고 재밋게 가지고 놀아랏 


참고 문헌

https://joonnotes.tistory.com/46

https://joonnotes.tistory.com/48


EasyBertVits2를 이용해 애니메이션 캐릭터의 TTS 만들기-데이터 준비하기(1)

EasyBertVits2를 이용해 애니메이션 캐릭터의 TTS 만들기-설치 EasyBertVits2를 이용해 애니메이션 캐릭터의 TTS 만들기-개론 및 Vall-E (X) 인공지능 기술의 발전과 더불어 이미지, 음성, 영상 등을 학습하

joonnotes.tistory.com


EasyBertVits2를 이용해 애니메이션 캐릭터의 TTS 만들기-개론 및 Vall-E (X)

인공지능 기술의 발전과 더불어 이미지, 음성, 영상 등을 학습하고 생성하는 기술이 나날이 발전하고 새로워지고 있습니다. 유튜브에서 단순히 유명인의 목소리로 노래를 부르는 영상만이 아니

joonnotes.tistory.com

https://info-nemo.com/coding-story/chapter-4-bert-vits2-%ed%95%99%ec%8a%b5-%ec%a0%84-%ec%82%ac%ec%a0%84-%ec%a4%80%eb%b9%84/


Chapter 4. Bert-VITS2 사전 준비 및 훈련 시작 » Info-Nemo

길고 긴 준비를 끝내, 드디서 Bert-VITS2 훈련에 돌입합니다, 훈련 전 패키지 설치 및 사전 준비를 끝내고, 데이터를 훈련 시키도록 합시다

info-nemo.com

https://heeya-stupidbutstudying.tistory.com/entry/DL-Transfer-Learning-vs-Fine-tuning-%EA%B7%B8%EB%A6%AC%EA%B3%A0-Pre-training


[DL] Transfer Learning vs Fine-tuning, 그리고 Pre-training

딥러닝에서 신경망을 공부하다보면 transfer learning과 fine tuning이라는 단어를 심심치않게 접할 수 있다. 둘 사이에는 무슨 차이가 있을까? 사실 필자도 생각없이 혼용하다(ㅋㅋ) 의문점을 해소할

heeya-stupidbutstudying.tistory.com

https://blogs.nvidia.com/blog/what-is-a-pretrained-ai-model/#:~:text=A%20pretrained%20AI%20model%20is,application%20requirements%20across%20multiple%20industries.


What Is a Pretrained AI Model? | NVIDIA Blog

A pretrained AI model is a deep learning model that’s trained on large datasets to accomplish a specific task, and it can be used as is or customized to suit application requirements across multiple industries.

blogs.nvidia.com

https://github.com/jwj7140/Bert-VITS2-Korean?tab=readme-ov-file



GitHub - jwj7140/Bert-VITS2-Korean: vits2 backbone with multilingual-bert(한국어 지원)

vits2 backbone with multilingual-bert(한국어 지원). Contribute to jwj7140/Bert-VITS2-Korean development by creating an account on GitHub.

github.com




https://blog.naver.com/encall2/222248010941


[팁] 프리미어, 컷한 클립별로 각각 인코딩하는 방법

-------------------------------------------------------------------------------- 프리미어 프로로 영...

blog.naver.com



https://youtu.be/WSqpebSIe9s

https://barrer.tistory.com/89


Anaconda 가상환경 삭제 방법

콘다로 가상환경을 사용하다가 삭제를 해야하는 경우 아래 명령어를 이용하여 우선은 가상환경의 이름을 확인한다. conda info --envs 현재 지우고 싶은 가상환경의 이름이 mmdetection이고 이를 확인

barrer.tistory.com

https://youtu.be/RxSz9GBaCvo


https://arca.live/b/aispeech/72903471?category=%EC%A0%95%EB%B3%B4&target=all&keyword=%ED%8C%8C%EC%9D%B8%ED%8A%9C%EB%8B%9D&p=1


한국어 vits tts 학습/파인튜닝 및 추론 가이드.md - AI 음성 채널

기본적으로 한국어와 파인튜닝을 지원하도록 수정하고 추론 webui를 추가한 깃헙 레포지토리https://github.com/ouor/vits사용법레포지토리 readme에 적어놓은거 옮겨놓은거라 깃헙만 보고 따라해도

arca.live

https://eehoeskrap.tistory.com/186


[Deep Learning] pre-training 과 fine-tuning (파인튜닝)

Pre Training 이란? 선행학습(pre-training) 사전훈련(pre-training) 전처리과정(pre-training) 이라고도 하는데, 이는 Multi Layered Perceptron (MLP)에서 Weight와 Bias를 잘 초기화 시키는 방법이다. 이러한 Pre-training을

eehoeskrap.tistory.com

https://blog.naver.com/bya135/222223666192


데이터 셋의 구성 - 훈련(Training), 검증(Validation), 시험(Test)/ 파이썬에서 데이터셋 분리하기

1. 종류 머신러닝을 하기 위해서는 총 세 가지 종류의 데이터 셋을 사용하게 된다. 1. 훈련 데이터 셋 (Tr...

blog.naver.com

https://arca.live/b/aiart/62890698


챈념글에 올라온 AI성우 관련 정보 + 학습방법 - AI 그림 채널

https://arca.live/b/aiart/62848843좀 전부터 나와있던 모델이긴 한데, 그래도 오늘 새벽에 념글에 언급돼서 간단하게 써 봄계속 정보글에 CV 얘기만 나오다 음성 이야기가 나와서 얼마나 기쁜지

arca.live

https://seo-security.tistory.com/41


Anaconda (아나콘다) - 설치 및 사용 방법

1. Anaconda (아나콘다) Anaconda는 과학 컴퓨팅, 데이터 과학 및 기계 학습을 위한 Python 및 R 프로그래밍 언어의 오픈 소스 배포판입니다. 이러한 도메인에 대한 소프트웨어 환경을 설정하고 관리하는

seo-security.tistory.com

https://studying-modory.tistory.com/entry/conda%EC%82%AC%EC%9A%A9%EB%B2%95-Anaconda-%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98path-%EC%84%A4%EC%A0%95-%EB%B0%8F-conda-%EB%AA%85%EB%A0%B9%EC%96%B4


[conda사용법] Anaconda 환경변수(path) 설정 및 conda 명령어

Anaconda 환경 변수 Path 설정 Anaconda 홈페이지에 접속해서 설치하고 명령프롬프트(cmd)를 실행해 conda를 사용하려는데 안되니까 여기까지 왔을 것이다. 아무리 conda를 입력해도 내가 원하는 이 화면

studying-modory.tistory.com

https://afsdzvcx123.tistory.com/entry/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5-TensorFlow-Could-not-load-library-cudnncnninfer648dll-Error-code-126-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0


[인공지능] TensorFlow Could not load library cudnn_cnn_infer64_8.dll. Error code 126 에러 해결

참조 https://stackoverflow.com/questions/69879188/could-not-load-library-cudnn-cnn-infer64-8-dll-error-code-126 https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-zlib-windows 시스템 환경 시스템 환경 구성은 다음과

afsdzvcx123.tistory.com

https://lonaru-burnout.tistory.com/16


[ML][Windows 11] CUDA, cuDNN 설치

이 글은 NVIDIA 그래픽카드를 기준으로 작성되었음을 알립니다. 라데온 그래픽카드를 통한 머신러닝은 따로 다룰 예정입니다. 0. 자신의 GPU 확인 https://ko.wikipedia.org/wiki/CUDA CUDA - 위키백과, 우리 모

lonaru-burnout.tistory.com

https://forums.developer.nvidia.com/t/zlib-dll-for-latest-cudnn-in-official-install-guide-is-missing/197630


ZLIB DLL for latest CUDNN in official install guide is missing

The 3.1.3 chapter of this guide has a x64 ZLIB DLL link, but it’s a dead link. I visited ZLIB DLL website and there is no link for x64 ZLIB DLL anymore.

forums.developer.nvidia.com

https://docs.nvidia.com/deeplearning/cudnn/latest/release-notes.html?highlight=zlib


Release Notes — NVIDIA cuDNN v9.1.1 documentation

A compiler bug in NVRTC in CUDA version 11.7 and earlier, was causing incorrect outputs when computing logical operations on boolean input tensors in the runtime fusion engine. A workaround had been integrated to avoid the most common issues. However, it i

docs.nvidia.com


https://blog.naver.com/rhrkdfus/221580989557


[TensorFlow] TensorBoard 사용하기

* tensorboard : tensorflow의 tensor 시각화 기능 * 목차 1. TensorBoard 설치하기(upgrade 하기) (1) ...

blog.naver.com