侧边栏壁纸
博主头像
秋码记录

一个游离于山间之上的Java爱好者 | A Java lover living in the mountains

  • 累计撰写 155 篇文章
  • 累计创建 340 个标签
  • 累计创建 47 个分类

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

一、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 虚拟环境

image-20250313214913400

下载DiffRhythm推理代码

你得确保你的电脑安装好了git,否则的话,将无法通过以下命令进行clone DiffRhythm推理代码。

至于这么安装git工具,就不在这里进行赘述了,毕竟我前几篇文章是有讲解过的。

git clone https://github.com/ASLP-lab/DiffRhythm.git
cd DiffRhythm

image-20250313215309023

安装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

image-20250313215626817

双击刚刚下载的espeak-ng.msi,一路Next下去就好了。

image-20250313215959018

image-20250313220039442

还需将espeak-ng安装路径添加到PATH环境变量中。

image-20250314213637824

安装项目所需的依赖

这一步是必不可少的,毕竟现代的项目都是集成项目,换句话说,一个大项目或多或少需要去集成优秀的框架工具库等。

pip install -r requirements.txt

在国内,我们还是先设置一个国内镜像源,以便下载依赖库能够加快些,毕竟,pypi.org在国内访问起来真是一言难尽啊,就更别说再去pypi.org下载什么依赖库了。

image-20250313220429079

下载模型

我们可以通过HuggingFace.co的国内镜像站hf-mirror.com进行下载模型。

DiffRhythm-base模型地址:https://hf-mirror.com/ASLP-lab/DiffRhythm-base/tree/main

image-20250313222055391

我们仍然是通过git工具来下载模型,所以,你的电脑得提前安装好git,是很有必要的。

git clone https://hf-mirror.com/ASLP-lab/DiffRhythm-base ASLP-lab/DiffRhythm-base

image-20250313224030668

image-20250313224313250

运行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

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

image-20250313231446170

那么,你需要在DiffRhythm\infer\infer_utils.py文件中添加如下语句

from sys import path
path.append(os.getcwd())

之所以出现找不到model这个模块,那是这是属于DiffRhythm自定义的模块,而我们本地暂时没把DiffRhythm这个路径添加到python模块所识别。

image-20250313231521784

修改文件并保存后,再次运行后,却出现了在windows系统下常见的错误——字符编码错误

image-20250313232735679

那么,我们按照错误提示,依次对文件所在的行,进行相应的修改。

image-20250314203817714

可当我们,再次运行后,却依旧是出错了,然而,这次给出的错误提示,是没有inflect这个模块。

以及CUDAExecutionProvider,很显然,我们之前安装的torchcpu版本的,以至于无法调用CUDA

image-20250314203840241

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

image-20250314203954184

pip uninstall torch torchaudio torchvision

image-20250314204905659

等把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

image-20250314205040890

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

image-20250314205719843

那么,我们就安装这个inflect依赖。

pip install inflect

image-20250314211607090

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

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

image-20250314213732829

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

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

DiffRhythm\g2p\utils\g2p.py这个文件添加如下代码。

from phonemizer.backend.espeak.wrapper import EspeakWrapper

_ESPEAK_LIBRARY = "C:\Program Files\eSpeak NG\libespeak-ng.dll"
EspeakWrapper.set_library(_ESPEAK_LIBRARY)

image-20250315213824012

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

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

image-20250314224345200

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

image-20250314231644754

再次运行它。

image-20250314231405718

阿里QwQ-32B本地部署指南:用Ollama轻松运行320亿参数大模型
« 上一篇 2025-03-13
甭管是个人还是企业都能部署的Mistral-Small3.1,远超同级别的模型
下一篇 » 2025-03-19

