Jump to content

MBProgramma: hardware synth patch programmer (MBNG variant with a defined hardware set)


Hawkeye

Recommended Posts

I was thinking bigger! Ambika is stunted by it's open source zealotry and insistence on through-hole. Get an embedded multicore GHz MIPS/ARM/whatever board in there, use the infrastructure to control soft-oscillators, filters, and effects, and build a Virus killer! :D

 

I've got a CI20 board I was going to turn into a synth - I just need to find some free time to write the DSP code. At the moment I'm having too much fun making music! I was going to hook a few knobs up and add a 7" touch screen, but something like this seems more suited! :)

Link to comment
Share on other sites

Ahh. Olivier wrote about how he had a proto Ambika that wasn't through-hole at one point of time during its conception. You have nice stuff like the Audiothingies P6, the Preen FM2 etc built on minimal interfaces and MapleMini or similar CPU boards. A bigger VA would be a nice thing. I'd call it Vakov. The V is pronounced as an F in German, Dutch and Flemish :)

 

Then again, I had ideas and plans for a simple poly based on Wavetables and a CPU timer driving some CEM3396. A DIY Evolver if you will.

 

Your plans sounds like a Touch-screen Modulus! Ambitious and bold :) It could be a kick-ass synth.

Link to comment
Share on other sites

Nice project. 

Will these displays also work? 

 

Pay attention: These displays would need a circuit, to power the display. It's not done with solder a connector to a PCB and connect it directly to midibox. Check the spec-sheet of the displays. The circuit is inside.

 

BTW: I'd also love to use those displays as in the end it might be much cheaper to produce the carrier boards and to buy those displays separately. 

Link to comment
Share on other sites

BTW: I'd also love to use those displays as in the end it might be much cheaper to produce the carrier boards and to buy those displays separately. 

 

At least it would allow for a more seamless integration into the control surface, given that there are no DIL headers that eat away precious board space.

Link to comment
Share on other sites

Great idea. It would make things easier, if there was someone who would design an 8x2 LEDRing board (with the same outer dimensions, screw hole and encoder positions) and add

* support for those OLEDs (or OLED carrier boards)

* support for 12mm encoders - only the three lower pins need to be adjusted.

 

The rest should stay the same, plz :smile: , now is that a PCB routing challenge or not? :phone:

(Edit: to save space, i would not exclude the possibility of SMD shift registers, they are easy to solder!)

 

That would speed up the assembly of an OLED-LRE board a lot!

 

But, even if no one steps forward and designs a board like this, it will just work as well as described in the prototype wiring method, if you have the time, just need a few hours to install the displays. They don´t take longer than inserting the LEDs, cutting the LED pins and soldering them up, it is time intensive anyways.

 

Many greets!

Peter

post-7895-0-79859200-1421149024_thumb.jp

Edited by Hawkeye
Link to comment
Share on other sites

Then again, remixed LRE boards with SMD shift registers, maybe even LED resistor arrays etc... A really bizarro adaptation would also be prepared for LED-lit encoders. Most of the pinning stays the same, add a few pins for the switch and the LED(s) of the encoder.

 

As usual we only face two simple problems; time and money  :tongue:  For now, we substitute those with good ole elbow grease. Roll up your sleeves!

 

Bonus points for the beer-drinking cat. It sounds like a real cat dude!  :cat:

 

Hang in there ilmenator!

Edited by jojjelito
Link to comment
Share on other sites

I appreciate this project a lot - finally a standardized controller surface :smile:

 

Please add more buttons and LEDs, you can never have enough to switch between different functions on your synth, to trigger something (like a .NGR script), or whatever.

 

I don't see a way for MBCV V2 support, but I also don't find it necessary.

I think it's better to work on a dedicated solution for MBCV V2 instead.

