설명
WaveGlow는 NVIDIA 연구원 Ryan Prenger, Rafael Valle 및 Bryan Catanzaro가 개발한 음성 합성을 위한 흐름 기반 생성 네트워크입니다. 이 네트워크는 Glow와 WaveNet의 아이디어를 결합하여 멜 스펙트로그램으로부터 고품질 음성 오디오를 생성하며, 이전 보코더들이 의존했던 자동 회귀 디코딩 단계를 필요로 하지 않습니다.
더 읽기
이 네트워크는 단일 비용 함수로 훈련된 단일 모델로 구현됩니다: 훈련 데이터의 가능성을 최대화하는 것입니다. 동반 논문에 따르면, 이는 다단계 접근 방식보다 훈련을 더 간단하고 안정적으로 만들어 주며, PyTorch 구현은 NVIDIA V100 GPU에서 1200 kHz의 속도로 오디오를 생성하며, 당시 최고의 공개 WaveNet 구현과 비교할 수 있는 평균 의견 점수를 기록합니다.
저장소는 이 작업을 재현하거나 기반으로 구축하는 데 필요한 모든 것을 제공합니다. 사전 훈련된 WaveGlow 체크포인트와 일치하는 멜 스펙트로그램 파일이 즉시 추론을 위해 제공되며, inference.py 스크립트를 사용하여 멜 스펙트로그램 파일 목록으로부터 오디오를 합성할 수 있습니다. 새로운 모델을 훈련하기 위해, 저장소에는 LJ Speech 데이터셋 형식을 기반으로 한 스크립트가 포함되어 있습니다: 파일 목록은 훈련 세트와 테스트 세트로 나뉘며, mel2samp.py를 사용하여 멜 스펙트로그램이 생성되고, train.py를 통해 훈련이 진행되며, multi-GPU 설정을 위한 distributed.py도 제공됩니다. 혼합 정밀도(fp16) 훈련은 모델의 구성 파일을 통해 활성화할 수 있습니다. 별도의 변환 스크립트인 convert_model.py는 현재 아키텍처와 작동하도록 이전에 저장된 체크포인트를 업데이트합니다. 현재 버전은 잔여 및 건너뛰기 연결을 네트워크에 통합하기 때문입니다.
설치는 저장소를 복제하고 git 서브모듈을 초기화하며, Python 요구 사항을 설치하고, 훈련 및 추론 코드에 의존하는 NVIDIA의 Apex 라이브러리를 설치하는 것으로 시작됩니다. 이 프로젝트는 패키지 애플리케이션이 아닌 연구 릴리스이기 때문에, 사용자는 그래픽 인터페이스가 아닌 이러한 명령줄 스크립트와 직접 작업해야 합니다.
WaveGlow는 추론을 실행하거나 새로운 음성 데이터로 재훈련하거나 WaveNet과 같은 다른 생성 접근 방식과 비교하고자 하는 음성 합성 연구자 및 엔지니어를 대상으로 합니다. 모델이 생성한 오디오 샘플은 프로젝트의 링크된 웹사이트에서 제공되며, 동반 논문은 오디오 품질을 평가하는 데 사용된 평균 의견 점수 평가를 문서화합니다.
- 카테고리텍스트 음성 변환
- 요금제오픈소스
- 배포클라우드, 셀프 호스팅
- 플랫폼NVIDIA Blackwell, DRIVE, Jetson, RTX
WaveGlow의 핵심 기능
자동 회귀 디코딩 단계 없이 멜 스펙트로그램으로부터 직접 음성 오디오를 생성합니다.
단일 최대 가능성 비용 함수로 훈련됩니다.
추론을 위한 사전 훈련된 WaveGlow 체크포인트와 일치하는 멜 스펙트로그램 데이터를 제공합니다.
LJ Speech 데이터셋 형식으로 새로운 모델을 훈련하기 위한 스크립트를 포함합니다.
NCCL을 통한 다중 GPU 분산 훈련을 지원합니다.
혼합 정밀도(fp16) 훈련 및 추론을 지원합니다.
현재 아키텍처로 업데이트하기 위한 변환 스크립트를 포함합니다.
동반 논문에 따르면 NVIDIA V100 GPU에서 1200 kHz로 오디오 생성이 보고됩니다.
WaveGlow 시작하기
저장소 복제: NVIDIA/waveglow를 복제하고 서브모듈을 초기화합니다.
종속성 설치: Python 요구 사항과 Apex 라이브러리를 설치합니다.
데이터 가져오기: 사전 훈련된 WaveGlow 모델과 샘플 멜 스펙트로그램을 다운로드하거나, 자신의 음성 데이터로 훈련하기 위해 LJ Speech 데이터셋을 다운로드합니다.
추론 실행: inference.py를 사용하여 멜 스펙트로그램으로부터 오디오를 생성합니다.
훈련(선택 사항): train.py를 실행하거나, 자신의 데이터셋에 대해 multi-GPU를 위한 distributed.py를 실행합니다.
출력 평가: 생성된 오디오 품질을 비교하고 fp16 또는 시그마 매개변수와 같은 설정을 조정합니다.
WaveGlow의 사용 사례
- 텍스트-음성 변환 보코딩
- 보코더 연구
- 맞춤 음성 훈련





