MicroDexed is a compatible 6-operator-FM-synth based on the Teensy(-3.5/-3.6/-4.0) 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 90cd60b4b3 Fixing BUILTIN_SDCARD 2 months ago
addon Fix extension. 3 months ago
doc Started to implement sysex voice upload. 6 months ago
third-party Added third-party libraries and actual HEX files for T3.5/T3.6. 9 months ago
.gitignore Initial commit 1 year ago
EEPROMAnything.h Added a configuration struct for holding parameters which should be 11 months ago
Encoder4.h Created derived classes for Encoder4 and LiquidCrystal_I2CPlus. 1 year ago
EngineMkI.cpp Code cleanup add license additions. 1 year ago
EngineMkI.h ... 1 year ago
EngineOpl.cpp Fixes. 1 year ago
EngineOpl.h Fixes. 1 year ago
LICENSE-APACHE2.txt Code cleanup add license additions. 1 year ago
LICENSE-GPL3.txt Code cleanup add license additions. 1 year ago
LiquidCrystalPlus_I2C.h Switched to Teensy Audio Board. 1 year ago
MicroDexed.ino fixed compilation for non-I2C_DISPLAY build 4 months ago
PluginFx.cpp Exchanged double to float data types in PluginFX. 11 months ago
PluginFx.h Exchanged double to float data types in PluginFX. 11 months ago
README.md Added additional project hints. 1 year ago
UI.cpp fixed compilation for non-I2C_DISPLAY build 4 months ago
UI.h Added third-party libraries and actual HEX files for T3.5/T3.6. 9 months ago
aligned_buf.h Initial version 1 year ago
config.h Fixing BUILTIN_SDCARD 2 months ago
controllers.h Fix for controllers. 1 year ago
dexed.cpp Added velocity-bug fix. 3 months ago
dexed.h Added Dexed PluginFx code again - just for testing the 4pole filter. 11 months ago
dexed_sysex.cpp Fixes for volume and panorama handling. 1 year ago
dexed_sysex.h Fixes for volume and panorama handling. 1 year ago
dx7note.cpp Small FPU optimisations. 1 year ago
dx7note.h ... 1 year ago
env.cc Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 1 year ago
env.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 1 year ago
env.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 1 year ago
exp2.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 1 year ago
exp2.h Initial version 1 year ago
fm_core.cpp Code cleanup add license additions. 1 year ago
fm_core.h ... 1 year 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. 1 year ago
fm_op_kernel.cpp Fixed typo. 1 year ago
fm_op_kernel.h Initial version 1 year ago
freqlut.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 1 year ago
freqlut.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 1 year ago
lfo.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 1 year ago
lfo.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 1 year ago
midi_devices.hpp Fixed USB_MIDI port handling. 1 year ago
midinotes.h Fixed summing of signals as integers. 1 year ago
module.h Initial version 1 year 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. 1 year ago
pitchenv.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. 1 year ago
sin.cpp Small FPU optimisations. 1 year ago
sin.h Initial version 1 year ago
synth.h Added PT8211 output driver option. 1 year ago

README.md

MicroDexed

Dexed port for Teensy (3.5/3.6 with audio shield)

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.5 or Teensy-3.6.

The current state is: work in progress...

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

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.