Jump to content

Roland PG-300 (Alpha Juno) synth programmer clone?


Max Romantschuk
 Share

Recommended Posts

Hello everyone! I am a total newbie to advanced electronics projects, and the MIDIbox platform. I am, however a programmer by trade, and have extensive soldering skills (lots and lots of audio cables in my home studio).

I came up with the idea of creating a programmer for my Roland Alpha Juno synth, which would essentially be a control surface outputting sysex messages. Basically I'm planning to create my own clone for the Roland PG-300:

http://www.vintagesynth.com/roland/pgs.shtml#pg300

The Alpha Juno's sysex interface is very simple. Basic specs are here:

http://www.vintagesynth.com/roland/sysex.shtml#ajuno

From what I understand I could probably build a MIDIbox64 or MIDIbox64E and program it to do just this. I'd also like the final control surface to have dedicated encoders and/or buttons for every parameter. For parameters with only a few options or ON/OFF I'd like a button to cycle the options. For ranges encoders would be best, of course.

Having a bunch of leds for the status of the parameters makes little sense, as the control surface is essentially stateless. Instead I think it would make more sense to have and LCD showing the parameter being edited at any given time.

These are just some initial thoughts. I guess at this point I'd like some suggestions from the community on how to proceed. I can teach myself the necessary electronics knowledge and things like that, but the big questions are how to make appropriate hardware choices, and if I can use existing firmware or do I need to look into customizing my own?

I'd like to thank everyone in advance for any useful information on how to get this project started! Hopefully I will get to finish it too, eventually... ;)

EDIT: For anyone finding this though a search, there is a project thread here: http://www.midibox.org/forum/index.php/topic,12698.0.html

Link to comment
Share on other sites

Hiya Max!

From what you're planning to build it does look like modifying an existing app or writing a custom one. Pretty much all of the info you're looking for can be found on ucapps.de, the wiki and this forum - all you have to do is a lot of reading ;-) Do that, and once you have more specific question will be more than happy to answer them!

Link to comment
Share on other sites

OK, I've been doing some more research... I think the most sensible approach would be to start with a really simple setup, with a core, a DIN module, and an LCD. If I order the parts as kits from Mike's shop along with a PIC with the bootloader included that should enable me to get my bearings and do some experimentation before I decide on how to proceed. With a single DIN module I can try out playing with both buttons and encoders with the 64E firmware, right?

I'm not sure if a version of the 64 or the 64E makes more sense really. In any case I'll start with a finished firmware before attempting to roll my own. Otherwise the learning curve will be too steep...

Does this sound like a plan? I obviously need to check the part lists of the kits and get any extra components from somewhere else, but there's a pretty well stocked electronics store not far from here so basic components shouldn't be a problem. Any other huge things I've overlooked? :)

Link to comment
Share on other sites

OK, I've been doing some more research... I think the most sensible approach would be to start with a really simple setup, with a core, a DIN module, and an LCD. If I order the parts as kits from Mike's shop along with a PIC with the bootloader included that should enable me to get my bearings and do some experimentation before I decide on how to proceed. With a single DIN module I can try out playing with both buttons and encoders with the 64E firmware, right?

I'm not sure if a version of the 64 or the 64E makes more sense really. In any case I'll start with a finished firmware before attempting to roll my own. Otherwise the learning curve will be too steep...

Personally, for live synth tweaking I prefer pots to encoders.  Even pots that jump to the value of their position as soon as you move them.  You get a far more tactile feel of what your parameter values are, because the knob has a pointer, and a definite "stop" at the minimum and maximum values.  This is also the way the original PG-300 works (its pots are sliders).

For sitting down in the studio and programming patches, I prefer encoders to pots, because you can nudge parameter values a bit more intuitively, and you have finer control.

Encoders are connected to DIN modules, and pots are connected to AINs.  A fully populated AIN (AINx4) module allows 32 pots.  A fully populated DIN (DINx4) module accommodates 16 encoders.

Link to comment
Share on other sites

Personally, for live synth tweaking I prefer pots to encoders.  Even pots that jump to the value of their position as soon as you move them.  You get a far more tactile feel of what your parameter values are, because the knob has a pointer, and a definite "stop" at the minimum and maximum values.  This is also the way the original PG-300 works (its pots are sliders).

You make a good point. Perhaps it would make the most sense to get a core, LCD, 1 DIN and 1 AIN. This way I could experiment with pots, encoders, faders and buttons before making up my mind on a more specific design.