MBCV V2 uses a special LCD driver mode which allows to access a 2x20 CLCD and 4 OLEDs from the same core. This is a dedicated hack and neither universal (e.g. it isn't supported by MBNG) nor scalable (1 CLCD and 4 OLEDs is the limit for MBCV V2, and the OLEDs can only be used as scopes)

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Nice to hear!

I can't speak for Hawkeye, but more LEDs and buttons can certainly be added. Some thought is needed -i.e. do we sprinkle them out here and there, or keep them around the lower display/SCS area or somewhere else?

Obviously we can't make a dedicated controller such as the lovely JD-800 control surface. Another option would be a couple of blocks with 8LEDs and buttons on top/below to cycle up/down as well as a button next to every LED. If this sits on the side of an OLED we can select LFO 1-8, ENV 1-8, Waveforms going into a mixer, A block or blocks of harmonic levels, FM operators...

However, Hawkeye has a lovely gray Plexiglas/acrylic overlay which it wouldn't be nice to have to scrap. We need to synchronize a little.

Best,

Johan

Edited by jojjelito
Link to comment
Share on other sites

Very cool! :-)

 

We currently have 6 buttons and one encoder in the lower menu area.

 

One reason for this choice was to minimize input serial register use (standard SCS mapping, directly attached to the core). The hope was to be able to attach a maximum number of LEDRing boards - each of them uses four input shift registers, and there was the fear of a too long serial chain, when using another DIN module for more inputs.

Also, there was the hope, that we might be able to extend the existing LEDring boards with an addon-box with even more LEDring-boards later on - this was therefore prioritized over more input possibilites in the menu section, as our goal was to get a maximum size encoder array :-) (we don´t know the hardware limits of the serial chain yet and how many more LRE boards are ultimately possible).

 

Another reason was the goal of a quite minimalistic/clean programma main surface (with everything necessary involved, but no luxury items/and no excess area used up by controls, that may not be needed by every application) and to design addon boxes for specific use cases later on.

 

The available surface space is quite limited and has been optimized for the Formulor/Ponoko size panels (vertical and horizontal limit of 384mm) - with this, we were able to fit eight OLEDs in the lower compartment. And, we have one push-acceleratable encoder for subbank and superbank switching, a menu button and five freely assignable switches, that allow for 25 custom bookmarks to be very quickly reached with a fast and easily memorized two-key-combo :-) (see below).

 

Synth-specific stuff, like selecting LFOs, waveforms, envelopes should imho only be handled on the lre-boards, not in the menu section, as we have many different synth targets and we cannot produce hardware that maps to every necessary function - so the idea is to stay generic here, utilize the label OLEDs for best description what each encoder does and hope for the best! :-)

 

Regarding the lot of lower menu OLEDs:

* One of the lower OLEDs is intended to be used as a key indication screen/menu, that shows which of the menu buttons is mapped to which function, so we are very dynamic here - to build a bookmarking system: with two levels/key presses, we can reach 25 shortcuts, that lead us to different target banks within the programma, or fire .ngr scripts, or other actions. Every bookmarked action/target bank is documented on the keyscreen.

* Another one of the OLEDs is used as an indicator which target synth (MBNG patch) is currently used, and for status message flashes.

* Then, we have four OLEDs for dynamic parameter description/graph/value output. What would be really nice would be an envelope display on those screens. Or synth specific addons, like a comb filter display for the K5000. Or... the algorithm selector for a FM synth. Anything, that needs a bit more complex visualization and description text... these screens get updated, when the respective encoder is turned. If no specialty (e.g. an envelope) is being displayed, there can be a long description of the currently changed parameter and its current and initial (snapshot) value. As we are potentially dealing with a lot of parameters for the complex synths, a bit of information text should be very nice, some synth engines are very complex and not easy to grasp.

* The remaining two OLEDs should display the current superbank and the subbank. This concept is just a logical extension of the standard MBNG banks - it is just a hierarchical access scheme. The superbank can be changed by pushing the menu encoder while turning, the subbank can be changed by only turning the encoder. This allows for a clean segmentation of banks.

The two displays act as a "breadcrumb display", that shows the currently active superbank (for example "voiced operators" for the FS1r) and subbank ("voice 1").

To reach a new superbank, push and turn, to switch to a new subbank, just turn the main encoder.

 

That was the navigation idea, at least. I know, these are a lot of things on the agenda and there is so little time - let's see where we will be headed. It might be a slow process, as we have daytime jobs :-)

 

