chaos_matrix
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
chaos_matrix [2009/12/27 14:17] – jackchaos | chaos_matrix [2016/06/27 20:18] (current) – psykhaze | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Chaos Matrix ====== | ||
+ | |||
===== Introduction ===== | ===== Introduction ===== | ||
+ | |||
Chaos Matrix is a programmer for an Oberheim Matrix 1000 analog synthesizer built by [[http:// | Chaos Matrix is a programmer for an Oberheim Matrix 1000 analog synthesizer built by [[http:// | ||
It features edit buffer synchronization for visual feedback and inspection of all Matrix 1000 voices parameters, patch compare, patch init, advanced performance options for some parameters as well as containing all 1000 original patch names. Seeing patch names instead of numbers alone, makes it a lot easier to remember your favorites. | It features edit buffer synchronization for visual feedback and inspection of all Matrix 1000 voices parameters, patch compare, patch init, advanced performance options for some parameters as well as containing all 1000 original patch names. Seeing patch names instead of numbers alone, makes it a lot easier to remember your favorites. | ||
- | Chaos Matrix | + | Chaos Matrix |
- | Forum announcement here: | + | Forum announcement here: [[http:// |
- | [[http://www.midibox.org/ | + | |
[[http:// | [[http:// | ||
- | [[http:// | + | {{youtube>PJMrMQk5lrk?large}} |
- | + | {{youtube> | |
+ | {{youtube> | ||
- | === Current Status (updated | + | === Current Status (updated |
- | * The electronics need to be mounted inside the wooden enclosure. | + | * Software complete. Beta source code available on [[http:// |
- | * Rear panel with MIDI & power jacks | + | * How-To Build document |
- | * A MIDI merge has to be built, its necessary for the edit buffer sync feature without the need of a PC. | + | |
- | * The encoder setup isn't perfect, I still get occasional skipping. | + | |
- | * Software 99.9% complete. | + | |
===== Features ===== | ===== Features ===== | ||
Line 69: | Line 68: | ||
After all my hard work, I didn't want to invest any more money and time on something that was ugly and costly and didn't work as intended. | After all my hard work, I didn't want to invest any more money and time on something that was ugly and costly and didn't work as intended. | ||
- | For the next few years the prototype sat in my office. Occasionally I would turn it on and play it a while. Eventually I got tired of looking at an incomplete project and decided to give it another shot. This time, sticking to the basics... | + | For the next few years the prototype sat in my office. Occasionally I would turn it on and play it a while. Eventually I got tired of looking at an incomplete project and decided to give it another shot. This time, sticking to the basics... |
===== Panel Design ====== | ===== Panel Design ====== | ||
Line 77: | Line 76: | ||
[[http:// | [[http:// | ||
- | The redesign of the panel began with inspiration from a few classic analog synths: The panel to the Oberheim OBX, Roland Jupiter 8 and Jupiter 6. I liked how simple the two rows of controls were laid out on the Jupiter 8 and how easy it was to see the flow of synth parameters. I knew that the Chaos Matrix would have to have no more than two rows of controls and they would have to fit in 24 inches of the "Live Panel" and the rest of the parameters would be menu driven from the "Soft Panel" | + | The redesign of the panel began with inspiration from a few classic analog synths: The panel to the Oberheim OBX, Roland Jupiter 8 and Jupiter 6. I liked how simple the two rows of controls were laid out on the Jupiter 8 and how easy it was to see the flow of synth parameters. I knew that the Chaos Matrix would have to have no more than two rows of controls and they would have to fit in 24 inches of the "Live Panel" and the rest of the parameters would be menu driven from the "Soft Panel". FrontPanel Express file is attached to [[http:// |
=== Live Panel === | === Live Panel === | ||
Line 99: | Line 98: | ||
Pulse waveform can be enabled by toggling the pulse button and altering its shape with the " | Pulse waveform can be enabled by toggling the pulse button and altering its shape with the " | ||
- | DCO2 Click/Noise button is a 3 state button allowing you to enable the noise wave without | + | DCO2 Click/Noise button is a 3 state button allowing you to enable the noise wave without |
The Sync button toggles the 4 oscillator sync modes. | The Sync button toggles the 4 oscillator sync modes. | ||
Line 106: | Line 105: | ||
=== Filter Section === | === Filter Section === | ||
- | The filter to envelope modulation modulates the cutoff frequency to envelope 1 by default when editing preset patches. | + | The filter to envelope modulation modulates the cutoff frequency to envelope 1 by default when editing preset patches. |
- | If a user patch is initialized, | + | |
Some of the parameters sent as system exclusive messages causes the Matrix 1000 to hang. If you're playing notes and change some of the parameters, the notes will hold for a brief moment. Most of the hanging is overcome by simply controlling the interval of messages being transmitted over MIDI for each parameter. Most behave fine and the message can be sent at normal speed, but for others, the transmit interval was reduced in order to compensate for the hanging. | Some of the parameters sent as system exclusive messages causes the Matrix 1000 to hang. If you're playing notes and change some of the parameters, the notes will hold for a brief moment. Most of the hanging is overcome by simply controlling the interval of messages being transmitted over MIDI for each parameter. Most behave fine and the message can be sent at normal speed, but for others, the transmit interval was reduced in order to compensate for the hanging. | ||
Line 136: | Line 135: | ||
===== How to build a Chaos Matrix ====== | ===== How to build a Chaos Matrix ====== | ||
+ | I realize some people may not want to build theirs using the same panel layout, same pots, buttons encoders etc, but I'll document my construction as much as possible so it can be used as a reference for those who want to build their own custom programmers for the Oberheim Matrix 1000. I would categorize the construction difficulty as medium-advanced. | ||
+ | |||
+ | === Hardware === | ||
+ | * 1 PIC based core with a PIC18F4620 | ||
+ | * 1 AIN, 1 DIN, 1 DOUT | ||
+ | * MIDI merge. You can build one using the schematics found at ucapps.de. I simply extracted the internals of an old MIDI-MAN 2x2 MIDI Merger I got off ebay. It uses power from the midi cable and works fine. | ||
+ | * 1 [[http:// | ||
+ | * 25 Alpha 10k linear [[http:// | ||
+ | * 3 Bournes detented [[http:// | ||
+ | * 16 [[http:// | ||
+ | * 1 small red LED T1 (.125" Dia) 3mm | ||
+ | * 2 large stripboards (110 x 94mm) [[http:// | ||
+ | * 5 small stripboards (94 x 53mm) [[http:// | ||
+ | * 3 panel mount 5 pin common MIDI jacks from [[http:// | ||
+ | * 1 DC power jack | ||
+ | * 3 24 x 5 1/2 x 3/4 oak boards from local hardware store [[http:// | ||
+ | * 8 L brackets with screws [[http:// | ||
+ | * 2 pieces of trim stock [[http:// | ||
+ | * wood glue | ||
+ | * wood stain | ||
+ | * poly coat for the wood | ||
+ | |||
+ | |||
+ | === Building the Modules === | ||
+ | Follow the standard instructions for building the 4 Midibox components and getting them connected to the core. You will also have to build a cable to connect the core to the character LCD module. I would highly recommend getting PCB kits from [[http:// | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | The control surface components requires VSS and VDD power connections, | ||
+ | |||
+ | === Front Panel === | ||
+ | All the pots can be mounted directly on the panel. Here is a simple guide on wiring [[http:// | ||
+ | |||
+ | AIN PIN wiring | ||
+ | |||
+ | * 0 LFO1 DEPTH | ||
+ | * 1 LFO1 SPEED | ||
+ | * 2 UNUSED (pin to ground) | ||
+ | * 3 OSC1 WAVE SHAPE | ||
+ | * 4 OSC1 LFO1 MOD | ||
+ | * 5 LFO2 DEPTH | ||
+ | * 6 OSC1 PLSE WIDTH | ||
+ | * 7 LFO2 SPEED | ||
+ | * 8 FREQ -> ENV | ||
+ | * 9 RESONANCE | ||
+ | * 10 OSC2 LFO1 MOD | ||
+ | * 11 OSC2 PLSE WIDTH | ||
+ | * 12 FM -> PRESSURE | ||
+ | * 13 FM AMOUNT | ||
+ | * 14 OSC2 WAVE SHAPE | ||
+ | * 15 FREQUENCY | ||
+ | * 16 FILTER RELEASE | ||
+ | * 17 FILTER SUSTAIN | ||
+ | * 18 ENV ATTACK | ||
+ | * 19 ENV SUSTAIN | ||
+ | * 20 ENV RELEASE | ||
+ | * 21 FILTER ATTACK | ||
+ | * 22 ENV DECAY | ||
+ | * 23 FILTER DECAY | ||
+ | * 24 DETUNE | ||
+ | * 25 OSC1< | ||
+ | |||
+ | Finally, clamp the remaining unused AIN pins to ground. | ||
+ | |||
+ | The Mountain Switch buttons can be mounted on a small PCB. 2 of its pins are for the button, the other two are for the LED. | ||
+ | |||
+ | DIN pin wiring for buttons and encoders | ||
+ | |||
+ | * 0 LFO2 WAVE | ||
+ | * 1 LFO1 WAVE | ||
+ | * 2 DCO1 ENCODER | ||
+ | * 3 DC01 ENCODER | ||
+ | * 4 OSC SYNC MODE | ||
+ | * 5 DCO1 PULSE | ||
+ | * 6 DCO1 WAVE | ||
+ | * 7 DCO1 CLICK | ||
+ | * 8 DCO2 ENCODER | ||
+ | * 9 DCO2 ENCODER | ||
+ | * 10 EDIT ENCODER | ||
+ | * 11 EDIT ENCODER | ||
+ | * 13 DCO2 CLICK | ||
+ | * 14 DCO2 WAVE | ||
+ | * 15 DCO2 PULSE | ||
+ | * 20 PAGE | ||
+ | * 21 MATRIX MODULATE | ||
+ | * 22 KEYBOARD | ||
+ | * 23 ENVELOPES | ||
+ | * 28 OSCILLATORS | ||
+ | * 29 FILTER | ||
+ | * 30 EDIT | ||
+ | * 31 PATCH SELECT | ||
+ | DOUT pin wiring for buttons | ||
+ | * 0 DCO2 CLICK | ||
+ | * 1 DCO2 WAVE | ||
+ | * 2 DCO2 PULSE | ||
+ | * 4 OSC SYNC MODE | ||
+ | * 5 DCO1 PULSE | ||
+ | * 6 DCO1 WAVE | ||
+ | * 7 DCO1 CLICK | ||
+ | * 8 ENVELOPES | ||
+ | * 9 KEYBOARD | ||
+ | * 10 MATRIX MODULATE | ||
+ | * 11 PAGE | ||
+ | * 16 PATCH SELECT | ||
+ | * 17 EDIT | ||
+ | * 18 OSCILLATORS | ||
+ | * 19 FILTER | ||
+ | * 21 LFO2 WAVE | ||
+ | * 22 LFO1 WAVE | ||
+ | * 23 MIDI ACTIVITY | ||
chaos_matrix.txt · Last modified: 2016/06/27 20:18 by psykhaze