Would I be able to play with both the 64 and 64E firmware with this setup?

If I order the kits for these modules, and a PIC with a bootloader, is that all I need to do my experimenting, apart from power supply, buttons, pots, encoders, interfacing stuff like that?

How do I choose which PIC? They all seem rather cheap, would a 18F4620 make sense? I understand it has more memory, which would translate into grater freedom if I eventually roll my own firmware?

Link to comment
Share on other sites

Hi:

I built a MB64 with 32 knobs and 24 buttons, and i´m using it to control my Juno-1 and Matrix-1000.

I modified the MB64 code to include some sysex of both synths, my plan was add more but I´m happy with it as is by now.

In my original post you can download the modified meta file if you like.

http://www.midibox.org/forum/index.php/topic,9490.msg68033.html#msg68033

Link to comment
Share on other sites

Thanks for the info Sebo! I was surpised to be able to follow the code in the file, given that I usually work quite a few layers of abstraction up from the processor... ;)

Could anyone please confirm or deny my earlier questions?

Perhaps it would make the most sense to get a core, LCD, 1 DIN and 1 AIN. This way I could experiment with pots, encoders, faders and buttons before making up my mind on a more specific design.

Would I be able to play with both the 64 and 64E firmware with this setup?

If I order the kits for these modules, and a PIC with a bootloader, is that all I need to do my experimenting, apart from power supply, buttons, pots, encoders, interfacing stuff like that?

How do I choose which PIC? They all seem rather cheap, would a 18F4620 make sense? I understand it has more memory, which would translate into grater freedom if I eventually roll my own firmware?

I'm a bit of a learning by doing kind of guy, so I'd quite like to order some parts to play with... But obviously I'm not going to order anything until I know I can make it work! ;)

Link to comment
Share on other sites

You make a good point. Perhaps it would make the most sense to get a core, LCD, 1 DIN and 1 AIN. This way I could experiment with pots, encoders, faders and buttons before making up my mind on a more specific design.

Yes, this is definitely a good approach. After all, this way you will experience what type of workflow suits you most. And, you can have a MIDIbox that perfectly suits your needs.

Best regards, ilmenator

Link to comment
Share on other sites

Thanks for the info Sebo! I was surpised to be able to follow the code in the file, given that I usually work quite a few layers of abstraction up from the processor... ;)

Haha, great you can, I can´t. I was just trying to show how simple is to modify the original MB64, and use it to control multiple synhs,

and still use it as a midi controller.

By the way, I heard somebody mentioned tweaking the Juno-1, well... it can´t be done. If you want to edit a patch is OK. But if you want to control various parameters in real time while your sequencer is running, the timing becomes totally messed up.

I usually use the MB64 for some speedy patch edit (for in deep edition I go for software, specially with the Matrix), if I

want to tweak in realtime, sysex is too slow, so I go for CC, sadly the Juno can´t do CC so I end assigning the filter cutoff to

aftertouch, and use the MB64 to send aftertouch messages.

Also some parameters of the Juno can´t be controlled in full range by sysex (I think is a bug in the Juno), for example you can´t assign the maximum range of the aftertouch to the filter, you have to do it from the frontpanel.

I knew all this before starting to build my MB64, so instead of trying to clone the PG-300 just built a flexible MIDI controller.

 

Link to comment
Share on other sites

Haha, great you can, I can´t.

Well, the past ten years of programming experience had to be good for something, even if I haven't done any assembly programming... yet! ;)

I was just trying to show how simple is to modify the original MB64, and use it to control multiple synhs,

and still use it as a midi controller. By the way, I heard somebody mentioned tweaking the Juno-1, well... it can´t be done.

For me this is fortunately not an issue. Right now I'm just trying to clone the PG-300 for purely programming my Alpha Juno 1.

Regarding the implementation, I had an idea on the workflow: Buttons and pots/slider for all parameters. When a parameter is changed that parameter shows up on the LCD along with the value. Next to the LCD a single encoder would be used to tweak the currently showing parameter. This way I could get the best of both worlds. :)

I'd still be very grateful for confirmation that I could start experimenting with the 64 and 64E firmwares with a core, DIN and AIN? Also the choice of PIC still puzzles me. I'm sure the answers to all there questions are buried somewhere on Thorsten's site / the wiki / the forums, but with four small kids at home I can't spend huge amounts of time digging. ;)

