A DX7 (Fm synthesis) replacement with Dexed on a Teensy

some more observations:

the dev firmware cannot save the menu settings, on every reboot i have voice level at zero, polyphony for both voices at zero etc. it seems it has trouble writing to the sdcard? i reckon settings were saved in EEPROM in the non-dev version?
whatever i try i get no sound output from the dev version.

on the master version i have 4 settings in the Stereo/Mono menu, STEREO and MONO option produce sound on headphone output while MONO-R and MONO-L don't.

i am sure eager to try the mda-epiano :) don't care much for the drums and the sequencer a.t.m. anyways amazing work, thanks!!
 
some more observations:

the dev firmware cannot save the menu settings, on every reboot i have voice level at zero, polyphony for both voices at zero etc. it seems it has trouble writing to the sdcard? i reckon settings were saved in EEPROM in the non-dev version?
whatever i try i get no sound output from the dev version.

on the master version i have 4 settings in the Stereo/Mono menu, STEREO and MONO option produce sound on headphone output while MONO-R and MONO-L don't.

i am sure eager to try the mda-epiano :) don't care much for the drums and the sequencer a.t.m. anyways amazing work, thanks!!

Did you copied the data from addon/SD (from the dev branch) to your SD card? There is a new folder which is needed to store the system state.

I have no idea why mono-l and mono-r do not work as expected. I have to check this with the audio shield.

Regards, Holger
 
Did you copied the data from addon/SD (from the dev branch) to your SD card? There is a new folder which is needed to store the system state.

I have no idea why mono-l and mono-r do not work as expected. I have to check this with the audio shield.

Regards, Holger

ah of course, i did not check the dev sd card folder to see if anything changed, my bad. i am abroad but will check tonight or tomorrow morning. thanks for your help.
 
ah, spoke too soon... i already used the dev SD-folder which has PERFORMANCE, FAVCFG, FXCFG,PCFG and VCFG in addition to the dx7 banks. hmm...
 
ah, spoke too soon... i already used the dev SD-folder which has PERFORMANCE, FAVCFG, FXCFG,PCFG and VCFG in addition to the dx7 banks. hmm...

Hm, that's bad. I hope I can find some time today for looking deeper with my setup...

Regards, Holger
 
Hm, that's bad. I hope I can find some time today for looking deeper with my setup...

Regards, Holger

hi holger, good news!! i have sound now on the dev version! i updated my teensyduino version to the latest and when i compiled and uploaded the code with this version it said something about updating the bootloader on the 4.1. now it works!
 
wow, the MDA-epiano sounds great! it really has that rhodes/wurli quality where keys that are hit hard, loose low-end and get a bit distorted. nice to have this in hardware...

a couple of questions/observations:

setting the same channel for a dexed instance and the epiano mutes the epiano, is this a limitation or a bug? would be nice to layer sounds this way.
also when setting the drum channel and the epiano to the same channel some epiano notes are sustained when the key is released, while others are acting normally. i understand this is an "edge" use case but just thought i would report. i guess the midi for the drums ignores note off for as long as the sample goes, and this is what sustains the epiano??
 
wow, the MDA-epiano sounds great! it really has that rhodes/wurli quality where keys that are hit hard, loose low-end and get a bit distorted. nice to have this in hardware...

Yes, I was also very positively surprised by the MDA-EPiano - already as LV2 instrument on the Zynthian.

At the last (small) gig with the band I even used it live - sounded really good.

a couple of questions/observations:

setting the same channel for a dexed instance and the epiano mutes the epiano, is this a limitation or a bug? would be nice to layer sounds this way.
also when setting the drum channel and the epiano to the same channel some epiano notes are sustained when the key is released, while others are acting normally. i understand this is an "edge" use case but just thought i would report. i guess the midi for the drums ignores note off for as long as the sample goes, and this is what sustains the epiano??

I think it's because of my lousy MIDI implementation for EP. Thanks for the hint - I have to take a closer look and fix the errors.

I am totally happy that you like the Dexed! I hope I will someday also properly finished with it. Every time I think "now is the time" I think of something new that can be improved.

Regards, Holger
 
Yes, I was also very positively surprised by the MDA-EPiano - already as LV2 instrument on the Zynthian.

At the last (small) gig with the band I even used it live - sounded really good.





I think it's because of my lousy MIDI implementation for EP. Thanks for the hint - I have to take a closer look and fix the errors.

I am totally happy that you like the Dexed! I hope I will someday also properly finished with it. Every time I think "now is the time" I think of something new that can be improved.

Regards, Holger

tbh i think it would be a good time now to split your dev efforts into two separate "distributions". make a version without the sequencer, and without the drums but with:

