MicroDexed - DX7 to go

@C0d3man I was preparing to make a DX7 clone or emulator, than I found Dexed and Zynthian. I was considering making something smaller and cheaper, than I found MicroDexed. Thank you a lot, all hail open source.

Do you think would be feasible to implement a split function (two patches at the same time, 8 voices each, splitting the keyboard in half)? And also basic functions like hold (plays a key pressed once, till you press another one)? I did a quick view at the code, just tell me if it’s worth for me to invest time in studying it.

This stuff just to use MicroDexed in live performances and jams.

Great buddy

1 Like

Hi @scipione205,

Thanks, but I am standing on the shoulders of giants. I completely reused the Dexed engine and took much advantage from the Teensy audio stack.

Yes and Yes. :slight_smile:

Splitting is on my roadmap. Currently the code must be organized better… it works, but it’s not really nice. The Teensy has enough RAM to start a second engine of Dexed with an other voice - perhaps with more than 8 notes per voice…

It should not be a big problem and I would be very happy if you want to help :smile:
Current steps for this would be:

  • Add a second audio queue
  • Add a Mixer4 object and virtually patch both queues to the Mixer4 and the output of the Mixer4 towards the effects
  • Create a second Dexed engine which uses the second queue
  • Decide where to put the split point an route the MIDI messages corresponding

I hope to cleanup the code until mid February.

Regards, Holger

3 Likes

Ok I think I will start next week. Fisrt I will take a look at Dexed documentation that maybe it’s more complete.

3 Likes

A new audio demo of MicroDexed and MicroMDAEPiano (both based on the TeensyMIDIAudio board):

(Multi channel recording!)
No special effects. Only some panning and a Reverb bus. Drums are from EZ-Drummer. Trumpets, bass and solo-synth are all from MicroDexed. The EPiano is the MicroMDAEpiano (a port of MDAEPiano, also running on the hardware of MicroDexed) with builtin tremolo.

Regards, Holger

5 Likes

hello @C0d3man, the board kit is now soldered and I have a few question regarding cabling for the display and encoders.
The 3D render on the gith is not exactly like the board we have received. The latter has less connectors and the serigraphy is not complete, hence my questions for confirmation.

  • Encoders should connect to J7 but which pins exactly ?
  • I2C Display from the kit has the I2C board soldered, so it should go to J7, straight ?.. but the documentation on the git is not explicit. The LCD has GND,VCC,SDA,SCL, but you board looks like it is VCC,Sxx,Sxx,GND. can you confirm please ?

Then for the complementary pins on J3 (Analog) and J4 (Serial), could you also confirm the pinout ?

Last comments on the assembly :

Here is the final board with “all” options fitted

The Pcb was easy to solder, good quality, next step will be to add the teensy boards and make some sound !

1 Like

Hi @jerash,

thanks for your reply. I will try to answer all your questions.

That’s because KiCAD had not all the parts as 3D model. Especially the dual RCA connectors were not available as 3D model, so I had to take single ones.

Can you tell me which picture you exactly mean? The picture for the Rev-1.7 board is located at TeensyMIDIAudio/Rev-1.7/TeensyMIDIAudio-1.7_top.png at master - dcoredump/TeensyMIDIAudio - Codeberg.org. Perhaps you took a look at the current (currently not in real life existing) revision (without “Rev-1.7” in the path)?

This is shown in the Build-Manual on page 9: J2 (pins 2,4,6 for Encoder1 and pins 14,16,18 for Encoder2, both GND cables from the encoder can be connected to any uneven number because all of them are GND). I just see that I made a mistake in the manual. There I wrote pins 2,3,4… that’s wrong. Counting is like this:
J2

Right!

It’s written down on page 10, but I think I have to make this more precise: On the PCB the connectors are like this:

You don’t need them for normal operation - only if you decide to add more hardware (like potentiometers or buttons). The pinout can be found in the circuit diagram. But I will add the pinout to the documentation soon.

Yes, I made a serious design mistake. I must help with my devices with a file (as described in the Build-Manual on page 12). Thanks for the hint - if there will be more boards, I will fix this problem.

Yeah, this isn’t ideal either. I will also improve that.

That’s nice to hear! I will continue working on MicroDexed soon. There are still a lot of improvements to do. But in the current state it works stable. Currently I put some time into the MicroMDAEPiano and tested a Hammond organ.

Thanks for reporting and have fun!

Regards, Holger

indeed i totally missed the Build manual, now things are clear.
thanks for the details, i’ll let you know when it is finished

1 Like

wow definately following this thread. Has anyone had success importing a bulk dump from dexed into an actual dx7 keyboard? I am able to fetch just one sound, but get that midi error when trying to load the entire 32 sounds. The other way works fine however (dx7 into dexed). Just installed the Supermax+ so now I wanna load up this baby and hopefully edit it from a controller like coffeeshopped’s patch base app for ipad.

So I have a DX7II but so far I have only loaded my DX7 sounds into the MicroDexed.

MicroDexed only uses the engine from the Dexed. I completely removed all UI and SysEx handling and wrote my own routines.

Regards, Holger

Here it is Finally working !

It is so nice to hear back some sound I used …25 years ago :blush:

Some remarks :

  • using arduino v1.8.5 I had to force some libraries path or else the compiler was complaining about finding two versions (the one from arduino lib and the one from teensy)

