T4와 함께 Google Colab에서 Kokoro TTS 음성 합성 탐색
Kokoro-82M: 고성능 TTS(텍스트 음성 변환) 모델 탐색
Kokoro-82M은 고음질 오디오 재생이 가능한 고성능 TTS 모델입니다. 간단한 텍스트-음성 변환을 지원하며 오디오 파일에 가중치를 적용하여 음성 합성을 쉽게 수행할 수 있습니다.
껴안는 얼굴의 코코로-82M
Kokoro-82M 버전 0.23부터 일본어도 지원합니다. 다음 링크를 통해 쉽게 시험해 볼 수 있습니다:
[Hugging Face Spaces의 Kokoro TTS](Hugging Face Spaces 링크가 여기에 삽입되어야 함)
그러나 일본어 억양은 아직 조금 부자연스럽습니다.
이 튜토리얼에서는 Kokoro와 ONNX 런타임을 활용하는 TTS 구현인 kokoro-onnx를 사용합니다. 우리는 미국 영어와 영국 영어의 음성 합성만 지원하는 버전 0.19(안정 버전)를 사용할 것입니다.
제목과 같이 Google Colab에서 코드가 실행됩니다.
kokoro-onnx 설치
!git lfs install !git clone https://huggingface.co/hexgrad/Kokoro-82M %cd Kokoro-82M !apt-get -qq -y install espeak-ng > /dev/null 2>&1 !pip install -q phonemizer torch transformers scipy munch !pip install -U kokoro-onnx
패키지 로드 중
import numpy as np from scipy.io.wavfile import write from IPython.display import display, Audio from models import build_model import torch from models import build_model from kokoro import generate
예제 실행
음성 합성을 테스트하기 전에 공식 예제를 실행해 보겠습니다. 다음 코드를 실행하면 몇 초 안에 오디오가 생성되고 재생됩니다.
device = 'cuda' if torch.cuda.is_available() else 'cpu' MODEL = build_model('kokoro-v0_19.pth', device) VOICE_NAME = [ 'af', # 默认语音是 Bella 和 Sarah 的 50-50 混合 'af_bella', 'af_sarah', 'am_adam', 'am_michael', 'bf_emma', 'bf_isabella', 'bm_george', 'bm_lewis', 'af_nicole', 'af_sky', ][0] VOICEPACK = torch.load(f'voices/{VOICE_NAME}.pt', weights_only=True).to(device) print(f'Loaded voice: {VOICE_NAME}') text = "How could I know? It's an unanswerable question. Like asking an unborn child if they'll lead a good life. They haven't even been born." audio, out_ps = generate(MODEL, text, VOICEPACK, lang=VOICE_NAME[0]) display(Audio(data=audio, rate=24000, autoplay=True)) print(out_ps)
음성합성
이제 주제에 대해 알아보고 음성 합성을 테스트해 보겠습니다.
음성 패키지 정의
- af: 미국식 영어 여자 목소리
- am: 미국식 영어 남자 목소리
- bf: 영국식 영어 여자 목소리
- bm : 영국식 영어 남자 목소리
- 이제 사용 가능한 모든 음성 팩을 로드하겠습니다.
voicepack_af = torch.load(f'voices/af.pt', weights_only=True).to(device) voicepack_af_bella = torch.load(f'voices/af_bella.pt', weights_only=True).to(device) voicepack_af_nicole = torch.load(f'voices/af_nicole.pt', weights_only=True).to(device) voicepack_af_sarah = torch.load(f'voices/af_sarah.pt', weights_only=True).to(device) voicepack_af_sky = torch.load(f'voices/af_sky.pt', weights_only=True).to(device) voicepack_am_adam = torch.load(f'voices/am_adam.pt', weights_only=True).to(device) voicepack_am_michael = torch.load(f'voices/am_michael.pt', weights_only=True).to(device) voicepack_bf_emma = torch.load(f'voices/bf_emma.pt', weights_only=True).to(device) voicepack_bf_isabella = torch.load(f'voices/bf_isabella.pt', weights_only=True).to(device) voicepack_bm_george = torch.load(f'voices/bm_george.pt', weights_only=True).to(device) voicepack_bm_lewis = torch.load(f'voices/bm_lewis.pt', weights_only=True).to(device)
미리 정의된 음성을 사용하여 텍스트 생성
합성된 음성의 차이점을 살펴보기 위해 다양한 음성 패킷을 사용하여 오디오를 생성해 보겠습니다. 동일한 예제 텍스트를 사용하지만 voicepack_
변수를 변경하여 원하는 음성 팩을 사용할 수 있습니다.
# 以下代码段与原文相同,只是重复了多次,为了简洁,这里省略了重复的代码块。 # 每个代码块都使用不同的语音包生成音频,并使用 display(Audio(...)) 播放。
음성합성: 혼합음
먼저 영국 여성 목소리 두 명(bf)을 합쳐 평균적인 목소리를 만들어 보겠습니다.
bf_average = (voicepack_bf_emma + voicepack_bf_isabella) / 2 audio, out_ps = generate(MODEL, text, bf_average, lang=VOICE_NAME[0]) display(Audio(data=audio, rate=24000, autoplay=True)) print(out_ps)
다음으로 여성 목소리 2명과 남성 목소리 1명의 조합을 합성해 보겠습니다.
weight_1 = 0.25 weight_2 = 0.45 weight_3 = 0.3 weighted_voice = (voicepack_bf_emma * weight_1 + voicepack_bf_isabella * weight_2 + voicepack_bm_lewis * weight_3) audio, out_ps = generate(MODEL, text, weighted_voice, lang=VOICE_NAME[0]) display(Audio(data=audio, rate=24000, autoplay=True)) print(out_ps)
마지막으로 미국 남성 보컬과 영국 남성 보컬을 혼합하여 합성해 보겠습니다.
m_average = (voicepack_am_michael + voicepack_bm_george) / 2 audio, out_ps = generate(MODEL, text, m_average, lang=VOICE_NAME[0]) display(Audio(data=audio, rate=24000, autoplay=True)) print(out_ps)
또한 혼합 음성의 효과를 테스트하기 위해 Gradio를 사용했습니다. (여기에 Gradio 데모의 링크나 스크린샷을 삽입해야 합니다.)
이것을 Ollama와 결합하면 흥미로운 실험으로 이어질 수 있습니다.
이 수정된 출력은 흐름과 명확성을 향상시키면서 중복을 피하기 위해 요약되었습니다. "[Hugging Face는 여기에 삽입되어야 합니다. 스페이스 링크]' 및 '(Gradio 데모의 링크 또는 스크린샷이 여기에 삽입되어야 함)'를 실제 링크나 이미지로 대체합니다.
위 내용은 T4와 함께 Google Colab에서 Kokoro TTS 음성 합성 탐색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

Python은 게임 및 GUI 개발에서 탁월합니다. 1) 게임 개발은 Pygame을 사용하여 드로잉, 오디오 및 기타 기능을 제공하며 2D 게임을 만드는 데 적합합니다. 2) GUI 개발은 Tkinter 또는 PYQT를 선택할 수 있습니다. Tkinter는 간단하고 사용하기 쉽고 PYQT는 풍부한 기능을 가지고 있으며 전문 개발에 적합합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Python은 배우고 사용하기 쉽고 C는 더 강력하지만 복잡합니다. 1. Python Syntax는 간결하며 초보자에게 적합합니다. 동적 타이핑 및 자동 메모리 관리를 사용하면 사용하기 쉽지만 런타임 오류가 발생할 수 있습니다. 2.C는 고성능 응용 프로그램에 적합한 저수준 제어 및 고급 기능을 제공하지만 학습 임계 값이 높고 수동 메모리 및 유형 안전 관리가 필요합니다.

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

제한된 시간에 Python 학습 효율을 극대화하려면 Python의 DateTime, Time 및 Schedule 모듈을 사용할 수 있습니다. 1. DateTime 모듈은 학습 시간을 기록하고 계획하는 데 사용됩니다. 2. 시간 모듈은 학습과 휴식 시간을 설정하는 데 도움이됩니다. 3. 일정 모듈은 주간 학습 작업을 자동으로 배열합니다.

파이썬은 자동화, 스크립팅 및 작업 관리가 탁월합니다. 1) 자동화 : 파일 백업은 OS 및 Shutil과 같은 표준 라이브러리를 통해 실현됩니다. 2) 스크립트 쓰기 : PSUTIL 라이브러리를 사용하여 시스템 리소스를 모니터링합니다. 3) 작업 관리 : 일정 라이브러리를 사용하여 작업을 예약하십시오. Python의 사용 편의성과 풍부한 라이브러리 지원으로 인해 이러한 영역에서 선호하는 도구가됩니다.
