MUFF WIGGLER Forum Index
 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

MPG-50 Programmer for Alpha Juno & MKS-50
MUFF WIGGLER Forum Index -> General Gear  
Author MPG-50 Programmer for Alpha Juno & MKS-50
NewEnglandAnalog


I've been working on a programmer for the Roland Alpha Juno and MKS-50 that has a robust MIDI implementation, plus a suite of performance features that are useful and unique. I'd like to know if anyone has any other features that they would like in a programmer that I've not yet included. Below is a list of the stats for the MPG-50.


Enclosure:
The case is a 370mm (14.5") x 149mm (6") x 40mm (1.5") desktop-style controller. The rear panel has MIDI IN, MIDI OUT, and an expression pedal/pot input. Power is supplied via an external ACDC supply.

Panel: The front panel includes 37 pots and sliders, plus a programmer section with an OLED menu readout. Sliders are 30mm type.

MIDI: The MPG-50 has a robust MIDI implementation. The MKS series of synths do not play well with MIDI streams that have too much channel data (data from channels other than the one the MPG and JUNO are set to receive on) The MPG will merge incoming channel data with outgoing sysex data to the Juno, thus eliminating the need to use a MIDI merge to control the Juno with an external keyboard and the MPG simultaneously.
Each slider, switch, and knob on the MPG has an associated MIDI CC, allowing for external MIDI hardware to control the MPG parameters remotely without using sysex messages. The MPG can also be set to transmit MIDI CC messages from the sliders and knobs, allowing for it to be used as a generic MIDI controller. The MPG will send sysex to the Alpha Juno unless the MIDI OUT mode is set to CC ONLY, in which case, the unit will transmit CC messages instead.

AUX A, AUX B, and Expression Pedal
The MPG-50 has 2 AUX sliders and an expression pedal input, all of which can control up to 5 parameters on the Juno simultaneously. Each of the three controllers can be programmed using the ASSIGN button.
When ASSIGN button is pressed, a dialog will appear on the screen asking which controller you want to program. When a controller is selected, it will ask for the first parameter that you want to control. In this case, let's say VCF Cutoff is the first parameter that we assign to AUX A. Then the dialog asks what the range of that control should be. If you select 50-127, then the AUX A slider will send VCF Cutoff messages from 50 -127 (bottom of the slider will transmit 50. Moving slider to max position will increment up to 127.) The dialog will also ask if you want to invert the parameter (bottom of slider AUX A = 127, top = 50), which allows that parameter to turn filter cutoff DOWN by moving the slider up. Up to 5 parameters can be controlled simultaneously with one control, and each parameter can be customized. This allows for a user to use one control to do something like turn up the cutoff and resonance, while slowing down the vibrato LFO and increasing the release time of the envelope. Doing this kind of thing allows for some incredible sounds from the Juno that I had not heard before. Each of the AUX sliders has a MIDI CC, allowing for one MIDI CC message to control all of the parameters assigned to that slider. AUX slider and EXP Pedal assignments can be stored in memory and recalled for later use in performances.

Patch Generator
The MPG-50 has a unique patch generator mode. There are 3 basic types of patch generator modes. Random, Manual, and Scratch. Manual does exactly what it sounds like; transmits the position of all 35 parameters on the programmer to the Juno. Random patch generator will generate random programs on the Alpha Juno. Users can also select which parameters they want randomized, then save that setting for future use. For example if you only want to randomize the envelope settings, then you can set only those parameters to get randomized, then save that patch generator setting for future use. Scratch program generator is used as a basis to start work on a new sound. This generates a basic sawtooth, open VCF, gated amp env sound. Users can also create their own scratch patch generator template and save it for future use. Up to 32 individual patch generators can be saved in memory.

MIDI PANIC
Holding the MIDI button will generate an ALL NOTES OFF MIDI message in the event that the Juno locks up or has stuck notes.

Menu
In the main menu, users can select MONO or POLY mode, adjust bend range, turn on Chord Mode, edit chords and save and recall AUX/Pedal assignment settings.

When not in MIDI, MAIN, or ASSIGN menu, the display will show the name of the current parameter being edited, as well as the value.

The portamento ON/OFF button can be configured as a toggle or a momentary button. When configured as a momentary button, glide will only be active when the button is held down, which is very useful for performing solo lead lines on the Juno.

SETUP
In the Main menu, there is a setup dialog. A setup is comprised of the settings for AUX A, AUX B, Patch Generator mde, Glide button mode, and MIDI settings. Setups can be recalled manually or by using program change messages. Currently 16 setups can be saved in memory, though the final product may include more if we end up using a chip with more EEPROM memory.

So that's the list of features at the moment. I'd love to get some feedback and other ideas. The product will probably begin shipping in early to mid fall. If there's some feature that you really want let me know. Thanks for your help.

The product can be viewed on the retroaktiv website here: https://retroaktivsynthesizers.com/products/mpg-50-programmer-for-rola nd-alpha-juno-1-2-mks-50-pre-order
NewEnglandAnalog
NewEnglandAnalog
DMR
Does anyone here have a MPG-50, and can provide feedback on how they like it? Or know of a review of the MPG-50 somewhere? This looks interesting but I wanted to find more feedback before deciding if I wanted to purchase one.
Bath House
This looks very, very cool and adds some wonderful features like the CC control that are probably worth the price of admission. The price, though I'm sure is fair and reasonable, is about 3x what I paid for a mint in box Alpha Juno 2 within the past year though.
Panason
Quote:
I'd like to know if anyone has any other features that they would like in a programmer


Yep. Programmable controller with at least 16 endless encoders and a bunch of buttons. Displays above all controls and bi-directional communication between controller and target synth, so that the displays always show the (full) parameter names and values and update when selecting a different patch meh

Enough onboard memory to store a bunch of templates for at least a few synths, with the capablity to handle NPRNs.

Optionally, MIDI LFOs that can be set to send out any MIDI CC, with data thinning options to prevent congestion.

I expect the machine to be availabe before the winter holidays, now get to work! cheers Mr. Green lol
Bath House
It's hard to tell from the pictures - does this fit on an Alpha Juno 2?
NewEnglandAnalog
Thanks! Yes, the modulation matrix and the patch generator are the features that I use the most on this. I love that I can automate 5 or 10 parameters using just 1 or 2 streams of MIDI data. There's actually a bunch more stuff that you can do with the assignable controls when you interface with a DAW and you record slider movements, but that was too "in the weeds" for the video I just shot.
And yeah, the price is higher than some of the other programmers, but this does more than all of the rest of them. It's like comparing a Behringer Xenyx Desktop Mixer to a Mackie 1604. One has more stuff than the other and thus costs more. This programmer also has a robust random patch generator that can generate, pad, bell, hoover, bass, poly, string, piano, percussion, brass, and other stuff (You select the category and it uses an alg to make choices and create a sound). It has the ability to control 2 junos independently from one MPG unit and crossfade in real time between them, and it works as a universal controller, so you can create your own profiles for controlling other synths. If used as a universal controller, you can control 2 synths independently at the same time with one MPG, which is pretty great. The unit was made using powder coated steel and is far more robust than the standard plastic enclosure. I also used high quality sliders, pots, and hardware, including dust covers for all of the sliders. At the end of the day, building it like a tank adds cost, but it also adds quality. If I wanted to just build a box with 34 pots and 2 MIDI jacks I could have done it and sold it for much less, but that's not what I set out to do with this line of controllers. I wanted something nice that elevated the synth.

Sorry for the long winded reply. I sometimes get a little defensive about the price complaints, as it's sort of like somebody walking in to your job and telling you that you should be paid much less. Believe me, I am not making a lot of money on these (people assume I am), but boy, am I spending a lot of it to get this stuff produced. It costs a fortune to make this sort of stuff. I've been using the profits from each programmer to build the next one, in hopes that in a couple more years, it might pay off. While I understand that people want cheap stuff, that's not the only factor that goes into designing something. If it were, everything would look like a teenage engineering pocket operator. smile Cheap stuff certainly has its place, but that's not what this product was designed to be. It was designed to be the best Juno controller out there.
Bath House
That all makes perfect sense, and that's why I said I was sure the price was reasonable. My comment was more of a comment on how interesting it is that we end up paying more for these sorts of devices to unlock the potential hidden in cheap gear with crappy interfaces. You can get a Tx81z for $80 if you look in the right place, but I saw a guy selling a $500 controller interface for them. Wild times!

I will probably order one of these. I love my Alpha but even using the iPad app as an interface for it isn't fun.
NewEnglandAnalog
Panason wrote:
Quote:
I'd like to know if anyone has any other features that they would like in a programmer


Yep. Programmable controller with at least 16 endless encoders and a bunch of buttons. Displays above all controls and bi-directional communication between controller and target synth, so that the displays always show the (full) parameter names and values and update when selecting a different patch meh

Enough onboard memory to store a bunch of templates for at least a few synths, with the capablity to handle NPRNs.

Optionally, MIDI LFOs that can be set to send out any MIDI CC, with data thinning options to prevent congestion.

I expect the machine to be availabe before the winter holidays, now get to work! cheers Mr. Green lol


Haha. Well, the good news is that we are working on a memory expansion card for these that will store about 30 banks of 64 patches, multiple banks of assignable controls, and "setups". A setup consists of 2 programs (One on the MAIN layer, and one on the AUX layer), 3 assigns, and the crossfade balance setting. This means you can save programs that consist of 2 stacked Junos. All programs stored internally will be able to be dumped to a Juno or MKS as sysex or can be stored in one large sysex file (holding all of the banks in the MPG50). That should all be available by August of this year.

MPG already has the ability to store your user templates for controlling other synths. It's discussed in the walk through video.

The LFO is certainly something I have considered. The issue is that I don't want to clog MIDI buffers on anything. How do you tell it to stop sending data if you clog the device you're sending to? That's the only reason I didn't include this, even though I coded it. It's too easy for the end user to have a bad experience with.


I love your other feature requests and will definitely look in to implementing them. None of those sound very difficult to code. It's just a matter of integrating them into the OS. I can't do the encoder thing though. These are going to use sliders and pots. There is one endless encoder on the panel, which controls the data entry.

Thanks for these great feature ideas. I'll ping you around Christmas. wink
NewEnglandAnalog
Bath House wrote:
It's hard to tell from the pictures - does this fit on an Alpha Juno 2?


This is how one of my customers uses it. Still fits better than the PG-300. There's not much real estate up there.
NewEnglandAnalog
Bath House wrote:
It's hard to tell from the pictures - does this fit on an Alpha Juno 2?


This is how one of my customers uses it. Still fits better than the PG-300. There's not much real estate up there. The MPG has program select on it, so blocking of the program select buttons on the Juno doesn't matter. I use mine as a desktop unit.

I did design a stand for these that clips into the music stand holes on the JU1 and 2, but I couldn't raise the cash to buy a run of them. FYI, the extra lip above the programmer is so people who have the PG300, BCR2000, or MIDIClub unit can set their programmers on it too.
DMR
NewEnglandAnalog wrote:

The LFO is certainly something I have considered. The issue is that I don't want to clog MIDI buffers on anything. How do you tell it to stop sending data if you clog the device you're sending to? That's the only reason I didn't include this, even though I coded it. It's too easy for the end user to have a bad experience with.


The macro controls must also send a decent amount of MIDI, but I assume the programmer and Alpha Juno are able to keep up without introducing too much note jitter (in the case where MIDI is also sent to the programmer, which merges it with the controller messages prior to sending to the Juno)?

As you probably know, the Alpha Juno sends the Sysex parameters of the new patch when loaded. The iPad iPG800 app uses this to set the (digital) sliders to the patch on load. Obviously physical sliders can't be moved, but it would be cool if the MPG-50 could display the current patch parameters on the screen in some way, and / or use them to change the fader behavior. For example on a modern digitally controlled analog synth, faders can be set to absolute / relative / pick-up mode, etc., since the synth knows the values of both the panel and the loaded patch. Not a feature demand of course, just a suggestion (or correct me if I'm wrong and the MPG-50 already incorporates the patch Sysex in some way).
NewEnglandAnalog
Quote:

