일반 소개
CosyVoice는 추론, 훈련, 배포에 이르는 풀스택 기능을 제공하는 다국어 대규모 음성 생성 모델입니다. FunAudioLLM 팀이 개발한 이 모델은 고급 자동 회귀 변환기와 ODE 기반 확산 모델을 통해 고품질 음성 합성을 달성하는 것을 목표로 하며, 다국어 음성 생성을 지원할 뿐만 아니라 감정 제어 및 광둥어 합성을 사람의 발음과 비슷한 수준으로 수행합니다.
무료 온라인 체험(텍스트 음성 변환): https://modelscope.cn/studios/iic/CosyVoice-300M
무료 온라인 체험(음성 텍스트 변환): https://www.modelscope.cn/studios/iic/SenseVoice

기능 목록
- 다국어 음성 생성: 다국어 음성 합성을 지원합니다.
- 음성 복제: 특정 화자의 음성 특성을 복제하는 기능입니다.
- 텍스트 음성 변환: 텍스트 콘텐츠를 자연스럽고 부드러운 음성으로 변환합니다.
- 감정 제어: 음성 합성 시 감정 표현을 조절할 수 있습니다.
- 광동어 합성: 광동어 음성 생성을 지원합니다.
- 고음질 오디오 출력: HiFTNet 보코더를 통해 고음질 오디오를 합성합니다.
도움말 사용
설치 프로세스
최근 알리 통이 연구소는 자연스러운 음성 생성, 다국어, 음색 및 감정 제어를 지원하고 다국어 음성 생성, 제로 샘플 음성 생성, 다국어 사운드 합성 및 명령 실행 기능에 탁월한 CosyVoice 음성 모델을 오픈소스화했습니다.
CosyVoice는 총 15만 시간 이상의 데이터 학습을 통해 중국어, 영어, 일본어, 광동어, 한국어 등 5개 언어의 합성을 지원하며, 기존 음성 합성 모델보다 합성 효과가 훨씬 우수합니다.
CosyVoice는 원샷 톤 복제를 지원하므로 3~10초의 원시 오디오만 있으면 리듬이나 감정과 같은 디테일을 포함한 아날로그 톤을 생성할 수 있습니다. 또한 언어 간 음성 합성에서도 뛰어난 성능을 발휘합니다.
공식 버전은 당분간 Windows와 Mac 플랫폼을 지원하지 않으므로 이번에는 이 두 플랫폼에 각각 CosyVoice를 로컬로 배포했습니다.
Windows 플랫폼
먼저 Windows 플랫폼으로 이동하여 프로젝트를 복제합니다:
git clone https://github.com/v3ucn/CosyVoice_For_Windows
프로젝트에 액세스합니다.
cd CosyVoice_For_Windows
내장 모듈을 생성합니다:
git submodule update --init --recursive
그런 다음 종속성을 설치합니다:
conda create -n cosyvoice python=3.11
conda activate cosyvoice
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
공식 권장 버전은 3.8입니다. 실제로는 3.11이 실행되며 이론적으로는 3.11이 더 나은 성능을 제공합니다.
그런 다음 Windows 버전의 딥스피드 설치 관리자를 다운로드하여 설치합니다:
https://github.com/S95Sedan/Deepspeed-Windows/releases/tag/v14.0%2Bpy311
마지막으로, GPU 버전의 토치를 설치합니다.
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
여기서 쿠다 버전은 12로 선택하거나 11을 설치할 수 있습니다.
그런 다음 모델을 다운로드했습니다:
# git模型下载,请确保已安装git lfs
mkdir -p pretrained_models
git clone https://www.modelscope.cn/iic/CosyVoice-300M.git pretrained_models/CosyVoice-300M
git clone https://www.modelscope.cn/iic/CosyVoice-300M-SFT.git pretrained_models/CosyVoice-300M-SFT
git clone https://www.modelscope.cn/iic/CosyVoice-300M-Instruct.git pretrained_models/CosyVoice-300M-Instruct
git clone https://www.modelscope.cn/speech_tts/speech_kantts_ttsfrd.git pretrained_models/speech_kantts_ttsfrd
중국의 Magic Hitch 창고를 사용하기 때문에 매우 빠릅니다.
마지막으로 환경 변수를 추가합니다:
set PYTHONPATH=third_party/AcademiCodec;third_party/Matcha-TTS
기본 사용법:
from cosyvoice.cli.cosyvoice import CosyVoice
from cosyvoice.utils.file_utils import load_wav
import torchaudio
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M-SFT')
# sft usage
print(cosyvoice.list_avaliable_spks())
output = cosyvoice.inference_sft('你好,我是通义生成式语音大模型,请问有什么可以帮您的吗?', '中文女')
torchaudio.save('sft.wav', output['tts_speech'], 22050)
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M')
# zero_shot usage
prompt_speech_16k = load_wav('zero_shot_prompt.wav', 16000)
output = cosyvoice.inference_zero_shot('收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。', '希望你以后能够做的比我还好呦。', prompt_speech_16k)
torchaudio.save('zero_shot.wav', output['tts_speech'], 22050)
# cross_lingual usage
prompt_speech_16k = load_wav('cross_lingual_prompt.wav', 16000)
output = cosyvoice.inference_cross_lingual('<|en|>And then later on, fully acquiring that company. So keeping management in line, interest in line with the asset that\'s coming into the family is a reason why sometimes we don\'t buy the whole thing.', prompt_speech_16k)
torchaudio.save('cross_lingual.wav', output['tts_speech'], 22050)
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M-Instruct')
# instruct usage
output = cosyvoice.inference_instruct('在面对挑战时,他展现了非凡的<strong>勇气</strong>与<strong>智慧</strong>。', '中文男', 'Theo \'Crimson\', is a fiery, passionate rebel leader. Fights with fervor for justice, but struggles with impulsiveness.')
torchaudio.save('instruct.wav', output['tts_speech'], 22050)
직관성과 편의성을 높이기 위해 Webui를 추천합니다:
python3 webui.py --port 9886 --model_dir ./pretrained_models/CosyVoice-300M
http://localhost:9886 방문하기

