Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
paper_bits:pb702_midi_synth [2020/03/20 19:54] admin [Software] |
paper_bits:pb702_midi_synth [2020/06/11 22:13] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== PB702 MIDI Synthesizer ===== | ===== PB702 MIDI Synthesizer ===== | ||
| - | The MIDI Synthesizer gives the possibility to connect your Paper Bits to a Midi Keyboard like the[[sound_boards:midi_keyboard|MIDI Keyboard]]. It is polyphonic up to six notes and has three different waveforms: square, triangle and sine.\\ | + | {{:paper_bits:pb702_midi_synth.jpg?600|}}\\ |
| - | It's basically an Arduino clone running a small program based on the wonderful [[http://sensorium.github.io/Mozzi/|Mozzi]] library.\\ | + | |
| - | For burning the bootloader look here:\\ | + | The MIDI Synthesizer gives the possibility to connect your Paper Bits to any Midi Keyboard, such as the [[sound_boards:midi_keyboard|MIDI Keyboard]]. It is polyphonic up to six notes and has four different waveforms: square, triangle, saw tooth and sine.\\ |
| - | [[avr_bootloader:avr_bootloader_main|AVR & Bootloader]]\\ | + | It's basically an Arduino clone running a small program based on the wonderful [[http://sensorium.github.io/Mozzi/|Mozzi]] library.\\ |
| - | For uploading the program one needs an USB to Serial adapter or an Arduino:\\ | + | |
| - | [[arduino_clones:serial_adapter|The Arduino as a Serial Adapter]]\\ | + | |
| ---- | ---- | ||
| Line 61: | Line 58: | ||
| ==== Software ==== | ==== Software ==== | ||
| - | The synthesizer program is based on the [[https://sensorium.github.io/Mozzi/|Mozzi Library]], have a look at the [[https://sensorium.github.io/Mozzi/doc/html/index.html|Mozzi Dokumentation]] to learn more about it.\\ | + | First of all one needs a bootloader on the Atmega chip. For burning the bootloader follow the [[avr_bootloader:avr_bootloader_main|AVR & Bootloader]] manual.\\ |
| - | For the installation download the [[https://sensorium.github.io/Mozzi/download/|library]]\\ | + | For uploading the program one needs an USB to Serial adapter or an Arduino to mimic one: [[arduino_clones:serial_adapter|The Arduino as a Serial Adapter]]\\ |
| - | and install it like described here: [[https://www.arduino.cc/en/Guide/Libraries#toc4]]\\ | + | |
| - | There are differen mode for Mozzi. The MIDI Synth needs the AUDIO_MODE HIFI. To change that open in .../libraies/Mozzi_102 the mozzi_config.h file and comment the AUDIO_MODE STANDARD and comment out the AUDIO_MODE HIFI. It should look like that:\\ | + | |
| + | === Mozzi and MIDI === | ||
| + | The synthesizer program is based on the MIDI library and the [[https://sensorium.github.io/Mozzi/|Mozzi Library]], have a look at the [[https://sensorium.github.io/Mozzi/doc/html/index.html|Mozzi Dokumentation]] to learn more about it.\\ | ||
| + | The MIDI library can be installed via the library manager, for the Mozzi installation download the [[https://sensorium.github.io/Mozzi/download/|Mozzi library]] and install it like described here: [[https://www.arduino.cc/en/Guide/Libraries#toc4]]\\ | ||
| + | |||
| + | === Mozzi Mode === | ||
| + | There are three different sound quality modes for the Mozzi library. The MIDI Synth needs the HIFI mode. To change that open in .../sketchbook/libraries/Mozzi_102 the mozzi_config.h file and comment out the AUDIO_MODE STANDARD and uncomment the AUDIO_MODE HIFI. It should look like that:\\ | ||
| //#define AUDIO_MODE STANDARD | //#define AUDIO_MODE STANDARD | ||
| //#define AUDIO_MODE STANDARD_PLUS | //#define AUDIO_MODE STANDARD_PLUS | ||
| #define AUDIO_MODE HIFI | #define AUDIO_MODE HIFI | ||
| + | then save the file. | ||
| - | + | === Mozzi Glitch === | |
| - | Unfortunately there is nowadays a glitch in the Mozzi library. Arduino change the compiler. Now the uploaded code is smaller but a timing problem appeared, too. Here is an description about the problem. | + | Unfortunately the latest version of Arduino is responsible for a timing glitch in the Mozzi library. Arduino changed the compiler from O2 to Os. Now the uploaded code is smaller but a timing problem appears, too. Here is an description about the problem here: |
| [[https://www.instructables.com/id/Arduino-IDE-16x-compiler-optimisations-faster-code/]]\\ | [[https://www.instructables.com/id/Arduino-IDE-16x-compiler-optimisations-faster-code/]]\\ | ||
| - | To fix the glitch follow these steps:\\ | + | To fix the glitch one has to downgrade the compiler. Change in: arduino-x.x.x\hardware\arduino\avr\platform.txt the compiler from **-Os** into **-O2.**\\ |
| - | In: arduino-x.x.x\hardware\arduino\avr\platform.txt change **-O2** to **-Os.**\\ | + | |
| [[https://sensorium.github.io/Mozzi/fixes/updates/howto-for-arduino-1-dot-6-11/]]\\ | [[https://sensorium.github.io/Mozzi/fixes/updates/howto-for-arduino-1-dot-6-11/]]\\ | ||
| - | \\ | ||
| + | === Code === | ||
| Upload that code to your board (Arduino UNO):\\ | Upload that code to your board (Arduino UNO):\\ | ||
| {{ :paper_bits:mozzi_midi_poli_12_1sec_limit.zip |}}\\ | {{ :paper_bits:mozzi_midi_poli_12_1sec_limit.zip |}}\\ | ||
| Line 85: | Line 87: | ||
| ---- | ---- | ||
| + | ==== License ==== | ||
| + | The PB702 MIDI Synthesizer was designed by **Wolfgang Spahn**, 2017-20.\\ | ||
| + | It is licensed under a [[http://creativecommons.org/licenses/by-nc-sa/4.0/"|Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License]]. | ||
| + | |||
| + | <html> | ||
| + | <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> | ||
| + | </html> | ||
| + | |||
| + | ---- | ||
| + | |||