• svanya


    By adding a tonic (set via the tonic number field);
    the patch is then able to pick up a third-Z parameter;
    by comparing the current (estimated) pitch to the tonic;
    and taking the displacement as the third parameter either above or below the tonic.;
    The mid-z slider adds its value (0-1) to the Diff% so a range resulting closer to what you want is achieved;
    Again the r-z slider controls the [line] ramp from 10-1000ms.;
    the knob control has been added to show the changes;
    in the parameters (x, y, and the value of the knob as z).;
    Also, scaling the bands again comes in;
    very useful to scale the sensitivity and;
    breadth of the adjusted values

    also I changed the name of the patch to "control_as_you_go"


    posted in abstract~ read more
  • svanya


    I added [line]'s to control the flow of numbers internally (on the two right outlets, the left two are still raw).

    I figured as much, the patch is very well suited to MIDI (because it sends so much clearer and distinctive (i.e, close to a pitch) signals than a mic and it has a very delineated on/off).

    So in this zip the "elven_cloak~-help_v2-notein+reverb+delayfb" includes a reverb on the left [dac~] channel and a delayfb on the right [dac~] (with both receiving the pitch(x) and env(y) values) to their brightness/roomsize + delay/feedback respectively)..

    It has a very simple synth as the backbone (as a subpatch) but very distinctly shows the variance in the sound quality as you move up and down the keyboard and play softer or harder.

    For greater control, adjust the start(p) value to be a little below the minimum pitch you will play then the width (Width*16) to cover the range of pitches you will play up to your maximum pitch value.


    Ciao for now.


    posted in abstract~ read more
  • svanya

    I wondered what this would sound like if i sent a piece of music thru it.

    You'll recognize the piece.

    As it played i fiddled with some of the settings, i.e. starting pitch, width, and metro, to shift it around on the delay and or feedback scales.

    Tho perhaps a bit grotesque, very obviously, Wild.



    posted in abstract~ read more
  • svanya


    This was just too funny to pass up!

    note: I trimmed back on the example (because the one I had envisioned is not completed yet, or at least in good enough state to share) and am only including the DIY2 "mono_delayfb.pd" as am example. But really you can apply it where ever you have two available parameter slots and want your hi and lo pitches and amplitudes to control high and low values.

    Essentially this is a re-purposing of an older abs I shared called 16-BandVU Meter.

    However, in looking at it closer, I realized I could map the value of the max env~ to its band location on the meter, i.e. its band, to an x-coordinate and its amplitude, i.e. env~ to a y-value. So which ever "pitch" is highest dictates the x, and the value of that env~ dictates the y.

    The result, for example, is if you play low and soft the two values/params are both low, and if you play hi and loud both parameter values are high.

    My thinking is, which is why I chose delayfb (because those two parameters both have such dramatic effect) and called it "elven_cloak", one can map their playing onto their effects or vice-versa.

    It has one inlet which takes a signal and passes out two outlets which are percent adjusted x,y values, i.e, between 0 and 1.

    note: you Must include the "band_env~_sv.pd" abstraction in the same folder as the cloak.

    Tally-Ho! And best wishes thru all of us.


    The parameters on the controller are:

    activate: turns the meter on
    all (reset all): ie. 16 bands of 8 pitches per
    start(p): the starting pitch, i.e. 0-127, to monitor
    width(p): the width in pitch of the band spread across 16 slots
    in|out_of_bnds: a message telling you if the combination of start and width are in bounds in other words all between 0 and 127.
    metro: how frequently (100ms*x) you want to calculate the xy-values.

    posted in abstract~ read more
  • svanya

    Audio Ideas (AI) Collection (placeholder) currently only links

    per @LiamG 's kind suggestion I have begun the process of consolidating my abs and patches, etc. into a single location/zip file or for possible upload to github.

    Just to get the ball/me rolling and scope the work I got the links for my shares into a single location to later be consolidated into the single AI Collection.

    For now at least, please, bare with me (and the links below) as ideas I am more passionate about currently are demanding my attention. (Which :-) funnily enough will probably also be included in the set, where ever they are shared.)

    Thanks, for your patience and all you do for the Pure Data Family.

































    Off topic


    posted in patch~ read more
  • svanya


    That's one of my fav things about pd: always proving the maximum, "The more you know, the more you realize how much more you have to learn".

    Didn't know that but VERY glad to learn it and that you would be so generous in your time to educate me. Thanks, @LiamG for yet again teaching me something new.

    As a footnote:

    The patch was actually designed most specifically to work out the logic so that it might be done on MobMuPlat. Which as far as I know (see "another opportunity for 'DOH!' for reference :-)) does not allow for direct entry of values.

    Which I implemented there (within less than an hour) and for which it works splendidly (just send the paths to the pd receives).

    So :-)...

    Glad I learned how to do it in pd; can see why no one thought it interesting; and glad to get it mapped out into Mobmuplat.

    (Using it to empower someone to enter broader ranges of seeds for the Collatz equation for translation into audio which sliders, knobs, etc. do not do very well).

    Thanks, again, for the lesson Liam.

    So very glad we are all on this same wonderful team together.

    And by ALL means please do keep the lessons coming.

    More than anything else: I am one eager puppy to learn all things pd.

    Ciao for now.

    Peace, Love, and Music thru us all,

    posted in abstract~ read more
  • svanya



    Really I just wanted a control which I could enter numbers.

    As the way things go, things sort got outta hand. Built an entire numpad controller with /,*,+, and -, plus BACKSPACE and CLEAR(del) to emulate a standard numpad.

    Reason being (besides needing it for another project), it has always sort of irked me that I could not just type in numbers. I have seen only maybe one or two controls which allowed direct entry of numbers but they weren't exactly what I had in mind.

    The abs has no inlets (they may be added in the future) and the NUMLOCK does not (yet ;-) do anything.

    It has three outlets which send (and it can be used just for this very well) two outlets which operate on an x-y basis.

    Enter a number for X then click enter, and it sends it to the left most outlet and immediately switches to y. (The currently selected variable is highlighted in red).

    Enter another number and click enter again, and it sends that number to the middle outlet.

    Then click a function and it is performed immediately f(x,y) and sent to the right most outlet.

    I suppose if you wanted just to use it for entering x's and y's it would work really well for that too.

    As to how its done, the digits are stored in an array and concatenated and passed back and forth between a few global variable, i.e. values. I have tried to keep the patch pretty clean tho the logic is a Bit convoluted. :-)

    May you find a use for it.

    Would love feedback on how to apply a NUMLOCK concept to it as well as the inlets (tho I don't think there really is too much use for that. More important would be taking out the globals and making it a true abs

    Ciao for now.

    Happy PD-ing and keep sharing your love of music,

    afterthought: since it's using [v]'s and they are global as well as a named array it's really not an abstraction. But it's been my feeling not to post on the patch section unless my work is of a much broader nature. Thanks. Ciao for now. -s

    posted in abstract~ read more
  • svanya

    abs_delay_fbw "LIFO(Last-In-First-Out) Delay



    This is an idea I have been thinking about for a while and only in the last day or two figured out how to make at least an approximation of what my brain is "telling me".

    The idea is really pretty simple, but enormously expandable. And I honestly: I think it's best suited to [clone]. But I don't know enough about that/care to learn enough about that, to implement it that way. So this is just a grunt&chunk version:

    10 delwrites each set at incrementally longer lengths, starting at 1000 and incrementing by 100's up to 2000, i.e. 1000, 1100, 1200, etc.

    Then and here is were the cool part is

    10 vds but scaled in reverse in-out order. So the shortest delwrite has the longest vd.

    The effect is the last most thing you play is the first most thing you hear. (note: if this poses a problem while your performing, using your live signal to monitor will take care of that).

    It's then scaled by an (admittedly arbitrarily named) "shift" factor which scales the vd line transitions more or less as it is changed. (For viewing purposes, strictly informational and to better guide your settings, the delays times are written to 10 number boxes at the bottom.)

    10 feedback controls have also been included because (I think they are way more important than gains which could also have been included, but just seemed to muddy the water too much) so whether you want the "first" or "last" sound to hold or not is available to you.

    There are sweet spots, and given how the calculation is done in some cases individual lines will drop out entirely (which actually I think is pretty cool and a nice bit of serendipity). You'll recognize them because there delay times are <0, tho the actual processing of them has been circumvented with [moses 0]'s.

    Enjoy. Hope you find it interesting.

    (Next week some time, I intend to give it a run for its money, but with my kids now/this weekend, so :-) studio time is out.)

    Peace, Love, and Music thru us all,

    p.s. this one I will definitely include in the archive/zip/github, but getting it down was more spiritual paramount that that collection.

    note: I am aware it has a lot in common and may even be do-able with a spectral delay :---)
    Ciao for now.

    posted in abstract~ read more
  • svanya

    @mod: glad you like it. Your comment had me thinking about another effect along similar lines: bending a line back (as Whale-Av and I have discussed) over its top (of itself) so if controlled via an x-y (say foot-) controller one reverses a line if it rises above a threshold. Still thinking...sort of of you feedback the line until it goes past 1 but after that you reverse the signal. :--) not sure how to do this, but am excited to investigate it.

    @LiamG: that is the coolest most invigorating letter I have gotten in a very long time. And I am thrilled that my work might/could be of use to others. So thank you, for putting the bug in my ear: your next "Big Project" is: "Share your Work on Github". :--)

    As to going about that: can you point me to a decent/recommended: sort of github for dummies type doc? I have bookmarked a few but would rather go straight for the jugular to better serve the destined end.

    Have to wrap up another low-to-mid-grade project first, but have already begun assembling the abs (and patches) I have been collected to just this end,

    Will most definitely share the work as soon as I get started in a reasonable fashion for folks to begin following.

    Peace, Love, and Music thru us all,

    Thanks, again. Both of you,

    posted in abstract~ read more
  • svanya

    Thanks for the info (and I think affirmation (sort of :--) at least sound good enough to try) @seb-harmonik.ar and @mod. Really appreciate it,

    Once I get the patch laid out I will be able to test sound. Generally don't do that until everything "looks" right first.

    Will try and rem to come back here and let you know how it went.

    Ciao for now, and thanks, for the help.

    -Keeping my fingers crossed,

    given the above 4+gain my original 60 effects drops to about 49 because I "lose":+1: diy2-4tap;

    posted in technical issues read more
  • svanya

    Thanks, for the suggestion @mod. Sorry it took so long to get back.

    Implemented what you said (and then some :--).

    Realized I needn't stop at a static layout, when I can just use my abs_effects_router in the slots instead. In which case, this static layout is just one scenario.

    The new layout is below.

    Am thrilled to get the knowledge from you and getting more and more excited to actually test this thing.

    Thanks, again, for the advise.

    Peace, love and music thru us all,


    posted in technical issues read more
  • svanya



    I apologize, My Friends: in this crazy No-Man's land between large projects I failed to include more/enough detail.

    And I think it is funny and so terribly sweet, that my pd family responded to my query before I even had time to conjure my own reply to the thought! LOL!

    Thanks, My Friends. Think you are probably aware how far this goes to bolster a user's spirits.

    The Additional Detail:

    leveing the gains, i.e. setting them to a default, is in an effort to squeeze the effects I want onto the 4-knob Raspberry Pi box I have already built.

    So if I can level the gain, then I can have any effect which uses gain plus an additional 4 parameters.

    The current configuration I have so far is in the pic above.

    It's purpose: to be a simple, clean, plug-and-play patch that includes roughly ~90% of the common/simple effects then sent in a static linear order. In the picture, the signal runs left-to-right then top-down, i.e. noisegate>pitchshiter, etc.


    1-Given a default gain is this layout "right"? Would appreciate any amendments you might suggest regarding their sequence.


    2-Am I missing any crucial "basic"/4+gain or under effects?

    Thank you, so much.

    In this crazy world, it feels so good knowing I have some people I can count on.

    Love, Peace, and Music thru us all,

    Sorry, for the duplicate of a question I posted elsewhere, but their both pertinent to the same vision.

    Ciao for now,

    posted in technical issues read more
  • svanya

    Does setting the various gains on stacked effects make any difference? Or...

    Can I set them all to X and just add a master in and and master out?

    Am seeking to re-purpose my RPi box (which has 4 knobs) and am wondering can I squeeze 5 parameters out it by setting all the effect gains to say 0.5, or whatever.

    As always your help is Very much appreciated. And I am hourly thankful for my pure data family.

    Love, Peace, and Music thru us all,

    posted in technical issues read more
  • svanya

    Best order to put (these) effects in (for a generic (static) guitar setup/effects rack)?

    Currently I have them lined up as (or see image below):

    noisegate >
    pitchshifter >
    bodyresonance >
    eq13 >
    compressor >
    waveshaper >
    distortion >
    filter >
    delay+feedback >


    Do you think I have these in the right order/best order (if they can not be swapped out on the fly but do have off|on(bypasses) per effect?

    Suggestions for a better layout (using these effects) VERY much welcomed.

    Also, as a second item: is there a standard/simple effect I left out that I should include?

    Chorus comes to mind, but really given the concept of this being a bare-bones setup I have not included it. Feelings?

    Thanks, in advance. Really appreciate your feedback.

    Love only,

    posted in technical issues read more
  • svanya

    I could see how it might be useful to be able to manipulate the OSC-controller mounted on a stand.

    So I laid the controls for a (MoMuPlat) "Wide-Tablet" so they all fit on one page. (See the two files below).


    Hope it helps.

    Ciao for now.

    Love and peace only,

    posted in patch~ read more
  • svanya

    Maximo (Guitar Rack) - 6 slots with 1 of 60 effects per slot (using "abs_effects_router" + an OSC controller (MobMuPlat)


    The app is "maximo-help.pd".

    maximo is an effects-chain giving the user 6 slots each one of which may be used to select from 1 of 60 effects (the first being "unchanged").

    Check her for details about how to use the "abs_effects_router", http://forum.pdpatchrepo.info/topic/10693/abs_effects_router-60-effects-in-one-abstraction-router-from-diy2-stamp-album-my-abs/1 .

    It also includes

    1. a "maximo/admin.pd" abstraction to control:

    dsp, bypass (all), reset (to set all effects to "unchanged"), and 9 presets (0 reserved for program usage) and both save-to-file and load-from-file preset buttons

    1. an Open Sound Control (OSC) mapper ("maximo/osc_control.pd") for sending values (0 thru 1) to controls /cc/1 thru /cc/34 (see the patch for details).


    1. an example OSC (MobMuPlat) controller at "./maximo-osc.mmp" and "./maximo-osc-mmp.pd"




    PAGE 1


    PAGE 2


    PAGE 3


    All of this was contingent on the foundation and resources laid out in the DIY2 and Stamp Album collections and actually this was largely an example of persistence not any real insight and the largest percentage of the success goes to their creators for being so diligent about standardizing their abstractions.

    I DO however hope you find it useful.

    My GOAL was to eliminate what is often the case with effect stacks (I have seen) of having to connect all the effects. This eliminates that and makes it much cleaner: only having to select from the (tof/pmenu POPUP_LIST button) or navigate to the desired effect with the standard "first, previous, next, last" controls.

    I hope you find the work useful and capable of helping you to manifest all those wonderful sounds you have in your head.

    Peace and only Love,

    The List of Effects per slot is:


    posted in patch~ read more
  • svanya

    abs_sequences_by_formula: Sequences by Formula Abstraction, ex. Collatz


    abs_sequences_by_formula.pd (required)
    abs_function_router.pd (required)

    Really I was just curious to see if I could do this.

    As to practical purpose: unknown (tho I Do think it's cool to stack sequences with a function router and might come in handy for those folks pursuing Sequencers)

    The abstraction has one inlet which takes a list and sets all the values on the gui.
    One example is given in the list, which sets the abstraction to run the Collatz sequence starting at 11, and decrementing the seed when it reaches 1 until the seed value reaches 1.

    The sequences are calculated by passing values thru either a left or right sequence of three operators which are either +,-,*,/,sin,cos,tan,log,exp, or pow depending on whether the current N is (depending on the splitter) mod=0,!=0 or =0,!=0 and increments the seed value if N exceeds either of the set min or max values.

    The controls:
    seed-num: sets the initial value of the sequence;
    minN: if the calculate N is <= it the next seed is sent;
    maxN: same as minN but >=;
    incr: the number to increment the seed value when minN or maxN are exceeded;
    mod|==: when to split the sequence: if the mod==0 or !=0 OR == or != this value;
    operX1-3 (on both sides): is an abstraction ("abs_function_router.pd") with the following 3 inlets (from left to right): N, a constant, and an index. It then takes N and chooses depending on the index to either: +,-,*,/,sin,cos,tan,log,exp,pow the value with the cold inlets of those functions (where available) set to the constant value;

    If mod|== is reached it sends it to the left set of functions in all other cases it sends it to the right set of functions.

    met: sets the metro (i.e. how fast the N's are calculated) (log 10 to 1000 milliseconds).


    My intention here was to make a tool available which might allow us as pd users to show non-pd users what we mean when we say "Mathematics is 'Musical'".


    Have fun. Let me know if you need any help.


    posted in abstract~ read more
  • svanya





    to as simply and cleanly as possble allow for the selection of an effect from a large-ish set of effects (currently it contains 60 effects (from the DIY2, Stamp Album, and my own collections (in that order on the lists))).


    There are four creation arguments which identically align with the four messages you can send to the right inlet.

    Left inlet is audio signal
    Left outlet is audio signal
    Middle outlet is effect-name
    Right outlet is effect-index (0-indexed).

    The four messages/arguments are
    $1: index (0-59);
    $2: bypass (0-no bypass, 1-bypassed);
    $3: param (as a 2 float list, (0-7(int), 0-1 (float)) to set the value for the chosen parameter for the chosen effect;
    $4: command either first, previous, next, or last (0, 1, 2, 3) which actually only trigger those identical buttons on the interface.

    Optionally effects may be chosen from the POPUP_LIST button(as a pmenu) if you have the "tof" external library loaded which can be found in Deken.


    All of the effects abs are actually loaded when it starts. However each has a [switch~] which is only activated if that index is selected.

    They are all housed in "res/abs_PATCHES~_sv.pd" and what is visible is achieved by moving the namedwindow over (a Very carefully) aligned and standardized subwindow for each effect.

    The main issue was really standardizing everything, aka. grunt work. Which at the time I desparately needed as my main patch had become sooo abstract it was starting to effect my contentment level :-)).


    I am currently (and have been) buiding a more complex example of this abs in practice as a 4 stack with RaspPi+Arduino controller (along with HID-keyboard, MIDI, and OSC) to be used as a "Meta" guitar pedal.

    However I currently am not yet ready to release that work.

    Wanna give a special thanks, to @whale-av for putting me onto the idea about namedwindows which is actually the backbone of this work.

    Peace. Let me know if you need anything or have questions and I will do the best I can to answer them.
    PD Forever,

    p.s. as I foresee it, what this abs should mean is users can readily drop in not only a single effect abs, but 60 abs all at once, which they can then choose and cross-relate/stack to their hearts content.

    p.s.s. I am aware of yet could not resolve the r~/vector size errors which are carry overs from the sympathetic string patch. I have read they do not impact anything, but would like to resolve them if someone can see how. Thanks, in advance.

    Thanks, again, everyone who added ideas and moral support.

    As I just told my brother the other day: One of the reasons pure data users are so kind is they GET that all mathematics can be mapped on to audio.


    posted in abstract~ read more
  • svanya

    MMPonBoardEditorTemplate.mmp for creation of MobMuPlat files directly on the handheld (android only)

    by svanya

    INFO: make copies of this template to use as the starting point for your created .mmp files.


    This template is designed to expedite the creation of simple(!) MobMuPlat files on-the-go with only the use of the handheld (i.e. does not require the Java editor).

    There are three sections to this document:
    the templates (in this commented section)
    the mmp header just below this section
    the mmp footer (which closes the .json file).

    To use the template:

    Open this file in a handheld text-editor (you may need to rename it, ex. adding ".txt" (no quotes) to the end of its file name to associate it to the text-editor and NOT MobMuPlat).

    Copy one of the sections from this Templates Section (not including its label and the label colon and paste it into the Entries Section below and for each template you have added more than 1, add a comma after each template except the last one.

    The arrangment on the screen can then be edited (in that same text editor) by amending the "frame" section of each Entry according to the following format:


    (on the JAVA editor the screen is scaled 320px wide by 480px high)


    Re-open the .mmp file inside MobMuPlat (renaming it back to .mmp as necessary).

    Enjoy! And Good Luck! Just post any comments or help you may need here and I will try and get to them as soon as I am able.

    Ciao for Now. Peace,

    for those interested here is the code:

    MMPonBoardEditorTemplate.mmp for creation of MobMuPlat files directly on the handheld (android only)
    by svanya
    INFO: make copies of this template to use as the starting point for your created .mmp files.
    This template is designed to expedite the creation of simple(!) MobMuPlat files on-the-go with only the use of the handheld (i.e. does not require the Java editor).
    There are three sections to this document:
        the templates (in this commented section)
        the mmp header just below this section
        the "ENTRIES SECTION"
        the mmp footer (which closes the .json file).
    To use the template:
    Open this file in a handheld text-editor (you may need to rename it, ex. adding ".txt" (no quotes) to the end of its file name to associate it to the text-editor and NOT MobMuPlat).
    Copy one of the sections from this Templates Section (not including its label and the label colon and paste it into the Entries Section below and for each template you have added more than 1, add a comma after each template except the last one.
    The arrangment on the screen can then be edited (in that same text editor) by amending the "frame" section of each Entry according to the following format:
    (on the JAVA editor the screen is scaled 320px wide by 480px high)
    Re-open the .mmp file inside MobMuPlat (renaming it back to .mmp as necessary).
    ENTRIES SECTION: entries go below here and above the comment below
    The mmp footer is below.

    posted in libpd / webpd read more
  • svanya

    Can someone please show me, i.e. an example patch, how to emulate [unpack] (with WebPd-compatible only objects) with list-drip (I think???)?



    not sure why the developer did not include it. but have seen that in many cases those objects he left out were emulate-able by other objects, ex. sin vs cos.

    Thanks, again. Your help is much appreciated.

    posted in technical issues read more
Internal error.

Oops! Looks like something went wrong!