Link to comment
Share on other sites

I'd still be very grateful for confirmation that I could start experimenting with the 64 and 64E firmwares with a core, DIN and AIN? Also the choice of PIC still puzzles me. I'm sure the answers to all there questions are buried somewhere on Thorsten's site / the wiki / the forums,

Yes. Get a 452, or a 4620, and get it from SmashTV.

but with four small kids at home I can't spend huge amounts of time digging. ;)

You may have chosen your hobby poorly. Be prepared to annoy your wife and neglect the kids, or take your sweet time with the electronics. I'd suggest the latter ;)

Link to comment
Share on other sites

get it from SmashTV.

Is there a really good reason to go for SmashTV and not Mike?

http://www.mikes-elektronikseite.de/shop_englisch/index.htm

I'm in Finland, so ordering inside the EU makes a lot of sense both in regards to delivery times as well as avoiding possible hassle with customs.

You may have chosen your hobby poorly. Be prepared to annoy your wife and neglect the kids, or take your sweet time with the electronics. I'd suggest the latter ;)

I have a huge amount of poorly chosen hobbies... ;) I hope to have this project completed in say 1-2 years. Thinking I could do it faster would not be realistic... ;)

Link to comment
Share on other sites

Grr, I gave you quick answers to save you a search and buy you some time with the kids, and what do I get for thanks? More questions. Grr. Next time you'll get "go search" like everyone else :P

I dunno if mike has 4620s that don't have the EUSART bug but smash does.

Link to comment
Share on other sites

Grr, I gave you quick answers to save you a search and buy you some time with the kids, and what do I get for thanks? More questions. Grr. Next time you'll get "go search" like everyone else :P

I guess the core of the problem is that I wouldn't know what to search for in the first place. Once I familiarize myself more with the terminology and environment I'll get better at  avoiding the "stupid questions". Learning which terms to use when searching for things is always tricky in an experts' forum. (I'm an experienced programmer, so I share your frustration... ;) )

I dunno if mike has 4620s that don't have the EUSART bug but smash does.

OK, that was indeed a key piece of information! :) I'll be sure to check!

Link to comment
Share on other sites

You're missing the point. It wasn't a stupid question, it's nothing to do with that. I'm here to help with any question no matter how newbie it may be, and it does not frustrate me, we don't share that at all.

It was a stupid question to post. It's something well documented which you should search and learn about, and normally that's exactly what I'd tell you. I thought, seeing as you're a busy Dad, I'd save you from that and just give you the answers... and you asked for more info.

It's like that old "teach a man to fish" thing. You said "woe is me, I'm hungry, I don't know how to fish and I don't have time to learn", so I gave you a fish, because you didn't have time to learn.... then you asked for more fish. Go learn to fish.

Link to comment
Share on other sites

Ordered and paid my kits from Mike tonight, (doable easily with EU IBAN bank transfers) so there's no turning back now... I'm very heavily in the idea/brainstorming phase right now, started to do some designs in Inkscape (will post when I have something worth showing) and found that Front Panel Designer runs fine as far as I can tell under Ubuntu 8.10. :)

Been thinking I should start documenting stuff somewhere. Is it customary to set up a wiki page, or should I use this forum, or a blog? There seems to be a lot of different approaches, but I'm not sure this qualifies as a user project in the wiki. I will probably ultimately make my own firmware, but that is probably be a year off still... ;)

Link to comment
Share on other sites

Been thinking I should start documenting stuff somewhere. Is it customary to set up a wiki page, or should I use this forum, or a blog? There seems to be a lot of different approaches, but I'm not sure this qualifies as a user project in the wiki. I will probably ultimately make my own firmware, but that is probably be a year off still... ;)

I'd probably start a 'blog' in the forum here, and when you've got stuff you want to share, go with the wiki page... but there's no 'qualification' for making a user page on the wiki!

Link to comment
Share on other sites

  • 2 weeks later...

Christmas arrived early for me today, went and picked up misc. parts from a local supplier, and got my kits from Mike. Took a bunch of photos while unboxing. Packaging not as neat as Smash's (judging from other posts, no anti-static bags etc.), but don't really care unless something is damaged. Gonna get that build blog started once Christmas is over. Need to do something about the mess on my desk too, well at least I have a good reason to tidy it! ;)

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

Loading...
 Share

×
×
  • Create New...