#include </Applications/Arduino.app/Contents/Java/hardware/teensy/avr/libraries/SD/SD.h>
#include </Applications/Arduino.app/Contents/Java/hardware/teensy/avr/libraries/MIDI/src/MIDI.h>

  • when moving CC7 on the controller, or the volume with the encoder, the are many clicks in the audio, it would be great to get rid of those

This is a success on first teensy boot with your kit, Audioboard and USB-Midi-host, nice work @C0d3man, let me know if you need me to test some features, i’m open despite the short available time I have

2 Likes

Ohhh and the delay is a really great addition to the synth.
Especially as the repeats are still running when you changes patches, that is super usefull !!!

Welcome back in the 80ies @jerash :smile: :man_dancing:

Thanks for sharing! Your are the 3rd musician who has a running MicroDexed!

Hm, yep, I had these problems, too, but for me everything works without changing anything at the code. Perhaps because I am having two installations of the Arduino-IDE (one for Arduino and one for the Teensy - it’s a little bit tricky to get them seperated).

Ok, this should be not a bigger problem to fix. Will do this next.

Indeed, there are two things for testing:

  • For your own pleasure: You can try MicroMDAEPiano. It currently has no UI, so LCD shows only garbage. So no controllers are available for changeing Reverb, EQ, distortion, … . But it sounds really nice and the Tremolo (Mod-wheel) is working. You have to uncomment (#define TEENSY_AUDIO_BOARD 1) in config.h (line 43)!
  • I have changed the MIDI handling of MicroDexed from my own MIDI code towards the code of the Arduino/Teensy MIDI library. So nothing special to hear - everything should work as good (or better) as before, but worth for testing. Therefore you have to change to the branch revise: cd MicroDexed; git checkout revise and recompile. This code also has a compile-time-option in config.h (MIDI_THRU) which mirrors all MIDI events towards the other MIDI connectors (so DIN-MIDI-IN->USB-HOST-MIDI-OUT+USB-MIDI-OUT and so on…).

Thanks and have fun with amplified phased shifted sinusoids in the range of 0 Hz → 1/2 Nyquist frequency :joy:

Regards, Holger

Welcome back in the 80ies @jerash :smile: :man_dancing:

Thanks for sharing! Your are the 3rd musician who has a running MicroDexed!

Hm, yep, I had these problems, too, but for me everything works without changing anything at the code. Perhaps because I am having two installations of the Arduino-IDE (one for Arduino and one for the Teensy - it’s a little bit tricky to get them seperated).

Ok, this should be not a bigger problem to fix. Will do this next.

Indeed, there are two things for testing:

  • For your own pleasure: You can try MicroMDAEPiano. It currently has no UI, so LCD shows only garbage. So no controllers are available for changing Reverb, EQ, distortion, … . But it sounds really nice and the Tremolo (Mod-wheel) is working. You have to uncomment (#define TEENSY_AUDIO_BOARD 1) in config.h (line 43)!
  • I have changed the MIDI handling of MicroDexed from my own MIDI code towards the code of the Arduino/Teensy MIDI library. So nothing special to hear - everything should work as good (or better) as before, but worth for testing. Therefore you have to change to the branch revise: cd MicroDexed; git checkout revise and recompile. This code also has a compile-time-option in config.h (MIDI_THRU) which mirrors all MIDI events towards the other MIDI connectors (DIN-MIDI-IN->USB-HOST-MIDI-OUT+USB-MIDI-OUT and so on…).

Thanks and have fun with amplified phased shifted sinusoids in the range of 0 Hz → 1/2 Nyquist frequency :joy:

Regards, Holger

Finally had some time to finish my MicroDexed, but alas, had no case. All was solved with a trip to the local dollar store. Being somewhat bookish, I found the perfect case! In honour of @C0d3man’s wonderful work, I replicated his red polka-dot tablecloth (minus the cloth) for the photos attached! :rofl: Still have some wiring cleanup to do as I don’t have any of those tiny jumpers so I had to use wires instead.

The MicroDexed is working well in my test setup. Looking forward to connecting it to a full size keyboard and studio monitors sometime soon. A fun build! Thanks C0d3man!

4 Likes

Very nice! A friend of mine has started using book covers for backgrounds of his synth modules…

2 Likes

For a fake it’s ok :rofl:

Thanks for the nice pictures!

3 Likes

The postman with my PCB, instead, is still swimming thru the cold oceans to get here… I hope he will send me a postcard when it arrives in New Zealand… :sob:
:smiley: :smiley: :smiley:
Fortunately, I’m working on the case for my new Zynthian, so it’s really not a problem… Let’s consider those €€ as a donation for you… or for the postman’s widow… :smile:

Mine only had to travel across the big pond, which it took almost a month. I guess the postman isn’t a good swimmer. Or, of course there’s the possibility that he’s a music fan and kept it for himself. Keep the faith and hope it arrives soon!

Whaaaaaat? Not arrived yet? That’s pretty bad :disappointed_relieved:

More for the postman’s widow. You will get a PCB from the next charge for free!
(Next charge is currently not in production… I just need some time to check the new layout before producing a lot of expensive srap)

Regards, Holger

@wolfpaw98 between @C0d3man and me there is just land. Doing some little math, I think i could cover that distance by foot without sweating in half the time we waited… :smiley:

1 Like