The macro controls must also send a decent amount of MIDI, but I assume the programmer and Alpha Juno are able to keep up without introducing too much note jitter (in the case where MIDI is also sent to the programmer, which merges it with the controller messages prior to sending to the Juno)?

As you probably know, the Alpha Juno sends the Sysex parameters of the new patch when loaded. The iPad iPG800 app uses this to set the (digital) sliders to the patch on load. Obviously physical sliders can't be moved, but it would be cool if the MPG-50 could display the current patch parameters on the screen in some way, and / or use them to change the fader behavior. For example on a modern digitally controlled analog synth, faders can be set to absolute / relative / pick-up mode, etc., since the synth knows the values of both the panel and the loaded patch. Not a feature demand of course, just a suggestion (or correct me if I'm wrong and the MPG-50 already incorporates the patch Sysex in some way).


This is something I have considered doing. It's incorporated on my DW8P programmer for DW8000/DW6000, because the programmer needs to know what the patch settings are in order not to send 2 parameter changes (This is only an issue on DW6000, because parameters share sysex offsets on that synth). It's complicated slightly with the MPG50, because the MPG50 can control 2 junos independently, so there would need to be a way for the MPG to know which Juno is sending it a program refresh. That said, the feature is definitely going to be included in some future update, but it will require a special mode that will prevent people from creating MIDI feedback loops.

