Back to mods
Disc Jockey Plus project artwork

CurseForge · Minecraft mod

Disc Jockey Plus

Upgraded "Disc Jockey" to 26.2, and added some features and language support

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Disc Jockey Plus release should I use?

Updated today
Latest stable file DJP-Fabric-2.7.4+mc26.2.jar
Game version 26.2
Loader Fabric

Disc Jockey Plus DJP-Fabric-2.7.4+mc26.2.jar targets 26.2 with Fabric. The project page does not say whether this file belongs on the client, dedicated server, or both. All 2 required mods have matching files.

Where it goes

Is Disc Jockey Plus required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does Disc Jockey Plus DJP-Fabric-2.7.4+mc26.2.jar need?

DJP-Fabric-2.7.4+mc26.2.jar. Change the file and its required mods may change too.

All 2 required mods have matching files

Install Fabric API, Cloth Config API (Fabric/Forge/NeoForge) first. We found matching files for this game-version and loader setup. 2 come through another mod in the chain.

4 listed on this file 2 pulled in by those mods
Fabric API Needed by Disc Jockey Plus DJP-Fabric-2.7.4+mc26.2.jar
required
Matching file found Matched file: [26.2] Fabric API 0.159.0+26.2
PianoLib Optional for Disc Jockey Plus DJP-Fabric-2.7.4+mc26.2.jar
optional
Matching file found Matched file: pianolib-1.0.4+DJP2.7.4.jar
Mod Menu Optional for Disc Jockey Plus DJP-Fabric-2.7.4+mc26.2.jar
optional
Matching file found Matched file: v20.0.1 for 26.2
Disc Jockey Plus Needed by PianoLib
pulled in
Matching file found Matched file: DJP-Fabric-2.7.4+mc26.2.jar
Text Placeholder API Needed by Mod Menu
pulled in
Matching file found Matched file: placeholder-api-3.1.0-beta.1+26.2.jar

2 extra mods were pulled in by other dependencies. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add Disc Jockey Plus without breaking your instance.

Built for Disc Jockey Plus DJP-Fabric-2.7.4+mc26.2.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use DJP-Fabric-2.7.4+mc26.2.jar. It targets 26.2 with Fabric; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install Fabric API, Cloth Config API (Fabric/Forge/NeoForge) first. We found matching files for this game-version and loader setup. 2 come through another mod in the chain.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside DJP-Fabric-2.7.4+mc26.2.jar. It opens that exact file at the source.

About this project

What does Disc Jockey Plus add?

Disc Jockey Plus

> A professional note-block music mod for Minecraft Java 26.2
> Unofficial fork of the original Disc Jockey - Fully ported to 26.2 -
> Built-in full localization - Real-time spectrum visualization - 88-key piano keyboard

Dependent Mods

  • Fabric Loader >= 0.19.2
  • Fabric API >= 0.157.0
  • Cloth Config API >= 26.2.155
  • Mod Menu >= 20.0.1 (optional)
  • PianoLib >= 1.0.2+DJP2.7.2 (optional)

================================================================================
Introduction

Disc Jockey Plus is an unofficial fork of the original Disc Jockey, fully ported
to Minecraft Java 26.2. It adds an 88-key piano keyboard (A0-C8), real-time
spectrum visualization, MIDI import/export, non-destructive NBS pitch-range
repair (Clamp/Fold), instrument remapping, a preview system, a sleep timer,
and full internationalization.

Press J or run /discjockey to open the main GUI.

==================================================================================

In game check update

/discjockey update

================================================================================
Anti-Anti-Cheating

Reinforced Anti-Anti-Cheating.

================================================================================
Core Features

88-Key Piano Keyboard

  • Covers all 88 semitones from A0 (-39) to C8 (48), zeroed at A0, mapped
    one-to-one to PianoLib / NoteBlock pitches.
  • Physical keyboard mapping (C-major layout: A S D F G H J K L ; ' plus black
    keys W E T Y U O P [ ]); keys 1/2/3 are fixed to A0/A#0/B0 for quick
    testing and recording.
  • Octave transposition: [-] / [+] buttons or the 0 key jump to C4;
    getDisp() shows the current octave offset.
  • Three playback paths are tried in order: PianoAPI (sqlmc.api.PianoAPI)
    first, then PianoLib 88-note cache (pianolib:key_0-key_87), and finally
    NOTE_BLOCK_HARP with pitch fallback, so sound works both on the main menu
    and in-world.
  • MIDI recording: built-in MidiRecorder supports sustain pedal (Sustain CC64),
    reverb (Reverb CC91/93), and ADSR envelopes; recorded .mid files are
    auto-saved to the recordings/ folder.