In conclusion, my feeling is, that the main menu's navigation options (with the presented segmentation via main encoder, and the quick access via five*five bookmark general buttons) should be sufficient for any programma needs (even for large synths).

 

All synth-controller functionality, on the other hand, should be handled within the encoder section (with help of the dynamic labels). If encoders are not sufficient, we have the option to extend with external boxes. With the use of an AINSER64, there are lots of analog ins available for additional joysticks/pots or even plain switches for specific (maybe even synth specific) additions.

 

Sorry for the long text :smile:

Many greets and have a great evening!

Peter

Edited by Hawkeye
Link to comment
Share on other sites

I agree with Hawkeye. This is also a work in progress. Later on we will know more as there's a bit of work just mapping up the controls of various synth engines. :frantics:

Another totally convenient use case might be support for generic USB keyboards if working with patch names. Or, we'll have to come up with some Xbox/PS3-type of keyboard list. I haven't the foggiest at this stage. Named preset lists for synths with expansion cards? Dunno either. Let's see where this all ends up as it slowly grows. :smile:

You might argue the case for some special control element like a button bank for preset selection, or the use of absolute mechanical encoders like the nice 16-position Grayhill switch we know from the x0xb0x. It has a normal 4-bit binary output. Or, what about analog stuff like the 45mm LED sliders like those used by the TTSH ARP 2600 DIY clone? Would't they make a great envelope controller or organ drawbars? A bunch of LEDs, or the button/LED matrix from the MB-6582? Lots of synths have mod matrices. This has to be looked at later and can be placed in some box on the side if and when there's a need. I'm totally adding a joystick for that feeling of vectory. It kind of fits the Wavestation A/D and the Prophet VS. Lots of stuff could be mapped to its two axis. Also, inputs for foot pedals and switches would be nice.

Anything that relies on these special control elements would take away from the generic nature of the MBProgramma. My hope would then be that external hardware elements are also linked to some settings that are shadowed in the normal system of banks and sub bank settings. This way they become shortcuts to various existing settings.

Well, gotta hit the hay! Have a good one!
Johan

Edited by jojjelito
Link to comment
Share on other sites

Looking nice!

We have lots of the 128x64 displays on order, so our Programmas will prolly use these, as they are not so cheap in larger numbers :smile:

Personally, i like the 45 degree mounting style a lot, but it is a design question, tastes may differ, there is no right and no wrong :smile:.

 

We currently have the bigger problem, that fairlightiii is absent, and it would be best to have the LEDring boards re-designed with a possibility to attach FantomXRs new OLED carrier boards, but no one has the source files!

With a new board revision, the LEDrings could be adapted to be a bit smaller in diameter, then the 128x64px displays could optionally fit horizontally. As the labels are just "dumb" graphics files loaded, every user can decide on his preferred display mounting style by just swapping the graphics files on the SD card.

 

Have a great evening!

Peter

Edited by Hawkeye
Link to comment
Share on other sites

Apart from the bling, I wonder why the LED rings should be necessary if you have these displays anyways? Leave the LED rings unsoldered and place the displays horizontally between four encoders, with each corner displaying a small bar representing the current encoder value.

Link to comment
Share on other sites

The LRE boards with pre-soldered SMD LEDs come with the slight baggage of having the LEDs almost flush with the PCB surface. On the other hand we have to contend with the height of the encoder body as well as that of the OLED sandwich.

There's a good chance this too might look good, but until someone steps up with something based on those housed under an acrylic sheet we won't know for sure. The 3mm LEDs at least have a bit of lit body that rises up a few mm from the PCB. It could also look cool with rectangular LEDs, but if we used those it's no longer possible to fit the OLED in between. There's always these pesky trade-offs :)

How about sending an email to fairlightiii? If he's incommunicado we'd have to recreate the whole shebang. FYI - I really really don't like Eagle - its ancient workflow totally frosts my balls. Maybe some recent version is better? :geek:

Meanwhile, there are some interesting hardware issues to look at, plus mapping the controls for a few synths :frantics:

Edited by jojjelito
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...
×
×
  • Create New...