diff --git a/doc/bin/gen_lcd_screen.sh b/doc/bin/gen_lcd_screen.sh index 948eaf8..c22a2fc 100755 --- a/doc/bin/gen_lcd_screen.sh +++ b/doc/bin/gen_lcd_screen.sh @@ -1,10 +1,12 @@ #!/bin/bash -line[0]=$1 -line[1]=$2 +IMG_PATH="${1}" +line[0]="${2}" +line[1]="${3}" +TARGET="${4}" COLOR="green" -IMG_PATH="./images" +TARGET_EXTENSION="jpg" CHAR_PATH="${IMG_PATH}/LCD_characters_${COLOR}" if [ ! -e ${IMG_PATH} ] @@ -60,14 +62,16 @@ do c="dot" fi x=$( bc -l <<<"230 + ${xpos} * 30" ) - composite -gravity NorthWest -geometry "+${x}+${y}" "${CHAR_PATH}/${c}.png" /tmp/LCD_$$.png /tmp/LCD_$$.png + composite -gravity NorthWest -geometry "+${x}+${y}" "${CHAR_PATH}/${c}.png" /tmp/LCD_$$.png /tmp/LCD_$$.png fi done done +convert /tmp/LCD_$$.png /tmp/LCD_$$.${TARGET_EXTENSION} + if [ "${3}" ] then - mv /tmp/LCD_$$.png "${3}" + mv /tmp/LCD_$$.${TARGET_EXTENSION} "${TARGET}" else - echo "Created /tmp/LCD_$$.png" + echo "Created /tmp/LCD_$$.${TARGET_EXTENSION}" fi diff --git a/doc/images/LCD_characters_green/round-brace-close.png b/doc/images/LCD_characters_green/round-brace-close.png index a086a3b..3f89aac 100644 Binary files a/doc/images/LCD_characters_green/round-brace-close.png and b/doc/images/LCD_characters_green/round-brace-close.png differ diff --git a/doc/images/LCD_characters_green/round-brace-open.png b/doc/images/LCD_characters_green/round-brace-open.png index 9c93f92..65b4703 100644 Binary files a/doc/images/LCD_characters_green/round-brace-open.png and b/doc/images/LCD_characters_green/round-brace-open.png differ diff --git a/doc/images/LCD_green.png b/doc/images/LCD_green.png index b0f6839..4bfc57e 100644 Binary files a/doc/images/LCD_green.png and b/doc/images/LCD_green.png differ diff --git a/doc/images/LCD_green_blank.png b/doc/images/LCD_green_blank.png new file mode 100644 index 0000000..5bc8286 Binary files /dev/null and b/doc/images/LCD_green_blank.png differ diff --git a/doc/manuals/MicroDexed-Build_Manual/MicroDexed-Build_Manual.md b/doc/manuals/MicroDexed-Build_Manual/MicroDexed-Build_Manual.md new file mode 100644 index 0000000..2d3e1d6 --- /dev/null +++ b/doc/manuals/MicroDexed-Build_Manual/MicroDexed-Build_Manual.md @@ -0,0 +1,4 @@ +![MicroDexed boot screen](images/00_MD_Build_Manual.jpg) + +# MicroDexed Build Manual + diff --git a/doc/manuals/MicroDexed-Build_Manual/build.sh b/doc/manuals/MicroDexed-Build_Manual/build.sh new file mode 100755 index 0000000..2568654 --- /dev/null +++ b/doc/manuals/MicroDexed-Build_Manual/build.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# +# sudo apt install wkhtmltopdf pandoc + +LCDIMG="../../bin/gen_lcd_screen.sh ../../images" + +${LCDIMG} " MicroDexed" " Build Manual" images/00_MD_Build_Manual.jpg + +pandoc MicroDexed-Build_Manual.md \ + -V 'geometry:a4paper' \ + -V 'geometry:margin=2cm' \ + -V 'fontfamily:dejavu' \ + -V 'fontsize:16pt' \ + -V 'lang=de-DE' \ +--number-sections \ +-t html5 -o MicroDexed-Build_Manual.pdf diff --git a/doc/manuals/MicroDexed-User_Manual/MicroDexed-User_Manual.md b/doc/manuals/MicroDexed-User_Manual/MicroDexed-User_Manual.md new file mode 100644 index 0000000..2ca4ee2 --- /dev/null +++ b/doc/manuals/MicroDexed-User_Manual/MicroDexed-User_Manual.md @@ -0,0 +1,4 @@ +![MicroDexed boot screen](images/00_MD_User_Manual.jpg) + +# MicroDexed User Manual + diff --git a/doc/manuals/MicroDexed-User_Manual/build.sh b/doc/manuals/MicroDexed-User_Manual/build.sh new file mode 100755 index 0000000..1595a17 --- /dev/null +++ b/doc/manuals/MicroDexed-User_Manual/build.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# +# sudo apt install wkhtmltopdf pandoc + +LCDIMG="../../bin/gen_lcd_screen.sh ../../images" + +${LCDIMG} " MicroDexed" " User Manual" images/00_MD_User_Manual.jpg + +pandoc MicroDexed-User_Manual.md \ + -V 'geometry:a4paper' \ + -V 'geometry:margin=2cm' \ + -V 'fontfamily:dejavu' \ + -V 'fontsize:16pt' \ + -V 'lang=de-DE' \ +--number-sections \ +-t html5 -o MicroDexed-User_Manual.pdf diff --git a/doc/manuals/MicroDexed/.gitignore b/doc/manuals/MicroDexed/.gitignore new file mode 100644 index 0000000..686ce3d --- /dev/null +++ b/doc/manuals/MicroDexed/.gitignore @@ -0,0 +1,2 @@ +*.pdf +images/* diff --git a/doc/manuals/MicroDexed/MicroDexed.md b/doc/manuals/MicroDexed/MicroDexed.md new file mode 100644 index 0000000..d93cdea --- /dev/null +++ b/doc/manuals/MicroDexed/MicroDexed.md @@ -0,0 +1,82 @@ +![MicroDexed boot screen](images/00_MD_boot.jpg) + +# What is MicroDexed? + +MicroDexed is a FM-Software-Synthesizer with 6 operators and some additional features. +It is written in C/C++ for the microcontroller Teensy-3.6/4.x. The sound generation (msfa) +from the free VST-plugin Dexed was used and a user interface was created using two encoders +and an LCD display. + +For the original Dexed/msfa software take a look at https://github.com/asb2m10/dexed and +https://github.com/google/music-synthesizer-for-android. + +## Features + +* Compatible to a legendary FM synth with 6 operators of a famous japanese manufacturer +* MIDI interface: + * DIN IN/OUT with software THRU (can be disabled, optional hardware THRU possible) + * USB-Slave (for connecting to a PC) + * USB-Master (for connecting keyboards) +* Audio inteface: + * RCA stereo IN/OUT with audio THRU (daisy-chain you sound generators) +* Onboard effects: + * Chorus (mono) + * Delay (mono, up to 500ms, with feedback) + * Low-üass filter with resonance + * Reverb (stereo) +* Mono sound engine with panorama controller before reverb +* Up to 16 voices of polyphony +* Up to 100 banks of 32 voices can be used on a SD card. +* MIDI SYSEX compatible + * Sounds can be edited with a external editor like... + * EdiSyn (https://github.com/eclab/edisyn) + * https://dx7.vstforx.de/ + * https://synthmata.com/volca-fm/ + * https://www.thisdx7cartdoesnotexist.com/ + * Sending of Voice/Bank MIDI-SYSEX dumps + * Receiving of Voice/Bank MIDI-SYSEX dumps + * Voice-Parameter change via MIDI-SYSEX +* Flexible MIDI controller settings with additional features + * Modwheel, Pitchbend, Portamento, Breath-Controller, Aftertouch, Foot-Controller + * Additional modes for the most Controllers (linear, inverse, direct) + * Controller parameter change via MIDI-SYSEX + * Additional MIDI-CCs + * Bank select + * Volume + * Panorama + * Filter resonance + * Filter cutoff + * Delay time + * Delay feedback + * Delay volume +* Storing of voice, effect presets and combinationsof both as performance +* Transpose, fine-tune, mono-mode +* Note refresh options: normal or retriggert +* Velocity level adaption +* Three sound engines: + * 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. +* Open-Source (https://codeberg.org/dcoredump/MicroDexed) + +
+ +## Manuals + +A manual how you can build your own MicroDexed can be found here: TBD + +A user manual can be found at: TBD + +## 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 + +![MicroDexed](images/01_MD_Peace.jpg) + diff --git a/doc/manuals/MicroDexed/build.sh b/doc/manuals/MicroDexed/build.sh new file mode 100755 index 0000000..30860b8 --- /dev/null +++ b/doc/manuals/MicroDexed/build.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# +# sudo apt install wkhtmltopdf pandoc + +LCDIMG="../../bin/gen_lcd_screen.sh ../../images" + +${LCDIMG} " MicroDexed" "%round-brace-open%c%round-brace-close%parasiTstudio" images/00_MD_boot.jpg +${LCDIMG} " Let there be" "peace and music%note%" images/01_MD_Peace.jpg + +pandoc MicroDexed.md \ + -V 'geometry:a4paper' \ + -V 'geometry:margin=2cm' \ + -V 'fontfamily:dejavu' \ + -V 'fontsize:16pt' \ + -V 'lang=de-DE' \ +--number-sections \ +-t html5 -o MicroDexed.pdf diff --git a/doc/wiki-images/00_MD_boot.png b/doc/wiki-images/00_MD_boot.png deleted file mode 100644 index 5782c87..0000000 Binary files a/doc/wiki-images/00_MD_boot.png and /dev/null differ