首页
友情链接
点点滴滴
关于本站
秋码记录
一个游离于山间之上的Java爱好者 | A Java lover living in the mountains
累计撰写
158
篇文章
累计创建
346
个标签
累计创建
47
个分类
栏目
首页
友情链接
点点滴滴
关于本站
搜索
包含标签
文生音乐
文生音乐开源项目DiffRhythm,8G显存本地部署之Windows篇
一、DiffRhythm:颠覆音乐创作的AI黑科技 DiffRhythm是由西北工业大学音频语音与语言处理实验室(ASLP@NPU)与香港中文大学(深圳)联合开发的开源音乐生成模型,其采用全扩散架构,能够在10秒内生成4分45秒的高质量双轨立体声音乐(包含人声与伴奏) 。该模型以非自回归结构实现极速推理,支持纯文字风格描述生成音乐(如"Jazzy Nightclub Vibe"或"Arctic research station, theremin auroras"等创意场景) ,且最低仅需8GB显存即可本地部署。 技术亮点: 端到端生成:无需多阶段拼接,直接输出完整歌曲; 句级歌词对齐:通过音素映射实现人声与歌词精准同步; 压缩鲁棒VAE:支持从MP3等压缩格式还原无损音质; 多模态输入:兼容文本提示、参考音频、歌词等多类型输入。 本地部署 我电脑依旧是使用python 3.10.9,而仍然使用python3自带的venv模块来搭建python 虚拟环境。 当然咯,你也非得要跟我一样,你也可以使用python 3.11.X、python 3.12.x,用anaconda或miniconda来构建python 虚拟环境,这一点,并没有什么特定要求。 创建python 虚拟环境 你可以在电脑任一磁盘较为宽裕,来构建一个python 虚拟环境。 下载DiffRhythm推理代码 你得确保你的电脑安装好了git,否则的话,将无法通过以下命令进行clone DiffRhythm推理代码。 至于这么安装git工具,就不在这里进行赘述了,毕竟我前几篇文章是有讲解过的。 git clone https://github.com/ASLP-lab/DiffRhythm.git cd DiffRhythm 安装espeak-ng DiffRhythm生成的音乐包含人声演唱的歌词,这需要将文本歌词转化为音素序列(如国际音标IPA),并精确映射到音频的时间轴上。eSpeak-NG作为开源音素合成引擎,在此环节发挥关键作用: 音素解析:将用户输入的歌词(如中文、英文)转换为标准音素表示,例如中文你好 →/ni haʊ/,确保模型理解发音规则。 发音规则库支持:eSpeak-NG内置100+语言的音素规则库,能够处理多语言歌词混合场景(如中英双语歌曲),避免发音错误。 对齐算法依赖:DiffRhythm通过句子级对齐机制,将音素序列映射到潜在表示的特定位置,确保生成的歌声与歌词在时间轴上严格同步。eSpeak-NG提供底层音素时间戳数据支撑这一过程。 我们直接下载espeak-NG官方编译好的安装包,https://github.com/espeak-ng/espeak-ng/releases。 双击刚刚下载的espeak-ng.msi,一路Next下去就好了。 还需将espeak-ng安装路径添加到PATH环境变量中。 安装项目所需的依赖 这一步是必不可少的,毕竟现代的项目都是集成项目,换句话说,一个大项目或多或少需要去集成优秀的框架及工具库等。 pip install -r requirements.txt 在国内,我们还是先设置一个国内镜像源,以便下载依赖库能够加快些,毕竟,pypi.org在国内访问起来真是一言难尽啊,就更别说再去pypi.org下载什么依赖库了。 下载模型 我们可以通过HuggingFace.co的国内镜像站hf-mirror.com进行下载模型。 DiffRhythm-base模型地址:https://hf-mirror.com/ASLP-lab/DiffRhythm-base/tree/main 我们仍然是通过git工具来下载模型,所以,你的电脑得提前安装好git,是很有必要的。 git clone https://hf-mirror.com/ASLP-lab/DiffRhythm-base ASLP-lab/DiffRhythm-base 运行python infer/infer.py 当模型下载完成了之后,这时,我们便可以通过以下命令,来生成音乐了。 python infer/infer.py --lrc-path infer/example/eg_cn.lrc --ref-audio-path infer/example/eg_cn.wav --audio-length 95 --repo_id ASLP-lab/DiffRhythm-base --output-dir infer/example/output --chunked 倘若,你运行了上述命令后,也出现了与下图一样的错误。
2025-03-15
[AI]