If you could implement a mixer in the existing Diamond uC, that'd be pretty cool... but it'd be a pretty radical firmware update, and need a different controller interface. I'm not sure if whatever's in the Diamond has enough bandwidth to do that. Of course, the whole controller board is encased in black 'gunk', and there's no schematic online... just a very simplified diagram of the output pins.
Sorry if I misled you with an earlier post. I don't have the skill to reverse-engineer a Diamond board, nor do I care to. Ultrasabers is doing a great job with their products as far as I can tell, and I'd rather keep it that way, given whose forums I'm using right now. All I meant to say earlier is that I'm reasonably certain
someone could do such a thing, given what limited knowledge I have of what the hardware already does.
As for the sensitivity, yes these things are very jittery (and noisy on the low end), but that's ok. There's still a definite range in the middle. I can easily tell the difference in the saber's response when I adjust these settings. Even if you just got ~3 distinct levels - low, mid, high - that'd be cool.
I leave doing this as an exercise to the reader.
As I said above, I don't know how the Ultrasabers work, and have no interest in reverse-engineering one. I thought I saw someone talk about a "tilt sensor" somewhere, but I have no idea how that'd work, or if it's how Ultrasabers actually work.
----------------------------------------------------
Moving on!
I really like the idea you've got here, though like others I wonder if the boards have the processing power to make it work. Out of curiosity, what are you using to code the procedural generation of the sound?
If nothing else, maybe you'll end up with a desktop synthesizer application specifically tailored to generating lightsaber sounds. I'd be interested in that. I've been trying to create some sounds with more traditional synthesizers, and just haven't had the time to really get into it. If you do this, one suggestion - add the ability to envelope the sound in low-frequency amplifier, similar to the Tremolo effect in Audacity. I love adding a little bit of that to my sounds, and syncing the blade color/brightness to match the frequency of the pulsing (usually around 10Hz or so).
...
Slightly separate topic, but I see so many people swinging incorrectly such that the saber only picks up ~half their swings. They swing with their wrist, but the saber can't easily recognize that. You need to move the whole hilt to activate the sound, and then move the blade as the sound plays. With some practice, it looks really smooth. In my opinion, the sound needs to match the blade movement, and it needs to be consistent. If it's not, it kind of ruins the effect.
This PoC was made with some VERY simple Audacity work. I restrained myself to Generate Tone so that I knew what I was doing could be replicated in code.
I've got a Python script somewhere that does something similar, but it probably needs work. I learned pretty quickly that while text files are great for flexibility, they're terrible for quick prototyping and user-friendliness. If I can polish it to the point where a maker-hacker can read the script, and use it to synthesize their own sounds based on waveforms, and maybe even use that to PoC a few non-looping lightsaber sounds, that's probably enough for me. For the approach I'm using, there will always be tighter limits than for people using Audacity and a good sound effects library. That said, using waveform generators to control other waveform generators is definitely going to be a thing; a varying-amplitude static/crackle requires a Noise waveform controlling the amplitude of a Sawtooth waveform.
I think the end-goal for me is getting this idea onto a Teensy. There's a "shield" for it that includes an LED controller (useless for high-power LEDs, mind you), an audio amplifier, and an IMU. It's significantly more powerful than an Arduino, but still somewhat limited as a platform. I might be able to get away with using an Arduino IDE, or I might have to get into C in order to make everything work. I'm not anywhere near that point yet. By the time I get to the point of working on a uC, the biggest problem will likely be getting the movement info I need out of the IMU. IMUs are powerful, but there's likely some math involved.