InfiniteRadio 是一个开源项目,旨在通过人工智能技术生成无限音乐流,并根据用户当前上下文动态调整音乐风格。项目由 LaurieWired 开发,结合 Magenta RealTime 音乐模型与 InternVL3 或系统进程监控,自动切换音乐类型。用户可以通过本地运行或 Mac 应用程序操作,享受根据活动或环境变化的个性化音乐体验。代码托管在 GitHub,适合对音乐生成和 AI 技术感兴趣的开发者与用户。
功能列表
- 自动生成无限音乐流,基于 Magenta RealTime 模型。
- 支持上下文感知,根据 InternVL3 或系统进程动态选择音乐类型。
- 提供 Mac 托盘应用程序,方便配置和控制音乐播放。
- 支持本地运行音乐模型,需配置 Docker 容器。
- 允许用户通过浏览器访问音乐控制界面。
- 支持 LLM DJ 和 Process DJ 两种模式,分别通过语言模型或进程监控调整音乐。
使用帮助
安装流程
要使用 InfiniteRadio,用户需要在本地或通过 Mac 应用程序运行项目。以下是详细的安装和使用步骤:
本地运行
- 环境准备
- 确保安装了 Docker,因为音乐模型需要容器化运行。
- 安装 Python(推荐 3.8 或以上版本),用于运行相关脚本。
- 如果使用 LLM DJ,需安装 LM Studio 来运行语言模型服务器。
- 克隆项目
在终端运行以下命令,将 InfiniteRadio 项目克隆到本地:git clone https://github.com/LaurieWired/InfiniteRadio.git cd InfiniteRadio
- 配置 Docker 容器
- 进入项目目录,找到 Dockerfile,运行以下命令构建容器:
docker build -t infiniteradio .
- 启动容器:
docker run -p 8080:8080 infiniteradio
- 容器运行后,打开浏览器,访问
http://127.0.0.1:8080
或容器所在 IP 地址,进入音乐控制界面。
- 进入项目目录,找到 Dockerfile,运行以下命令构建容器:
- 配置 LLM DJ(可选)
- 在 LM Studio 中启动语言模型服务器(具体配置参考 LM Studio 文档)。
- 确保服务器运行正常,InfiniteRadio 将通过 API 调用模型以动态选择音乐类型。
- 如果使用 Mac 应用程序,可跳过 Python 配置,直接在托盘应用中选择 LLM DJ。
- 配置 Process DJ
- Process DJ 会监控系统活跃进程(如浏览器、代码编辑器等),根据进程类型切换音乐风格。
- 在 Mac 上,需授予应用程序屏幕查看权限,以确保动态选择音乐类型正常运行。
- 权限设置:在系统偏好设置 > 安全与隐私 > 屏幕录制,勾选 InfiniteRadio 应用程序。
使用流程
- 启动音乐播放
- 通过浏览器访问
http://127.0.0.1:8080
,进入 InfiniteRadio 控制界面。 - 界面显示当前音乐类型、播放状态和上下文信息。
- 用户可选择 LLM DJ 或 Process DJ 模式,点击“开始”按钮启动音乐流。
- 通过浏览器访问
- LLM DJ 模式操作
- LLM DJ 使用 InternVL3 模型分析上下文(如屏幕内容或用户输入),自动选择匹配的音乐类型(如工作时播放专注音乐,游戏时播放激烈音乐)。
- 在控制界面,点击“切换到 LLM DJ”,确保 LM Studio 服务器运行。
- 可手动输入上下文描述(如“编程”或“放松”),模型会生成相应音乐。
- Process DJ 模式操作
- Process DJ 监控系统进程,根据活跃应用程序(如 VS Code、游戏客户端)调整音乐类型。
- 在 Mac 托盘应用中,点击“启用 Process DJ”,程序将自动检测并切换音乐。
- 用户可在界面查看当前进程和对应音乐类型(如“VS Code – 专注电子乐”)。
- 音乐控制
- 界面提供暂停、播放、音量调节功能。
- 用户可手动选择音乐类型,或让系统自动调整。
- 支持保存喜欢的音乐片段,存储在本地项目目录。
注意事项
- 确保网络稳定,LLM DJ 模式需要与语言模型服务器通信。
- Process DJ 模式在 Mac 上需要屏幕权限,否则无法监控进程。
- 本地运行需较高性能硬件,推荐 16GB 内存和多核 CPU 以确保音乐生成流畅。
- 项目文档位于 GitHub 仓库的 README 文件,遇到问题可参考或提交 issue。
应用场景
- 开发者工作环境
InfiniteRadio 可为开发者提供专注音乐流。例如,打开 VS Code 时,Process DJ 检测到编程活动,自动播放轻快电子乐,提升专注力。 - 游戏玩家背景音乐
玩家在运行游戏时,Process DJ 识别游戏进程,切换到激烈或史诗风格音乐,增强沉浸感。 - 日常放松
用户可通过 LLM DJ 输入“放松”或“冥想”,生成舒缓音乐,适合休息或阅读时使用。 - 创意工作
设计师或艺术家可通过屏幕内容分析,让 InfiniteRadio 生成与创作主题匹配的音乐,激发灵感。
QA
- InfiniteRadio 需要联网吗?
如果使用 LLM DJ 模式,需要联网以连接 LM Studio 服务器。Process DJ 模式可离线运行,仅需本地 Docker 容器。 - 支持哪些音乐类型?
音乐类型由 Magenta RealTime 模型生成,包括电子、古典、摇滚等,具体类型根据上下文动态调整。 - Mac 应用程序如何安装?
从 GitHub 仓库下载 Mac 应用程序包,安装后在系统托盘运行,授予屏幕录制权限即可使用。 - 可以自定义音乐模型吗?
当前支持 Magenta RealTime 模型,未来可能通过社区贡献支持更多模型,需关注项目更新。