MadTracker.org
Forum - Sending midi CC and Program Change commands
Log in Log in Profile Profile Search Memberlist Usergroups FAQ FAQ
 Forum
Help and support
 Sending midi CC and Program Change commands
Reply to topic Post new topic  
RonaldS
User


Joined: 09 Oct 2007
Location: Netherlands
PostPosted: Tue Oct 09 2007 08:45    
Sending midi CC and Program Change commands
Reply with quote

Hello all,

I have a question regarding sending midi cc and program change messages. My setup is a Korg EMX-1 (groovebox like) hooked up to a PC (running MadTracker v2.6.1) via a Midi to USB box. Now, let me try to explain what happens:

At the EMX I select a certain pattern (the EMX can store up to 256 patterns or so), lets say pattern D55. In Madtracker I create a new instrument and switch 'Midi on' and select (for example) 'Midi Channel 1'. Next I enter some notes in the Madtracker pattern editor part and when I start playback, I hear the EMX playing these notes on its current 'Midi Channel 1'. So far so good ...

But at some point, the EMX 'automatically' switches to pattern A0 (the 'default' pattern selected on power on of the EMX). I haven't figured out at which point this exactly happens (it differs somewhat), but it seems that it happens at the start of a pattern in Madtracker.

There are a few workarounds, for example:

1) copy my D55 pattern to A0 on the EMX itself, but that is obviously not what I want
2) send a CC / Program Change command to select pattern D55 at the beginning of a / every pattern.

So my questions are:

1) to what extend is Midi implemented in Madtracker at the moment ? I am aware of that midi is not fully implemented in
Madtracker. Can I send CC and Program Change (PC) commands ?

2) If it is possible to send CC and PC commands, how do I do this ? In the 'effects' column in the Madtracker pattern editor I can only enter something like 'CC3201' but not 'PCxxxx' ? Can you give me an example ? To change a pattern at the EMX I have to send a CC00 value 00 (bank select MSB) and CC32 value 00 or 01 (bank select LSB) and a PC value 00 to 7F (selecting the actual pattern).

3) Is there a way to monitor the midi commands send from / to the EMX ? I have tried using Midi-ox, but I'm not able to open both Midi-ox and Madtracker at the same time (message 'can't open midi port because it is already in use by another program').

Thanks in advance.
Kind regards,

Ronald
 Back to top
View user's journal Send private message Visit poster's website
SX001
Registered User


Joined: 22 Sep 2006
PostPosted: Mon Oct 22 2007 16:18    
Re: Sending midi CC and Program Change commands
Reply with quote

RonaldS wrote:

At the EMX I select a certain pattern (the EMX can store up to 256 patterns or so), lets say pattern D55. In Madtracker I create a new instrument and switch 'Midi on' and select (for example) 'Midi Channel 1'. Next I enter some notes in the Madtracker pattern editor part and when I start playback, I hear the EMX playing these notes on its current 'Midi Channel 1'. So far so good ...



ok, the instrument is mapped as midi synth with certain output on channel 1, but what midi patch? this must be also selected. So far I have understood that it does not change bank, only the preset on current bank.

automagically? what if you stop and restart the pattern in madtracker? then it must switch the pattern which is selected on instrument configuration in MT.


