promotional bannermobile promotional banner

VoxelMidis

A plugin that allows users to create midiplayers which play midi files. Forked from MidiBanks.
<p>VoxelMidis image</p>

VoxelMidis image

Description

VoxelMidis, a midiplayer based off of MidiBanks

THIS PLUGIN REQUIRES VAULT! http://dev.bukkit.org/bukkit-plugins/vault

This plugin plays midi files using noteblocks! A sign is placed on the front of a row of noteblocks with the correct parameters,
and then can be right-clicked or sent a redstone signal to play your midi!

I loved the original MidiBanks plugin, and since it was abandoned, I decided to try my own hand at it.

A big thanks goes to Protected for the original MidiBanks plugin!

How this plugin works:

This plugin works just like the old MidiBanks plugin, you simply place a sign on the FRONT of a row of noteblocks and use this format on the sign:
LINE 1: Leave Blank
LINE 2: [midi:speed] or just [midi] for the default speed
LINE 3: Filename
LINE 4: Parameters

Afterwards, right-click the sign to play your midi! Right-click it again to pause it. Left-click the sign to stop the midi completely.

Midiplayers should look like this when completed:
http://i.imgur.com/XnnTwBo.png

You can even use redstone to control them:
http://i.imgur.com/evqJldu.png

How to add midis:

Simply add the midi file in the VoxelMidis folder inside your plugins folder.
Be sure to find a midi file without too many long notes, as they often won't sound very good.

Features

  • Ability to play midi files with noteblocks.
  • Redstone compatible, send a redstone signal underneath the first noteblock to start it.
  • Supports the MIDI standard of 16 midi channels.
  • Supports speed control of midi playback

Commands

Aliases: /midi, /midis
/voxelmidis: Base command.
/voxelmidis halt: Stops all currently playing midis.
/voxelmidis reload: Reloads the config.
/voxelmidis channels <file>: Displays the channels that the midi uses.
/voxelmidis list: Shows the midis you have in your midi folder.

Parameters

Parameters go on the fourth line of the midiplayer's sign.
Parameters can be placed all after another, they don't have to be in any specific order.
C - Collapses all channels into one noteblock. Good for midis without a percussion track and only one or two tracks, such as a Synthesia midi.
S - Shifts the midi playing an octave up.
L - Loops the player.
X - Attempts to reduce long notes. Beware with this, this doesn't usually work.
A - Loads the midiplayer when the chunk loads.

While VoxelMidis doesn't have the wide range of options as the original MidiBanks did, more options can easily be added in the future.

Speed Control

The default tempo that VoxelMidis plays the midi files at is ALWAYS 120 BPM. However, sometimes this is either too fast or too slow for the midi
being played. Because of this, I've added a speed control option.
To use it, simply add the speed like this on the midiplayer's sign on the second line:
[midi:speed]
This allows better control for playing midis at a specific tempo if their tempo is faster or slower than 120 BPM.
Example speeds:
[midi:1.01] - Plays the midi 1.01 times faster
[midi:3] - Plays the midi 3 times faster
[midi:0.8] - Plays the midi 0.8 times slower, or 80% speed
[midi:1.00004] - Plays the midi 1.00004 times faster

Permissions:

voxelmidis.*:
description: Gives access to all voxelmidis commands

voxelmidis.cmd:
description: Allows user to use the commands.
default: false

voxelmidis.can-create:
description: Allows user to create midiplayers.
default: false

voxelmidis.can-use:
description: Allows user to use midiplayer signs.
default: false

How it sounds:

How it sounds mainly depends on the midi you play. For example, midis with long notes will generally sound like a mushy mess, where as
midis with short staccato notes will sound much better on noteblocks. Lag also plays into a factor of how you hear it, as the less lag you have on
a server, the better and more timed the midi will sound.

If you have any questions or concerns, feel free to leave a comment.

The VoxelMidis Team

profile avatar
  • 2
    Projects
  • 1.6K
    Downloads

More from _ForgeUser7322285