Midi files player

I finally found a plugin (vst x64) that serves as my midi player in GP! (Windows version).

It’s a midi editor/sequencer/looper with many functions that can also be used as a simple midi player. It works perfectly on GP, the automation is apparently complete, it is synchronizable (or not) with the play/sop, etc.

More details:
midiLooper

This is a plugin that has not been developed since 2012 and there is a Mac version but it must not have worked for a long time. It’s a demo donationware version but can’t be bought anymore because thepiz.org is inaccessible. The only limitation is a “demo” window in the GUI. So it is free and fully functional.

It can be downloaded here:
pizjuce

This is a pack containing in addition 16 other midi utilities :smiley:

4 Likes

Great, I was looking for that!!
Still very new to the Midi World, but I managed to get it running and do the first steps.
Currently I use it only for manually ‘drawing’ some midi key sequences which I can start with hitting just one key (via Studiologic Midi Bass Floor Pedal). To play a ‘self-drawn’ midi sequence, one has to put ‘Host Sync Mode’ to ‘Sample’ and mark the full sequence as ‘Loop Area’ (even if you do not want to loop - can be switched on/off at ‘Playback Mode’).
‘Drawing’ keys is cumbersome and does not follow standard windows logic - but after some trial and error I managed to get what I wanted. Had one crash of GP while drawing.
Did not find any tutorial for midiLooper. There is help by tooltips which is good - but if anyone has further info I would appreciate…

I did not found any help.
You can drag and drop midi files from your explorer in midilooper window.
You can record from a midi keyboard or a virtual keyboard plugin.

THANK YOU. I looked all over the interweb for this thing (midilooper). The GUI is hideous but it does exactly what I needed. Question: does anyone know how to rewind once you’ve started playing a MIDI file?

The playback mode has to be set to “unsync loop”.
Pressing “play” will stop playing and when pressing play again, the loop will start at the beginning and not in the middle of the loop.

@Hermon re-starting from beginning unfortunately only works for loops. If you want to play the midi-file just once by selecting ‘Unsync 1-shot’, I did not find a way to (re-)play from beginning once the midi-file playing has been started (as available in the GP Audio File Player).
Let’s hope for GP4 :blush:

Sorry, I do not understand: in this video you can see the midi file + the audio file playing and restarting together from beginning each time.

Anyway, within a few weeks, we shall have something much better in GP :slight_smile:

Sorry, but I did not really detail what I try to achieve:

  • I have created a short midi file which I want play to play several times during a song, but always just once. It should automatically stop playing at the end of the midi file (no loop!)
  • so I have set up GP and MidiLooper that each time I send a start signal (via GP button widget assigned to a midi input), the midi file is played once and then the playback of this midi file is stopped automatically without any interaction from my side (no loop!)
  • I have achieved this by selecting ‘Unsync 1-shot’ in MidiLooper (not: ‘Unsync Loop’ as I do not want loops)
  • I some cases I want to re-start this Midi File from beginning while it is still playing from the previous activation - it should then stop the playing from the previous activation and directly re-start from the very beginning

I was not able to achieve this. Did I miss something here?
Anyway: thanks very much for bringing up MidiLooper - this is already a big step for me!

Sorry and sorry again! You are right: In GP Host sync mode, the loop restarts at the beginning but the sound only comes back where it stopped before.

I found out how I used to use it, but it was with a widget assigned to the Midilooper play function and controlled by a footswitch.

In GP Edit Mode: widget button mapped to Midilooper PLAY1 parameter
and in Midilooper:
Host sync mode: sample
Playback mode: unsync loop.