I have improved IvanC's MIDI Player VSTi plugin


here this

very thancc @IvanC whoahow! Amazing awesome div by zero!! yay

I have ported those plugins for the latest JUCE version today & made it works yay!

(e.g. following generated semantic of Projucer, to add juce:: something something for each functions & classes in that namespace. uh, I could’ve using namespace juce but uh, that’s how the Projucer generated the code as I compare with empty template so I just followed it for now. anyway)

We have not yet released the binary yet, we will, (and unlike others, it’s of course $0 too). So if you want to compile, the instructions are also listed & included in that README.md scroll down yeah!

Additionally, I also have made this plugin can play all tracks of loaded MIDI file (yep, not just one), finally!!! after all this years. Simply check Entire Tracks and it’ll play all tracks at the same time.

With this, just connect the Event OUT / MIDI OUT of this node to your favourite MIDI Synth node Event IN / MIDI IN.
FalcoSoft’s BassMIDI VSTi if you want to SF2 Soundfont, or Yamaha S-YXG2006LE if you want XGLite MidRadio experience, or Roland SoundCanvas VA if you want classic yet powerful SC88 collections (from old to legendary SC88 Pro as well as GS), OR PERHAPS to MIDI OUT of the host so you can grab your best of the best MIDI Synth hardware like Yamaha Genos and connect it there yess!.

Now load your MIDI, and press play on your plugin host, ENJOY!
Remember, after you finish, stop the playback on your host, reset position, and load another MIDI file. OR play again.


Not all host does have MIDI player built in like Hermann Seib’s VST Host. OR, you would like to use DAW, but doesn’t like conversion (Import MIDI) into DAW track lines.

the other ones I have searched for weeks does no longer works, others works but not as I expected to be.

But I need help though

We are happy to enjoy MIDI playing experience right within the plugin host we love. But unfortunately, not all host follows standard. especially, that Playhead. Yes, Some host does not have recognizable AudioTransportSource at all VSTs recognize (some even do this by the nature of the design, called Timelineless Music Jam, so we gotta complain to that GitHub repo issue). They may have that play pause button, but those are not the same protocol recognized, hence if you try to play with this plugin on that host, it’ll just sit there poker face!

I need your help! I have been days trying to override dependency upon host’s play head AudioTransportSource. I have been coding measures to get away with it, but pressing play doesn’t seems done anything. I may have left a mistake here, I’ll let you know. As always, the repository source of this plugin has been listed there above. Fork or whatever, point what’s wrong, and BEST, how did you do that on your, pls make me one, BUT simpler pls. yess.


originally by IvanC, Improved by JOELwindows7

Perkedel Technologies
plugin GNU GPL v3

I have linked this post to Change.org

here yeah

and the update

Did you know I also am campaigning about Yamaha Genos. As you can see, Yamaha Genos is pecking expensive. $5000 s of bucks. And on the other side, Roland made the legendary VSTi about MIDI ASMR under Roland SoundCanvas VA. So idk, why Yamaha don’t make Genos VSTi soundfont?!??! That’s what the petition is about.

We want Yamaha to make VSTi about Genos! We are tired seeing YouTube videos about Yamaha Genos are all about music jams, style play, anything but MIDI file played in Genos. Nada! all of those MIDI plays are not played with / using Genos. but I cannot buy Genos, it’s way Rolls Royce. can’t be cheaper? just make it software, we gonna get it.

Feel free to sign! & spread yeah!

Hey, I have an idea!

how about you have this Component defined in the PluginProcessor.cpp, and then you handover when constructing PluginEditor.cpp? like this

Hey, createEditor with this (me) in it. also put this Component okay? like uh…

juce::AudioProcessorEditor* SimpleMidiplayerAudioProcessor::createEditor()
    return new SimpleMidiplayerAudioProcessorEditor(*this, thisWindowThingy);

notice that I will modify the SimpleMidiplayerAudioProcessorEditor constructor there. to not just accept the processor but also special component in which every construction of that editor, place the window thingy all full. idk. I shall try this.

I believe, that way, we can access that component so now processor can edit that text box there yey.

SEO Optimization

Free VSTi plugin That plays MIDI

MIDI player free

Free & Open Source libre MIDI Player

$0 MIDI Player

Simple VST MIDI player

Play MIDI in VSTHost

How to play MIDI in kushview element

Fully functional no trial no pro, always full version MIDI player Plugin

Free FUll version MIDI Player vst plugin

piz pizmidi

better alternative vst midi player

New Update!

  • Panic button! everyone knows what is this. If you forgot / don’t know, this button sends all channels Note OFF. Use this if you have hung notes that kept playing forever during playback.
  • Loop adissu!!! yeah Loop! after it reaches end, it plays again automatically. Not the best he said. but it works! Also I have of course added ON / OFF for that so if you don’t want loop feel free to turn it off right away. If you used Bespoke & any other that does not reset AudioTransportSource playhead back to 0, turn this on! it’ll river out play catching.
  • You can now enable / disable whether or not you’d like to have additional 3 second empty space after the song reaches the end! If you don’t want perfectly cut immediately silence after MIDI finished, you can leave this ON. However, if you desire perfect loop, then turn this OFF yeah!

NEW finally released the rolling release nightly binary yey!


here it is. the .vst3 file in its glory. I am too lazy to use GitHub release because this may not be stable and worth freezing (development freeze) over right now. So here’s immediately fresh from oven binarys so you can try it da right now without having to build yourself. & THEY’RE $0, GRATIS!!!

LADSPA v2 (LV2) coming soon. we need to submodule that special lv2’d JUCE first into the modules (& then change branch of that submodule into lv2).