Skip to content

Commit

Permalink
update manual according to recommendations in #93
Browse files Browse the repository at this point in the history
  • Loading branch information
corrados committed Sep 12, 2023
1 parent 69612f8 commit 4f7e616
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions doc/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,18 @@ Now open the edrumulus.ino file in the Arduino IDE and compile and upload.
- Start Hairless MIDI and set MIDI Out to EdrumulusIn and MIDI In to EdrumulusOut.
- Start Python and run `edrumulus/tools/edrumulus_gui.py rtmidi`


## How to support new pieces of hardware

1. Start with prototype 2 and optimize the analog circuit. Random testing or a simulation with software like LTSpice could be used.
3. Analyze the samples in the Octave model to identify the edrumulus parameters:
- Attach the pad to a normal sound card and record the strikes with 8 kHz sampling rate and according to https://github.com/corrados/edrumulus/blob/main/doc/algorithm.md#test-signals.
- Add the recording to https://github.com/corrados/edrumulus/tree/main/algorithm/signals.
- Create a new type in https://github.com/corrados/edrumulus/blob/main/algorithm/signalsandsettings.m and use an
initial parameter set from a similar pad as a starting point.
- Call the script signalsandsettings.m in Octave which automatically uses the script drumtrigger.m.
- Adjust the parameters so that the decay curve looks ok and try to get as little false triggers as possible.
- The updated parameters are then used in https://github.com/corrados/edrumulus/blob/main/edrumulus_parameters.cpp.
- To get it fully working, the new type has to be added at multiple places, e.g. in the GUI python script, too.
4. Test the parameters in practice. Modify the available real-time parameters for hopefully better results. Possibly go back to previous steps.

0 comments on commit 4f7e616

Please sign in to comment.