Free as in Freedom: Codeberg.org. Create your repos!
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 4970cabc24 Fixed SYSEX handling. Wow, there were much coding errors inside. 1 month ago
addon Added delay, reverb, filter - just with fixed values - only as a first test. Fixed maximum note allocation code in dexed.h. 6 months ago
doc Fixed bad latency (about 50ms!) with a bad but woking hack. Now the latency is at about 5.5ms. Added a screenshot from latency measurement. 4 months ago
hex Added HEX file. 1 month ago
.gitignore Initial commit 11 months ago
Encoder4.h Created derived classes for Encoder4 and LiquidCrystal_I2CPlus. 6 months ago
EngineMkI.cpp Code cleanup add license additions. 10 months ago
EngineMkI.h ... 11 months ago
EngineOpl.cpp Fixes. 11 months ago
EngineOpl.h Fixes. 11 months ago
LICENSE-APACHE2.txt Code cleanup add license additions. 10 months ago
LICENSE-GPL3.txt Code cleanup add license additions. 10 months ago
LiquidCrystalPlus_I2C.h Switched to Teensy Audio Board. Added link to source of LiquidCrystal_I2C. 6 months ago
MicroDexed.ino Fixed SYSEX handling. Wow, there were much coding errors inside. 1 month ago
README.md Added additional project hints. Smaller changes. 9 months ago
UI.cpp Fixes for volume and panorama handling. Some small additions to MIDI hanlders. 2 months ago
UI.h Fixes for volume and panorama handling. Some small additions to MIDI hanlders. 2 months ago
aligned_buf.h Initial version 11 months ago
config.h Next try... 1 month ago
controllers.h Fix for controllers. 11 months ago
dexed.cpp Fixes for volume and panorama handling. Some small additions to MIDI hanlders. 2 months ago
dexed.h Fixes for volume and panorama handling. Some small additions to MIDI hanlders. 2 months ago
dexed_sysex.cpp Fixes for volume and panorama handling. Some small additions to MIDI hanlders. 2 months ago
dexed_sysex.h Fixes for volume and panorama handling. Some small additions to MIDI hanlders. 2 months ago
dx7note.cpp Small FPU optimisations. 11 months ago
dx7note.h ... 11 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. Added shortcut if audio output is blocking -> go to MIDI input checking. 11 months ago
env.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. Added shortcut if audio output is blocking -> go to MIDI input checking. 11 months ago
env.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. Added shortcut if audio output is blocking -> go to MIDI input checking. 11 months ago
exp2.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. Added shortcut if audio output is blocking -> go to MIDI input checking. 11 months ago
exp2.h Initial version 11 months ago
fm_core.cpp Code cleanup add license additions. 10 months ago
fm_core.h ... 11 months 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. Added shortcut if audio output is blocking -> go to MIDI input checking. 11 months ago
fm_op_kernel.cpp Fixed typo. 10 months ago
fm_op_kernel.h Initial version 11 months ago
freqlut.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. Added shortcut if audio output is blocking -> go to MIDI input checking. 11 months ago
freqlut.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. Added shortcut if audio output is blocking -> go to MIDI input checking. 11 months ago
lfo.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. Added shortcut if audio output is blocking -> go to MIDI input checking. 11 months ago
lfo.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. Added shortcut if audio output is blocking -> go to MIDI input checking. 11 months ago
midi_devices.hpp Fixed USB_MIDI port handling. 1 month ago
midinotes.h Fixed summing of signals as integers. Added midinotes.h. Added overload detection. Small fixes. 10 months ago
module.h Initial version 11 months ago
name.c Added name for USB device. 2 months ago
pitchenv.cpp Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. Added shortcut if audio output is blocking -> go to MIDI input checking. 11 months ago
pitchenv.h Changed all "double" values to macro FRAC_NUM (defined in synth.h as float), for using the FPU in the Teensy. Added shortcut if audio output is blocking -> go to MIDI input checking. 11 months ago
sin.cpp Small FPU optimisations. 11 months ago
sin.h Initial version 11 months ago
synth.h Added PT8211 output driver option. 8 months 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.