I love the idea but I'm not sure how you'd choose which scale to use in real-time. I'll be interested to see how it comes along
There are a few ways.
-
The tuning root can be played manually (aloud or just for tuning) on the bass keyboard
-
another open source algorithm whose name has left me can recognize chords in real time and my algorithm can tune based on that
-
players can write a midi tuning track ahead of time to play along with
Is there a reason why you're looking at firmware rather than using a USB port to send midi to a DAW?
I love the design, and as someone who's been using FL Studio for a long time with keyboard controllers, I'd look at developing a midi specification that it or similar software can read. Then you have access to their algorithms for any sort of tone/sound modification you need. If there's not what you're looking for in the basic software package, you can look at 3rd party .vst plugins (or write your own).
The algorithm will ideally be written to be portable the first time around, but its starting out on the instrument because I think the stradella bass layout lends itself to controlling the algorithm manually. Pressing a chord button simultaneously declares what notes you want played, the harmonic funtion you expext them to fulfill, and thereby how they should be tuned in relation to eachother. Other control schemes have a bit of ambiguity of intent, which we can work around, bit i think Stradella is better.
As for midi specifications, the instrument will have midi input and MPE output (look into MPE if you're not familiar, great stuff) to controll other digital hardware or software instruments. Once the algorithm is written, I hope it will be repackaged into various other formats (like a VST plugin, or a midi/MPE passthrough that runs on a PC or a dedicated midi hub).
Gotcha - makes sense. Hadn't heard of MPE yet - thanks, I'll check it out.
Regarding the construction of the algorithm to dictate the tuning through the bass input, this sounds very similar to what arpeggiators do - set the tonic note and the scale type, octaves to travel and melodic direction and you're good to go. While I had a hard time finding a readily available example of an actual algorithm, here's a list of free arpeggiator vst plugins that may have developer pages or files you might be able to use as a starting point. I'm thinking that the bass sets the tonic note, reseting the middle C on the melodic keyboard and arranging the subsequent notes in the scale - just like an arpeggiator does, except rather than playing your notes for you, it's arranging the pitch of your inputs.
But then, I'm not familiar with the stradella bass layout at all, so I may be just talking out my ass. Nonetheless, cool project, and I look forward to seeing it when you've got it complete!
This looks fucking cool.
Thanks! Render is by a friend of mine, based on my concept sketch
Hey just took a look at the GitHub and I see one main.cpp so far are, you set on c++ or have you considered other languages such as rust?
C++ is the only language I have any experience with, and it's a common enough choice for embedded development that i didnt see a need to learn a different language. If i had a programmer join who could work on the firmware and show me the ropes, id be willing to consider another language.
Open Source
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Useful Links
- Open Source Initiative
- Free Software Foundation
- Electronic Frontier Foundation
- Software Freedom Conservancy
- It's FOSS
- Android FOSS Apps Megathread
Rules
- Posts must be relevant to the open source ideology
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
- !libre_culture@lemmy.ml
- !libre_software@lemmy.ml
- !libre_hardware@lemmy.ml
- !linux@lemmy.ml
- !technology@lemmy.ml
Community icon from opensource.org, but we are not affiliated with them.