Changing patches while playing on synth I made with just selecting different instruments (at first some notes with instrument 1 (midi channel 1, patch 16), and then instrument 2 (midi channel 1, patch 15).

Does it help?
 Back to top
View user's journal Send private message
RonaldS
User


Joined: 09 Oct 2007
Location: Netherlands
PostPosted: Mon Oct 29 2007 10:16    
Re: Sending midi CC and Program Change commands
Reply with quote

Thanks for your reply. I'll check out your suggestions (I'm at work a.t.m., so not really nearby my EMX Smile

SX001 wrote:

ok, the instrument is mapped as midi synth with certain output on channel 1, but what midi patch? this must be also selected. So far I have understood that it does not change bank, only the preset on current bank.


Well, I want to be able to set a certain pattern / set at my EMX (ranging from A0 to D63). I can do this manually at the EMX itself obvious, but when I start using Madtracker (as described in my initial post) the EMX somehow switches to its default pattern (A0). Not immediately, but after playing a few patterns in MT.

SX001 wrote:

automagically? what if you stop and restart the pattern in madtracker? then it must switch the pattern which is selected on instrument configuration in MT.


Ehm, I can't quite follow you here .. what do you mean by "it must switch the pattern which is selected on instrument configuration in MT" ?

SX001 wrote:

Changing patches while playing on synth I made with just selecting different instruments (at first some notes with instrument 1 (midi channel 1, patch 16), and then instrument 2 (midi channel 1, patch 15).

Does it help?


I'll give it a go Smile Thanks again!

Ronald.
 Back to top
View user's journal Send private message Visit poster's website
SX001
Registered User


Joined: 22 Sep 2006
PostPosted: Sat Jan 01 2011 17:28    
Re: Sending midi CC and Program Change commands
Reply with quote

thats my example which has only 256 patches...

example (but based on my roland synths)
instrument 1: midi channel 1, program 9
instrument 2: midi channel 1, program 10



1 CC0051 (instrument 1, bank select 51)
C#3 2 01
C#3 1 (instrument 1 switched NOW to bank 1, patch 9

--
...
1 CC0050 (instrument 1, bank select 50)
C#3 2 01
C#3 1 (instrument 1, note C#3, bank 0, patch 9)


thats the example of changing between the presets I19 and A19 on Roland JD990 which has 256 patches.

[/quote]
3) Is there a way to monitor the midi commands send from / to the EMX ? I have tried using Midi-ox, but I'm not able to open both Midi-ox and Madtracker at the same time (message 'can't open midi port because it is already in use by another program').
[/quote]

Yes, I monitored it with SendSX 32 bit V1.30 beta 2
To see what Madtracker sends out then I just connected MIDI out port to MIDI IN and monitored with SENDSX (I have a computer with many MIDI interfaces).

You can also configure Madtracker to use just midi output. and then open that midi monitoring program.

WRite me how its now.

And a happy new year!

I can make an example if needed to illustrate it "from wood and painted to red!" Smile


Last edited by SX001 on Mon Jan 03 2011 22:17; edited 1 time in total
 Back to top
View user's journal Send private message
SX001
Registered User


Joined: 22 Sep 2006
PostPosted: Mon Jan 03 2011 22:15    
Re: Sending midi CC and Program Change commands
Reply with quote

RonaldS wrote:
Korg EMX-1 ...

But at some point, the EMX 'automatically' switches to pattern A0 (the 'default' pattern selected on power on of the EMX). I haven't figured out at which point this exactly happens (it differs somewhat), but it seems that it happens at the start of a pattern in Madtracker.


madtracker does not change the preset in the synth without reason. The reason can be that synth is responding to your "Change Program" commands, your mapped instrument in madtracker uses PROGRAMME 1.

Quote:

To change a pattern at the EMX I have to send a CC00 value 00 (bank select MSB) and CC32 value 00 or 01 (bank select LSB) and a PC value 00 to 7F (selecting the actual pattern).


oh now I see what went wrong. The values in Madtracker you have to write in hex, not in decimal.
So
CC00xx (where that xx is MSB)
CC20ii (where that ii is LSB)
and then hit the note with instrument.

the "Program Change" information is your mapped instrument program itself!

I made that "Ticks:" value in tracker window to value 1, otherwise the madtracker will send a way too much midi data as effect. Very Happy
 Back to top
View user's journal Send private message
SX001
Registered User


Joined: 22 Sep 2006
PostPosted: Mon Jan 03 2011 22:22    
Re: Sending midi CC and Program Change commands
Reply with quote

RonaldS wrote:

SX001 wrote:

automagically? what if you stop and restart the pattern in madtracker? then it must switch the pattern which is selected on instrument configuration in MT.


Ehm, I can't quite follow you here .. what do you mean by "it must switch the pattern which is selected on instrument configuration in MT" ?


1. stop the MT2,
2. select manually on your synth some other pattern,
3. restart the pattern again which uses that mapped-to-midi instrument.

