음성 복제 도구
1. TTS 음성 복제 문서
설명
이 스크립트는 XTTS v2.0.2 및 거북이의 두 가지 모델을 갖춘 TTS (텍스트 음성) 라이브러리를 사용하여 텍스트 음성 합성을 수행합니다. 스크립트에는 MP3 파일을 세그먼트 된 WAV 파일로 변환하기위한 유틸리티 기능도 포함되어 있습니다.
전제 조건
스크립트를 실행하기 전에 다음 명령을 사용하여 TTS 라이브러리가 설치되어 있는지 확인하십시오.
pip install TTS==0.22.0 transformers==4.37.2 torch torchaudio soundfile librosa
실행
python tortoise_TTS_local_best.py
작업
XTTS v2.0.2 합성 :
- Coqui TTS 라이브러리의 XTTS v2.0.2 모델을 사용합니다.
- 지정된 입력 텍스트로 텍스트 음성 연설 합성을 수행합니다.
- 문장 분할 유무에 관계없이 합성 된 오디오를 WAV 파일에 저장합니다.
mp3에서 wav 변환
- 입력 MP3 파일을 Pydub 라이브러리를 사용하지 않고 세그먼트 화 된 WAV 파일로 변환합니다.
- 오디오를 10 초 간격으로 세그먼트하고 개별 WAV 파일 (거북이에 필요)으로 저장합니다.
거북이 모델 합성 설명 :
- 고품질 합성을 위해 Coqui TTS 라이브러리의 거북이 모델을 사용합니다.
- 미리 훈련 된 거북이 모델을로드하고 입력 텍스트에 따라 음성을 합성합니다.
- 합성 된 오디오를 WAV 파일로 저장합니다.
추가 정보
XTTS v2.0.2는 속도와 합리적인 품질로 제안됩니다. 거북이는 최고 품질을 제공하지만 추론 시간이 길다.
메모
- 종속성이 설치되고 파일 경로가 그에 따라 조정되었는지 확인하십시오.
- 주석의 URL은 모델 및 구성에 대한 자세한 정보를 제공합니다.
- 특정 요구 사항에 따라 스크립트를 자유롭게 수정하고 성공적인 실행을 위해 경로 및 종속성을 제출하도록 필요한 조정이 이루어 지도록하십시오.
2. TTS 모델 분석기 문서
설명
이 스크립트는 TTS 라이브러리에서 사용할 수있는 TTS (Text-To-Steeech) 모델을 분석하며, 특히 언어 지원 및 보코더 기능에 중점을 둡니다. 다음을 기반으로 모델을 분류합니다.
- 다국어 대 영어와 영어 전용 : 모델이 여러 언어를 지원하는지 또는 영어 만
- Custom vs. Default English Vocoder : 모델에 음성 복제를 허용하는 사용자 정의 영어 보코더가 있는지 또는 그렇지 않은 기본 보코더가 있는지 여부.
이 스크립트는 또한 오류가있는 모델 수와 특정 이유 (예 : 알려진 오류 제기 모델)로 인해 무시되는 모델 수를 추적합니다.
코드 분석
전제 조건
스크립트를 실행하기 전에 다음 명령을 사용하여 TTS 라이브러리가 설치되어 있는지 확인하십시오.
실행
python TTS_download_and_test_all_models.py
산출
이 스크립트는 영어 보코더가있는 다국어 모델, 맞춤형 보코더가 장착 된 영어 모델, 기본 영어 보코더가 장착 된 다중 언어 모델 및 기본 영어 보코더가있는 영어 모델에 대한 정보를 생성합니다. 또한 영어가 아닌 언어를 지원하는 모델, 오류가있는 모델 및 무시해야 할 모델을 식별합니다.
스크립트 설명
스크립트는 다음과 같은 작업을 수행합니다.
필요한 라이브러리 (TTS, 시간, OS)를 가져옵니다.
스크립트 실행 시간을 측정하기 위해 타이머를 설정합니다.
음성 합성을위한 샘플 텍스트를 정의합니다.
다양한 모델 카테고리의 카운터 및 목록을 초기화합니다.
사용 가능한 모든 TTS 모델을 반복합니다.
각 모델을 다운로드하고로드하여 다른 텍스트 음성 작업 작업을 수행하여 언어 지원 및 보코더 유형을 기반으로 분류합니다.
프로세스 중에 발생하는 오류와 함께 각 카테고리의 모델 카운트 및 이름을 포함하여 결과를 인쇄합니다.
확인 된 총 모델 수와 스크립트 실행 시간이 표시됩니다.
모델의 올바른 계산을 보장하기 위해 어설 션 검사를 수행합니다.
멀티 스피커 및 다국어 모델과 함께 텍스트 음성 연설에 TTS를 사용하는 예를 제공합니다.
메모
일부 모델은 오류 또는 기타 이유 (코드에 지정 됨)로 인해 무시 될 수 있습니다. 이 스크립트에는 특정 모델을 사용하여 Colab의 그리스어 텍스트 음성 연설의 예도 포함되어 있습니다.
추가 정보
- TTS 라이브러리 : https://github.com/mozilla/tts
- TTS 문서 : https://tts.readthedocs.io/
특정 사용 사례에 필요에 따라 스크립트를 수정하거나 TTS 모델 분석을 위해 프로젝트에 통합하십시오.
3. 공식 거북이 저장소를 사용한 음성 클론
개요
이 스크립트는 입력 텍스트에서 음성을 생성하기 위해 거북이 TTS (텍스트-음성) 시스템의 사용을 보여줍니다. 이 스크립트는 거북이 TTS 라이브러리를 사용하고 설치 지침을 제공합니다. 생성 된 연설은 WAV 파일로 저장됩니다.
설치
git clone https://github.com/neonbjb/tortoise-tts.git
cd tortoise-tts
pip install -r requirements.txt
pip install librosa einops rotary_embedding_torch omegaconf pydub inflect
python setup.py install
용법
- 음성 변수의 경로를 원하는 스피커의 음성 샘플로 교체하십시오.
- 선택적으로, 원하는 입력 텍스트를 지정하려면 텍스트 변수를 수정하십시오.
-
python tortoise_API.py 로 스크립트를 실행하여 거북이 TTS를 수행하고 생성 된 음성을 WAV 파일로 저장하십시오.
작업 descritpion
필요한 라이브러리 가져 오기 :
- 수입은 Torchaudio, Tortoise.api, Tortoise.utils 및 OS를 포함한 라이브러리가 필요합니다.
거북이 초기화 :
- Tortoise.api.textToSpeech를 사용하여 거북이 TT를 초기화합니다.
- 선택적으로, 더 빠른 성능을 위해 DeepSpeed를 활성화합니다 (실제로 느리게 댓글이 줄어 듭니다).
입력 텍스트 지정 :
- 입력 텍스트를 음성으로 변환 할 입력 텍스트를 설정합니다.
사전 설정 및 음성 선택 :
- 출력 품질을 결정하기위한 사전 설정 모드를 선택합니다 ( "Ultra_fast", "Fast", "Standard"또는 "High_Quality").
- 스피커의 음성 샘플로가는 길을 제공하여 특정 음성을 선택합니다.
로드 참조 클립 :
- 선택한 음성 경로에서 기준 오디오 클립을로드합니다.
거북이로 TTS 수행 :
- 거북이 TT를 사용하여 입력 텍스트에서 음성을 생성합니다.
- 생성 된 음성을 WAV 형식으로 저장합니다.
추가 정보
- 스크립트는 Hugging Face (HF) 모델 허브에서 필요한 모델을 다운로드합니다.
- 선호도에 따라 사전 설정 및 음성과 같은 매개 변수를 조정하십시오.
- 생성 된 오디오는 지정된 디렉토리에서 'generated_hq_faceswap.wav'로 저장됩니다.
4. Opus to MP3 변환 (WhatsApp 녹음에서 복제)
개요
이 스크립트는 Opus 오디오 파일을 MP3 형식으로 변환하는 것을 용이하게합니다. 여기에는 Opus 파일을 읽고 MP3로 변환하는 기능이 포함되어 있으며 여러 MP3 파일을 단일 파일로 결합합니다. 스크립트는 사용자가 입력 및 출력 폴더를 지정할 수 있도록하여 유연성을 제공합니다.
매개 변수
opus_folder: Opus 파일을 포함하는 폴더로가는 경로.
mp3_output_folder: 개별 MP3 파일을 저장하는 경로.
combined_output_folder: 결합 된 MP3 파일을 저장하는 경로.
스크립트는 출력 폴더가 존재하지 않으면 출력 폴더를 만듭니다.
전제 조건
작업
- Opus 파일 읽기 :
- SoundFile 라이브러리를 사용하여 Opus 파일을 읽습니다.
- Numpy 배열과 샘플 속도를 반환합니다.
- Opus를 MP3로 변환합니다
- read_opus 함수를 사용하여 Opus 파일을 읽습니다.
- 동일한 샘플 속도를 사용하여 Opus를 MP3로 변환합니다.
- MP3 파일을 지정된 출력 폴더에 저장합니다.
- OPUS 파일을 변환합니다
- 폴더의 Opus 파일을 반복하고 각각 MP3로 변환합니다.
- 저장된 mp3 파일 이름 목록을 반환합니다.
- MP3 파일을 결합하십시오
- 개별 MP3 파일을 하나로 결합합니다.
- 결합 된 MP3 파일을 지정된 출력 폴더에 저장합니다.
5. 짖는 Google Colab (아주 좋지 않음)
개요
이 Jupyter 노트북은 껍질 음성 클론 시스템을 사용하여 음성 복제 과정을 보여줍니다. 클로닝, 필요한 라이브러리 설치, 모델로드, 시맨틱 토큰 생성 및 음성 클로닝에 이러한 토큰을 사용하여 Google 드라이브를 장착하여 클로닝, 필요한 라이브러리 설치, 시맨틱 토큰 생성에 액세스하는 것이 포함됩니다.
작업
Mount Google 드라이브 :
- Google 드라이브를 마운트하여 음성 샘플이 포함 된 폴더에 복제 할 수 있습니다.
매개 변수 설정 :
- 오디오 파일의 경로, 음성 이름 및 복제 된 음성 프롬프트를 저장하기위한 출력 경로와 같은 매개 변수를 정의합니다.
라이브러리 설치 및 가져 오기 :
- 필수 라이브러리, Pytorch, Numpy 및 기타를 설치 및 수입합니다.
음성 클론으로 껍질을 설치하십시오.
- 제공된 GitHub 저장소에서 음성 클론 라이브러리가있는 껍질을 설치합니다.
모델로드 및 Hubert 초기화 :
- 필요한 모델을로드하고 시맨틱 토큰 추출을 위해 Hubert Manager를 초기화합니다.
로드 및 프로세스 오디오 :
- 오디오 파일을로드하고 추가 처리를 위해 변환합니다.
- Hubert 모델을 사용하여 시맨틱 벡터 및 토큰을 추출합니다.
프롬프트 인코딩 및 저장 :
- Encodec을 사용하여 오디오 프레임을 인코딩합니다.
- Numpy Array로서 잘, 거칠고 의미 론적 프롬프트를 절약합니다.
껍질을 사용하여 오디오 생성 :
- 텍스트, 거친, 미세한 생성 및 코덱에 대한 껍질 껍질 모델을 예압합니다.
- 텍스트 프롬프트, 시맨틱 프롬프트 및 역사 프롬프트를 사용하여 오디오를 생성합니다.
생성 된 오디오 재생 및 저장 :
- Ipython의 오디오를 사용하여 생성 된 오디오를 재생합니다.
- 선택적으로 생성 된 오디오를 WAV 파일로 저장합니다.
총 런타임 :
- 스크립트를 실행하는 데 걸린 총 시간을 표시합니다.
스크립트 사용
- Google 드라이브에 원하는 음성 샘플 폴더에 액세스 할 수 있도록 Google 드라이브가 장착되어 있는지 확인하십시오.
- 설정에 따라
audio_filepath , voice_name 및 output_path 와 같은 매개 변수를 수정하십시오. - 스크립트를 실행하여 음성을 복제하고 오디오를 생성하며 선택적으로 출력을 저장하십시오.
추가 정보
- 스크립트는 제공된 GitHub 저장소에서 음성 클론 라이브러리가있는 껍질을 설치하고 사용합니다.
- 음성 클로닝 프로젝트에 필요한 경우 경로, 매개 변수 및 프롬프트를 조정하십시오.
- 생성 된 오디오는 직접 재생되거나 WAV 파일로 저장할 수 있습니다.
- 필요한 종속성을 설치하고 올바르게 구성해야합니다.
6. Coqui TTS 호출 API (더 이상 존재하지 않음 - 사용할 수 없음)
개요
이 스크립트는 Coqui TTS API를 사용하여 음성 복제 과정을 보여줍니다. 필요한 라이브러리 가져 오기, API 호출을 오디오 파일에서 음성을 복제하기 위해 API 호출을하고 복제 된 음성을 사용하여 텍스트 음성 연설을 생성하는 것이 포함됩니다.
작업
가져 오기 라이브러리 :
- API 전화
requests 포함하여 필요한 라이브러리를 가져 오기.
매개 변수 설정 :
- 입력 오디오 파일의 경로, 새 오디오 파일을 저장하는 경로 및 읽을 텍스트와 같은 매개 변수를 설정합니다.
음성 복제는 Coqui TTS API에 전화하십시오.
- Coqui TTS API를 호출하여 제공된 오디오 파일에서 음성을 복제합니다.
- 후속 텍스트 음성 연설을 위해 복제 된 음성의 음성 ID를 추출합니다.
텍스트 음성은 Coqui TTS API에 전화하십시오.
- 복제 된 음성을 사용하여 Coqui TTS API를 호출하여 지정된 텍스트를 음성으로 변환합니다.
- 생성 된 연설의 오디오 URL을 검색합니다.
오디오 다운로드 및 저장 :
- 제공된 URL에서 생성 된 오디오 파일을 다운로드합니다.
- 오디오 파일을 지정된 경로에 저장합니다.
스크립트 사용
- 입력 오디오 파일 (
path_audio ), 새 오디오 파일을 저장하는 경로 ( save_path ) 및 읽을 텍스트 ( text_to_read )의 경로를 제공하십시오. - Coqui TTS 웹 사이트에서 필요한 API 키를 얻고
headers 의 자리 표시자를 실제 키로 교체하십시오. - 스크립트를 실행하여 음성을 복제하고 텍스트 음성을 생성하십시오.
추가 정보
- 이 스크립트는 음성 복제 및 텍스트 음성 연설을 위해 Coqui TTS API를 사용합니다.
- 매개 변수를 조정하고 특정 사용 사례에 맞게 API 키를 교체하십시오.
- Coqui TTS API 사용 정책을 준수해야합니다.
- 다운로드 된 오디오 파일은
save_path 에 지정된대로 로컬로 저장됩니다.