相关推荐

  • 阿里QwQ-32B本地部署指南:用Ollama轻松运行320亿参数大模型 2025-03-13 20:26:43 +0800 +0800
  • 基于Qwen2.5大模型的Spark-TTS,零样本语音克隆,CPU可运行之本地部署(Windows篇) 2025-03-10 21:26:43 +0800 +0800
    基于Qwen2.5大模型的Spark-TTS,零样本语音克隆,CPU可运行之本地部署(Windows篇) 在人工智能时代,语音合成(TTS)技术已成为人机交互的核心组件之一。然而,传统TTS系统长期受限于多阶段架构复杂、语音控制能力弱、跨语言表现差等问题。 基于Qwen2.5大模型的**Spark-TTS**横空出世,凭借其创新的BiCodec编码技术、零样本语音克隆能力和细粒度语音控制,迅速成为开源社区的热点。 技术突破:Spark-TTS的三大创新 1、BiCodec:重新定义语音编码 Spark-TTS首创BiCodec单流语音编码器,将语音分解为两类核心编码: 语义Tokens:低比特率捕捉语言内容,确保信息的高效传输。 全局Tokens:固定长度编码说话人属性(音色、性别、语调等)。 这种设计简化了传统TTS的多模型协作流程,实现端到端生成,推理速度提升30%以上 2、零样本语音克隆:无需训练,秒级复刻 仅需3秒参考音频,Spark-TTS即可生成高度相似的个性化语音,音色一致性(SIM)指标超越同类模型如LLaMA-TTS。其核心在于结合Qwen2.5的语言理解能力与BiCodec的解码精度,突破了传统TTS依赖大量训练数据的限制。 3、细粒度语音控制:从参数到情感的精准调节 粗粒度:性别、情感风格一键切换。 细粒度:音高、语速、停顿时长可逐句微调。 用户甚至可通过文本描述生成虚拟音色(如“沉稳的中年男声,语速加快20%”),远超传统基于参考音频的模拟方式。 功能实测:性能与效果全解析 多语言与跨语种切换 Spark-TTS支持中英文无缝切换,无需单独训练语言模型。例如,输入混合文本“2025年Q1财报增长15%”,合成语音能自然处理数字与语言边界,避免传统TTS的机械断句问题 。 语音质量指标 自然度(MOS):评分>4.5(满分5),接近真人水平。 重建质量:在STOI、PESQ等指标上超越VITS、FastSpeech2等主流模型。 实时性(RTF) :单GPU推理速度达0.15秒/秒,满足实时交互需求。 实战对比:与其他开源TTS的差异 数据来源:公开评测与社区实测 项目 零样本克隆 多语言支持 细粒度控制 推理速度 Spark-TTS ✅ 中英 ✅ 快 CosyVoice2 ✅ 中英 ❌ 中等 Fish-Speech ❌ 中英日 ❌ 慢 本地部署 那么接下来,我们将在本地电脑部署这款开源的文本转语音模型,看看效果是否真如官方所宣传的那般。 我还是一如既往的使用python3自带的venv模块来创建python 虚拟环境,当然,你也是可以使用anaconda或着miniconda等软件来搭建python 虚拟环境。 我本地电脑使用python的版本,始终是python 3.10.9,系统则是windows11。 创建python虚拟环境 python -m venv Spark-TTS-env cd Spark-TTS-env/Scripts activate clone推理代码 Spark-TTS的推理代码托管于享誉全球的github.com上,倘若你的电脑安装了git,那么直接在Terminal中执行以下命令,便把Spark-TTS推理代码下载到你的电脑硬盘里。 git clone https://github.com/SparkAudio/Spark-TTS.git 安装项目所需的依赖 pip install -r requirements.txt 安装CUDA版的torch(可选) 这一步是可选的,项目是可以通过CPU来推理的,也就是刚刚安装的torch是CPU版的,如果你想要使用GPU来加速推理,那么,就先卸载CPU版的torch,安装支持GPU的torch。
       AI  
  • 智谱开源了文生图CogView4-6B模型,支持中文提示词之本地部署(Windows篇) 2025-03-07 21:26:43 +0800 +0800
    智谱开源了文生图CogView4-6B模型,支持中文提示词之本地部署(Windows篇) 在文生图这个领域里,甭管是开源的Stable Diffusion 3.5,还是闭源的在线绘图平台Midjourney,一度都是不支持中文提示词。 连prompt都不支持中文,就别提想要在图中写入中文。 虽然SD3.5、Midjourney等优秀绘画模型不支持中文提示词,但国内各大厂商一直致力于中文提示词。 CogView4-6B是智谱AI(Zhipu AI)推出的文生图模型,通过结合文本与图像的跨模态生成技术,在中文场景下展现出显著优势。 本地部署 那么,接下来,我们就在本地电脑部署下CogView4-6B这款开源的绘画模型,看看效果是否真有其官方宣传的那么好。 创建虚拟环境 首先,我们创建个python虚拟环境,你可以使用anaconda或miniconda来创建虚拟环境。我还是使用python3自带的venv模块搭建的虚拟环境。 我电脑使用的python版本为python 3.10.9,当然你也可以使用python 3.11。 python -m venv CogView4-env cd CogView4-env\Scripts activate clone 推理代码及下载模型 git clone https://github.com/THUDM/CogView4 cd CogView4 # 根据自身网络条件 选择以下任一方式来下载模型。 # modelscope git clone https://www.modelscope.cn/ZhipuAI/CogView4-6B.git # Huggingface.co git clone https://huggingface.co/THUDM/CogView4-6B 安装项目所需依赖 其实,如果按照官方的,也就是执行以下这行命令,是无法启动项目的。 pip install -r inference/requirements.txt 按照requirements.txt的依赖来安装torch是CPU版本,并不支持GPU,所以我们需要uninstall这个不带GPU版本的torch以及torchao。 如果你电脑的显存低于12G的话,那么需要设置set MODE=1。 然而,在Terminal下载torch的CUDA版本,下载速度总是那么不尽如人意。 那么,我们可以直接去https://download.pytorch.org/whl/torch 下载 对应的whl文件。 我们直接在Terminal直接pip install torch-xxx.whl。 卸载CPU版的torchao,安装带有CUDA版本的torchao。 运行 inference/gradio_web_demo.py 当我们安装好了CUDA版的torch和torchao后,再次执行python inference/gradio_web_demo.py。 会为我们自动在默认浏览器打开一个页签,如下图。 我这里使用了官方的prompt,只是把Happy New Year改成了新春快乐,看看是不是能真正的写上中文字。 为了出图快点,我只修改了图片的width和height,其他都是默认的,然而,生成的图片,图中的中文文字却崩了。
       AI  
  • 基于歌词生成整首歌的开源AI音乐模型,支持中、英、日、韩等多种语言,本地化部署YuE(windows篇) 2025-03-05 21:26:43 +0800 +0800
    基于歌词生成整首歌的开源AI音乐模型,支持中、英、日、韩等多种语言,本地化部署YuE(windows篇) 说起文生音乐,我们自然会想到suno.ai这个音乐生成式平台,它算是目前市面上音乐生成式比较好的AI项目,虽然它是闭源的。 然而,一款由Multimodal Art Projection(M-A-P)(多模态艺术投影)团队与香港科技大学(HKUST)联合研发的YuE开源了,它是根据歌词生成整首歌的开源AI音乐模型。 YuE的开源,着实在开发者社区掀起了一阵热潮,但也给了AI浪潮中的文生音乐助推了不小波澜。 YuE 是一系列开创性的开源基础模型,专为音乐生成而设计,专门用于将歌词转换成完整的歌曲(lyrics2song)。它可以生成一首完整的歌曲,持续几分钟,包括朗朗上口的声乐曲目和伴奏曲目。YuE 能够模拟多种流派/语言/声乐技巧。请访问演示页面,了解令人惊叹的声乐表演。 概述 YuE项目地址:https://github.com/multimodal-art-projection/YuE 。 按照官方描述: YuE 需要大量 GPU 来生成长序列。以下是推荐的配置: 对于具有 24GB 或更少的 GPU:运行最多 2 个会话以避免内存不足 (OOM) 错误。 对于完整的歌曲生成(许多会话,例如 4 个或更多):使用具有至少 80GB 的 GPU。即 H800、A100 或具有张量并行的多个 RTX4090。 要自定义会话数,界面允许您指定所需的会话数。默认情况下,模型运行 2 个会话(1 节 + 1 合唱)以避免 OOM 问题。 在 H800 GPU 上,生成 30 秒的音频需要 150 秒。在 RTX 4090 GPU 上,生成 30 秒的音频大约需要 360 秒。 社区提供了对于 GPU 资源有限的人,有 YuE-exllamav2 和 YuEGP。虽然两者都提高了生成速度和连贯性,但它们可能会损害音乐性。 YuEGP github地址:https://github.com/deepbeepmeep/YuEGP 。 YuE-exllamav2 github地址: https://github.com/sgsdxzy/YuE-exllamav2。
       AI  
  • 阿里云开源的文生视频万相 Wan2.1之本地部署Wan2.1-T2V-1.3B模型 2025-03-01 21:26:43 +0800 +0800
    阿里云开源的文生视频万相 Wan2.1之本地部署Wan2.1-T2V-1.3B模型 概述 阿里云开源了其视频生成大模型Wan2.1(万相),采用了较为宽松的Apache2.0协议。 而这次对外了1.3B(极速版)和14B(专业版)两个参数规格的权重,及推理的全部代码。 这两种模型均支持文生视频(T2V)和图生视频(I2V)任务。 14B版本在权威评测集VBench中以86.22%总分超越Sora、Luma等国内外模型;1.3B版本可在消费级显卡运行(仅需8.2GB显存生成480P视频),适合二次开发和研究。 复杂运动生成:精准模拟人物旋转、跳跃、翻滚等动作,支持高级运镜控制 物理规律建模:真实还原碰撞、反弹、切割等场景,符合现实物理规则 中英文指令理解:支持长文本指令,实现场景切换、角色互动和多语言文字特效 技术原理 架构设计 因果3D VAE:专为视频设计的变分自编码器,高效压缩时空信息并保持生成连贯性 视频Diffusion Transformer(DiT):结合扩散模型和Transformer,逐步去噪生成视频,捕捉长时程依赖关系 分布式训练优化:采用DP、FSDP、RingAttention等混合并行策略,加速训练与推理 性能提升技术 引入插件式增强块(如Enhance-A-Video),通过跨帧注意力调节提升时序一致性,减少画面模糊和跳帧问题 本地部署 我电脑的环境: python:3.10.9 CUDA:12.4 windows11 我们还是一如既往的先创建python虚拟环境,我这里使用的是python3自带的venv来搭建虚拟环境,当然咯,你也是可以使用anaconda或miniconda来创建虚拟环境。 python -m venv Wan2.1-env cd Scripts activate 随后,我们clone万相的推理代码。 git clone https://github.com/Wan-Video/Wan2.1.git cd Wan2.1 项目依赖库安装 之后我们安装torch>=2.4.0,这是官方所要求的。 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124 再者我们安装项目的requirements.txt依赖文件时,发现有flash-attention这个依赖,它可是可以加速推理的一个框架。 然而,它对windows可并那么友好啊。但是flash-attention社区还是有人编译出了windows的wheel,也省的我们自己去编译了。 为此,我特意将CUDA toolkit从12.1升级到12.4,关于这一点,是可以从我前几篇的文章看出来的。 https://github.com/kingbri1/flash-attention/releases 将下载下来的wheel直接通过pip install进行安装。 pip install flash_attn-2.7.4.post1+cu124torch2.6.0cxx11abiFALSE-cp310-cp310-win_amd64.whl 至此,我们再来执行以下命令,来完成安装项目所需的依赖库。 pip install -r requirements.txt 下载模型 我们通过modelscope来下载模型。 pip install modelscope 我这里下载的是Wan-AI/Wan2.1-T2V-1.3B,若你要下载14B的模型,只需将1.3B换成14B即可(前提是你电脑的硬件环境允许的条件下)。 modelscope download Wan-AI/Wan2.1-T2V-1.3B --local_dir ./Wan2.1-T2V-1.3B 模型 下载链接 备注 T2V-14B 🤗 Huggingface 🤖 ModelScope 支持 480P 和 720P I2V-14B-720P 🤗 Huggingface 🤖 ModelScope 支持 720P I2V-14B-480P 🤗 Huggingface 🤖 ModelScope 支持 480P T2V-1.
       AI