FunCodec 项目介绍
FunCodec 是一个基础、可复现且可集成的开源工具包,旨在用于神经网络语音编解码。这一项目仍在积极开发中,为了使 FunCodec 更加完善,项目组欢迎任何建议或意见,可以在 GitHub 的 Issues
部分进行反馈。
最新动态
- 2023年12月22日:FunCodec 发布了 LauraTTS 的训练和推理方案及预训练模型。LauraTTS 作为一个强大的零样本文字转语音合成器,在语义一致性和说话人相似度上超越了 VALL-E。详细信息请参考
egs/LibriTTS/text2speech_laura/README.md
。
安装指南
用户可以通过以下命令克隆 FunCodec 项目并进行安装:
git clone https://github.com/alibaba/FunCodec.git && cd FunCodec
pip install --editable ./
可用模型
FunCodec 提供多种模型,用户可以通过 Huggingface 和 ModelScope 两大模型库获取。以下是一些可用模型的概况:
模型名称 | 模型库链接 | 语料库 | 比特率 | 参数量 | Flops |
---|---|---|---|---|---|
audio_codec-encodec-zh_en-general-16k-nq32ds640-pytorch | 🤗 ⭐ | 通用 | 250~8000 | 57.83 M | 7.73G |
audio_codec-encodec-zh_en-general-16k-nq32ds320-pytorch | 🤗 ⭐ | 通用 | 500~16000 | 14.85 M | 3.72 G |
audio_codec-encodec-en-libritts-16k-nq32ds640-pytorch | 🤗 ⭐ | LibriTTS | 250~8000 | 57.83 M | 7.73G |
模型下载
用户可以通过 ModelScope 或 Huggingface 平台下载预训练模型。相关脚本存放在 egs/LibriTTS/codec
目录下,通过运行 encoding_decoding.sh
脚本即可下载指定模型。
推理使用
FunCodec 支持批量推理,通过 encoding_decoding.sh
脚本,可以进行语音文件的编码和解码操作,并将编码结果存储为 .jsonl
格式文件。解码后的波形文件将保存为 .wav
格式。
模型训练
用户可以使用 FunCodec 在开源语料或者自定义数据集上训练新模型。示例脚本 egs/LibriTTS/codec/run.sh
提供了在 LibriTTS
语料库上进行训练的步骤说明。此外,FunCodec 支持使用 kaldi 风格的 wav.scp
文件来组织数据集。
自定义数据集训练
若要在自定义数据集上进行训练,用户需先自行准备 wav.scp
文件,然后执行相应脚本完成数据准备和模型训练。
致谢
FunCodec 项目的设计和开发过程中,借鉴了 FunASR、Kaldi 和 ESPnet 等项目的设计思路和代码。此外,模型架构设计也使用了 Encodec 和 EnCodec_Trainer 的一些设计。
许可协议
FunCodec 项目依照 MIT 许可协议 发布。此外,FunCodec 中集成了多种第三方组件,并包含一些从其他开源项目中修改过的代码。
引用
若在您的研究中使用了 FunCodec,请使用如下的 Bibtex 格式进行引用:
@misc{du2023funcodec,
title={FunCodec: A Fundamental, Reproducible and Integrable Open-source Toolkit for Neural Speech Codec},
author={Zhihao Du, Shiliang Zhang, Kai Hu, Siqi Zheng},
year={2023},
eprint={2309.07405},
archivePrefix={arXiv},
primaryClass={cs.Sound}
}
FunCodec 是为语音处理爱好者提供的一个功能强大且易于使用的工具包,旨在帮助用户轻松处理语音数据并开发各类语音应用。