Logo
MINECRAFTBIBLE
Items
Items

All game items

Blocks
Blocks

Building blocks

Mobs
Mobs

Creatures & monsters

Biomes
Biomes

World biomes

Structures
Structures

Generated structures

Recipes
Recipes

Crafting guides

Advancements
Advancements

Achievements

Loot Tables
Loot Tables

Drop rates

Tags
Tags

Item groupings

All Versions
View all data →
Capes
Cape ArchiveNEW

Browse rare Minecon capes, OptiFine capes, and custom capes from players worldwide

Browse

Player Database
Player DatabasePopular

Search any player

Skin Browser
Skin Browser

Browse & download skins

Cape Gallery
Cape GalleryNEW

Minecon & OptiFine capes

Seed Vault
Seed Vault

Curated seeds

Learn

Guides
GuidesNew

Tutorials & tips

Blog
Blog

News & updates

Community

Community Hub
Community HubHub

Posts, discussions & more

All Versions
View community →
Seed Analyzer
Seed Analyzer

World seed analysis

Loot Explorer
Loot Explorer

Drop rates

Crafting Calculator
Crafting Calculator

Material planning

Enchant Calculator
Enchant Calculator

Probability math

Redstone Lab
Redstone Lab

Signal timing

Trading Profit
Trading Profit

Villager ROI

All Versions
View all tools →
Mods
Mods

Browse all mods

Plugins
Plugins

Server plugins

Resource Packs
Resource Packs

Textures & sounds

Shaders
Shaders

Visual enhancements

Datapacks
Datapacks

World logic

Scanner
Mod Intelligence

Scan & analyze any mod

All Versions
View all mods →
Loading...
IntroductionIntroductionVersion HistoryVersion HistoryGuidesGuidesBlog & NewsBlog & News
ItemsItemsBlocksBlocksMobsMobsRecipesRecipesBiomesBiomesStructuresStructuresAdvancementsAdvancementsLoot TablesLoot TablesTagsTags
ModsModsPluginsPluginsResource PacksResource PacksShadersShadersDatapacksDatapacks

MinecraftBible

The Ultimate Wiki

Logo
MINECRAFTBIBLE

The ultimate Minecraft reference. Every item, block, mob, and recipe documented with precision.

Community

  • Skin Browser
  • Cape Gallery
  • Seed Vault
  • Blog
  • Guides

Database

  • Items
  • Blocks
  • Mobs
  • Recipes
  • Biomes
  • Structures

Tools

  • Seed Analyzer
  • Mod Intelligence
  • Crafting Calculator
  • Enchant Calculator

Mods & Packs

  • Mods
  • Plugins
  • Resource Packs
  • Shaders
  • Datapacks

Site & Legal

  • About
  • Authors
  • Editorial Policy
  • Corrections
  • Contact
  • Privacy Policy
  • Terms of Service
  • DMCA
  • Sitemap

© 2026 MinecraftBible. Not affiliated with Mojang or Microsoft.

PrivacyTermsContact
Notematic Player
PluginMIT

Notematic Player

A companion Minecraft audio player plugin and API that plays custom note block music sequences exported from Notematic Studio with offline sync, multi-song playback, and per-player volume settings.

6
Downloads
3
Followers
1 months ago
Updated
📦
1
Versions
technologyutilitybukkitpaperpurpurspigot
Download Latestv1.0.2View on Modrinth

📖About Notematic Player

Notematic Player

Modrinth Downloads
Minecraft Version Support
Server Software

Notematic Player is a Minecraft Java plugin designed as the companion player for Notematic Studio. It plays custom note block music sequences exported from the studio in .json or .mcfunction formats directly to players or positionally in the world. Beyond standard note block sounds, it can also play any in-game /playsound audio (including custom resource pack sounds) directly.

Features

  • Custom Music Playback: Play custom note block arrangements. Supports public and private folders for admin-only access control.
  • Per-Player Personal Volume: Every player can adjust their own personal listening volume via /notematic volume <val> (saved by UUID).
  • Offline Sync: If a player disconnects, the playback ticks virtually and resumes in sync when they rejoin.
  • Jukebox Persistent Loops: Location-based looping playbacks persist across server restarts and crashes.
  • Notematic Studio Companion: Plays files exported directly from the Notematic Studio MIDI converter utility.