I have found that there is very little jitter to speak of until you start sending 7 or 8 parameter changes simultaneously, especially if you are using 2 Junos with MPG50, as that doubles the number of messages that need to be sent. When I mentioned the CC LFO issue, the problem was not so much that the CC LFO would clog the buffers of the target device, but if I sent out a giant burst of mod wheel and aftertouch with that LFO controlling 4 or 5 things, then, it would start to jitter (The Juno can only process the data so fast). With the LFO running, there is a near constant stream of sysex from the MPG, which adds up really fast. Way faster than when you just use an assignable control or mod wheel assign. This was the main reason I omitted the LFO. Same thing with the MORPH function I coded. You could have it morph between 2 separate sounds, one parameter value at a time, which was cool, but it ate up too much bandwidth. I didn't want people experiencing anything bad in the field, so I omitted it from the final OS.[/quote]

Other customers have used apps that have CC LFO to control the ASSIGN functions on the MPG and they've said it works great. I've only tried it by implementing it in hardware. I'm sure that feature will happen at some point. The next priority is the memory card upgrade. That's going to be a real game changer, being able to store 30+ banks of Juno sounds in the MPG with instant recall. It will also be great to be able to quickly save tones on the fly.
MUFF WIGGLER Forum Index -> General Gear  
Page 1 of 1
Powered by phpBB © phpBB Group