Real-Time Spectrum Visualization

  • A 16-band spectrum with peak-hold and exponential decay, rendering smoothly
    with no ghosting.
  • Five render styles are available and can be switched with one click in the
    GUI: BAR, WAVE, RING, MIRROR, PARTICLE.
  • The spectrum is always shown on the main menu and in-world HUD (controlled
    by the spectrumAlwaysVisible config); both playback and preview drive the
    spectrum.

NBS Playback & NBS Repair (Clamp / Fold)

  • Loads .nbs songs with support for play / pause / stop / resume / loop /
    shuffle / autoplay.
  • Clamp / Fold (non-destructive): runs octave folding at runtime for NBS songs
    outside the 0-24 range; the original file is not modified and nothing is
    written to disk, only a foldedNotes cache is generated.
  • fold auto enables automatic repair; fold scan scans all songs;
    fold info <song> shows the pitch-range report for a single song.
  • Transpose: applies runtime octave-fold transposition to notes to prevent
    high notes from being clipped.

MIDI Import & Export

  • NBS -> MIDI export (disc_jockey.screen.export_midi): exports a standard
    .mid with tempo (Tempo), time signature (4/4 Time Signature), and bar
    markers (Bar Marker); output goes to the midi/ folder and is opened
    automatically.
  • MIDI -> NBS import (disc_jockey.screen.import_midi): reads .mid / .midi
    via a built-in file chooser, parses note events, generates a Song, and
    safely falls back on empty files or parse failures.

Preview System

  • Preview songs from both the main menu and in-world (uses SoundSource.MASTER
    when outside a world; auto-switches to playLocalSound after joining a world).
  • M mutes / unmutes preview; P toggles preview looping (keybindings are
    customizable in Controls settings).
  • Preview and playback are mutually exclusive: starting one automatically
    stops the other.

Instrument Management

  • instrument <name> counts nearby note blocks of the specified instrument.
  • remapInstruments manages instrument mapping: map / unmap / show / clear -
    map one instrument to another (e.g. brass), resolving server-side instrument
    detection differences.

Speed & Transpose

  • speed <value> adjusts playback / preview speed (default 1.0, shared with
    preview stepping).
  • transpose transposes the current song (octave folding, preserving #F24 from
    being clipped).

Utilities

  • reload reloads all songs (including hot-reload watching).
  • spectrum toggles the in-GUI spectrum display on / off.
  • sleep <seconds> stops playback after a timer, or cancels the timer.
  • now / info / progress show the current song, its info, and playback progress.
  • clampstatus / fold status check repair status; unclamp cancels repair.

================================================================================
Command Reference

Basic Playback

/discjockey Open the Disc Jockey GUI
/discjockey play <song> Play the specified song
/discjockey pause Pause playback
/discjockey stop Stop playback
/discjockey resume Resume playback
/discjockey now Show the song currently playing
/discjockey info Show current song info and playback speed
/discjockey progress Show playback progress

Playback Modes

/discjockey loop yes|no Enable / disable single-song loop
/discjockey shuffle Toggle shuffle playback mode
/discjockey autoplay Enable / disable auto-play (queue)
/discjockey random Play a random song from the GUI list

Preview

/discjockey preview <song> Preview the specified song or show preview status
M key Mute / unmute preview
P key Enable / disable preview looping

Keybindings are customizable in Controls settings.

Speed & Transpose

/discjockey speed <value> Adjust playback speed
/discjockey transpose Transpose the current song

NBS Repair (Clamp / Fold)

(Non-destructive, temporary; does not modify the original file.)

/discjockey clamp <xxx.nbs> Temporarily repair the specified NBS song
/discjockey unclamp Cancel repair
/discjockey clampstatus Check the current repair status
/discjockey fold auto Enable automatic repair
/discjockey fold info <xxx.nbs> Show the repair status of a single song
/discjockey fold rebuild Re-run repair (refresh status)
/discjockey fold scan Scan all songs for needed repair
/discjockey fold status Equivalent to clampstatus

Instrument Management

/discjockey instrument <name> Count nearby note blocks of the specified instrument
/discjockey remapInstruments map <src> <dst> Create an instrument mapping
/discjockey remapInstruments unmap <src> <dst> Remove the specified mapping
/discjockey remapInstruments show Show the current mapping state
/discjockey remapInstruments clear Clear all instrument mappings

Utilities

/discjockey reload Reload all songs
/discjockey spectrum Toggle the in-GUI spectrum display
/discjockey sleep <seconds> Stop playback after a timer / cancel the timer
/discjockey help Show help information

================================================================================
Notes

  • Only legal .nbs files are supported.
  • Clamp / Fold is non-destructive and temporary; it takes effect only at
    runtime and reverts when disabled or canceled.
  • The GUI includes real-time spectrum visualization (5 styles available).
  • All keybindings can be customized in Controls settings.
  • Requires Fabric Loader + Minecraft 26.2; optionally depends on PianoLib /
    sqlmc PianoAPI for high-quality piano sounds.

