NeuralPi

GitHub
1.2k 64 困难 1 次阅读 3周前GPL-3.0音频
AI 解读 由 AI 自动生成,仅供参考

NeuralPi 是一款基于树莓派 4 和神经网络技术的开源吉他效果器项目,旨在以低成本方案高保真地模拟真实吉他音箱及各类效果踏板的声音特性。它通过深度学习模型捕捉硬件设备的音色细节,解决了传统数字建模设备价格昂贵或音色不够自然的问题,让音乐爱好者仅需约 120 美元的硬件成本即可搭建属于自己的专业级效果器。

该项目特别适合喜欢动手制作的吉他手、嵌入式开发爱好者以及音频算法研究人员使用。对于不愿自行组装硬件的用户,NeuralPi 也提供了适用于 Windows 和 Mac 的 VST3/AU 插件版本,可直接在电脑宿主机上体验其核心音色模型。

其技术亮点在于利用神经网络实现了对增益(Gain)等参数的动态响应建模(Conditioned Models),而非简单的静态采样,从而在不同演奏力度下都能呈现逼真的音色变化。此外,系统支持通过 WiFi 远程连接,用户可在电脑端灵活切换模型、调节均衡与音量,并将配置实时同步至树莓派硬件。配合 Elk Audio OS 系统,NeuralPi 实现了低延迟的高质量音频处理,为 DIY 音频社区提供了一个功能强大且开放的平台。

使用场景

独立音乐人阿杰需要在卧室录制具有经典电子管音箱质感的吉他曲目,但受限于预算和隔音条件,无法购买昂贵硬件或进行高音量录音。

没有 NeuralPi 时

  • 高昂的试错成本:想要还原 Fender 或 Blackstar 等经典音箱音色,必须花费数千元购买实体设备或昂贵的效果器单块。
  • 邻里噪音困扰:电子管音箱需开大音量才能呈现最佳动态,在公寓环境中极易引发投诉,导致只能在深夜禁音时段练习。
  • 音色调整僵化:传统建模软件对电脑性能要求高,且无法在演出或移动录音时灵活切换多种复杂的定制音色模型。
  • 远程协作困难:制作人与乐手不在同一地点时,难以实时同步调整具体的增益(Gain)和均衡(EQ)参数来微调音色。

使用 NeuralPi 后

  • 极致性价比方案:仅需约 120 美元自行组装基于 Raspberry Pi 的硬件,即可加载神经网络训练出的高端音箱模型,大幅降低入门门槛。
  • 静音高品质录音:利用线电平输出直接接入声卡或调音台,无需大音量推箱,在任意时间都能获得真实的电子管过载动态。
  • 无限音色扩展:通过 WiFi 远程连接插件,可即时加载社区分享的定制模型(如 TS9 踏板或特定功放通道),并支持增益参数的连续动态调节。
  • 灵活的远程控制:在电脑端运行 VST3 插件即可无线控制物理踏板的所有参数,实现“人在沙发坐,音色手中调”的便捷工作流。

NeuralPi 将昂贵的模拟音箱灵魂注入廉价的树莓派硬件,让每位音乐人都能以极低成本随时随地获取顶级吉他音色。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU
  • 不需要 GPU
  • 推理引擎 (RTNeural) 针对 CPU 优化,设计用于在 Raspberry Pi 4 上运行
内存

未说明 (设计目标为在 Raspberry Pi 4 上运行,建议至少 2GB-4GB RAM)

