• svanya

    As an example, here is: my-guitar-rig.zip

    rem: your routing must have at leat one "IN" and one "OUT" and it will choke if your routing creates a feedback loop.


    posted in abstract~ read more
  • svanya



    fx3000~ is a 30-effect abstraction (see effects list below) designed to expedite the creation, spec. of guitar, effect "racks".


    It takes one creation argument, an identifying float, ex. 0, 1, etc.


    • two inlets
      • left:~: the audio signal
      • right: a list of the parameter values: [0-1] for the first 4, [0..29] for the 5th, and [0|1] for the 6th.
        • 1-4: depth and parameters' 1-3 values
        • 5: the index of the effect
        • 6: the bypass for the effect
    • a [r~ fx3000-in-$1] and [s~ fx3000-$1-OUT] to better expedite routing multiple instances
    • a [r fx3000-rndsetter-$1] to set random values via a send
    • 20 preset slots per abstraction creation argument, i.e. index, via "O" and "S" bangs, so abs #0 writes to preset file=pres-0.txt (NOTE: if you have yet to save a preset to a slot nothing will happen, i.e. you must add additional presets sequentially: 0 then 1, then 2, etc.)
    • a [r PREIN-$1] to send values in from a global preset-ter
    • the names of the parameters/effect are written to labels upon selecting (so I will not list them here)
    • and a zexy~ booster-limiter to prevent runaway output~

    The help file includes three such abstractions, a sample player, and example s~/r~'s to experiment with configurations.

    Note: the origin of each effect is denoted by a suffix to the name according to the following, ex. ""chorus(s)"

    • s:Stamp Album
    • d:DIY2
    • g:Guitar Extended
    • v:scott vanya

    The available effects are:

    • 0 0-raw
    • 1 audioflow(v)
    • 2 beatlooper(v)
    • 3 chorus(s)
    • 4 delay(3tap)(d)
    • 5 delay(fb)(d)
    • 6 delay(pitch)(v)
    • 7 delay(push)(v)
    • 8 delay(revtape)(g)
    • 9 delay(spect)(g)
    • 10 delay(tbr)(v)
    • 11 delay(wavey)(v)
    • 12 detuning(g)
    • 13 distortion(d)
    • 14 flanger(s)
    • 15 hexxciter(g)
    • 16 looper(fw-bw)(v)
    • 17 octave_harmonizer(p)
    • 18 phaser(s)
    • 19 pitchshifter(d)
    • 20 reverb(pure)(d)
    • 21 ringmod(g)
    • 22 shaper(d)
    • 23 filter(s)
    • 24 tremolo(d)
    • 25 vcf(d)
    • 26 vibrato(d)
    • 27 vibrato(step)(g)
    • 28 wah-wah(g)
    • 29 wavedistort(d)

    I sincerely believe this will make it easier for the user,...:-) you, to make stompboxes, effects racks, etc.

    I hope I am correct.

    Peace. Love through Music.


    p.s. of course, let me know if you notice anything awry or need clarification on something.

    posted in abstract~ read more
  • svanya

    Just trying to get active again, so starting with something simple.

    If you never heard this eq it's awesome. But suffered from having to set all 14 sliders multiple times.

    This resolves that by adding a text object (for the presets) and a tof/pmenu for selecting them. (Self explanatory, so not including a screenshot).

    mono-EQ13-w-menu.zip Updated to include declares for iemlib and tof (as pointed out by @emviveros below)

    (The eq13 requires iemlib, for the para_bp2).

    Hope you can get some use out of it.


    posted in abstract~ read more
  • svanya

    rd: a receive whose argument can be set on the fly;
    using dynamic patching and iemguts;
    takes one optional creation arg for the initial receive;
    has one inlet which is for sending in a list/name of the new receive



    :smile: This I can Definitely see a use for.

    posted in abstract~ read more
  • svanya

    hcube: hypercube calculator using 4 layers of nested clones and a dynamic [expr]


    Mainly I did this for two reasons, 1) to see what it would look like to have a 4-d "tree" of clone objects and 2) I think it's funny (in a pure data sense).

    As to practical purposes...I leave that up to the user.

    Though, being (sort of) 4-d, I think it lends itself to audio sequencers, samplers, and esp. GEM projects.



    requires: iemguts

    (See hcube-help.pd for more detailed info.)

    hcube is a series of four nested clones: cube, table, row, col(umn), with col holding a dynamically generated [expr] object.

    It is created using arguments for the number of cubes, tables/cube, rows/table, and columns/table plus an expr, in [expr] notation where $f1 is the variable, $f2 is cube index, $f3 table, etc.

    It reports the calculated result, i.e. sends [send]s, in the format [r #-#-#-#] where the numbers represent the (1-indexed) index of the object, ex. [r 1-1-1-1] is the first cube, first table, first row, and first column result.

    It can take messages in the format [cubeidx tableidx rowidx columnidx variable formula]. Where if idx=0 then the messages is sent to [all ( clones and if >0 the message is sent to that (index=N-1) item.

    The abstraction lends itself to changing the variable, locations, and (esp.) [expr] formulas on the fly, i.e. over time. So sending the variable down the chain and getting a cascade of values. (There is an example of this in the help file.)

    I hope it may give you either 1) some use or 2) a giggle.

    Now more than ever: Peace and Love through sharing.

    Stay safe.


    p.s. it's my guess iemmatrix may already do this, but from a logic standpoint, using the clones like this, I think makes a lot of sense and is easy to follow.

    posted in abstract~ read more
  • svanya


    Tension is high right now in the US . But I have found, when I am feeling my most-helpless, it is best to try and help someone else.

    That being the case...

    The following are additional Markdown syntax our forum editor supports that are not in our taskbar.

    "May they serve you well"/"For better highway vision".


    Markdown Cheat Sheet

    Basic Syntax


    H1 = # H1

    H2 = ## H1

    H3 = ### H1



    blockquote = > blockquote

    Ordered List

    1. First item = 1. First item
    2. Second item = 2. First item
    3. Third item = 3. First item

    Horizontal Rule = ---

    Extended Syntax

    These elements extend the basic syntax by adding additional features. Not all Markdown applications support these elements.


    Tables are made using pipes. Colons can be used to align columns.

    table center right left
    value centered right-aligned left--aligned
    value centered $12 $11


    | table|center|right|left|
    | ------------- |:-------------:|-----:|:----|
    | value|centered|right-aligned |left--aligned |
    | value |centered|$12 |$11 |

    Adding spacer columns is good for clarity

    TH1 ----- TH2 ----- TH3
    col1 - col2-value - col3-value
    col1 - col2 - col3


    | TH1| -----| TH2| ----- |TH3|
    | :---:|:---:|:---:|:---:|---:|
    | col1 |  -   | col2-value | -  |col3-value|
    | col1 |  -  |col2| -  |col3 |

    Fenced Code Block

      "firstName": "John",
      "lastName": "Smith",
      "age": 25


    The world is flat. = ~~The world is flat.~~

    Task List

    • [x] Write the press release
    • [ ] Update the website
    • [ ] Contact the media


    If you know of others the editor supports, I would love to hear about them (here).

    As making our posts easier to understand, even if only visually/style-wise, I think would be a good thing.



    p,s, if looks to me like it does not support the github markdown syntax.

    posted in tutorials read more
  • svanya

    A funner example....
    Sliders instead of hradio


    So gradients between the four wave shapes.

    posted in abstract~ read more
  • svanya

    As you click it the color and value change.

    For example:
    I am using it to control rms, where rms= the b8's value/states

    posted in abstract~ read more
  • svanya

    wavebypartial.pd: Waveshaping intermediate waves between the four basic waveshapes



    So reading/selecting across are the partials for that waveshape, ex. sine's are all "0", etc.

    The bangs just after the waveshape-name select all the partials for that waveshape, ex. clicking sine's bang makes the wavetable a sine curve.

    The sliders have been included in case you want to manually shape the wave.

    note: best to change to Log Level 1 (errors) as it does throw a lot of the pd-rounding messages.

    I had been wondering about this for a while..."How do you get at the between-shapes?".

    May it serve of some use to you.


    p.s. really just killing time until I have to get back to my much more complicated current project.

    posted in abstract~ read more
  • svanya

    Sample output with "test" playing and me just "tweaking the knobs".


    posted in patch~ read more
  • svanya

    Even better...
    To do recursion is:

    [makefilename %s/**/*/*.wav]

    posted in technical issues read more
  • svanya

    I figured it out. You just make a requirement as to how deep the files are, ex. ./samples/maker/kit/*.wav.
    Then you do:
    Thank you, for your input.

    posted in technical issues read more
  • svanya

    Thanks for the tip about Posix

    Having trouble figuring this out though: Does POSIX support the following by default: grep, find, readlink?

    Thanks, in advance. Much appreciated.

    posted in technical issues read more
  • svanya


    gensyn~: generic, multi-modulator synthesizer abstraction

    REQUIRES: zexy

    what makes this synthesizer abstraction different is:

    In addition to the common access to adsr(filter and amp) and vcf~(cutoff and frequency)

    It also includes

    • 5 available modulation types for two wavetables
      • additive and frequency, phase, pulse, and amplitude modulation
    • 8 possible types for each wavetable
      • sine, square, triangle, saw, random, duty, pink noise, noise
        • the random is by a settable number of partials
        • the duty is a square wave with settable dutycycle
    • access to two unique parameters per modulation type

    Note: The -help file has a substantial number of examples. Especially, interesting are those changing modulation type, wavetype, parameters (per mod), partials, and dutycycle on a per-voice basis by both formula and over time.

    I hope you enjoy it, get some use out of it, or it just makes you smile or giggle.


    p.s. no picture necessary. And personally, I find this Very funny. -Peace.

    posted in abstract~ read more
  • svanya



    waves: sin, square, triangle, saw, random, duty-square, pink noise (a 128 partial random sinesum) and noise (a 2051 partial sinesum)

    the outlet sets a list for the random and duty sinesums (for saving).

    credit for the dutycycle funtion goes to: @seb-harmonik.ar

    posted in abstract~ read more
  • svanya

    Cool! Found it. (5.reference). I will see if that helps. And post back here.

    posted in technical issues read more
  • svanya


    After trying a lot of different things (in order to get the output to load a [text]), I discovered if I slow down the output it works fine.

    I hope this may help you, if you may ever need to do such a thing.


    FAILS: ls -1 ~/pd-externals/tof/*
    WORKS: find ~/pd-externals/tof -exec sleep 0.001 ; -print

    posted in technical issues read more
  • svanya

    I feel like I should say...

    I am applying this design concept to my current project. It's a step (drum) sequencer to which this concept applies nicely.

    When I share it, one large part of the readme will talk about what I learned in trying this out.

    posted in tutorials read more
  • svanya

    Just something funny about this, since this really only applies to grandchildren....

    I can't count how many times I have been at my parent's place over Christmas with my kids, my brother, and his, that I have heard my parents tell the children "Take a number!".


    Grandchildren (by nature?) seem to lose their identity.

    posted in tutorials read more
  • svanya

    Two benefits, to designing this way, I thought of:

    1. when debugging, how significantly it would cut down the count when doing a Find for your abstractions


    1. when analyzing your code for precedence, the "reader"/student would no longer need to drill down to the individual level, but could stop at the parent.

    posted in tutorials read more
Internal error.

Oops! Looks like something went wrong!