-(more voices or the option to have a 3rd or 4th dexed instance (even if every instance only has few voices).)
-MPE support (basically pitchbend per voice and polyphonic aftertouch and cc74 as modulation sources)
-"all" the small bugs fixed :)
-support to upload sysex from dexed to MicroDexed (maybe it works already, but i couldn't make it work)

leave the epiano in, it is definitely great! finish that version properly. then release it.

the other version can be your playground to add sequencer and whatever. that way you can finish something and still work on something, since secretly you don't want to be finished :)

addendum:

when dexed and MicroDexed are connected reverb level and other parameters are not controllable from MicroDexed anymore, they jump around. once dexed is closed they work normally again. some MIDI interference i am sure.
 
Yes, I was also very positively surprised by the MDA-EPiano - already as LV2 instrument on the Zynthian.

At the last (small) gig with the band I even used it live - sounded really good.



I think it's because of my lousy MIDI implementation for EP. Thanks for the hint - I have to take a closer look and fix the errors.

I am totally happy that you like the Dexed! I hope I will someday also properly finished with it. Every time I think "now is the time" I think of something new that can be improved.

Regards, Holger

I hope it is fixed. Can you try?
 
tbh i think it would be a good time now to split your dev efforts into two separate "distributions". make a version without the sequencer, and without the drums but with:

Actually, that's exactly how it should be. The problem is that there are two of us working on the code and Mark has built the sequencer on top of the drum sampler. Thereby so many dependencies came in that the "switching off" of the drums or the sequencer does not work cleanly.

It's a pity, I thought we'll get this right, to make a split afterwards and only build for the T_4.1 with all features...

-(more voices or the option to have a 3rd or 4th dexed instance (even if every instance only has few voices).)
-MPE support (basically pitchbend per voice and polyphonic aftertouch and cc74 as modulation sources)
-"all" the small bugs fixed :)
-support to upload sysex from dexed to MicroDexed (maybe it works already, but i couldn't make it work)

Theoretically, you can run more than two instances, but the UI on the small display doesn't allow for more. I wanted to fix the small bugs now. This should be done after the electric piano installation. Unfortunately, I can't do it all the time at the moment. In the end, it's code-freeze now anyway.

SYSEX upload has already worked, also SYSEX parameter changes. So it should still work. I have always tested this with https://dx7.vstforx.de/ - worked fine.

leave the epiano in, it is definitely great! finish that version properly. then release it.

the other version can be your playground to add sequencer and whatever. that way you can finish something and still work on something, since secretly you don't want to be finished :)

addendum:

when dexed and MicroDexed are connected reverb level and other parameters are not controllable from MicroDexed anymore, they jump around. once dexed is closed they work normally again. some MIDI interference i am sure.

I never connected Dexed to MicroDexed. Will try this.

Currently I just want to have a version, feur which I have built MicroDexed: as a light synth with EP and a few drum samples for my band and at home to compose on the KSP.

Regards, Holger
 
I hope it is fixed. Can you try?

partially...

dexed with epiano on same channel works now, great!

epiano with drums remaps some of the epiano notes (they sound at different pitch) and those notes also don't stop when i release the key...
 
while i am at it, i incorporated the MicroDexed into an axis49 midi controller. it has quite a big range and outputs midi notes from 18 to 109. notes 18 and 20 and 109 do not output any sound, i guess the range for both epiano and dexed is restricted in the same way. any hints where i could enable these 3 notes as well?
 
hi there,

i tried to modulate some parameters per aftertouch (that are not supported by default)

here is what i tried:

Code:
    MicroDexed[instance_id]->setVoiceDataElement(20, pressure); // set function parameter
    MicroDexed[instance_id]->setVoiceDataElement(41, pressure);

        MicroDexed[instance_id]->ControllersRefresh();

where pressure is a variable i am changing every 10ms

it seems those sysex parameters are only updated on a new note on, right? even if i use ControllersRefresh(); or should that work?
 
A really nice project. I had the parts laying around and made my own with a T4.1 and a PCM5102A. I've always wanted a DX1!

20220314_164138.jpg
 
Puzzled... I tried to compile this on Arduino IDE 1.8.5 Teensy 1.47 and get loads of errors relating to the LCD and MS_Encoder libraries. Yes, I created the sub-directory 'libraries' in the sketch folder. :)

I'll update Teensyduino later today and keep digging. Probably a config thing:

Code:
UI.hpp:1021: error: call of overloaded 'write(int)' is ambiguous
     lcd.write(0);
                ^
