Due to high demand expect some shipping delays at this time, orders may not ship for 1-2 business days.

CPX Glove Synth code (ready-to-go synth shell)
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

CPX Glove Synth code (ready-to-go synth shell)

by luchak on Tue Apr 16, 2019 9:52 pm

Not sure if this is the right place to post this, but I just noticed the new (very cool!) CPX musical glove tutorial, and it reminded me that I built a CPX-based glove synth last year and never bothered to do anything with the project. I thought I might post the code here since the "driver-y" bits took me a while to work out, and they might be a helpful starting point for anyone else who's trying to build a CPX-based audio synthesizer. There are libraries that cover a lot of this functionality individually, but many of them had CPX compatibility issues, made performance compromises that rendered them unusable for this project, or had mutually conflicting peripheral requirements. If you're comfortable with C++ and audio programming, and what you need is covered by:

* 24 kHz single-channel audio out
* Neopixel control
* digital pad inputs
* accelerometer input

... then this should basically be a plug-and-play solution. Just change out the audio and control callbacks and go to town! I haven't worked on this in a few months and there's a bunch of profiling / debug / other junk left in the code, so it's probably not the nicest experience, but I'm happy to try to answer questions if that's helpful.

Code: https://github.com/luchak/glove-synth

Parts of the M0+-specific code were derived from various forum posts and I wasn't especially careful about tracking attribution with comments, which I regret in retrospect - happy to add attribution or rewrite/remove chunks if you notice some of your own code here. The audio-specific stuff should be fairly clean though.

Posts: 1
Joined: Wed Jul 18, 2018 11:41 am

Please be positive and constructive with your questions and comments.