The code is on github right now: https://github.com/transmogrifox/transmogriFX_bela
It compiles and runs on Bela without having to do anything more than to copy the source files into a project directory and "RUN". The user interface is 3 pushbuttons (digital inputs), 6 Analog Inputs and console output to let you know what the buttons and knobs are doing -- pretty clunky, but is enough to get around.
Has a pretty full line-up of basic guitar effects. The FX expect up to 6 analog inputs. You at least have to apply a pull-down if you don't want to add all 6 pots (or comment them out of the code). Right now you pretty much have to read the console to know what the h*!! is going on when you push buttons and twist knobs.
Cycle through effects
Effect control page.
I'm saving the final 2 analog inputs for microphone (voice) input for a vocoder and the 8th analog input is the expression pedal input for the wah. Currently I wired the pot from my Crybaby to this input.
I'm about to give the hackish control interface a major overhaul as I implement the USB RGB LCD from AdaFruit, and using it's GPIO for control parameter pushbuttons. Much of the control interface changes will be due to implementation of save/recall presets, which is my next phase of the project before I go adding more effects (I have enough to have lots of fun now).
Anyway, I would love it if somebody else gives this stuff a try and offer some feedback. I'll help walk you through how to hook stuff up and what the knobs and buttons do. It's not documented at this point (this is pretty beta).
Here are the demos I have recorded to date:
hector_711 There isn't really anything special that you absolutely need to do to use Bela with normal 9V pedals. Unless you have really hot-output pedals like a booster you can adapt to most anything with the ADC input attenuation setting.
Currently I'm doing just that. My final hardware design will put more effort into clipping gracefully and adapting signal levels in a more optimal way:
Pre-emphasis gain above ~720 Hz (this is like the tubescreamer) <-When it clips it will not sound as trashy
Soft clip just inside of ADC input range
Then apply de-emphasis in software. <-This restores flat-band response by reversing pre-emphasis
Pre-emphasis/De-emphasis also reduces noise.
My plan is to use a dual-ganged pot for input and output levels -- If the input needs to be attenuated then the output will be boosted by an equal amount, and they will track together.
This is all stuff that makes it more versatile, but you can start using Bela in your normal guitar FX signal chain without doing anything special. It would help to have something with a volume control before and after.
With ADC gain set to 0dB I can get the input on Bela to clip by wailing on a chord with hot output humbuckers.
One thing to keep in mind is the ADC input impedance changes with input gain:
0dB ==> 20k
-12 dB ==> 80k
It sounds ok with guitar just for messing around, but you would really want an input buffer with >1Meg impedance if you want to preserve the tone and sustain of your guitar. Input/output volume controls would be a plus for adapting to different effects (like if you want to preserve the boost effect of hot boosters and distortions).
1) Bela works fine with guitar and effects powered by a typical 9V signal chain. Bela is internally protected so you don't need to worry about damaging things.
2) For a finalized effect box you would really want to apply a high impedance input buffer as a bare minimum, and should use resistors in series with Bela outputs just to protect against overloads and ESD.
3) I'm working on a more elaborate hardware interface design, but it is going slow because I have been focused more on the software than the hardware.