Result: Then it changes again the synth preset as it hits the note.


And that synth preset number which it selects is the exact same window where you do the midi mapping.

try all of that above and post how is it.I'm glad to help you.
 Back to top
View user's journal Send private message
RonaldS
User


Joined: 09 Oct 2007
Location: Netherlands
PostPosted: Tue Jan 04 2011 22:09    
Reply with quote

Hey!

Well, I gave it another try and guess what? It works! Very Happy

1. you where right about the dec / hex part, I have to send CC00xx (=00dec obvious) and CC20xx (=32dec) to enable 'pattern select'

2. I somehow completely missed out on the "Programme" control on the Synthesizer tab when doubleclicking the particular Instrument (that is linked to the midi channel / EMX). Changing this value changes the pattern on the EMX Confused Can't believe I missed that one! Wink

(3. Changing the ticks to 1 too)

So, although I don't use the EMX that much a.t.m., I'm glad I have this issue solved.

Thanks!
 Back to top
View user's journal Send private message Visit poster's website
SX001
Registered User


Joined: 22 Sep 2006
PostPosted: Tue Jan 04 2011 22:49    
Reply with quote

Cool!

Just some details more:

just sending these CC commands on synth becomes only actual AFTER synth gets "program change" message. It is so described in midi section in every synthesizer. BUt here comes somewhat trickier part -- Madtracker sends out that "program change" message ONLY on these circumstances
a) the first use of the instrument. (i.e. song starts and rolls on some patterns and then that melody instrument hits in).
b) when there have been another instrument used before on that same channel. (you can map several instruments to the same midi channel with different programs, each time when you use these instruments the Madtracker sends out "program change" message. This way its actually possible to make wave sequences where on every line there is different synt preset).

But here comes just ONE EXCEPTION:
the problem arises if you want to use the same preset number 4, but just one preset no:4 in USER bank and another preset no:4 in PRESET-A bank. If just sending CC commands and then hitting the same instrument then madtracker does NOT send that "program change" becouse program knows that it never changed. There will be no problem if it is switching between presets no:5 in USER bank and no:5 in PRESET-A. Then it sends that "program change". BUt what if having such wavesequence around different banks? So, just you have to change temporarily to another preset and back.

I solved that thing this way that I just create one fake instrument more which is on exact same channel but just another preset number which differs from what I use, and I use that in conjunction with my CC commands BEFORE using that instrument what I want to use. Smile it is something like these 4 lines for changing preset between the banks

CC00xx
CC20yy
(hitting note with instrument A, mapped on MIDI ch 1, preset 250 which is quiet and "fake" instrument)
(hitting note with instrument B, mapped on MIDI ch 1,
preset 12 or etc whatever which I want to use).

It may be different to understand, but when trying it out, then you will understand.
But thats only needed to know if the situation will arise that "why these CC commands are not working again as expected?" Becouse well... in MT2 it is really some sort of debugging ...

another things what you can do with these CC effects on some modern synths i found quite interesting list:

*reverb and other built in effects parameters change (these commands I guess have effect immediately no need for "program change").
* vibrato/modulation depth or LFO triggering
* tones on/off switching (if preset consists of several tones in group)
* portamento on/off and portamento time
* mono / omny MIDI mode switching
* global tuning change
* aftertouch level
* breath level
* panning (in madtracker it is panning column already)
* hold - pedal tones.
*all-note-offs command
* foot
* envelope settings in synth, filter parameters (just check your synth manual).

Anyway, in simpler way if just using the commands to change presets then with those commands you can switch between
performance /patch /rhytm modes too. With a good CC commands programming Madtracker can adjust synths from song to song so that you just need to load the song and hit CTRL to start the song and without touching the synth sound module at all. Just imagine having several madtracker files where all those things (performance number and patch numbers, volume levels, effect levels) will adjust Madtracker itself.
 Back to top
View user's journal Send private message
Reply to topic Post new topic  
Display posts from previous:   
Page 1 of 1 All times are GMT + 1 Hour


Powered by phpBB © phpBB Group

Copyright © 1998-2005 Yannick Delwiche
All rights reserved