Based on the_synth library:
- Envelope setup (should we use switches or a pot for this?)
- Waveform setup [Value from 0-5] →
maybe using button(pot now) - Delay between notes [Value from 10-350ms]
- Pitch change (Pot) [Value from 0-127]
- Length change (Pot) [Value from 0-127]
- Mod change (Pot) [Value from 0-1023]
P.S. maybe setup to change the current voice later.
- Use platformIO for convinient.
- The
.vscode
folder will change depends on the$PATH
so you should create an empty project that usenanoatmega328
as your board or equivalent Arduino Atmega328 board. - Add the files in the
include/
to your project'sinclude/
- Currently the based on project bitsynth are using the library to filter the analog signal's value, me don't do that here but just include it, maybe me will use it sometime.
Add this to your
platformio.ini
file:
lib_deps =
dndubins/QuickStats @ ^1.2
- You can now manage to use the
main.cpp
file in thesrc/
folder without any warning. - Build your project with
platiformio
- The output is at pin 11, setup your hardware using dzlonline's diagram:
// +10µF
//PIN 11 ---[ 1k ]--+---||--->> Audio out
// |
// === 10nF
// |
// GND
- Analog pins A0, A1, A2, A3, A4 is used, the details about what the signal is used for are includes in the
src/main.cpp
file. The pins are connected respectively with the potentiometers.
Note (hopefully this is helpful):
- Don't use the VCC and GND source used on the audio out filter circuit for the potentiometers.
Will do later.
- Setup the pot according to the values
(currently 3 pots with 2 sets of values)its 5 pots with 4 sets of values - Apply the pot to the setup
- Update github's repository
- Create state and stuff, maybe buy more materials