Jump to content

Midi Capture Utility - Advice?


Recommended Posts

Thanks - some buttons on the Roland A33 arent sending any midi - its a bit of an experiment going on here.  I wanted a cheap 76 key midi controller - mainly for live with Mainstage - when I found this Roland A-33 for $75.  It's a weird animal - 2 midi out, 1 In, 2 Thru - Upper & Lower keyboard splits and layers by 2 different midi channels, etc.  I've got most of the buttons working  or mapped to do something useful, but the "tone presets" are confusing.  Roland had this "GS" midi extensions for integration with Sound Canvas modules.  When I click a button it sends CC32 note 93 and a value of 0 or 31?  Presumably, bank and program selection... but most of the buttons send the same message.... I gotta think about how best to use those buttons.

 

A33-Presets-Buttons.jpg

Link to comment
Share on other sites

12 hours ago, Nunstummy said:

When I click a button it sends CC32 note 93 and a value of 0 or 31?  Presumably, bank and program selection... but most of the buttons send the same message.... I gotta think about how best to use those buttons.

A quick look at the manual shows that those "buttons" are programmable (which would explain the identical messages from different buttons). As far as I understand it those are the internal "patches" that contain (among other things) cc32, cc0 and Program Change for lower and upper section.

 

  • Like 1
Link to comment
Share on other sites

7 hours ago, Atlas007 said:

Isn't a little hazardous to go on stage with a dubious gear?

I used to feel that way.  More concerned my MacBook would choke or some random app would freeze up Mainstage, but it’s been amazingly stable.  I often played in multiple bands at the same time, so I’d have different concerts setup in MainStage with all the patches in set order - ready to go.  Sometimes, I’d leave a 2nd midi controller or synth in my car, just in case.  But the single point-of-failure has been my laptop.

Link to comment
Share on other sites

2 hours ago, gacki said:

those "buttons" are programmable (which would explain the identical messages from different buttons).

Thx!  The manual suggests a hardware reset 'Write' button + power for 15 seconds, which I thought would restore the defaults to those buttons, but maybe the default IS all the same midi messages?  The challenge is that the A33 has no display, so you can't tell if the sequence of programming new midi messages is actually being stored.  Funny... old keyboards used to have no LCD display... I forgot.  I'll play around with changing the midi messages of these buttons to see if they get saved.  Frankly, I'm not sure what to use these buttons for.  In Mainstage there is no 'go direct to a preset' function - only Next/Prev preset or Next/Prev group.  And in Logic... well, what I could use most is transport controls from the A33.  Making an old midi controller do modern things (we take for granted) is interesting.

Link to comment
Share on other sites

8 minutes ago, Nunstummy said:

Thx!  The manual suggests a hardware reset 'Write' button + power for 15 seconds, which I thought would restore the defaults to those buttons, but maybe the default IS all the same midi messages?

The manual I'm having mentions 30 seconds for the whole process.

Patch 1 should be cc0 and cc32 with a value of 0, Program Change with a value of 1.

Patch 2 should be cc0 and cc32 with a value of 0, Program Change with a value of 12.

and so on. It's not consecutive; but it somehow corresponds to the yellow lettering.

Can you check this with the MIDI monitor again and post the data sent from the A-33?

13 minutes ago, Nunstummy said:

In Mainstage there is no 'go direct to a preset' function - only Next/Prev preset or Next/Prev group. 

Of course there is: Each Mainstage Patch has its own Program Change (if desired also with a Bank change). So programming those A-33 patches would give you direct access to 32 Mainstage slots.

17 minutes ago, Nunstummy said:

The challenge is that the A33 has no display, so you can't tell if the sequence of programming new midi messages is actually being stored.  Funny... old keyboards used to have no LCD display... I forgot.

