SoniqBoom:让被遗忘的音乐格式重获新生

简介

什么是 SoniqBoom ?

SoniqBoom 是一个开源的自托管音乐流媒体服务器。它可以帮助用户在自己的设备上搭建音乐库,支持 FLACMP3ALAC 等现代音频格式,以及 SIDMODXMIT40+ 种复古 tracker 格式,让那些被其他播放器遗忘的音频文件重新焕发生机。

主要特点

  • 复古格式全覆盖:支持 SIDC64)、MODXMITAHXHivelyTrackerNSFSPCVGMMIDI40+ 种复古音频格式,让 demoscenechiptune 收藏库真正可用
  • 现代格式同样出色:完美支持 FLACALACMP3AACOpusWavPackDSD 等主流音频格式
  • 浏览器即客户端:无需安装任何客户端应用,在任何设备的浏览器中即可访问和播放音乐
  • 多房间音频同步:支持在局域网内多个设备间同步播放同一首歌曲
  • 投屏播放:支持 ChromecastAirPlayDLNA 投屏到电视、音箱等设备(Beta)
  • 智能电台功能:内置多场景和 chiptune 电台,支持根据歌曲自动生成无限播放列表
  • 可视化效果tracker 模块支持实时声道 VU 表可视化,展示信号链路
  • 轻量高效:整个音乐库索引存储在内存中,浏览和搜索速度极快
  • 开源免费:基于 AGPL-3.0 协议开源,可免费使用和修改

应用场景

  • 复古音乐收藏:为 demoscenechiptunetracker 音乐爱好者提供专业的播放和管理平台
  • 家庭音乐服务器:在家庭网络中搭建个人音乐库,所有设备共享访问
  • Hi-Fi 发烧友:支持 DSDFLAC 等无损格式的高品质播放
  • 多房间播放:在不同房间同步播放音乐,打造全屋音乐体验
  • 投屏到客厅设备:将手机或电脑中的音乐投屏到电视、音箱播放

SoniqBoom 是一个功能强大的自托管音乐服务器,特别适合拥有大量复古音频格式收藏的用户。

安装

在群晖上以 Docker 方式安装。

提示:由于镜像托管在 ghcr.io,群晖 Docker 套件无法直接搜索,需要通过命令行拉取镜像。

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 soniqboom 和 子目录
mkdir -p /volume1/docker/soniqboom/data

# 进入 soniqboom 目录
cd /volume1/docker/soniqboom

# 一键启动
docker run -d \
--name=soniqboom \
--restart=unless-stopped \
-p 8218:8080 \
-v $(pwd)/data:/data \
-v /path/to/your/music:/music:ro \
-e SONIQBOOM_DATA_DIR=/data \
-e TZ=Asia/Shanghai \
ghcr.io/sfcyris/soniqboom:latest

【注意】:将 /path/to/your/music 替换为你自己的音乐库路径;

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: '3.8'

services:
soniqboom:
image: ghcr.io/sfcyris/soniqboom:latest
container_name: soniqboom
restart: unless-stopped
ports:
- "8218:8080"
volumes:
- ./data:/data # 索引、转换缓存、配置、日志(请备份此目录)
- /path/to/your/music:/music:ro # 音乐库 —— 只读,服务器不会写入此目录
environment:
- SONIQBOOM_DATA_DIR=/data # 数据目录
- TZ=Asia/Shanghai # 时区设置

然后通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 soniqboom 和 子目录
mkdir -p /volume1/docker/soniqboom/data

# 进入 soniqboom 目录
cd /volume1/docker/soniqboom

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中访问 http://<群晖IP>:8218 即可进入登录界面

首次使用需要创建管理员账户,在容器内执行以下命令创建管理员

1
2
3
4
5
# 创建管理员
docker exec soniqboom soniqboom-setadm -user <用户名> -passwd '<密码>'

# 示例(密码不能少于 8 个字符)
docker exec soniqboom soniqboom-setadm -user laosu -passwd '12345678'

不需要重启服务,但是需要刷新一下登录界面

登录后,点击右上角齿轮图标打开管理面板

添加音乐库路径,例如 /music,点击 Add

等待扫描完成(大约每 50,000 首歌曲需要 2 分钟)

扫描完成后即可开始播放

提示Internet Radio 无需添加音乐库即可使用。

注意事项

  1. 数据备份/data 目录包含索引、配置和日志,建议定期备份
  2. 音乐库路径/music 目录以只读方式挂载,确保路径正确且可访问
  3. 端口冲突:默认端口为 8080,如果被占用可以在 docker-compose.yml 中修改
  4. 镜像大小:镜像约 1.3 GB,包含所有复古格式播放器和 SoundFont
  5. 内存占用:整个音乐库索引存储在内存中,大型音乐库需要更多内存
  6. 管理员创建:容器启动后需要手动创建管理员账户,无法通过环境变量设置
  7. 网络共享:支持 FTP、SMB、WebDAV 等网络共享,无需在操作系统层面挂载

参考文档

SFCyris/SoniqBoom: The self-hosted music server that actually plays the formats every other server forgot.
地址:https://github.com/SFCyris/SoniqBoom

SoniqBoom - Docker image on GHCR
地址:https://github.com/SFCyris/SoniqBoom/pkgs/container/soniqboom

SoniqBoom Documentation
地址:https://github.com/SFCyris/SoniqBoom/blob/main/DEPLOY.md