jbvdb493 wrote:Yeah it seems to only send a program change on a pattern change!
Yes, and if you send it a program change it selects a pattern
in this context progam=pattern
It sends a program change when you change patterns, and changes patterns in response to the appropriate program change. It was never meant to send program changes to external synths.
Much like changing a patch on a synth can send the program change for that patch, and sending a program change to a synth selects a patch....
Yeah, that's what I want the Electribe to do! To make my slaved synth switch from, lets say, pattern/program/sound A1 to A2 when I change pattern on the Electribe from one pattern to the next.
When I switch patterns on a Electribe with a microkorg slaved it changes the program on the MK (obviously the same company). But it doesn't switch programs on my Roland... When my Roland is the master and the Electribe the slave the Electribe follows every program change like a baby. Why does it not work the other way around?!?!?
thesigma wrote:Again, I have many many issues with the new electribes, enough that I did not buy either of them, but seriously it was never advertised as a sequencer for external gear and was indeed intended to be a stand alone all in one workstation type of box.
Yes the documentation sucks, the manual is a joke, dont believe me look at the ESX and EMX manual. I don't know where you got the idea that it would send program changes to control external synths like a real sequencer (Emu Command station, Yamaha RS-7000, etc...) probably the MIDI implementation chart Which just simply has a check mark next to transmit and recieve program change, Which it indeed does do.
I'm not defending this thing, check the electribe threads my opinions are well expressed there. I dont like it...for many reasons.
FWIW an SP-404 wont controll external synths very well either but it will do some things better than E2S, like looping and sample memory.
This makes me wonder why they decided to call the new Electribes for Electribes. The new tribes are childs toys compared to the old Electribes (I own the E2S + the Electribe MX-1). The new tribes makes our tribe weak...
jbvdb493 wrote:Yeah it seems to only send a program change on a pattern change!
Yes, and if you send it a program change it selects a pattern
in this context progam=pattern
It sends a program change when you change patterns, and changes patterns in response to the appropriate program change. It was never meant to send program changes to external synths.
Much like changing a patch on a synth can send the program change for that patch, and sending a program change to a synth selects a patch....
Yeah, that's what I want the Electribe to do! To make my slaved synth switch from, lets say, pattern/program/sound A1 to A2 when I change pattern on the Electribe from one pattern to the next.
When I switch patterns on a Electribe with a microkorg slaved it changes the program on the MK (obviously the same company). But it doesn't switch programs on my Roland... When my Roland is the master and the Electribe the slave the Electribe follows every program change like a baby. Why does it not work the other way around?!?!?
Perhaps check your midi filter seting. It controls what the tribe sends. Otherwise check what the Electribe is sending matches what Roland wants to see.
thesigma wrote:Again, I have many many issues with the new electribes, enough that I did not buy either of them, but seriously it was never advertised as a sequencer for external gear and was indeed intended to be a stand alone all in one workstation type of box.
Yes the documentation sucks, the manual is a joke, dont believe me look at the ESX and EMX manual. I don't know where you got the idea that it would send program changes to control external synths like a real sequencer (Emu Command station, Yamaha RS-7000, etc...) probably the MIDI implementation chart Which just simply has a check mark next to transmit and recieve program change, Which it indeed does do.
I'm not defending this thing, check the electribe threads my opinions are well expressed there. I dont like it...for many reasons.
FWIW an SP-404 wont controll external synths very well either but it will do some things better than E2S, like looping and sample memory.
This makes me wonder why they decided to call the new Electribes for Electribes. The new tribes are childs toys compared to the old Electribes (I own the E2S + the Electribe MX-1). The new tribes makes our tribe weak...
thesigma wrote:Perhaps check your midi filter seting. It controls what the tribe sends. Otherwise check what the Electribe is sending matches what Roland wants to see.
I know I can check the Tribes midi out with midi ox.
But how do I check what the Roland wants?
I'm not to good on understanding the Midi implementation.
Here (first picture) is the midi receive channel on my Roland. The picture below is what someone in this thread saw with midiox on the New tribe. http://imgur.com/crDUdQz
The Tribe has the filter off, so it should send everything...
thesigma wrote:What is the Roland unit you have? It looks like you need RX bank select and RX program change both on.
I have an JD-XA. I have checked, and they are both on. Program change midi channel is the same as the tribes global channel. The weird part is that the Jd-xa starts its internal sequencer when I hit play on the tribe + follows my tribes tempo. And this behavior is exactly what I want. If it only could change the program aswell... Don't know if you are famiiar with the jd-xa. But the sequencer is not a real sequencer as much as it is to be seen as a modulation source. So there is no way of chaining patterns to each other. Everytime it changes programs the sequencer stops. Thats why i don't want it to be the master. Because when the tribe is the master, and if it could change the jd-xas program, the jd-xas sequencer would start automatically on each change and stay in sync.
So, just hypothetically speaking (i'm not in my studio atm, so can't try my hypothesis). I have checked the Electribe 2 Sampler with MidiOX and performed one pattern change on every 16 midi channel. Since the Electribes have non-editable midi-functionality. Could the "correct" program change messages be hiding on another midi channel on the Electribe? http://imgur.com/8pmqeQs
Just make sure the channel matches the channel the JDXI wants to see it on. I don't own one so I don't know which channel that is.
Electribe sends on the global channel. It is sending a bank select MSB And bank select LSB, and the then program change. These all need to match what the JDXI wants to see, and AFAIK you can't change what is sent from the electribe.
Might want to look at what the JDXI sends and compare the two.
thesigma wrote:Just make sure the channel matches the channel the JDXI wants to see it on. I don't own one so I don't know which channel that is.
Electribe sends on the global channel. It is sending a bank select MSB And bank select LSB, and the then program change. These all need to match what the JDXI wants to see, and AFAIK you can't change what is sent from the electribe.
Might want to look at what the JDXI sends and compare the two.
Just to be clear. I have the big brother JD-XA, not the JD-XI.
I'll check what PC the JD-XA sends out later this evening!
The funny (or not so) part is that when the Electribe is slaved to the JD-XA, my Electribe changes its patterns with every program change on my JD-XA...
So, now I'm acctually on to something here!
First of all, I have been telling lies here. It was not my Electribe 2 Sampler which reacted to the Roland JD-XAs program changes. It was my Electribe MX-1... Sorry for that!
I have now checked what Midi messages my JD-XA sends out on program changes. And everything looks similar, except one thing... The JD-XA sends out messages on Data 2, which the Electribe doesn't do... So It looks like this is why my JD-XA isn't responding to the Electribes Pattern Changes.
But what I don't understand is why my MX-1 reacts to program changes and the E2S doesn't when slaved to the JD-XA. Perhaps because the MX-1 is old (midi seen any improvments last 15 years?) and simply ignores the Data 2 part of the message.
Anyone know what function the value 55 on Data 2 has on the JD-XA?
Here is an Album with MidiOX monitored MX-1, E2S and the JD-XA. (The Electribes shows identical results.) I monitored what information pattern 1/program 1 sent out on each Midi Channel.
Midi was invented in the 80's and has remained basically unchanged. I think there was a v1.1 revision, also back in the 80s but nothing has changed in the last 15 years for sure.
Each message has a status byte, and two data bytes. The status byte determines what kind of message it is, and also the channel I believe....forgive me I'm a bit rusty on this stuff....status bytes start with a 1 in binary and data bytes a 0 in binary. This is how the computer can tell them apart.
In midi ox window the bytes are written in hexadecimal, basically the numbers 0-9 and letters A-F represent the 8 bits in a byte, example FF is the highest number, which is 11111111 in binary or 255 in decimal. A data byte is going to look like 0xxxxxxx in binary, the 0 identifiting it as a databyte, leaving 7 bits for the actual data which is why most midi messages have a range of 0-127, sometimes converted on displays as 1-128 for us humans to read more logically since we generally don't start counting at 0. Two messages can be combined together a 14 bit value, NRPN does this as does bank select and a few others. 14 bits gives us 16,384 values.
So.... B0 is a control change message on ch0, or what we would call Ch 1.
The data 1 byte tells us which cc it is, 00 is bank select MSB. MSB is Most Significant Byte, this tells us it is the first byte of a two byte value.
The next cc with data 1 set to 20 tells us it is the LSB, Least significant Byte.
Status byte C0 is a program change on ch0.
All this to say.... The device in your. First screenshot on that link is selecting bank 55 00, and changing to program 00
The other two devices are selecting bank 00 00, program 00
I don't know which device is which, but the first one shouldn't change or respond to messages from the second two, and both of those should respond to each other because they are sending the same messages.
Is that what is happening?
So the problem is the bank select message, you would need some way to change the bank select messages to match. Midi ox can do some conversions but I don't know if that is one it can do. It's actually a cc message so I would imagine it should be able to do it. However then you need the computer between your devices all the time. The MIDI Solutions MIDI processor may be able to do it to.
Looks like I got lost while explaining and skipped the data2 part. Data 2 is the actual value of the control change, it is telling which bank to select.
I do not know why the emx1 responds to that message, the midi implementation says that:
bank 00,00 program 00-3F is pattern a01 through a64
Bank 00,00 program 40-FF is pattern B01-B64
Bank 00, 01 program 00-3f is pattern C01-C64
Bank 00,01 program 40-FF is pattern D01-D64
So it should not respond to anything on bank 55,00
There is however one possibility
The programmers were lazy and just ignored the bank select MSB, since it is always 00 in the chart above. This would explain why the Roland does not respond to the EMX, it is not sending the right message....and it shouldn't respond to the Roland but again if the programmers were lazy....
I can try sending that message to my EMX1 and see what happens.
Perhaps in the new electribe, they actually handle the event properly.
Now I'm not sure why the Roland is sending on that bank, how many patch banks does it have?
Midi was invented in the 80's and has remained basically unchanged. I think there was a v1.1 revision, also back in the 80s but nothing has changed in the last 15 years for sure.
Each message has a status byte, and two data bytes. The status byte determines what kind of message it is, and also the channel I believe....forgive me I'm a bit rusty on this stuff....status bytes start with a 1 in binary and data bytes a 0 in binary. This is how the computer can tell them apart.
In midi ox window the bytes are written in hexadecimal, basically the numbers 0-9 and letters A-F represent the 8 bits in a byte, example FF is the highest number, which is 11111111 in binary or 255 in decimal. A data byte is going to look like 0xxxxxxx in binary, the 0 identifiting it as a databyte, leaving 7 bits for the actual data which is why most midi messages have a range of 0-127, sometimes converted on displays as 1-128 for us humans to read more logically since we generally don't start counting at 0. Two messages can be combined together a 14 bit value, NRPN does this as does bank select and a few others. 14 bits gives us 16,384 values.
So.... B0 is a control change message on ch0, or what we would call Ch 1.
The data 1 byte tells us which cc it is, 00 is bank select MSB. MSB is Most Significant Byte, this tells us it is the first byte of a two byte value.
The next cc with data 1 set to 20 tells us it is the LSB, Least significant Byte.
Status byte C0 is a program change on ch0.
All this to say.... The device in your. First screenshot on that link is selecting bank 55 00, and changing to program 00
The other two devices are selecting bank 00 00, program 00
I don't know which device is which, but the first one shouldn't change or respond to messages from the second two, and both of those should respond to each other because they are sending the same messages.
Is that what is happening?
So the problem is the bank select message, you would need some way to change the bank select messages to match. Midi ox can do some conversions but I don't know if that is one it can do. It's actually a cc message so I would imagine it should be able to do it. However then you need the computer between your devices all the time. The MIDI Solutions MIDI processor may be able to do it to.
Thanks for your detailed clarification!
It's starting to be clearer now... And yes, that is exactly what happens. The two Electribe changes patterns/programs when Slaved to eachother. The first picture was the Jd-xa, the second the Sampler, the third the MX-1.
I'll have to find a hardware solution because I don't trust computers.. Hopefully the Event Processor from Midi Solutions...
thesigma wrote:Looks like I got lost while explaining and skipped the data2 part. Data 2 is the actual value of the control change, it is telling which bank to select.
I do not know why the emx1 responds to that message, the midi implementation says that:
bank 00,00 program 00-3F is pattern a01 through a64
Bank 00,00 program 40-FF is pattern B01-B64
Bank 00, 01 program 00-3f is pattern C01-C64
Bank 00,01 program 40-FF is pattern D01-D64
So it should not respond to anything on bank 55,00
There is however one possibility
The programmers were lazy and just ignored the bank select MSB, since it is always 00 in the chart above. This would explain why the Roland does not respond to the EMX, it is not sending the right message....and it shouldn't respond to the Roland but again if the programmers were lazy....
I can try sending that message to my EMX1 and see what happens.
Perhaps in the new electribe, they actually handle the event properly.
Now I'm not sure why the Roland is sending on that bank, how many patch banks does it have?
It has 16 banks with 16 programs on each bank. 16x16 = 256 presets
I'm going to test one last thing before buying the event processor. It is a long shot, and will most likely not work.
But on the JD-XA there is the option to turn off "bank recieve" in the midi-section. My hopes is that turning this of, the JD-XA somehow magically understands the Electribe.
Deep inside I know that this will not work. But until trying it, I have my hopes up!