Topic: Midi Juke box

I know, there are a few of these and I like to use Pianoteq as the "sound engine" for my background music.

Play lists are the easy part.
What I would LIKE to do is to change instruments according to the style of each midi file.
Somebody has probably already done this, so my question is HOW would I construct a file to change instruments ?
Alternatively, is there a program that already does this ?

Re: Midi Juke box

You may want to take a look at Gig Performer in the User Area, https://www.modartt.com/user_area?s=promotions.

Pianoteq 8 Studio Bundle, Pearl malletSTATION EM1, Roland (DRUM SOUND MODULE TD-30, HandSonic 10, AX-1), Akai EWI USB, Yamaha DIGITAL PIANO P-95, M-Audio STUDIOPHILE BX5, Focusrite Saffire PRO 24 DSP.

Re: Midi Juke box

I use Pianoteq as my Virtual Player Piano. To change the instrument I use Calkwalk by BandLab to add the program change to the start of the MIDI file. I have downloaded some MIDI files and I check each one to see what channels are used, and if there are background instruments, etc.

The first time through is a bit confusing, but once you get onto it, it is easy, I have done hundreds of files.

Cheers.

Re: Midi Juke box

Thanks for the responses so far.
From the 80s I remember that this is basically sysex messages and I probably need to write suitable midi files that contain instrument change sysex messages and put those files in my play lists right before a "mood change", e.g. a honky tonk piano instrument change file right before going to some rag time. 
Not sure how to "find" the instruments though, i.e. bank numbers.

Re: Midi Juke box

Hello Mr. Aandrmusic:

Here is a completely different approach to consider:  What if you were to "pre-record" all of your midi files of interest, selecting the piano you feel most appropriate for each piece, and then "render" those midi files as audio files, .wav, 320kbps mp3, etc.  Doing this work ahead of time, and having an arsenal of rendered audio files, then your juke box might be a relatively simple matter of constructing a playlist at will from the files stored on your computer.

Advantages: 
1) You will have pre-determined (via trial and error) which piano you consider most appropriate for the task or musical genre at hand.
2) You will be able to gather a playlist almost at random, such that it may be the analog of your own private streaming service where Pianoteq is the star.

Disadvantage:
The major disadvantage I envision is that audio files consume far more disk memory than do midi files.  As inexpensive as storage has become, this may or may not be a physical problem for you.

Good luck on whichever avenue you pursue.

Cheers,

Joe

Re: Midi Juke box

That would work.
As you indicated, not space efficient, or TIME efficient, since I have MANY hours of files that Iwould need to play through and "record".

I am probably getting too entangled in the SYSEX solution,  it just seems the right way to do it.
A small instrument change file inserted between "sets", some of which could be several hours of music.


jcfelice88keys wrote:

Hello Mr. Aandrmusic:

Here is a completely different approach to consider:  What if you were to "pre-record" all of your midi files of interest, selecting the piano you feel most appropriate for each piece, and then "render" those midi files as audio files, .wav, 320kbps mp3, etc.  Doing this work ahead of time, and having an arsenal of rendered audio files, then your juke box might be a relatively simple matter of constructing a playlist at will from the files stored on your computer.

Advantages: 
1) You will have pre-determined (via trial and error) which piano you consider most appropriate for the task or musical genre at hand.
2) You will be able to gather a playlist almost at random, such that it may be the analog of your own private streaming service where Pianoteq is the star.

Disadvantage:
The major disadvantage I envision is that audio files consume far more disk memory than do midi files.  As inexpensive as storage has become, this may or may not be a physical problem for you.

Good luck on whichever avenue you pursue.

Cheers,

Joe

Re: Midi Juke box

As I recall in the days of "Hardware" midi instruments there was usually something in the manual called approximately "MIDI implementation chart"  - something like that.

Well, I went looking for something like that in the Pianoteq manual  and didn't find it.

So, now I have a "feature request".
Could a midi implementation section PLEASE be added to the manual ?

Re: Midi Juke box

I suppose somehow you could configure your copy of Pianoteq software to change presets from MIDI program change messages, if you had wanted to insert them into the beginnings of files you want to change to different presets. 

It’s possible.

It just might take some research on your part!

Last edited by Amen Ptah Ra (17-08-2020 17:30)
Pianoteq 8 Studio Bundle, Pearl malletSTATION EM1, Roland (DRUM SOUND MODULE TD-30, HandSonic 10, AX-1), Akai EWI USB, Yamaha DIGITAL PIANO P-95, M-Audio STUDIOPHILE BX5, Focusrite Saffire PRO 24 DSP.

