Onboard synth code help

Hi,

I am really enjoying the onboard synth - it feels so tightly coupled to the design of the instrument that by comparison, when I use the Striso with other synths via MPE, it feels something is lost in translation.

I’d love to do a bit of tinkering with the synth source code, and would appreciate some pointers getting started. As a starter project, I’d like to re-map a button X press to stereo panning, instead of pitch bend.

My questions are:

  • Should I be using the existing mystereoizer object? (I’m not entirely sure what it does right now!)
  • Would this be the right line to modify to assign but_x to pan (line 115)?:
    pitchbend = but_x^3;
  • What would be a nice way to use some of the currently unused command buttons to toggle between pitch bend and stereo pan? @pierstitus I imagine you have a plan for how to use these unused buttons, and I’d love to take it into account!

Many thanks in advance for any help. I’m very excited to be part of this community, and hope to be able to contribute back to it.

2 Likes

Hi @puggle,
Nice idea, but a tricky one since the synth is currently mono, it will require some more changes in other places in the code to convert it to stereo. Also withing the Faust code it not obvious to make stereo per voice. The sum() on the last line should be changed to something that sums the left and right voices separately.

Pitch bend is handled outside faust, and is already included in the note input. You can use but_x additionally for something else and turn the pitch bend off on the Striso board if you want to use it only for your own function.

Line 115 is dead code, just like many other lines. I’ve left many pieces of code hanging around that may be useful at some point, the code could use some cleanup and comments however.

I’m currently reworking the configuration system, so the config button layout will be changed quite a bit. There’s a row currently reserved for sound settings, with future synth parameters (like yours) in mind.

I hope to get an alpha version out soon, you can already check out the dev branch to get a preview.