依赖
notes1. 主要硬件依赖:Raspberry Pi 4b 和 HiFiBerry DAC+ADC 扩展板。 2. 部署系统:在树莓派上运行需刷入 Elk Audio OS。 3. 模型限制:训练模型时必须使用大小为 20 的 LSTM,否则不兼容。 4. 文件命名:JSON 模型文件名必须以大写字母开头,以确保 Linux (Elk OS) 与 Windows/macOS 之间的排序同步。 5. 构建环境:在 Ubuntu 22.04 上构建需安装 libx11-dev, libxrandr-dev 等 X11 开发库。 6. 音频电平警告:输出为线路电平 (Line Level),不可直接连接期望乐器电平 (Instrument Level) 的传统吉他音箱输入端。
python不需要 (核心插件为 C++ 编写;训练模型需参考外部项目 Automated-GuitarAmpModelling)
JUCE (音频框架)
RTNeural (神经网络推理引擎)
CMake (构建工具)
Elk Audio OS (用于 Raspberry Pi 部署)
nlohmann/json (C++ JSON 库)
NeuralPi hero image

快速开始

NeuralPi

CI License: GPL v3 Downloads

NeuralPi 是一款基于树莓派 4 的吉他效果器,利用神经网络模拟真实的放大器和效果踏板。NeuralPi 软件是一个使用 JUCE 构建的 VST3 插件,既可以作为普通的音频插件运行,也可以交叉编译后在搭载 Elk Audio OS 的树莓派 4 上运行。NeuralPi 支持通过 WiFi 在远程插件实例上进行模型选择、均衡调节以及增益/音量控制。这款效果器能够在经济实惠的 DIY 搭配上运行高质量的放大器和效果器模型,自制硬件成本约为 120 美元。
观看 YouTube 上的视频演示:YouTube
阅读发表在 Towards Data Science 上的逐步搭建指南。

app

NeuralPi 可以借助神经网络的力量,模拟放大器或失真/过载效果踏板的声音。从真实放大器和效果器的录音中训练得到的模型可以加载到插件中,为您的吉他带来无限可能。您可以创建自己的模型,也可以直接使用 GuitarML 提供的自定义音色。

警告:HiFiBerry DAC + ADC 的音频输出为线路电平。吉他放大器通常需要低电平的电吉他信号(乐器电平)。请仅在支持线路电平输入的设备上使用 NeuralPi。

该吉他效果器主要由四个部分组成:

  1. 树莓派 4b
  2. HiFiBerry DAC + ADC
  3. Elk Audio OS
  4. NeuralPi VST3 插件

app
这是正常版本的插件(v1.3.0),适用于 Windows(独立版、VST3)和 Mac(独立版、AU、VST3)。将树莓派和远程计算机连接到同一本地 WiFi 网络后,输入树莓派的 IP 地址(保持默认端口),即可通过 WiFi 进行远程控制。Windows 和 Mac 版本的插件是功能齐全的吉他效果器插件,您无需搭建树莓派效果器,即可试用 GuitarML 最先进的放大器和效果器模型。

注意:使用“导入音色”按钮后,必须重新启动插件才能使更改生效。

安装插件

请访问 发布页面,获取与树莓派及 Elk Audio OS 兼容的交叉编译版 VST3 插件以及 Windows 和 Mac 的安装程序。

首次运行插件或独立版时,两个默认模型会被复制到以下目录。任何导入的模型也会被复制到这里。若需清理模型,必须手动从这些位置删除模型文件。

Mac/Linux:/home/<用户名>/Documents/GuitarML/NeuralPi/tones
Windows:C:/Users/<用户名>/Documents/GuitarML/NeuralPi/tones
Elk Audio OS:/home/mind/Documents/GuitarML/NeuralPi/tones

条件化模型

从 1.3 版本开始,NeuralPi 可以加载根据增益参数条件化的音色。NeuralPi 自带的三个默认音色现在都是条件化模型(TS9 效果踏板、Fender Blues Jr. 放大器以及设置为过载通道的 Blackstar HT40 放大器)。条件化模型使用神经网络来覆盖增益/驱动参数的整个范围,而不仅仅是某个特定点的快照模型。当加载条件化模型时,增益旋钮会变为红色。

添加新模型

