文生音乐开源项目DiffRhythm,8G显存本地部署之Windows篇

本文已首发于 秋码记录
微信公众号:你我杂志刊
在这里插入图片描述

如果你也想搭建一个与秋码记录一样的网站,可以浏览我的这篇 国内 gitee.com Pages 下线了,致使众多站长纷纷改用 github、gitlab Pages 托管平台

秋码记录网站使用的主题是开源的,目前只在github.com开源。
hugo-theme-kiwi开源地址:https://github.com/zhenqicai/hugo-theme-kiwi

一、DiffRhythm:颠覆音乐创作的AI黑科技

DiffRhythm是由西北工业大学音频语音与语言处理实验室(ASLP@NPU)与香港中文大学(深圳)联合开发的开源音乐生成模型,其采用全扩散架构,能够在10秒内生成4分45秒的高质量双轨立体声音乐(包含人声与伴奏) 。该模型以非自回归结构实现极速推理,支持纯文字风格描述生成音乐(如"Jazzy Nightclub Vibe"或"Arctic research station, theremin auroras"等创意场景) ,且最低仅需8GB显存即可本地部署。

技术亮点

  1. 端到端生成:无需多阶段拼接,直接输出完整歌曲;
  2. 句级歌词对齐:通过音素映射实现人声与歌词精准同步;
  3. 压缩鲁棒VAE:支持从MP3等压缩格式还原无损音质;
  4. 多模态输入:兼容文本提示、参考音频、歌词等多类型输入。

本地部署

我电脑依旧是使用python 3.10.9,而仍然使用python3自带的venv模块来搭建python 虚拟环境

当然咯,你也非得要跟我一样,你也可以使用python 3.11.Xpython 3.12.x,用anacondaminiconda来构建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作为开源音素合成引擎,在此环节发挥关键作用:

  1. 音素解析:将用户输入的歌词(如中文、英文)转换为标准音素表示,例如中文你好/ni haʊ/,确保模型理解发音规则。
  2. 发音规则库支持eSpeak-NG内置100+语言的音素规则库,能够处理多语言歌词混合场景(如中英双语歌曲),避免发音错误。
  3. 对齐算法依赖: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

倘若,你运行了上述命令后,也出现了与下图一样的错误。

在这里插入图片描述
中途还会出现其他的错误,解决方案请移步秋码记录与本文同标题的文章

我们可以通过pip torch show来查看当前安装的torch版本信息,从下图,我们可以看出,requirements.txt文件中的torchcpu版本,所以,我们先卸载它,而后安装CUDA版本的torch

在这里插入图片描述

pip uninstall torch torchaudio torchvision

在这里插入图片描述

等把CPU版的torch卸载完成后,我们执行以下命令来安装CUDA版本的torch

pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu124

在这里插入图片描述

之后,我们再次查看torch版本信息时,这回,就是项目所需的了。

在这里插入图片描述

CUDA版本的torch也安装好了,这回总该可以运行成功了吧。

然而,事情总是与你想的不是那么一回事。要是,能按我们的想法进行下去,就不会有事与愿违这个成语了,人生也就不会有那么多的不如意了

从报错的信息来看,说我们的系统没有安装espeak,我们明明却安装了,可项目为什么会找不到呢?

还是按图索骥的在抛出错误的这些文件修改。

中途还会出现其他的错误,解决方案请移步秋码记录与本文同标题的文章

保存修改好的文件后,我们再次运行,其实,经过几次的挫败,我们已然对这次还会抛出什么幺蛾子的问题,已不再是那么惊愕了,而是有了一种如果在报错的话,那就明天再弄吧,先看会儿电视剧,别整这个破玩意儿,这个人都郁闷了,那就不好了。

可是,这回却出乎你的意料,而又在情理之中,却运行成功了。

在这里插入图片描述

