MidiRadio
MidiRadio - The anywhere you go midi player!
What is MidiRadio?
MidiRadio attempts to imitate songs in game by sending tuned in players note block sounds. MidiRadio is inspired by and expands on the original works of Protected in their plugin MidiBanks, now managed by jfmherokiller.
Rather than play note sounds through note blocks however, MidiRadio streams the players individually note sounds when they are tuned in to the radio, regardless of where they are at.
How do I use MidiRadio?
MidiRadio is very easy to setup in its current stage. Just stick some midi files into the plugin's data folder and it will start playing next time the server starts up. By default players are not tuned in to the radio - however typing /tune in will quickly have them listening to the waves in no time. You can opt out too by using /tune out.
Players with the midiradio.play permission can use /play <song> to change the song too!
Video demonstation:
You can see MidiRadio in action on server.minesworn.com. Just use /tune in when you join.
At the moment MidiRadio is still in its infancy and I'd love to expand on it by adding features like playlists, or multiple radio stations however they might be limited by how much time I have. Also, please do share any good midi files you find that work well with this plugin - keep in mind though that note blocks aren't suitable for playing long notes.
Check out the source on Github here!
Works perfectly on my 1.5.1 server! We really enjoy this plugin. Works as described; very easy to setup (midis go in the /plugins/MidiRadio folder).
Tip for others: if you plan to play a specific song using the /play command, it'll have to have no spaces in the file name. Good_Vibrations.mid, rather than Good Vibrations.mid. The latter still works, which is what I do, but you can't play it using the /play command.
There are a bunch of midis that work well with this. That being said, a bunch can sound like garbage. Sometimes it's the song, but a lot of the time I find it's the arrangement of the midi (some will sound bad, others sound fantastic). Here's a list of the better midis I've found: • Assassin - Muse • Comptine d'un Autre Ete - Amelie Soundtrack • Good Vibrations - The Beach Boys (sounds REALLY good in MC) • Happy Together - The Turtles (also really good in MC) • Knights of Cydonia - Muse • Pink Panther Theme - Henry Mancini • Stockholm Syndrome - Muse • The Final Countdown - Europe • Undisclosed Desires - Muse • Uprising - Muse • Welcome Home - Coheed and Cambria (haven't found the best arrangement)
Would love to hear what midis you and others find work well, too!
Also, a feature request: /play next (or a similar command that lets you skip to the next song in a playlist). Your playlist and multiple station ideas sound great, look forward to seeing those in the future!
Keep up the great work! This is likely my favourite plugin since Chairs :P
Awsome! 1.5.1 Update? Shuffle Config Option?
Good plugin!How to translate into chinese~ THX
im getting this: 2013-04-08 01:46:53 [WARNING] Could not lock User prefs. Unix error code 2. 2013-04-08 01:46:23 [WARNING] Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
any ideas?
Not working in 1.5?
The Plugin changes song while it's playing in the middle of the song.
This would be awesome if you added a small chat function to this, like a DJ. The DJ is the one that picks the songs to play, or it could be put on an autopilot to cycle through all the midis. Then at the end of the song, the DJ can choose to talk to the audience in the chat with something like a ./say command. For example:
I've been looking for a radio plugin for ages! I'd love to see these things implemented.
ok now i have an error wich reads: 16:52:06 [WARNING] [MidiRadio] Task #4 for MidiRadio v1.5 generated an exception
java.lang.ArrayIndexOutOfBoundsException: 0 at net.t7seven7t.midiradio.SequencerMidiPlayer.playNextSong(SequencerMid iPlayer.java:84) at net.t7seven7t.midiradio.SequencerMidiPlayer$1.run(SequencerMidiPlayer .java:121) at org.bukkit.craftbukkit.v1_4_6.scheduler.CraftTask.run(CraftTask.java: 53) at org.bukkit.craftbukkit.v1_4_6.scheduler.CraftScheduler.mainThreadHear tbeat(CraftScheduler.java:345) at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:53 0) at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:22 4) at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:49 4) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java: 427) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:84 9)
has this happend to any one else i changed the names of my songs to numbers so it would be easier to use but now when i use the command /play 1 it just plays the next song.
wait where is the plugin data folder. do you mean where i put my plugins?
@t7seven7t
There are only, what, 24 or 25 notes in total? You could let the user determine which notes to play or which to mute. I would block out the entire lower register or at least the first 6-8 notes, which would solve my horrid drums problem.
/tune out doesnt work :( Just does nothing at all
@GumbyDammit
I can't think of any better way to remove the channels automatically or even allow the user to. Its hit and miss, on some songs the drums make it sound great. I don't yet have playlists or some other save to disk method set up to save options for each song to disk, but even if I did, its probably more work for the user to guess which channels to remove than to open it up in another program and turning MidiRadio into a midi editor isn't really a goal.
@t7seven7t
I already do that with MidiEdit, but was looking for a way to avoid having to manually tweak every song I want to put on the server.
@GumbyDammit
Grab a program like Anvil Studio and remove the drums track and any other tracks you think might make the song playback bad.
@t7seven7t
It would be sweet if you could mute the drum & bass tracks, or anything in the lower registers to prevent that awful blat-blat-blat sound all through a song. Considering how lo-fi the whole thing, just hearing the melody is enough.
@mindcat
Okay, I'll look at how the instruments are exported to midi. Should be a simple change to how I already pick the instrument.
@t7seven7t
I using your plugin latest version, and I see now that it is right, but some things did not same like "click".
Please use default setting convert those song "Bad Apple" and "What is Love" .nbs format to midi hear it.
"I don't really want to have to work with another file format where you can already easily convert between formats, but the source code of MidiRadio is freely available so you're welcome to try and create your own .nbs player." Sorry, I don't know how to program somethings, otherwise why I did report problem to you?
If possible you should add a /tune like and a /tune dislike command, so users listening to the song can express if they like it or dislike it. This is particularly useful because users can't skip songs.
Also, /tune playing or similar, so that users know what they're listening to.
This is pretty fun. It would be nice if you could see the song that's currently playing, with /tune show or /tune info.
For others looking for good MIDIs to play, I find I'm having the best outcome by downloading standard MIDI tracks and then using the open source app MidiEditor to remove the bass and drum tracks.