공식 토치에서는 백엔드에 소스를 사용하지만 여기서는 사운드 파일로 변경되었습니다:
torchaudio.set_audio_backend('soundfile')
일부 버그가 있을 수 있으므로 향후 공식 프로젝트 업데이트를 계속 지켜봐 주세요.
MacOS 플랫폼
이제 MacOs 플랫폼에서는 먼저 프로젝트를 복제하는 것이 좋습니다:
git clone https://github.com/v3ucn/CosyVoice_for_MacOs.git
종속성을 설치합니다:
cd CosyVoice_for_MacOs
conda create -n cosyvoice python=3.8
conda activate cosyvoice
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
그런 다음 Homebrew를 통해 sox를 설치해야 합니다:
brew install sox
따라서 구성이 완료되었지만 환경 변수를 추가하는 것을 잊지 마세요:
export PYTHONPATH=third_party/AcademiCodec:third_party/Matcha-TTS
사용법은 Windows 버전과 동일하게 유지됩니다.
웹유이는 여전히 여기에서 권장됩니다.
python3 webui.py --port 50000 --model_dir speech_tts/CosyVoice-300M
http://localhost:50000 방문하기

결론
공정하게 말하면 CosyVoice는 큰 공장이 될 자격이 있으며 모델의 품질은 국내 최고 수준의 AI를 대표하는 것은 말할 것도없고 통이 랩스 이름은 거짓이 아니며 물론 엔지니어링 후 코드를 오픈 소스화 할 수도 있다면 더 좋을 것입니다.
사용 프로세스
- 음성 생성::
- 입력 텍스트 파일(예: input.txt)을 한 줄에 한 문장으로 준비합니다.
- 음성 생성을 위해 다음 명령을 실행합니다:
python generate.py --input input.txt --output output/
- 생성된 음성 파일은 다음과 같은 위치에 저장됩니다.
output/
카탈로그.
- 음성 복제::
- 대상 화자의 음성 샘플 파일(예: sample.wav)을 준비합니다.
- 음성 복제를 위해 다음 명령을 실행합니다:
python clone.py --sample sample.wav --text input.txt --output output/
- 복제된 음성 파일은 다음 위치에 저장됩니다.
output/
카탈로그.
- 감정 조절::
- 음성을 생성할 때 명령줄 매개변수를 사용하여 감정을 조정할 수 있습니다:
python generate.py --input input.txt --output output/ --emotion happy
- 지원되는 감정에는 행복, 슬픔, 분노, 중립이 포함됩니다.
- 음성을 생성할 때 명령줄 매개변수를 사용하여 감정을 조정할 수 있습니다:
- 광둥어 합성::
- 광둥어 텍스트 파일(예: cantonese_input.txt)을 준비합니다.
- 광둥어 음성 생성을 위해 다음 명령을 실행하세요:
python generate.py --input cantonese_input.txt --output output/ --language cantonese
- 생성된 광둥어 음성 파일은 광둥어 음성 파일은
output/
카탈로그.
세부 운영 절차
- 텍스트 준비::
- 입력 텍스트 파일의 형식이 한 줄에 한 문장씩 올바르게 지정되었는지 확인합니다.
- 텍스트는 가능한 한 간결하고 명확해야 하며 복잡한 문장은 피해야 합니다.
- 음성 샘플 준비::
- 음성 샘플은 가능한 한 배경 소음이 적은 선명한 1인 음성이어야 합니다.
- 최적의 복제를 위해 샘플 길이는 1분 미만을 권장합니다.
- 매개변수화::
- 필요에 따라 감정, 언어 등 생성된 음성의 매개변수를 조정할 수 있습니다.
- 구성 파일 또는 명령줄 매개변수를 수정하여 개인화를 수행할 수 있습니다.
- 결과 검증::
- 생성된 음성 파일은 오디오 플레이어로 오디션을 볼 수 있습니다.
- 결과가 만족스럽지 않은 경우 입력 텍스트 또는 음성 샘플을 조정하고 다시 생성할 수 있습니다.
© 저작권 정책
文章版权归 AI 공유 서클 所有,未经允许请勿转载。
관련 문서
댓글 없음...