MicroDexed is a compatible 6-operator-FM-synth based on the Teensy(-3.6/-4.x) Microcontroller. https://www.parasitstudio.de
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Holger Wirtz 684ec329be Fixing a memory leak when reading from SD card. 2 weeks ago
addon Fix extension. 7 months ago
doc Fixing a memory leak when reading from SD card. 2 weeks ago
third-party Replacing LCDMenuLib2 with newest version (2.2.4). 2 weeks ago
.gitignore Fixes. 1 month ago
Disp_Plus.h Fixing hanging and problems when reading from SD caused from panic() and disabling the audio interrupt. 3 months ago
EngineMkI.cpp Code cleanup add license additions. 2 years ago
EngineMkI.h ... 2 years ago
EngineOpl.cpp Fixes. 2 years ago
EngineOpl.h Fixes. 2 years ago
LICENSE-APACHE2.txt Code cleanup add license additions. 2 years ago
LICENSE-GPL3.txt Code cleanup add license additions. 2 years ago
MicroDexed.ino Fixes: Disabling audio thru by default because it's noisy. 2 weeks ago
PluginFx.cpp Fixing volume and distortion problems with buggy AudioAmplifier. 2 months ago
PluginFx.h Fixing volume handling for dexed engine. 5 months ago
README.md Update 'README.md' 2 months ago
UI.hpp Bugfix for setting delay level. 1 month ago
UI_FX.h Fixes for bitimbral mode on T_3.6 (max. 10 voices per instance). 2 months ago
UI_NO_FX.h Fixes for bitimbral mode on T_3.6 (max. 10 voices per instance). 2 months ago
aligned_buf.h Initial version 2 years ago
config.h Fixing a memory leak when reading from SD card. 2 weeks ago
controllers.h Fixed portamento glissango mode. 3 months ago
dexed.cpp Fixes for some MIDI-CC handling. 1 month ago
dexed.h Fixes for bitimbral mode on T_3.6 (max. 10 voices per instance). 2 months ago
dexed_sd.cpp Fixing a memory leak when reading from SD card. 2 weeks ago
dexed_sd.h Sending voice data via MIDI (DIN and USB) when changing a voice. 2 months ago
dx7note.cpp Fixed portamento glissango mode. 3 months ago
dx7note.h Fixed portamento glissango mode. 3 months ago
effect_auto_pan.cpp Copyright dates modified. 5 months ago
effect_auto_pan.h Copyright dates modified. 5 months ago
effect_modulated_delay.cpp Copyright dates modified. 5 months ago
effect_modulated_delay.h Copyright dates modified. 5 months ago
effect_mono_stereo.cpp Fixes for voice loudness. 2 months ago
effect_mono_stereo.h Copyright dates modified. 5 months ago
effect_stereo_mono.cpp Copyright dates modified. 5 months ago
effect_stereo_mono.h Copyright dates modified. 5 months ago
env.cc Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 2 years ago
env.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 2 years ago
env.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 2 years ago
exp2.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 2 years ago
exp2.h Initial version 2 years ago
fast_log.h Added a limiter after the dexed engine to avoid clipping. 2 months ago
fm_core.cpp Code cleanup add license additions. 2 years ago
fm_core.h ... 2 years ago
fm_op_kernel.cc Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 2 years ago
fm_op_kernel.cpp Reorder config.h inclusion 9 months ago
fm_op_kernel.h Initial version 2 years ago
freqlut.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 2 years ago
freqlut.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 2 years ago
lfo.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 2 years ago
lfo.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 2 years ago
midi_devices.hpp Sending sysex data when parameter changes are done at UI. 2 months ago
midinotes.h Fixed summing of signals as integers. 2 years ago
module.h Initial version 2 years ago
name.c Added name for USB device. 1 year ago
pitchenv.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 2 years ago
pitchenv.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 2 years ago
porta.cpp Added Portamento function from https://github.com/asb2m10/dexed/pull/183 9 months ago
porta.h Added Portamento function from https://github.com/asb2m10/dexed/pull/183 9 months ago
sin.cpp Small FPU optimisations. 2 years ago
sin.h Initial version 2 years ago
source_microdexed.h Fixes for bitimbral mode on T_3.6 (max. 10 voices per instance). 2 months ago
synth.h Optimized mono2stereo effect. 8 months ago

README.md

MicroDexed

Dexed port for Teensy (3.6/4.0 with audio shield and LCD or OLED display)

This is a port of the original Dexed/msfa engine (see https://github.com/asb2m10/dexed and https://github.com/google/music-synthesizer-for-android) to be used on a Teensy-3.6 or Teensy-4.0.

The current state is: work in progress... but near version 1.0!

License

MicroDexed is licensed on the GPL v3. The msfa component (acronym for music synthesizer for android, see https://github.com/google/music-synthesizer-for-android) stays on the Apache 2.0 license to able to collaborate between projects.

Credits & thanks

  • Dexed engine by Pascal Gauthier (asb2m10)
  • DX Synth engine (as part of Dexed): Raph Levien and the msfa team
  • PPPlay : Great OPL3 implementation, with documented code :D
  • Thierry Pottier: for extreme testing, discussing about different options, images and many good suggestions for UI handling
  • Lars Pelz: Testing and documentation

Dexed comes with 3 engine types :

  • Modern : this is the original 24-bit music-synthesizer-for-android implementation.
  • Mark I : Based on the OPL Series but at a higher resolution (LUT are 10-bits). The target of this engine is to be closest to the real DX7.
  • OPL Series : this is an experimental implementation of the reversed engineered OPL family chips. 8-bit. Keep in mind that the envelopes stills needs tuning.