In file included from /Users/DavidJamesHughes/Documents/Arduino/libraries/Newliquidcrystal_1.3.5/LiquidCrystal_I2C.h:35:0,
                 from /var/folders/8s/9_l_q8rx6w93_mh0wqr_mrw40000gn/T/arduino_build_244063/sketch/UI.hpp:115,
                 from /Users/DavidJamesHughes/Desktop/microdexed/MicroDexed.ino:44:
/Users/DavidJamesHughes/Documents/Arduino/libraries/Newliquidcrystal_1.3.5/LCD.h:521:19: note: candidate: virtual size_t LCD::write(uint8_t)
    virtual size_t write(uint8_t value);
                   ^
 
I spotted it... Doh! One of my other libraries is causing a conflict... :(

Later : Nope, several other libraries are causing a conflict... Doh ^ 2.
 
Hello ThinkingMetal,

what libraries you have conflicts with ?

..and you usualy do not have to create a subdirectory for the libraries, it is located in your home-folder/documents/Arduino (at least on a Mac it is there, usualy)


I spotted it... Doh! One of my other libraries is causing a conflict... :(

Later : Nope, several other libraries are causing a conflict... Doh ^ 2.
 
I guess not everybody interested/using microdexed is aware that we are working on a new generation of microdexed with a more modern graphical display and a lot of new features, some of them build around the onboard sequencer with a song-> chain -> pattern structure, similar as it is known from LSDJ and other popular sequencers / trackers. Dexed is naturally kind of the main sound source but there is also sample playback for drums and pitched sounds, the epiano and a new (but simple) monosynth with 2 instances as a sound source. It is an 1 OSC + Noise Synth but it has multi mode filters, for both of the OSCs separately, advanced PWM, LFO and snappy envelopes.

All of the previous features are there - and should work at least as good and stable as before. The new features are in different stages of development, so at this moment this is not a feature complete build, neither is it error free. Nonetheless i would be happy if you give it a try, give feedback or send in issues in https://codeberg.org/positionhigh/MicroDexed-touch/issues what you find missing, lacking or what you would like to see next.
There are some Hardware/Software Barriers that are not solved, yet. If you are a developer, let us know if you would like to contribute to our open source project - any help would be appreciated!

The homepage with the hardware description and requirements is at:
https://codeberg.org/positionhigh/MicroDexed-touch

A YouTube Playlist, showing some of the new features is at:
https://www.youtube.com/watch?v=N0nbnkdI9uc&list=PLHTypoMU1QoGOXPli8bjR6MknPiQpubHl

microdexed-002562.png

microdexed-005944.png

microdexed-006607.png

microdexed-000674.png

microdexed-004427.png

microdexed-004831.png

PXL_20220418_153914825.jpg
 
Last edited:
Hello, yes I've seen it! I was planning to steal the sequencer code eventually for my next project actually. The interface looks very nice. I'm using the same screen and the ILI9341_t3n library for this project too. The SPI clock and read speeds can be reliably doubled to 60MHz and 4MHz for smoother screen updates with a Teensy4. Can you open a forum on Codeberg for discussions like Github?
 
Hello ThinkingMetal,

what libraries you have conflicts with ?

..and you usualy do not have to create a subdirectory for the libraries, it is located in your home-folder/documents/Arduino (at least on a Mac it is there, usualy)

The most obvious culprit is the Newliquidcrystal Library, which is from an old legacy project. I moved it out of /documents/Arduino/libraries and that solved a number of problems.

MD_Rencoder is causing the next round of problems, probably because it conflicts with the existing Encoder library, which is in use by at least one current project.

i'll keep going.
 
Hello UHF,
yes, i can set the SPI Clock much higher , if i remember correctly it is working with even higher numbers than doubled but as further i go, i get louder audio artefacts from the SPI Bus (only when the display is drawing and you can hear it best when the device is not playing audio) .
Since the display is already very fast as it is now, i have put this on a not so high priority. If you have ideas how to get rid of the bus noise, pease let me know :_)

It should be possible to extract the sequencer code for other projects but it is so specialy construced for dexed, i am not sure if it makes much sense to take more as a skeleton from it.

About Codeberg, it seems they have not such a feature. But we are allowed to use the Issues Tracker for that:
"...can be used to suggest enhancements, ask for new features, discuss a project's direction, ask questions and much more."
 
Last edited:
Hello Metal,

as far as i know, there are no modifications on the Encoder Library so you should be able to use your existing version. If not, you could copy the library into the project (or somewhere else) and change the path for the include to this destination.
 
I'm using a four-layer board, with a Teensy MicroMod, PCM5102A and a similar ILI93141 display. I could run your code except there's no touch screen. I don't hear any SPI noise at all.
 
Back
Top