综合介绍
VoiceCraft是一个开源的语音编辑和零样本语音合成工具,基于神经编解码器语言模型。它采用了创新的编码序列生成方法,能够在已有语音序列上进行插入、删除和替换操作,生成自然、连贯的编辑语音。同时,VoiceCraft还支持零样本语音合成,无需针对特定说话人进行额外的微调。该工具在多个语音处理任务上表现出色,性能显著超过了当前的业界SOTA模型。
功能列表
- 语音编辑:支持插入、删除和替换操作,生成自然流畅的编辑语音。
- 零样本语音合成:无需额外微调即可生成目标说话人的语音。
- 基于Transformer架构:采用因果遮蔽和延迟堆叠技术,提升生成质量。
- 开源模型:可在Huggingface和AI快站上免费下载和使用。
- 交互式UI:集成Gradio库,用户可以直观地控制和测试模型。
使用帮助
安装流程
- 克隆项目仓库到本地目录:
git clone git@github.com:jasonppy/VoiceCraft.git cd VoiceCraft
- 确保您的系统已安装Docker和NVIDIA容器工具包(Windows系统已内置驱动):
sudo apt-get install -y nvidia-container-toolkit-base
- 构建Docker镜像:
docker build --tag "voicecraft" .
- 启动现有容器或创建新容器并传入所有GPU:
./start-jupyter.sh # Linux start-jupyter.bat # Windows
- 打开浏览器并访问终端显示的URL:
docker logs jupyter
- 可选:从另一个终端进入容器内部:
docker exec -it jupyter /bin/bash export USER=(your_linux_username_used_above) export HOME=/home/$USER sudo apt-get update
- 确认容器内可见显卡:
nvidia-smi
- 在浏览器中打开
inference_tts.ipynb
,逐步执行每个单元格。
环境设置
- 创建并激活虚拟环境:
conda create -n voicecraft python=3.9.16 conda activate voicecraft
- 安装所需依赖:
pip install -e git+https://github.com/facebookresearch/audiocraft.git@c5157b5bf14bf83449c17ea1eeb66c19fb4bc7f0#egg=audiocraft pip install xformers==0.0.22 pip install torchaudio==2.0.2 torch==2.0.1 apt-get install ffmpeg apt-get install espeak-ng pip install tensorboard==2.16.2 pip install phonemizer==3.2.1 pip install datasets==2.16.0 pip install torchmetrics==0.11.1 pip install huggingface_hub==0.22.2 conda install -c conda-forge montreal-forced-aligner=2.2.17 openfst=1.8.2 kaldi=5.5.1068 mfa model download dictionary english_us_arpa mfa model download acoustic english_us_arpa conda install -n voicecraft ipykernel --no-deps --force-reinstall
推理示例
- 语音编辑推理:
python phonemize_encodec_encode_hf.py --dataset_size xs --download_to path/to/store_huggingface_downloads --save_dir path/to/store_extracted_codes_and_phonemes --encodec_model_path path/to/encodec_model --mega_batch_size 120 --batch_size 32 --max_len 30000
- 零样本语音合成推理:
python tts_demo.py -h
Gradio
- 在Colab中运行:
Open in Colab
- 本地运行:
apt-get install -y espeak espeak-data libespeak1 libespeak-dev apt-get install -y festival* apt-get install -y build-essential apt-get install -y flac libasound2-dev libsndfile1-dev vorbis-tools apt-get install -y libxml2-dev libxslt-dev zlib1g-dev pip install -r gradio_requirements.txt python gradio_app.py
常见问题
- 如何提高生成语音的自然度? 确保输入的文本内容与目标语音样本的风格和语境一致。
- 生成的语音文件有噪音怎么办? 尝试使用更高质量的语音样本或调整模型参数。