================================================================================
Technical

  • Uses a two-layer spectrum architecture - SpectrumDataSmoother (peak-hold +
    exponential decay) and SpectrumVisualizer (unified playback/preview data
    source) - for stable, non-pegging spectrum rendering.
  • Playback uses SongPlayer (configurable async playback, RateLimiter-based
    packet-rate limiting, sleep timer) together with Tuner (multi-layer fallback
    note-block lookup after octave folding).
  • Cross-frame safe GUI opening: Main.openScreenOnNextTick defers screen
    requests to the next tick via a ConcurrentLinkedQueue, avoiding the race
    where the closing chat screen carries the new GUI away with it.
  • Obfuscation-friendly: all Screen subclasses, MidiRecorder, and reflection-
    using classes (PianoPlayer / DiscJockeyHud) are preserved verbatim via
    ProGuard keep rules to prevent VerifyError.

================================================================================
Copyright

(c) Disc Jockey Plus - Unofficial fork of Disc Jockey.

Disc Jockey Plus

依赖项目

Fabric Loader >0.19.2
Fabric API >0.157.0
Cloth Congih API >=26.2.155
Mod Menu >=20.0.1 (可选的)
PianoLib >=1.0.2+DJP2.7.2 (可选的)
> **为 Minecraft Java 版 26.2 打造的专业级音符盒音乐播放模组**
> 原版 *Disc Jockey* 的非官方分支 · 全版本适配 26.2 · 内置完整多语言 · 实时频谱可视化 · 88 键钢琴键盘

✨ 简介

**Disc Jockey Plus** 是原版 *Disc Jockey* 的非官方分支,已将模组完整适配至 **Minecraft Java 版 26.2**,并追加了多项实用功能:内置 88 键钢琴键盘、实时频谱可视化、MIDI 双向转换、NBS 音域修复、音色映射、预览系统、睡眠定时器等,同时内置完整多语言支持。

> 按 **J 键** 或输入 /discjockey 即可打开主界面。


🎯 核心功能

🎹 88 键钢琴键盘

  • 完整覆盖 **A0(−39) ~ C8(48)** 共 88 个半音,零点为 A0,与 PianoLib / NoteBlock 音高一一对应。
  • 支持物理键盘映射,**1/2/3 固定映射 A0/A#0/B0**,方便试音与录制。
  • **八度移调**:[−] / [+] 按钮或数字键 0 一键回到 C4,getDisp() 显示当前八度偏移。
  • **三种播放路径自动择优**:优先 PianoAPI→ 回退 PianoLib 88 音缓存→ 最终回退 NOTE_BLOCK_HARP 变调,确保主菜单与世界内都能出声。
  • **MIDI 录制**:内置 MidiRecorder,支持延音踏板、混响、ADSR 包络,录制的 .mid 文件自动保存至 recordings/ 目录。

###游戏内检查升级

使用/discjockey update

📊 实时频谱可视化

  • 16 段频谱,峰值保持+ 指数衰减,渲染丝滑无重影。
  • 提供 **5 种渲染样式**,可在 GUI 内一键切换:
    条形 BAR · 波形 WAVE · 圆环 RING · 镜像对称 MIRROR · 粒子 PARTICLE
  • 主菜单与世界内 HUD 常驻显示,播放/预览均驱动频谱跳动。

🎵 NBS 播放与 NBS 修复

  • 加载 .nbs 歌曲,支持播放 / 暂停 / 停止 / 恢复 / 循环 / 随机 / 自动连播。
  • **Clamp / Fold(非破坏性)**:对超出 0~24 音域的 NBS 曲目做运行时八度折叠,不改原文件、不写盘,仅生成 foldedNotes 缓存。
  • fold auto 启用自动修复;fold scan 扫描全部曲目;fold info <曲目> 查看单首音域报告。
  • 移调:运行时对音符做八度折叠移调,避免高音被截断。

🎼 MIDI 双向转换

  • **NBS → MIDI 导出**:导出标准 .mid,含速度、拍号、小节线标记,输出至 midi/ 目录并自动打开。
  • **MIDI → NBS 导入**:通过内置文件选择器读取 .mid / .midi,自动解析音符事件并生成 Song,支持空文件 / 解析失败安全兜底。

🎚️ 预览系统

  • 主菜单与世界内均可预览曲目。
  • **M 键** 预览静音 / 取消静音,**P 键** 开启 / 关闭预览循环(按键绑定可在"控制"设置中自定义)。
  • 预览与播放互斥:启动一方自动停止另一方。

