원작자 게시글:https://sce-tts.github.io
SCE-TTS: 내 목소리로 TTS 만들기
문서를 불러오고 있습니다...
sce-tts.github.io
데이터를 구했으니 이제 학습을 할 차례다. 그냥 ipynb 파일 받아서 순서대로 실행하면 되겠지?

1. 파이썬은 라이브러리끼리 버전에 따라 호환이 안되는 경우가 더럽게 많다.
2. 이 오픈소스는 4년 전에 제작되었다.
3. pip install은 라이브러리의 최신 버전을 설치해준다.
== Tons of error
내가 제작한 수정 버전이다. 뇌내의 방어기재가 오류 해결 과정을 삭제해버려 질문에 대답하는 것은 불가능합니다.
기존 코드에서의 변경점은 다음과 같다.
train-glowtts-v2 변경사항
3. 필수 라이브러리 및 함수 불러오기: 파이썬 버전과 필요 라이브러리 버전 및 설치 순서 정리(이거 진짜 힘들었습니다...)
!sudo apt-get update -y
!sudo apt-get install python3.8 -y
!sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
!sudo apt-get install python3.8-distutils
!sudo apt install python3.8-dev
!python3 --version #버전 체크
!sudo apt install python3-pip
import sys
from pathlib import Path
%cd /content
!git clone --depth 1 https://github.com/sce-tts/TTS.git -b sce-tts
%cd /content/TTS
#얘가 맨위여야 되는거아니야?
!pip install --upgrade pip
!pip install scikit-learn
!pip install audioread pooch
!pip install numba==0.52
!pip install scipy==1.5 resampy pandas==1.3.4 matplotlib numpy==1.18.5
!pip uninstall resampy
!pip install resampy==0.3.1
!pip install pydantic==1.10.10
!pip install -r requirements.txt
!pip install tensorboard
!pip install unidecode
!pip install blinker
#왠진 모르겠지만 나중에 설치해줘야 됨
!pip install bertopic
!python setup.py develop
#중간에 멈추면 Y엔터 해주세요
6. TensorBoard 실행: 필요 라이브러리 설치
!pip install zipp
7. Glow-TTS 학습 진행: UTF-8 인코딩 오류 해결 코드?(제가 쓴 코든데 왜 만든 건지 기억이 안나네요...)
# 파일 경로 지정
file_path = '/content/TTS/TTS/bin/train_glow_tts.py'
# 파일 열기 및 읽기
with open(file_path, 'r', encoding='utf-8') as f:
lines = f.readlines()
# 파일 수정
modified_lines = []
for i, line in enumerate(lines):
if 'test_sentences_file' in line:
modified_lines.append(line.replace('with open(config.test_sentences_file, "r") as f:', 'with open(config.test_sentences_file, "r", encoding="utf-8") as f:', 1))
elif 'test_sentences =' in line:
modified_lines.append(line.replace('test_sentences = [s.strip() for s in f.readlines()]', 'test_sentences = [s.strip() for s in f.readlines()]', 1))
else:
modified_lines.append(line)
# 수정된 내용으로 파일 저장
with open(file_path, 'w', encoding='utf-8') as f:
f.writelines(modified_lines)
train-hifigan-v2 변경사항
3. 필수 라이브러리 및 함수 불러오기: glowtts와 동일하게 파이썬과 라이브러리 버전 맞추고 설치합니다.(코드 생략)
6. TensorBoard 실행: 필요 라이브러리 설치: glowtts와 동일합니다.(코드 생략)
infer-v2 변경사항
2. 필수 라이브러리 및 함수 불러오기: 일부 코드 주석 처리와 필요 라이브러리 버전 및 설치 순서 정리
%cd /content
!git clone --depth 1 https://github.com/sce-tts/TTS.git -b sce-tts
!git clone --depth 1 https://github.com/sce-tts/g2pK.git
%cd /content/TTS
#!pip install -q --no-cache-dir -e .
%cd /content/g2pK
!pip install konlpy jamo nltk python-mecab-ko
#!pip install -q --no-cache-dir "konlpy" "jamo" "nltk" "python-mecab-ko"
#!pip install -q --no-cache-dir -e .
#밑에서 없다는애들 설치중
!pip install pysbd
!pip install coqpit
!pip install unidecode
!pip install pypinyin
!pip install librosa==0.8.1
이걸 다 완료하고 축구 풀타임동안 녹음한 부족한 음성데이터(약 200개)로 적당한 epoch(기억안남)를 학습시킨 결과 한국어를 30분 정도 공부한 트랜스포머 디셉티콘의 목소리를 얻을 수 있었다고 한다.
결국 원작자의 사전학습 데이터를 사용하기로 타협하고 서버를 구축하는데...(3편에 계속)
'Python > 개발' 카테고리의 다른 글
KoGPT2로 생성형 챗봇을 만들고 서버에서 API로 활용해보자 (2) | 2024.06.13 |
---|---|
SCE-TTS 활용기(3) - 서버 구축 (0) | 2024.06.04 |
SCE-TTS 활용기(1) - 음성 데이터 생성 (0) | 2024.06.04 |