Re: Midi Juke box

Amen Ptah Ra wrote:

I suppose somehow you could configure your copy of Pianoteq software to change presets from MIDI program change messages, if you had wanted to insert them into the beginnings of files you want to change to different presets. 

It’s possible.

It just might take some research on your part!

It is easy to configure Pianoteq to change presets from MIDI program changes:

From the Pianoteq UI click on Options and then click on MIDI
Add the Program Change MIDI mappings you want.
Be sure to save the Global MIDI map

Re: Midi Juke box

BryceJ wrote:
Amen Ptah Ra wrote:

I suppose somehow you could configure your copy of Pianoteq software to change presets from MIDI program change messages, if you had wanted to insert them into the beginnings of files you want to change to different presets. 

It’s possible.

It just might take some research on your part!

It is easy to configure Pianoteq to change presets from MIDI program changes:

From the Pianoteq UI click on Options and then click on MIDI
Add the Program Change MIDI mappings you want.
Be sure to save the Global MIDI map

Since I started this thread I have remembered that SOMETIMES (although rarely) I set the shuffle option.
When I do that the sysex messages would have to be sent for each file, i.e. NOT for a "set" of ragtime tunes played on a U4 honky tonk, or a "set" of Brahms played on a grand.

Right now it seems that I will be inserting sysex messages into the midi files themselves, i.e. as a settings header.

Re: Midi Juke box

In my version it doesn't seem to be quite like that, however I made it work as follows;
a) File -> Audio/MIDI setup
b) Global midi mapping - Full featured
c) Bottom right corner - Insert
d) Click on the "Invalid" in the first field of the new row, menu pops up.
e) Go down to -> Program change -> Select a program change number
f) select "any" channel, change that if you want to
g) Third column select "load preset"
h) Fourth column - your instruments should pop up, select one.
i) right click on the box displaying "full featured" and select "save as" - name it and save it.

- - than comes the small issue of creating the code fragment that will issue a midi message "Program Change n"
that will be prepended to the midi files that you want this instrument to be selected for.

...onward and upwards

Last edited by aandrmusic (20-08-2020 15:25)

Re: Midi Juke box

I found a web page that lists midi manufacturers' IDs.
e.g. if you send a sysex message to a Roland instrument you have to specify the Roland ID (41H) in the message.

The list is supposedly up to date as of this month, but....... SURPRISE !!!   Modartt isn't listed, neither is Pianoteq.

https://www.midi.org/specifications-old...id-numbers

Re: Midi Juke box

SysEx messages are totally unnecessary since you’ve the presets in a software (PIANOTEQ) that’s general MIDI compatible.  There seems to be some confusion about messages which are SysEx messages and messages which are Program Change.

SysEx (system exclusive) is model specific.  It usually pertains to a specific piece of manufactured hardware.  It’s been used to copy and back up settings on something like a separate drum machine, keyboard, synth or sound module.

https://youtu.be/Tj9uJ8i0ocg

While SysEx is model specific per a manufacturer’s single piece of gear, MIDI Program Change messages however belong to a general MIDI specification accepted by a wide range of various manufacturers’ makes and models of gear.  Any of which uses MIDI.

Also any of which uses Program Change messages as they might tell a device or software which patch (instrument) is necessary to play your specific MIDI file and when exactly it’s necessary to change patches (instruments).

If you’re wanting to have instrument changes inside your playlist, you may insert directly the appropriate MIDI Program Change messages into the individual MIDI files themselves as they appear within the playlist.

Now needed is a capable MIDI editor or DAW that of course can allow you to edit and save an edit to any MIDI file.

You know you’ve to check this info out for yourself.  Man, I’m just theorizin’!

Although I will say I’m glad I suggested a playlist feature to Modartt when it had none.

See: https://forum.modartt.com/viewtopic.php...11#p947811.

Perhaps you and I will get to see a loop feature added by a version 7!

Pianoteq 8 Studio Bundle, Pearl malletSTATION EM1, Roland (DRUM SOUND MODULE TD-30, HandSonic 10, AX-1), Akai EWI USB, Yamaha DIGITAL PIANO P-95, M-Audio STUDIOPHILE BX5, Focusrite Saffire PRO 24 DSP.

Re: Midi Juke box

I've just checked into something pointed out by BryceJ. 