As long as those old keyboards send something meaningful and generally usable it doesn't really matter what it is because we can always re-map and mangle this stuff in Mainstage itself. I personally would be very happy with a "dumb" masterkeyboard that has a whole lot of numbered (!) buttons for calling up patches. Everything else (splits and layers, velocity mapping and whatnot) can easily be done in Mainstage. Should I ever come across an affordable Yamaha  KX-76 or KX-88 I wouldn't hesitate; and actually the A-33 sounds quite nice to me, too. (Of course there's always the question how the keyboard itself "feels".)

 

Link to comment
Share on other sites

19 hours ago, gacki said:

Of course there is: Each Mainstage Patch has its own Program Change

Thx!  I wasn’t aware of this, but will investigate.  I’ll open the MainStage manual (insert sarcastic jab at reading the manual here 🤣). This would be an ideal use for those buttons on the A33.  There’s another button labelled “Start/Stop Sequencer” but it sends no midi messages, which begs the question; how did it work? Unless there’s some limited sequencer built into the A33 - which could be.  There’s a ‘Reverb’ and a ‘Chorus’ button, which also send no midi, and yet they do introduce those effects, so there must be some built in functions. I’m starting to like this Roland A33 purchase 😁 

Link to comment
Share on other sites

3 hours ago, Nunstummy said:

There’s another button labelled “Start/Stop Sequencer” but it sends no midi messages, which begs the question; how did it work?

I'd ask at this point: Are you sure it doesn't send any messages? It may be that the MIDI monitor filters those "real time" messages. Check under "Filters" first.

I think the "Reverb" and "Chorus" buttons are only used in EDIT mode.

 

Link to comment
Share on other sites

You're right.  The Reverb and Chorus buttons DO send midi, but some of these messages are new to me.

21:10:55.495    From MT4 #2 Port 1    Control    1    Bank Select    0
21:10:55.495    From MT4 #2 Port 1    Control    1    Bank Select (fine)    0
21:10:55.496    From Launchkey MK3 49 LKMK3 MIDI Out    Clock        
21:10:55.496    From MT4 #2 Port 1    Program    1    25
21:10:55.497    From MT4 #2 Port 1    Control    1    Channel Volume (coarse)    127
21:10:55.497    From MT4 #2 Port 1    Control    1    Reverb Send Level    119
21:10:55.498    From MT4 #2 Port 1    Control    1    Chorus Send Level    23

I need to learn a little more about Midi Monitor as I'm not seeing CC numbers I would expect.  Probably a setting or filter I need to adjust.  Still, the 'Start/Stop Sequencer' button sends nothing.

Link to comment
Share on other sites

Yep - I'm not sure what I'm looking at.  Attached file of midi events from pressing the top 8 preset buttons.  Silly question, but Midi Monitor captures a continuous stream of messages.  Is there a setting that just captures CC messages when they are different?  I just realized Continuous Change (CC) probably requires the constant stream...

Roland-A33-PresetButtons-Capture.txt

Link to comment
Share on other sites

That all looks fine to me and is according to the manual almost exactly what the second (!) row of A-33 patches should look like (except the final entry which looks a repeat of the fourth one).

I've looked at the Reverb/Chorus button situation once more and it seems like this: The buttons toggle between the value stored in the A-33 patch (for on) and zero (for off).

3 hours ago, Nunstummy said:

Silly question, but Midi Monitor captures a continuous stream of messages.  Is there a setting that just captures CC messages when they are different?  I just realized Continuous Change (CC) probably requires the constant stream...

MIDI monitor captures all data that is sent from a device. If the device sends identical data in a row MIDI monitor will naturally capture this; and I don't see any good reasons to turn this off.

4 hours ago, Nunstummy said:

I need to learn a little more about Midi Monitor as I'm not seeing CC numbers I would expect.  Probably a setting or filter I need to adjust.

Just go into its preferences and set "Controller Format" to "Decimal Number".

Now, about the A-33. It looks to me that calling up a Patch will always send the following data:

CC #0

CC #32

Program Change

CC #7

CC #91

CC #93

(for split sounds a second set of those messages is transmitted on a second channel)

It appears to me that this can't be turned off at all. The values for the above can be selected comparatively freely though.

I'd probably take an aggressive filtering approach in Mainstage: get rid of CC #0 and #32 completely (probably also CC #91 and #93). However CC #7 might be a different issue since the data entry slider can also send CC #7 (I just don't like to have it "baked into" the A-33 patch because this could mean that this value results in unwanted changes when calling up a new Patch). Here I'd probably program the A-33 patches all to a single value (I think they're all set to 127 in the factory patches anyway) and filter out that single value in Mainstage as well. This would of course result in one less value from the data entry slider as well - but I could live with that.

 

