Skip to content

RaphiMC/NoteBlockTool

Repository files navigation

NoteBlockTool

Tool for importing, exporting, batch manipulating and playing Minecraft note block songs.

To download the latest stable version, go to GitHub Releases.
To download the latest dev version, go to GitHub Actions or Lenni0451's Jenkins.

Using it is very simple, just run the jar file, and it will start a user interface. Detailed instructions can be found in the Usage section.

Features

  • Reads .nbs, .mcsp2, .mid, .txt and .notebot files
  • Can export all of the above as .nbs, .wav and .aif files
  • Work with multiple songs at once (Batch processing)
  • High performance and accurate song player
    • Lag free playback of very large songs
    • Supports all NBS features including custom instruments
  • Good MIDI importer
    • Supports most MIDI files
    • Supports velocity and panning
    • Can handle Black MIDI files
  • Supports all NBS versions
    • Version 0 - 5
    • Supports undocumented features like Tempo Changers
  • Many tools for manipulating songs
    • Optimize songs for use in Minecraft (Transposing, Resampling)
    • Resampling songs with a different TPS
    • NBS metadata editor
    • Instrument replacement
    • Note deduplication (Useful for Black MIDI files)
    • Removal of quiet notes (Useful for Black MIDI files)
  • Very fast and efficient
    • Imports and manipulates hundreds of songs in seconds
    • Can export songs as audio files at multiple times the speed of playback

Limitations

  • NBS layers are not preserved when doing anything other than editing the metadata
    • All editing is done on intermediary song objects which do not have layers

Usage

Importing

After downloading and running the jar file, you will be greeted with a user interface:
NoteBlockTool Main GUI
The table shows all currently loaded songs. Songs can be dragged and dropped into the table to load them or you can use the "Add" button to open a file dialog.

Editing

To start editing songs, select one or multiple songs in the table and click the "Edit" button. This will open the song editor:
NoteBlockTool Song Editor
By default, everything is disabled or does nothing. To enable a feature, click the corresponding checkbox or configure its settings.
After you are done editing, click the "Save" button to apply the edits to the selected songs or the "Preview" button to listen to the edits before saving.

Playing

To play a song, select it in the table and click the "Play" button. This will open the song player:
NoteBlockTool Song Player
The song player features all the essential controls for playing a song.

Exporting

To export the edited songs, select them in the table and click the "Export" button. This will open the export dialog where you can select a folder to save all the songs to.

Using it in your application

NoteBlockTool uses NoteBlockLib for most of its functionality. For more information on how to use NoteBlockLib in your application, check out NoteBlockLib.

Contact

If you encounter any issues, please report them on the issue tracker.
If you just want to talk or need help using NoteBlockTool feel free to join my Discord.