brummer10 / GxPlugins.lv2

A set of extra lv2 plugins from the guitarix project.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Is the Faust DSP source of each plugin available somewhere?

sletz opened this issue · comments

Most of them I've lost during a hard-disc failure.
The ones I still have I've upload now here:
https://github.com/brummer10/GxFaustSources

Thanks a lot !

I guess most of them are variants or parts of the initial Guitarix project? Anyway I'll also fix those which still use C external tables, going to use waveform so that they can be compiled for the Web.

I see // generated automatically // DO NOT MODIFY! ?? Was the whole DSP code generated by a script? or part of it?

Well basically it would help:

  • if you could explain how the Faust DSP and C source were generated and from which starting point ?
  • how the C code works? (I see some index manipulation + some interpolation done in the table)
  • before I try to recode them without C : would it make sense to adapt the original generation script? Recode the C index manipulation + interpolation in pure Faust? This could possibly be more sensible than to hack the automatically Faust generated DSP? What do you think?

Yes, they been generated by the guitarix dkbuilder. The dkbuilder could generate faust code from circuits created with gschem (geda schematic editor). I've posted a description of my workflow with it here: https://linuxmusicians.com/viewtopic.php?f=44&t=19586

On note to the article, the builder is already updated to use Faust 2.15.11
The dkbuilder is a collection of python scripts you'll found in the guitarix source code under trunk//tools/ampsim/DK
Implementing the hole build environment and the schematics here is a bit over the scope, as I didn't know how long I would maintain such a tool for the mass. (it use python2 and so it maybe depreciated soon)

The table implementation is mainly the same as in the guitarix.dsp file for the ts9 (tubescreamer) with the exception that some plugs using the signbit function to get different responses for positive and negative input values.