Link to comment
Share on other sites

On 9/20/2022 at 1:39 AM, gacki said:

That all looks fine to me and is according to the manual almost exactly what the second (!) row of A-33 patches should look like (except the final entry which looks a repeat of the fourth one).

Hey, Wow!  Thanks for validating this stuff.  I've been tied up, but will get back to the A33 config later in the week.  Step 1 - config the A33 preset buttons to different values - like 1 thru 8 for the 1st row and 9 thru 16 for the 2nd row.  Then validate the send message with midi monitor.  Step 2 - config Mainstage presets setting to receive those program change message.  Pretty cool it this works!

I''ll create a new Mainstage Concert with just 16 presets that more-or-less match the label names on the A33.  This "set" might be a standard I include in a folder and reuse in every new Concert.  Although I generally have a preset for every song, because I have multiple splits and parts, it could be handy to have 1 button on the A33 that takes you directly to a piano or B3 organ.  

Link to comment
Share on other sites

  • 3 weeks later...
On 9/20/2022 at 1:39 AM, gacki said:

I'd probably take an aggressive filtering approach in Mainstage: get rid of CC #0 and #32 completely (probably also CC #91 and #93). However CC #7 might be a different issue since the data entry slider can also send CC #7 (I just don't like to have it "baked into" the A-33 patch because this could mean that this value results in unwanted changes when calling up a new Patch). Here I'd probably program the A-33 patches all to a single value (I think they're all set to 127 in the factory patches anyway) and filter out that single value in Mainstage as well. This would of course result in one less value from the data entry slider as well - but I could live with that.

I'm embarrassed to admit, I did nothing with the A33 for a few weeks until now. I now understand the Mainstage Program Change and Bank assignments, but I'm a little confused about programming the A33, even though the instructions seem straight forward.

As you mentioned, the routine for programming any of the patch buttons requires CC#32, CC#00, and a Program Change value, and as you noticed it seems to send CC#91 and CC#93 after you press any patch button.  I'm trying to decide what Program values to use - was just thinking to start with 01 to 16 - and questioning why I need values for CC#32 or CC#00???  Does Mainstage expect CC#32 or CC#00?

{from the Roland A33 Manual}

180080740_Library-1of1.thumb.jpeg.03f211ead2efc70432702031f4ffa987.jpeg

774444612_Library-1of1(1).thumb.jpeg.ddcb479833b42b2d89433a1b069c2a8d.jpeg

I found this example and the terminology a little confusing.  I think "Variation" and "Instrument" were something specific to the Roland Sound Canvas sound modules, but I don't care about that stuff.  Still, the A33 programming routine requires me to enter something for CC#32 and CC#00.  Could those values just be "0" or "1"?

 

 

 

 

Link to comment
Share on other sites

Let's unpack this a bit.

Since it's only possible to call up 2x16 patches directly from the A-33 I would imagine that this doesn't require a real organization in banks in Mainstage. In this case you can simply uncheck the "bank" checkbox in the Patch attribute and it will happily ignore anything related to CC#0 and CC#32. If this would be acceptable you could basically enter any combination of CC#00 and #32 in the A-33 without any consequences for Mainstage.

The bank select system in Mainstage is a bit convoluted. Mainstage allows up to 16384 banks (B0 to B16383).

There are two different ways to handle this: either by checking this

1110500180_Bildschirmfoto2022-10-11um23_17_41.jpg.77b0528b8f1447e3381be80bfd7fff2c.jpg

in the MIDI preferences (which should give you two smaller separate entries in the Patch attributes - but this seems to work only in 3.6.1 but not in 3.4.4) or by leaving it unchecked.

If this is checked the situation is clear because now you have individual control over the values (at least in 3.6.1) and don't have to calculate anything.