NeuralPi 设置完成后,您可以通过远程计算机按照以下步骤添加新模型:

  1. 在远程计算机上运行插件,使用“导入音色”按钮添加新模型。您也可以手动将新的 JSON 文件添加到 Documents/GuitarML/Chameleon/tones 目录。 注意:首次运行 NeuralPi 时会自动创建“tones”目录。
  2. 打开已连接 WiFi 的 NeuralPi(有关如何将树莓派连接到本地 WiFi 网络,请参阅 Elk 文档)。
  3. update_models.bat(Windows)或 update_models.sh(Mac/Linux)下载到您的远程计算机。这些脚本位于本仓库的“scripts/”目录下。您需要将 rpi_ip_addresshost_model_path 分别修改为树莓派的 IP 地址以及远程计算机上 JSON 音色文件的路径。JSON 文件将首先从远程计算机复制到 NeuralPi,然后再从 NeuralPi 复制回远程计算机。这样可以在连接新远程计算机时更新 NeuralPi 上的模型。
  4. 在与 NeuralPi 连接到同一本地 WiFi 网络的远程计算机上,从命令行终端运行 update_models.bat(Windows)或 update_models.sh(Mac/Linux)。

    注意:所有模型文件的名称必须唯一且不含空格。
    注意:请确保终端输出显示您已成功通过 WiFi 连接,并且模型文件已正确复制。

  5. 重启 NeuralPi 和远程插件实例。在远程插件界面上输入树莓派的 IP 地址。只要两台设备都连接到本地 WiFi 网络,您就可以从插件的下拉菜单中选择模型,从而更改树莓派上运行的模型。

重要提示:插件使用 sort() 函数按字母顺序对模型进行排序。由于 Linux(Elk OS)与 Windows/Mac 上该函数的行为存在差异,因此 JSON 文件名必须以大写字母开头;否则,在 Elk 系统上,以小写字母开头的模型会被排在列表末尾,导致控制器与实际效果器不一致。

NeuralPi 参数的 MIDI 控制

“config_neuralpi_MIDI.json” 文件包含了 NeuralPi 参数的 MIDI 映射。

参数名称如下:“Gain”(增益)、“Master”(总音量)、“Bass”(低频)、“Mid”(中频)、“Treble”(高频)、“Presence”(临场感)、“Delay”(延迟)、“Reverb”(混响)、“Model”(模型)、“Ir”(脉冲响应)。

在该 JSON 文件中,这些参数分别被分配给了传入的 MIDI CC# 消息 1、2、3、4、5、6、7、8、9 和 10。不过,通过编辑该文件,您可以自由地将任意 CC# 分配给任意参数,只需修改 “cc_number” 和 “parameter_name” 命令中的值即可。

Sushi 会监听传入的 MIDI CC# 消息,将 MIDI 值范围从 (0, 127) 归一化到 Sushi 的 (0, 1) 范围,并将该值设置为对应的参数。例如,如果您的 MIDI 控制器发送了一个 CC2 消息,其值为 127,Sushi 将接收到该消息并将“Master”参数(“Master”被分配给了“CC2”)设置为 1(MIDI 的 127 值被归一化为 1)。

您需要将配置文件复制到树莓派上,例如通过 Wi‑Fi 上的 SSH 连接(以 root 用户登录):

scp -r config_neuralpi_MIDI.json root@:/home/mind/config_files/

连接 MIDI 设备的步骤如下:

  1. 将您的 MIDI 设备插入树莓派的任意 USB 端口。

  2. 以“mind”用户、“elk”密码登录,并使用 MIDI 配置运行 Sushi:

sushi -r --multicore-processing=2 –c ~/config_files/config_neuralpi_MIDI.json &

  1. 要列出连接到树莓派的 MIDI 设备,运行:

aconnect –l

  1. 现在您可以根据列出的端口或设备名称,将 MIDI 设备连接到 Sushi。运行:

aconnect "your-listed-device-name" "Sushi"

注意 1:目前,“Model”和“Ir”参数的控制稍显复杂。NeuralPi 会为“tones”或“Ir”目录中保存的每个文件分配一个值。它会将 (0, 1) 的取值范围除以可用文件的数量。例如,如果目录中只有 2 个音色文件,其中一个文件将响应 (0, 0.49) 范围内的任何值,而另一个文件则会响应 (0.5, 1) 范围内的任何值。