🎷 乐器管理

  • instrument <名称> 统计周围指定乐器的音符盒数量。
  • remapInstruments 音色映射管理:map / unmap / show / clear,把一种乐器映射到另一种(如铜管乐器映射),解决服务器乐器判定差异。

⚡ 速度与音调

  • speed <数值> 调整播放 / 预览速度(默认 1.0,与预览步进共享)。
  • transpose 对当前曲目移调(八度折叠,保护 #F24 不被压掉)。

🧰 实用工具

  • reload 重新加载所有曲目(含热重载监听)。
  • spectrum 开启 / 关闭 GUI 内频谱显示。
  • sleep <秒数> 定时停止播放 / 取消定时。
  • now / info / progress 查看当前曲目、信息与进度。
  • clampstatus / fold status 检查修复状态,unclamp 取消修复。

📜 指令大全

🎵 基础播放控制

指令 说明
/discjockey 打开 Disc Jockey GUI
/discjockey play <曲目> 播放指定曲目
/discjockey pause 暂停播放 ⏸
/discjockey stop 停止播放
/discjockey resume 恢复播放
/discjockey now 查看当前正在播放的曲目
/discjockey info 查看当前曲目信息与播放速度
/discjockey progress 查看播放进度

###🛡️防反作弊

增强了原版Disc Jockey的防反作弊。

🔁 播放模式

指令 说明
/discjockey loop yes|no 开启 / 关闭单曲循环
/discjockey shuffle 切换随机播放模式
/discjockey autoplay 开启 / 关闭自动连播
/discjockey random 随机播放 GUI 列表中的一首曲目

👂 预览系统

指令 说明
/discjockey preview <曲目> 预览指定曲目或查看预览状态
**M 键** 预览静音 / 取消静音
**P 键** 开启 / 关闭预览循环

> 按键绑定可在"控制"设置中修改。

⚡ 速度与音调

指令 说明
/discjockey speed <数值> 调整播放速度
/discjockey transpose 对当前曲目进行移调

🛠️ NBS 修复

> 修复为**临时、非破坏性操作**,不会改动原文件。

指令 说明
/discjockey clamp <xxx.nbs> 对指定 NBS 曲目进行临时修复
/discjockey unclamp 取消修复
/discjockey clampstatus 检查当前修复状态
/discjockey fold auto 启用自动修复
/discjockey fold info <xxx.nbs> 查看单个曲目的修复状态
/discjockey fold rebuild 重新执行修复(刷新状态)
/discjockey fold scan 扫描所有曲目是否需要修复
/discjockey fold status 等同于 clampstatus

🎹 乐器管理

指令 说明
/discjockey instrument <名称> 统计周围指定乐器的音符盒数量
/discjockey remapInstruments map <源> <目标> 建立音色映射
/discjockey remapInstruments unmap <源> <目标> 移除指定映射
/discjockey remapInstruments show 查看当前映射状态
/discjockey remapInstruments clear 清空所有音色映射

🧰 实用工具

指令 说明
/discjockey reload 重新加载所有曲目
/discjockey spectrum 开启 / 关闭 GUI 内的频谱显示
/discjockey sleep <秒数> 定时停止播放 / 取消定时
/discjockey help 查看帮助信息

📌 注意事项

  • 仅支持带有 **.nbs** 后缀名的合法音乐文件。
  • Clamp / Fold 为**非破坏性操作**,仅临时生效,关闭或取消后恢复原状。
  • GUI 内自带**实时频谱可视化**(5 种样式可切换)。
  • 所有快捷键均支持在"控制"设置中**自定义**。
  • 依赖 Fabric Loader + Minecraft 26.2;可选依赖 PianoLib / sqlmc PianoAPI 用于高品质钢琴音色。

🔧 技术说明

  • 采用 SpectrumDataSmoother(峰值保持 + 指数衰减)与 SpectrumVisualizer(统一播放/预览数据源)双层架构,频谱稳定无卡顶。
  • 播放采用 SongPlayer(可配置异步播放、发包速率限制 RateLimiter、睡眠定时器)+ Tuner(八度折叠后多层 fallback 查找音符盒)。
  • 跨帧安全开界面:Main.openScreenOnNextTick 通过 ConcurrentLinkedQueue 把界面请求推迟到下一 tick,规避聊天框关闭带走界面的竞争。
  • 混淆友好:所有 Screen 子类、MidiRecorder、反射类均通过 ProGuard keep 规则原样保留,避免 VerifyError

© Disc Jockey Plus — 基于原版 *Disc Jockey* 的非官方分支

Project description from CurseForge.

Pick your setup

Disc Jockey Plus by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

1 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Disc Jockey Plus versions and loaders

32 of 32 releases match

Looking for an older file? The official CurseForge project page is in Resources.