Essentially, I went to view the pane that displays Options and under the MIDI tab at the very bottom of it, where I cursory clicked onto the button labeled Insert.  Next I cursory clicked on the Invalid button that was subsequently inserted.  From it I scrolled down to select Program Change.  It is where you can select whatever Program Change number (1-128) you may have previously put into any MIDI file appearing on your playlist.  Next to that button is another that you can use to specify any MIDI channel, if you like.  But, next to it is importantly a button I used to scroll to Load preset and have that designation show up on it.  This has resulted in an adjacent designating '(none)' showing.  When I cursory clicked onto it I got a list of all the presets for me just to select whichever one from among them I wanted.

It seems you associate your original Program Change number —that you put previously inside your MIDI file— with the same Program Change number now under the MIDI tab.

Maybe this info is most helpful.  You let me know.

Last edited by Amen Ptah Ra (27-08-2020 03:02)
Pianoteq 8 Studio Bundle, Pearl malletSTATION EM1, Roland (DRUM SOUND MODULE TD-30, HandSonic 10, AX-1), Akai EWI USB, Yamaha DIGITAL PIANO P-95, M-Audio STUDIOPHILE BX5, Focusrite Saffire PRO 24 DSP.

Re: Midi Juke box

Amen Ptah Ra wrote:

I've just checked into something pointed out by BryceJ. 

Essentially, I went to view the pane that displays Options and under the MIDI tab at the very bottom of it, where I cursory clicked onto the button labeled Insert.  Next I cursory clicked on the Invalid button that was subsequently inserted.  From it I scrolled down to select Program Change.  It is where you can select whatever Program Change number (1-128) you may have previously put into any MIDI file appearing on your playlist.  Next to that button is another that you can use to specify any MIDI channel, if you like.  But, next to it is importantly a button I used to scroll to Load preset and have that designation show up on it.  This has resulted in an adjacent designating '(none)' showing.  When I cursory clicked onto it I got a list of all the presets for me just to select whichever one from among them I wanted.

It seems you associate your original Program Change number —that you put previously inside your MIDI file— with the same Program Change number now under the MIDI tab.

Maybe this info is most helpful.  You let me know.

I agree that, while initially I had gone toward trying to solve this with sysex (faded memory of ensonique and the 80s) it is in fact program change (patch change) that I really want.

A few posts ago (reply #11) I documented the selection to get pianoteq to respond toto a patch change, similar to what you say above.

My problem is now down to hacking up a code fragment that issues "Patch change n" and prepending it to the midi file(s).

Midieditor seems to have the capability, I just need to write the code - and for that I probably need more documentation on the midi protocol.

Thanks.

Last edited by aandrmusic (28-08-2020 14:05)

Re: Midi Juke box

I use a simple editor. 

I use MidiYodi.

Pianoteq 8 Studio Bundle, Pearl malletSTATION EM1, Roland (DRUM SOUND MODULE TD-30, HandSonic 10, AX-1), Akai EWI USB, Yamaha DIGITAL PIANO P-95, M-Audio STUDIOPHILE BX5, Focusrite Saffire PRO 24 DSP.

Re: Midi Juke box

Amen Ptah Ra wrote:

I use a simple editor. 

I use MidiYodi.

Finding an editor that will do this simply is the key. It is such a trivial task that most editors seem to hide the commands, focusing on more complicated features. Once I found an editor that worked for me, I just kept using it. I will have to checkout MidiYodi as Calkwalk, although now free, is really overkill for this task.

Re: Midi Juke box

MidiYodi has a file open button labeled MIDI File Explorer.  It opens a window into which loaded MIDI files can remain stored while you could work on each of the files individually.  You may load into the MIDI File Explorer perhaps just the files you want to assign a particular preset or otherwise place your files in some order there to have assigned firstly only those chosen showing for that one preset but followed by secondly others intended for another, and repeatedly even others again intended for different presets entirely...  All of these in some order of yours might go as a list into the window of the MIDI File Explorer.

However just to expedite you maybe could organize files intended for a specific preset into their own folder and others subsequently into theirs.  Whole folder contents are loadable at any one time.

MidiYodi has even its own add MIDI event button, very useful whenever you need to insert program change events quickly.

Last edited by Amen Ptah Ra (28-08-2020 00:14)
Pianoteq 8 Studio Bundle, Pearl malletSTATION EM1, Roland (DRUM SOUND MODULE TD-30, HandSonic 10, AX-1), Akai EWI USB, Yamaha DIGITAL PIANO P-95, M-Audio STUDIOPHILE BX5, Focusrite Saffire PRO 24 DSP.

Re: Midi Juke box

Thanks, I'll check out MidiYodi.

BTW, in my browsings I found a faurky decent write up of midi "bits and bytes" on arduino site.
https://tttapa.github.io/Arduino/MIDI/C...tocol.html

Last edited by aandrmusic (28-08-2020 14:09)