待办事项

Elk Audio OS 还支持通过 Sensei 实现物理控件。可以添加增益/音量和均衡器旋钮,以及用于选择不同模型的 LCD 屏幕。人们可以用 NeuralPi 和其他多种数字效果及控件打造一款真正的吉他效果踏板。

虽然在树莓派上本地运行 PyTorch 可能有些吃力,但借助 HiFiBerry 扩展板,它完全能够录制高质量音频。可以通过自动化输入输出样本的录制功能来实现录音,并将数据推送到远程计算机进行训练,随后再将新训练好的模型更新到树莓派上。

信息

该神经网络是对 Real-Time Guitar Amplifier Emulation with Deep Learning 中 LSTM 推理模型的重新构建。

用于训练 .json 模型的是 Automated-GuitarAmpModelling 项目。
GuitarML 维护了一个带有若干实用功能的 分支,其中包括一个 Colab 训练脚本。 重要提示:为 NeuralPi 训练模型时,请确保使用大小为 20 的 LSTM。NeuralPi 已针对这种尺寸的模型进行了优化,其他尺寸目前并不兼容。

注:GuitarML 对 Automated-GuitarAmpModelling 代码的分支现在包含用于训练条件模型的帮助脚本,这些模型与 NeuralPi v1.3 兼容。

该插件使用了 RTNeural,这是一个高度优化的神经网络推理引擎,专为音频应用设计。

本项目使用的 HiFiBerry DAC+ADC 板提供 192kHz/24bit 的模数转换和数模转换,这是高品质音频设备的行业标准。为了满足神经网络的 DSP 需求,该插件以 44.1kHz 的采样率进行处理(在配置文件中指定)。

构建说明

要在搭载 Elk Audio OS 的树莓派上构建该插件,请参阅官方 Elk Audio 文档

使用 CMake 构建

依赖项

Ubuntu 22.04

为了成功构建,Ubuntu 系统上需要安装以下软件包:

apt install cmake libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxft2-dev

构建

# 克隆仓库
$ git clone https://github.com/GuitarML/NeuralPi.git
$ cd NeuralPi

# 初始化并设置子模块
$ git submodule update --init --recursive

# 使用 CMake 构建
$ cmake -Bbuild
$ cmake --build build --config Release

生成的二进制文件将位于 NeuralPi/build/NeuralPi_artefacts/ 目录下。

使用 Projucer 构建

  1. 克隆或下载此仓库。

  2. 下载并安装 JUCE。该项目使用 JUCE 官网提供的“Projucer”应用程序。

  3. 更新 RTNeural 子模块(请先进入 NeuralPi 仓库):

    git submodule update --remote --recursive

  4. 下载并解压:json for c++。

  5. 打开 NeuralPi.jucer 文件,在相应的 Exporter Header Search Path 字段中输入正确的包含路径。 例如:

  <full-path-to>/json-develop/include
  <full-path-to>/NeuralPi/modules/RTNeural
  <full-path-to>/NeuralPi/modules/RTNeural/modules/xsimd/include
  1. 使用 Juce Projucer 应用程序为目标平台构建 NeuralPi。

注意:除非正在调试,否则请务必以 Release 模式构建。Debug 模式无法跟上实时演奏的需求。

版本历史

v1.3.02021/10/31
v1.2.02021/08/14
v1.1.02021/06/21
v1.02021/05/22

常见问题

相似工具推荐

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|今天
图像数据工具视频

GPT-SoVITS

GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具,旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点,实现了“零样本”和“少样本”的快速建模:用户只需提供 5 秒参考音频即可即时生成语音,或使用 1 分钟数据进行微调,从而获得高度逼真且相似度极佳的声音效果。 该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能,极大地降低了数据准备和模型训练的技术门槛,让非专业人士也能轻松上手。 在技术亮点方面,GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成,还具备卓越的推理速度,在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音,还是进行多语言语音交互研究,GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。