If this is unchecked the situation is slightly more complicated. Basically CC#32 steps through the single banks while CC#00 steps in 128 bank increments - after all this is how this is implemented (with MSB and LSB). When using up to 128 banks I recommend always sending CC#00 with a value of 0 followed by CC#32 with the value of the desired bank followed by the program change. This gives a completely defined message that will always work.

(The calculation goes like this: "Mainstage Bank" = CC#00 value x 128 + CC#32 value)

As far as the other values (reverb and so on) go: As I wrote earlier I'd probably filter aggressively to be on the safe side and to avoid any unwanted interference. This can easily be done using Scripter and an IAC bus.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
On 10/11/2022 at 5:36 PM, gacki said:

s far as the other values (reverb and so on) go: As I wrote earlier I'd probably filter aggressively to be on the safe side and to avoid any unwanted interference. This can easily be done using Scripter and an IAC bus

I really appreciate this input.  I'm new to the idea of 'filtering' incoming midi, but this makes a lot of sense.  I've only used Scripter a little (like guitar strumming feature) so I have some learning to do.  I'm enjoying the Roland A33 as a live performance controller, especially having the 76 keys, but for day-to-day use in my studio, the Novation Launchkey 49 is still the more productive controller.  With it's use of pads, encoders and faders it's much more the Logic control surface I need.  Trying to tweak the A33 to perform control surface functions isn't really a good use for it - so using it for Mainstage is about as far as I'll go.  Can't thank you enough!!!

Link to comment
Share on other sites

  • 2 weeks later...
On 10/11/2022 at 5:36 PM, gacki said:

If this is unchecked the situation is slightly more complicated. Basically CC#32 steps through the single banks while CC#00 steps in 128 bank increments - after all this is how this is implemented (with MSB and LSB). When using up to 128 banks I recommend always sending CC#00 with a value of 0 followed by CC#32 with the value of the desired bank followed by the program change. This gives a completely defined message that will always work.

While this makes perfect sense, my effort to program the A33 seems to fail as nothing I enter/program seems to take.  The steps in the manual are missing 2 important details.

1st - are 'values' entered as 2 digits or 1?  You would expect to be able to enter 2 digits or is it 3?

2nd - how does the A33 know which preset button I'm changing?

The Mainstage 'Midi In' display shows the following:

A33 Press Preset 1 = midi chl 1  93  0

A33 Press Preset 2 = midi chl 1  93  39

A33 Press Preset 4 = midi chl 1  93  23

The rest of the buttons are 0, 39 or 23.

There's nothing in the procedure (above post) from in the manual, that specifies which preset button is being programmed.  I think I'm mis-understanding something simple. Perhaps I'm hung up on the idea that I'm programming each A33 preset button individually.

On the Mainstage side, I have a new concert with a test folder with instruments that match the names on the A33 preset buttons, assigned Program Values from 001 sequentially. Bank Select is unchecked on each, as you recommended.

1803472228_Library-1of1.thumb.jpeg.f42ea34bbbf2461804b86d2a218b825a.jpeg

Link to comment
Share on other sites

On 10/11/2022 at 5:36 PM, gacki said:

(The calculation goes like this: "Mainstage Bank" = CC#00 value x 128 + CC#32 value)

More insight.  When I press any of the A33 preset buttons, I noticed the patch selection in Mainstage jumping around, making me think each preset button must be sending a different Program Value.  In Mainstage I cleaned up the Program Value assignments of my 60+ patches, making sure I had no duplicates and they were numbered sequentially.  Then I added a bunch more patches to take the sequence up to 127.  Then I would press an A33 button and see where it landed.  Here's what I got...

 

Preset Buttons - Program Values @ 10/30/2022

A1 - 001

A2 - 012

A3 - 019

A4 - 025

A5 - 034

A6 - 041

A7 - 050

A8 - 060

A9 - 069

A10 - {whatever was last pressed}

A11 - 81

A12 - 95

A13 - 97

A14 - {whatever was last pressed}

A15 - 013

A16 - 095

 

B1 - 006

B2 - 013

B3 - 020

B4 - 030

B5 - 037

B6 - 045

B7 - 055

B8 - 062

B9 - 066

B10 - 078

B11 - {whatever was last pressed}

B12 - 096

B13 - 103

B14 - 050

B15 - 017

B16 - {whatever was last pressed}

Now that "whatever was last pressed" behaviour had me fooled for a while.  It seemed some of the buttons were delivering different Program Values at different times, but after more testing it was clearly whatever was last pressed would repeat.  Perhaps they are unassigned.

While these Program Values have no rhyme or reason, it's likely the A33 was controlling a Roland GS Sound Module.  The Roland A33 has a midi in port on the back, and that confused me.  But perhaps the GC Sound Modules sent midi back to the A33 for some reason at the time.

I re-captured the midi with Midi Monitor (attached) and you can clearly see the CC32, CC00 and Program Change values, but they mysteriously do not match the values I captured in Mainstage, consistently.  Furthermore, every A33 button press also sends Volume, Reverb and Chorus values.

Every Program Change message sends up to 4 values (in this case 3 values, and position 3 is null)

 

 

PRESSED A4
121,04:55:48.351,out,Controller Bank Select: 0,1,0,B0 00 00 

122,04:55:48.351,out,Controller Bank Select (fine): 0,1,0,B0 20 00 

123,04:55:48.352,out,Program change 29,1,,C0 1D 

Why "Some" of the Program Change values are different than Mainstage captured is a mystery to me.  In this case the midi capture reports A4 a value of 29,1,C0 1D but Mainstage saw it as Program Value 25.

 

Last Quirky Thang...

1840406991_Library-1of1(1).thumb.jpeg.db8ede2a6e57cfb69c0889458b8607c4.jpeg

The back of my A33 look like this...

A33-Back.thumb.jpg.f96e4f22e018b8790ebb253f2cf7a103.jpg

What's that extra 1/4 jack next to the expression pedal?

 

 

RolandA33-MidiCapture.csv

Link to comment
Share on other sites

In general (with some exceptions) the program values are consistent with the Init values from the manual.

Programming: The way I'm interpreting the manual is that you are editing the Preset you've just selected. Entering numbers: one-digit numbers only need one press, two-digit numbers two presses and so on. An example for this can be found on page 20 of the manual. You can store this afterwards to any of the 32 locations.

As far as the difference between the program changes goes: I suspect you've pressed B-4, not A-4. B-4 sends a value of 29 for the program change which is displayed as 30 for the patch itself (as you found out); however the MIDI capture will show this as 29.

I'm not sure what to make of the "{whatever was last pressed}" situation yet; and of course there are some Presets that might confuse Mainstage because they send not one program change but two. Presets A-15, A-16 and B-14 to 16 seem to be affected; those are the "split" preset Patches.

But in general this looks quite nice so far.

Link to comment
Share on other sites

31 minutes ago, gacki said:

In general (with some exceptions) the program values are consistent with the Init values from the manual.

I agree and assume the A33 preset I'm editing, is the one illuminated just before I press the 'Edit' button, but no changes I make seem to take affect. I feel like there's gotta be some step involving the 'Write' button to save the changes to a preset - and yet, I can't find any instructions to confirm this. I've followed the process on Page 20 multiple times - no luck.

1916714977_Library-1of1(2).thumb.jpeg.8be930a52b6ad729de7929fc308d435d.jpeg

I have the manual open, but where's the 'init page'?

Don't get me wrong, I really, really appreciate the help.  The midi capture inconsistencies almost don't matter.  If Mainstage receives Program Value 25, then it's 25.  That's what I'm working with.  Of course, I'd like to re-program the A33 so the presets are easy and sequential  like 001 - 032.  Instead of this:

1442348486_Library-1of1(3).thumb.jpeg.9f5bbb0c6794f4a2e9d614006bcda28e.jpeg

I've got Mainstage all set-up to accept 32 Program Values from 001-032... hopefully..

184940727_Library-1of1(4).thumb.jpeg.ed0e5248ad30ddc2bd781f87f4734d08.jpeg

Any more ideas?

Link to comment
Share on other sites

2 hours ago, gacki said:

In general (with some exceptions) the program values are consistent with the Init values from the manual

I did finally find the 'Init Default' page in the manual.  It's labelled 141, although it's the 38th page. lol.

Unable to change the Program Values, I'm working with the defaults (or the values that currently are sent), I've created a template Concert in MainStage with the correct mapping.  It's pretty much all working, except for the A-15 and A-16 buttons, which don't consistently send a Program Value.  Being as they are the least frequently used buttons, they may just be defective, although the same physical buttons work fine for B-15 and B-16.  No explanation.

Similar to when I first got the A33, the 'Midi In' port when connected was generating strange and random midi messages, which indicated an electrical short.  After cleaning the 5 pin Din with contact cleaner and air pressure, it seems to be stable - although I have no use for 'Midi In' anyway.

I am able to change/program settings in each preset (button) for 'Sustain ON/OFF' and 'P Bend / Mod ON/OFF'.  Why this works OK, but I can't change the Program Values is a mystery.  It's almost as if the Program Value defaults are write-protected. (maybe that's a silly notion)

So, I'm pretty pleased with my $75 Roland A33.  I wanted 76 synth style/organ keys and reasonably portable weight for live gigs, whereas most 88 key midi controllers have squared piano keys that are hammer action - not good for synth or organ playing - and are very heavy to carry.  Most of the buttons work.  The 2 Midi Outs, all the Upper/Lower buttons, Transpose, Octave Up/Down, Patch A/B, P Bend/Mod Wheel, Sustain Pedal... all good.  I'm using the Reverb and Chorus buttons for Prev Patch and Next Patch.  There's still a Sequencer Start/Stop button that sends no midi message - must have been specific to Roland GS Sound Modules.

I wish I could find another Roland A33 owner that's been successful in changing the Program Values of each preset button...

Link to comment
Share on other sites

Once again thank you all, especially @gacki for the help. I did create a short video https://youtu.be/iA5c7X5g8Xk

Those 16 preset button x 2 banks (A & B) gives me the potential for 32 preset assignments in MainStage.  Well... I might have 50+ patches in MainStage, but could use the A33 buttons to jump to any 32 of them.  But the A33 manual shows Program Values for both UPPER (midi 1) and LOWER (midi 2).  I was thinking that would increase the potential to 64 assignments.  First, I checked to see if having only 1 midi cable plugged into the Midi Out 1 DIN would prevent messages with midi channel 2.

1037939543_Library-1of1.thumb.jpeg.ab1b69ed0a5b06a36e8087015d9c5e10.jpeg

With 'LOWER' selected, it looks like midi channel 2 messages can be send via Midi Out 1.  But, even with LOWER selected, the preset buttons only send Program Change values on midi channel 1.  In fact, each preset button causes the keyboard to switch to UPPER.

I thought maybe I needed 2 midi cables - one in Midi Out 1 and one in Midi Out 2 - but confirmed that was not necessary. They are parallel midi outs.  So once again, I'm pretty confused.856480685_Library-1of1(1).thumb.jpeg.528c9b55fd34f37b6eb3cb38a73c077c.jpeg

The Manual suggests that any preset would send 2 sets of program change messages.  For example, preset #10 would send 0, 0, 76 on midi channel 1 and 0, 0, 92 on midi channel 2, presumably at the same time?  But my Midi Monitor never sees the program change for midi channel 2.  I've tried with 1 cable into Midi Out 1 and another cable into Midi Out 2. No difference. On the front panel, both UPPER and LOWER are ON, and OUT 1 and OUT 2 are ON. But, as soon as you press a preset button it switched to 'UPPER'.

Lastly, it looks like MainStage can receive midi messages on one channel or all channels, but it doesn't look like a patch/preset can be exclusive to a specific midi channel.  For example, the A33 preset sends Program Change value 95 on midi 1 and Program Change value 52 on midi 2, but you don't want MainStage to switch patches twice and end up on 52.

Any ideas?

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...