Official Addons

Notematic Vocoder

An official sub-addon built on top of Notematic Player's engine. It uses Digital Signal Processing (DSP) to analyze Text-to-Speech audio, extract formant frequencies, and dynamically map them to Minecraft's sound system, allowing note blocks to "talk" in real-time.

  • Real-time In-Game Speech: Speak aloud using note blocks via /<command> <prompt>.
  • 6-Octave Voice Range: Intelligently maps overlapping frequencies across 5 note block instruments (Bass, Guitar, Harp, Flute, Bell) to bypass Minecraft's default 2-octave limit.
  • 100% Server-Side: No mods or resource packs required by players. Fully compatible with vanilla clients.

Commands & Permissions

Command Permissions Short Description
/notematic [help] notematic.use Displays plugin info, status, and commands menu.
/notematic play <song> [target] [loop] notematic.use
notematic.play.location (for at ...)
notematic.play.loop (for loop)
Plays a song for yourself, a target player, everyone, or positionally at a 3D location.
/notematic stop [#ID | song | player] [at <x> <y> <z>] notematic.use Stops active playbacks (by ID, song, player, or coordinate).
/notematic seek <#ID | song | player> <value> notematic.use Seeks forward, backward, or to an absolute time in a playback.
/notematic pause [#ID | song | player] [at <x> <y> <z>] notematic.use Pauses active playbacks.
/notematic resume [#ID | song | player] [at <x> <y> <z>] notematic.use Resumes paused playbacks.
/notematic volume <value> notematic.use Sets your own personal listening comfort volume (0-100%).
/notematic volume #ID <value> notematic.use Sets a temporary volume multiplier for a specific active playback instance.
/notematic volume song <name> <value> notematic.admin Sets a song's global volume multiplier (Admin only).
/notematic list notematic.use Lists all loaded public (and private if admin) songs.
/notematic active notematic.use Shows all currently playing songs with real-time status.
/notematic commands [true | false] notematic.admin Toggles or sets player command usage globally (Admin only).
/notematic reload notematic.admin Stops all active songs and reloads the song folder (Admin only).
View Detailed Command Instructions & Examples

Play Command

Starts playing a song. Playback can target yourself, other players, all online players, or a physical 3D location in the world.

  • Syntax variations:
    • /notematic play <song> — Play for yourself.
    • /notematic play <song> [player] — Play for a specific player (Admin required).
    • /notematic play <song> <@a | * | all> — Play for all online players (Admin required).
    • /notematic play <song> at <x> <y> <z> [radius] [volume] [loop] — Play at specific coordinates. Sounds play positionally. Supports relative ~ coordinates.
  • Examples:
    • /notematic play test_song
    • /notematic play test_song loop (looping infinitely)
    • /notematic play test_song at ~ ~ ~ 15 50% loop (looping at your position, 15 block hearing radius, 50% volume)

Stop Command

Stops active playbacks. Resolved dynamically in search order:

  1. Unique ID (#ID): Stops a specific instance (e.g. /notematic stop #3).
  2. Song Name: Stops active playbacks of that song.
  3. Player Name: Stops playbacks listening on that player.
  • Examples:
    • /notematic stop
    • /notematic stop #12
    • /notematic stop test_song
    • /notematic stop at ~ ~ ~ (Stop location-based playbacks at current coordinates)

Seek Command

Seeks playbacks forward, backward, or to an absolute time.

  • Relative Seek: e.g., +10s (forward 10s), -5s (back 5s), +200t (forward 200 ticks).
  • Absolute Seek: e.g., 30s (jump to 30s mark), 150t (jump to tick 150).
  • Note: Looping playbacks wrap around using modulo math.

Volume Control

  • Personal Volume (/notematic volume <val>): Sets comfort listening level. Saved by UUID in player_volumes.yml.
  • Instance Volume (/notematic volume #ID <val>): Sets temporary volume multiplier of a specific playback instance.
  • Global Volume (/notematic volume song <name> <val>): Sets base volume level for a song. Stored in volumes.yml.
  • Volume Stacking Formula: The final note volume is calculated as: baseNoteVolume * songVolumeMultiplier * personalPlayerVolume.

Compatibility & Platforms

Notematic Player runs entirely server-sided, meaning vanilla clients do not need to install any mods to hear the music. It is natively compatible with 1.20.6 and 1.21 - 26.1.x on:

  • Paper (Recommended)
  • Purpur
  • Spigot
  • Bukkit

Music File Formats & Organization (.json / .mcfunction)

Place your music files in plugins/NotematicPlayer/songs/.

  • Public Songs (/songs/ or /songs/public/): Accessible to anyone via /notematic list and play commands.
  • Private Songs (/songs/private/): Only accessible to OPs/admins (or players with notematic.admin).

JSON Format

{
  "tempo": 1.0,
  "notes": [
    {
      "instrument": "harp",
      "note": 1.4142,
      "volume": 0.8,
      "when": 0
    },
    {
      "instrument": "bass",
      "note": 0.7071,
      "volume": 0.6,
      "when": 5
    }
  ]
}
  • tempo: Speed multiplier (double). 1.0 plays at normal speed.
  • notes: Array of note events, sorted by when.
    • instrument: Instrument name (e.g. harp, piano, bass, bell, flute, guitar, pling, bit, banjo). You can also use any in-game /playsound identifier (e.g., minecraft:entity.cow.ambient, minecraft:block.bell.use, or custom resource pack sounds) by specifying a key containing a ., :, or /.
    • note: Pitch multiplier from 0.5 to 2.0.
    • volume: (Optional) Note-specific volume from 0.0 to 1.0.
    • when: Tick delay relative to the start.

Datapack Format

If you drop an .mcfunction file into the songs folder, the plugin scans for storage modifications to parse the JSON:

data modify storage music sheet set value {"tempo":1,"notes":[{"instrument":"harp","note":1.4142,"when":0}, ...]}
Developer API Reference

Retrieve the plugin instance from Bukkit's plugin manager:

import me.cayde26.notematicPlayer.NotematicPlayer;
import org.bukkit.Bukkit;

NotematicPlayer api = (NotematicPlayer) Bukkit.getPluginManager().getPlugin("NotematicPlayer");
if (api != null && api.isEnabled()) {
    // Play a song positionally for a player without chat messages
    api.playSong(player, "mysong", false, true);

    // Stop active playbacks for a player
    api.stopSong(player);

    // Get/set a player's personal volume multiplier
    double playerVol = api.getPlayerVolume(player);
    api.setPlayerVolume(player, 0.85);
}

Available API Methods

Playback Control

  • boolean playSong(Player player, String songName)
  • boolean playSong(Player player, String songName, boolean showChatMessage)
  • boolean playSong(Player player, String songName, boolean showChatMessage, boolean positional)
  • boolean playSong(Player player, String songName, boolean showChatMessage, boolean positional, String initiator)
  • boolean playSongForAll(String songName)
  • boolean playSongForAll(String songName, boolean showChatMessage)
  • boolean playSongForAll(String songName, boolean showChatMessage, boolean positional)
  • boolean playSongForAll(String songName, boolean showChatMessage, boolean positional, String initiator)
  • void stopSong(Player player)
  • void stopSong(Player player, String songName)
  • void stopAllSongs()
  • void pauseSong(Player player)
  • void pauseSong(Player player, String songName)
  • void resumeSong(Player player)
  • void resumeSong(Player player, String songName)
  • void pauseAllSongs()
  • void resumeAllSongs()

Status & Query

  • boolean isPlaying(Player player)
  • boolean isPaused(Player player)
  • boolean songExists(String songName)
  • List<SongPlayback> getActivePlaybacks()

Volume Adjustments

  • double getSongVolume(String songName)
  • boolean setSongVolume(String songName, double multiplier)
  • double getPlayerVolume(Player player)
  • void setPlayerVolume(Player player, double volumeMultiplier)

👥 Team & Contributors

Cayde26
Cayde26Owner

⚙️ Compatibility

Environment
🖥️ Server-side
Loaders
bukkitpaperpurpurspigot
Minecraft Versions
1.20.61.211.21.11.21.21.21.31.21.41.21.51.21.6+9 more

🔗 Links

Modrinth Page