那么,我们使用DeepSeek`为我们编写一首歌词。

在这里插入图片描述

再次运行它。

在这里插入图片描述

<think>好的,用户的问题是关于文生图没开源项目私有化部署的资源配置推荐。首先,我需要理解用户的需求。他们可能想在自己的服务器或私有环境中部署一个文生图的模型,但使用的项目并不是开源的,所以可能需要特定的配置建议。 接下来,我应该考虑文生图模型的基本需求。这类模型通常基于深度学习,比如Stable Diffusion或其变种。即使项目没开源,资源需求可能类似。需要考虑的关键点包括GPU、CPU、内存、存储以及网络和软件依赖。 然后,分解各个组件。GPU是最重要的部分,显存大小直接影响模型能否运行。比如,Stable Diffusion通常需要至少4GB显存,但更大的模型可能需要更多。用户可能需要根据模型规模和并发请求来推荐GPU型号,比如NVIDIA的RTX 3090或A100。 CPU和内存方面,虽然GPU是主力,但足够的CPU和内存也是必要的,特别是预处理和后处理。比如,多核CPU和32GB内存可能比较合适。 存储方面,模型文件通常较大,需要高速存储如NVMe SSD,并且要考虑镜像和日志的存储空间。 网络方面,如果用户需要对外提供API,带宽和延迟需要优化,可能还需要CDN或负载均衡。软件依赖包括CUDAPyTorch等,需要确认项目所需的特定版本。 私有化部署的注意事项,比如许可证、安全防护和监控,也需要提到。最后,给出不同场景的配置示例,帮助用户根据实际情况选择。 需要确保回答结构清晰,分点说明,并且推荐具体的配置参数。同时,提醒用户根据实际需求调整,并联系供应商获取准确信息。避免使用Markdown,用自然的中文分段,使用$符号包裹公式,比如显存计算部分可能需要简单公式说明。</think>以下为文生图模型私有化部署的资源配置推荐及关键要点分析,分步骤说明: ### 一、基础资源配置需求 $$GPU显存 ≥ 模型参数量 \times 精度系数$$ - 典型需求: - **低配版**(单任务推理): - GPU:NVIDIA RTX 3090 (24GB显存) - CPU:8核 3.0GHz+ - 内存:32GB DDR4 - 存储:1TB NVMe SSD - **中配版**(并发5-10请求): - GPU:NVIDIA A10 (24GB) 或双RTX 4090 - CPU:16核 3.2GHz+ - 内存:64GB DDR4 - 存储:2TB NVMe RAID0 ### 二、关键组件专项优化 1. **GPU选型策略**: - 显存带宽:建议≥600GB/s(如A100: 1555GB/s) - 张量核心:需支持FP16/INT8量化 - 典型计算力:$FLOPS \geq 50TFLOPS$(如RTX 4090: 82.6TFLOPS) 2. **存储优化方案**: - 模型加载加速:配置RAMDISK(建议≥64GB) - 持久化存储:建议采用$IOPS \geq 100k$的NVMe阵列 ### 三、部署架构建议 ``` [客户端] -> [负载均衡] -> [推理集群] -> [分布式文件系统] ↑ ↓ [监控系统] [模型版本库] ``` - 网络要求: - 节点间延迟:≤1ms(RDMA网络优先) - 外网带宽:每并发请求需≥10Mbps ### 四、性能调优参数 - 批处理大小:$batch\_size = \lfloor \frac{显存容量}{单样本消耗} \rfloor$ - 量化加速:FP16相比FP32可提升$1.5\times$吞吐量 - 内存池优化:建议预留20%显存余量 ### 五、典型场景配置方案 1. **企业级部署**(百人团队): - 硬件:2×A100 80GB + 256GB内存 - 存储:5TB Ceph分布式存储 - 网络:25Gbps InfiniBand 2. **边缘计算部署**: - Jetson AGX Orin (64GB显存) - 32GB LPDDR5内存 - 1TB工业级SSD 建议实际部署前进行$压力测试 = 预期QPS \times 1.5$的模拟负载测试,并根据$显存利用率 = \frac{峰值用量}{总显存} \leq 80%$的原则调整资源配置。具体参数需根据模型实际计算图结构进行优化。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甄齐才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值