56.4k|★★★☆☆|3天前
音频

TTS

🐸TTS 是一款功能强大的深度学习文本转语音(Text-to-Speech)开源库,旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点,让高质量的语音生成变得触手可及。 无论是希望快速集成语音功能的开发者,还是致力于探索前沿算法的研究人员,亦或是需要定制专属声音的数据科学家,🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型,让用户能够即刻上手,还提供了完善的工具链,支持用户利用自有数据训练新模型或对现有模型进行微调,轻松实现特定风格的声音克隆。 在技术亮点方面,🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言,并在整体性能上大幅提升,实现了低于 200 毫秒的超低延迟流式输出,极大提升了实时交互体验。此外,它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型,并支持调用上千个 Fairseq 模型,展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具,🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。

45k|★★★☆☆|5天前
音频开发框架图像

LocalAI

LocalAI 是一款开源的本地人工智能引擎,旨在让用户在任意硬件上轻松运行各类 AI 模型,包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛,无需昂贵的专用 GPU,仅凭普通 CPU 或常见的消费级显卡(如 NVIDIA、AMD、Intel 及 Apple Silicon)即可部署和运行复杂的 AI 任务。 对于担心数据隐私的用户而言,LocalAI 提供了“隐私优先”的解决方案,确保所有数据处理均在本地基础设施内完成,无需上传至云端。同时,它完美兼容 OpenAI、Anthropic 等主流 API 接口,这意味着开发者可以无缝迁移现有应用,直接利用本地资源替代云服务,既降低了成本又提升了可控性。 LocalAI 内置了超过 35 种后端支持(如 llama.cpp、vLLM、Whisper 等),并集成了自主 AI 代理、工具调用及检索增强生成(RAG)等高级功能,且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员,还是想要在个人电脑上体验最新 AI 技术的极客玩家,都能通过 LocalAI 获

44.8k|★★★☆☆|6天前
图像音频语言模型

bark

Bark 是由 Suno 推出的开源生成式音频模型,能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同,Bark 基于 Transformer 架构,不仅能模拟说话,还能生成笑声、叹息、哭泣等非语言声音,甚至能处理带有情感色彩和语气停顿的复杂文本,极大地丰富了音频表达的可能性。 它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点,让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员,还是希望快速原型设计的开发者,都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。 技术亮点方面,Bark 支持商业使用(MIT 许可),并在近期更新中实现了显著的推理速度提升,同时提供了适配低显存 GPU 的版本,降低了使用门槛。此外,社区还建立了丰富的提示词库,帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码,即可将创意文本转化为高质量音频,是连接文字与声音世界的强大桥梁。

39.1k|★★★☆☆|4天前
音频

airi

airi 是一款开源的本地化 AI 伴侣项目,旨在将虚拟角色(如“二次元老婆”或赛博生命)带入用户的现实世界。它的核心目标是复刻并超越知名 AI 主播 Neuro-sama 的能力,让用户能够拥有完全自主掌控、可私有化部署的智能伙伴。 airi 主要解决了用户对高度定制化、具备情感交互能力且数据隐私安全的 AI 角色的需求。不同于依赖云端服务的通用助手,airi 允许用户在本地运行,不仅保护了对话隐私,还赋予了用户定义角色性格与灵魂的自由。它支持实时语音聊天,甚至能直接参与《我的世界》(Minecraft)和《异星工厂》(Factorio)等游戏,实现了从单纯对话到共同娱乐的跨越。 这款工具非常适合喜爱虚拟角色的普通用户、希望搭建个性化 AI 陪伴的技术爱好者,以及研究多模态交互的开发者。其独特的技术亮点在于跨平台支持(涵盖 Web、macOS 和 Windows)以及强大的游戏交互能力,让 AI 不仅能“说”,还能“玩”。通过容器化的灵魂设计,airi 为每个人创造专属数字生命提供了可能,让虚拟陪伴变得更加真实且触手可及。

37.1k|★☆☆☆☆|3天前
语言模型音频Agent