MATRIXSYNTH: MonoMiK


Showing posts with label MonoMiK. Show all posts
Showing posts with label MonoMiK. Show all posts

Friday, July 24, 2015

Crumar GDS MIDI interface


Published on Jul 24, 2015 Michael Kukat

"The Crumar General Development System is a very rare late 1970s digital synthesizer based on the Bell Labs Digital Synthesizer, also known as the Alles Machine.

It might better be known by it's little brother, the Digital Keyboards Synergy. I'm fascinated by this machine since 7 or 8 years meanwhile, since i read about it in Mark Vail's Vintage Synthesizers book. One day, i want to have it replicated on a firmware basis running on a suitable micro.

A bit more than a year ago, i sort of accidentally bought this keyboard from eBay, missing the point that it might be hard to impossible to get the main unit for it. As the offer appeared several times from the seller before, i might not have been the only one.

But if i botch it, i'll fix the situation and not cowardly step back from the purchase. I mean. How hard can it be to make this a MIDI controller?

Really - not that hard. The "communications protocol" consists of several signals controlling some counters that control some multiplexers and a ramp ADC, not so difficult. It's a bit like a serial datastream for the keyboard and PWM for the potentiometers. But why not do it completely right and also support the other direction, adding MIDI to a Crumar GDS? So i took some more care analyzing the host-side interface circuitry to understand it and implement exactly the same signal behavior here.

So technically, this interface intercepts the keyboard and potentiometer lines using SPI DMA for the keyboard bits and timer PWM/capture for the potentiometer data. If the interface runs in master mode, there is another timer-controlled DMA generating the control signal stream, otherwise, this comes from the GDS and is just passed through.

The front panel LEDs, based on a ICM7218, are also intercepted, so i use externally-triggered timer controlling GPIO DMA to read the host writes into a MCU buffer, extract the LED data and forward this to the output code, which writes them to the keyboard. I can switch to internal LED control easily this way without losing host LED changes.

All this is based on a STM32F103RCT6 running at 72MHz. There is not even interface circuitry as the signal drivers in the STM32 are strong enough for the TTL receivers, the inputs already have schmitt-triggers, it just fits between the cable.

So far, everything basically works, basic MIDI support is there, now it's time to complete the configuration by SysEx and by the keyboard controller itself, implement firmware update via SysEx, add the USB MIDI support, make the 4 LEDs show some useful status information, but all this is just software.

The hardware is now completed and tested - which was the main purpose of this video, while showing you another not so common DIY hack."

Crumar GDS MIDI interface testing

Published on Jul 30, 2015 Michael Kukat

"Another video about the Crumar GDS MIDI interface.

This time, both interfaces are in use. One is running in master mode, sort of emulating a real GDS (just the scan processor, not the synth), the other one in slave mode, working as a GDS MIDI interface.

The purpose was to test if everything works as intended, as it already did on the breadboad.

Controlling the Korg Gadget on the iPad with a Crumar GDS keyboard - fun :)

In the second part, i try to describe a bit how the interface between the GDS main unit and the keyboard works and how i hook into this communication to implement the interface. The DK Synergy works exactly the same way, it even has nearly the same pinout, just number of keys and pots differ. My interface board could also be used in a DK Synergy."

Saturday, March 21, 2015

MonoMiK - the CV generator system


Published on Mar 21, 2015 Michael Kukat

"As promised - let's go a bit into tech details.

Introduced by a quick overview of the analog boards, this video mainly describes how all those control voltages are generated.

80 CV channels, -10V to +10V (plus some headroom for software-base offset correction), 16 bits resolution, update rate 1KHz. Done with very simple external hardware plus some tricks in the MCU to run everything off DMA.

So this is the most important thing of the digital control part. I use designs like this since the MiK-one and i never made any bad experience with them. Maybe not perfect for measuring equipment but totally sufficient for musical purposes.

Now the next video might take a while. Going back to finish the PCB for this and hacking some more software. GUI stuff and so. Need to add the rotary encoders and see if my plan works for them."

MonoMiK - basic digital control test


Published on Mar 21, 2015 Michael Kukat

"Weekend, DIY time. Fixed some issues seen in the last video, so i could successfully verify the analog part now and see if my digital control stuff works as intended.

Running all 4 VCOs in parallel, through the transistor ladder filter, making some noise. Most LEDs work fine now, the prototype construction still has some minor issues and i need some more time to dive back into where i left off some years ago.

And due to the positive feedback on the last video, and a general feedback that people find my videos educating and inspiring, the next one will be about some tech stuff of this digital control."

Thursday, March 19, 2015

MonoMiK - Analog meets digital


Published on Mar 19, 2015 Michael Kukat

"It's been a while since my last video, especially since my last video about the MonoMiK. This monster project was boxed for several years and didn't see power because i was busy writing an operating system for it and didn't have lots of spare time in general.

Okay, i also got distracted with other stuff that i can do with this operating system like SD card to SCSI adapters, MFM to USB bridges and some other crazy shit :)

But finally, the basic bits are there and i decided to switch back to this project. Working on it since several weekends, today was the moment to put the new digital control part together with the existing analog synth stuff.

The MonoMiK is a real analog synthesizer, just the control part is digital. So you have all those knobs for changing the parameters, they don't go through the CPU, they are directly connected to the synth modules. But you can still store them by some tricky override mechanism. At least this is planned.

To avoid tons of switches for waveform selection and configuration of the routing matrix, there is a touch screen with a GUI where those controls go. And here, you see the first test of how those things work together. It's the prototype of what will get a PCB during the next weeks.

Using circular DMA and some fancy tricks on the STM32F207, this generates 80 analog control voltages without using any CPU power, i plan to control oscillator synchronization using the STM32 timers also, which allows very fancy features for this synchronization, there is a lot more to come.

I hope you don't need to wait too long for the next part. Just wanted to say i'm back :)"

I created a new MonoMiK channel label for these moving forward. A quick search on MonoMiK will bring up previous posts.
NEXT PAGE HOME


Patch n Tweak
Switched On Make Synthesizer Evolution Vintage Synthesizers Creating Sound Fundlementals of Synthesizer Programming Kraftwerk

© Matrixsynth - All posts are presented here for informative, historical and educative purposes as applicable within fair use.
MATRIXSYNTH is supported by affiliate links that use cookies to track clickthroughs and sales. See the privacy policy for details.
MATRIXSYNTH - EVERYTHING SYNTH