• Obineg

    @oid
    i wonder what you think what this feedbackloop should be good for. :)

    posted in technical issues read more
  • Obineg

    the image from fishcrystal contains an important, basic part of the answer in that plot: the math required for a multi-point-crossfader is identical to the math in a "equal-power" stereo panner.

    using modulation -> list -> modulo -> cos function, as seen above, is a nice short data rate implementation.
    if you want to use signals, where you dont have lists, you can optimize that principle further by using buffers and then only use +- offsets when reading out the function for the different inputs.

    posted in technical issues read more
  • Obineg

    if you have a function or graph with more than one dimension, like in your example or in the usual chaotic attractors, you would simply take these dimensions individually and derive 3 signals from it.

    then you can take only one of them, or mix them against each othe, or sum them, or multiply them squared or whatever you wish.

    in order to do so, you would simply rebiuld the code so that it produces values betwee -1 and 1, (which can get tricky when used a low resolution arithmecis before), and when it works, you´d make a version with signal objects (which is often simpler than you thought)

    posted in technical issues read more
  • Obineg

    i would say "no" - there is no known generator or filter which is polyphonic by nature.

    even if you code your own external at one point you always have to iterate the list into single values.

    for example you could use a vexpr object instead of 4 mtofs, but there is no method how to make a polyphonic phase accumulator.

    if you would try to make one, you would soon find out that it does not make too much sense to process accumulators in vectors when you need to have single outlets anyway, since audio connections have a fixed rate and bitdepht and can not be used to carry more than one signal.

    of course inside pd you can yourself freely *where *you do that, (as opposed to MIDI, where every communication is serial.)

    posted in technical issues read more
  • Obineg

    wow that is closer to live than to max.

    posted in Off topic read more
  • Obineg

    oh, i wasnt aware of that at all. so one could say there is basically no main thread? when the scheduler cant be turned off.:)

    (scheduling events works fine: metro 1 -> click~ at vectorsizes 32 does what it is supposed to - in max it required the hp-thread to be available or it would produce hiccup.)

    posted in Off topic read more
  • Obineg

    @Chalisque

    short answer: you have to make sure that the data runs in the high priority thread.

    pd and max have a main thread, a high priority thread (overdrive), and an audio thread (among others)

    how to do that in C++ is surely documented in the SDK examples, but i will not be of much help here.

    maybe compare the source code of [+ ] vs. [delay], the latter outputs to the high priority thread if one exists.

    posted in Off topic read more
  • Obineg

    @jamcultur said:

    Thanks. That might be what I need, but I need to do some more research on MIDI MPE messages. I'd like to find a MIDI MPE sample file that I could download. I see that Max/MSP added some new objects for MPE, mpeconfig, mpeparse, mpeformat, polymidiin, and others. I'm going to look to see what they're doing.

    a file would not be as helpful as simply looking into the specs. the basic "polyphony" releated stuff is relatively simple, the only prerequisite would be that midiin and midiout do not filter out numbers they dont know.

    max´s mpeparse or midiparse are quite useful, but it is not really difficult to write your own, it is basically sorting numbers.

    posted in technical issues read more
  • Obineg

    if the duration is the same for all notes, there is no need to process them as numbers, you could as well store and trigger the list as such.

    you will benefit from that in many other situations, for example it then will also work with an arbitrary number of list elements.

    at least you can remove all but one pipe objects in that patch.

    another alternative design would be to add the duration to each note, as it will be required to do that when assembling te midi events anyway. if you do it this way, you will also add the option to use different durations for each list member, something which cen get quite relevant for musical events.

    alltogether i would say you dont need that patch at all to do what you want, you basically only need to bang the messagebox and then do the midi formatting.

    posted in technical issues read more
  • Obineg

    in theory by upsampling the whole process.

    but in most cases you would then also need to play the input faster into it. ;)

    posted in technical issues read more
  • Obineg

    @ddw_music said:

    I don't have the link handy, but one commentator called GPT a "mansplaining machine" -- often wrong, but projecting absolute confidence in its answers.

    then it is evident: chatGPT is a politician.

    posted in Off topic read more
  • Obineg

    @ddw_music said:

    @Obineg said:

    chatGPT is more intelligent than 90% of the world population

    It's not. It makes up answers that sound correct, but not based on real understanding.

    90% of the humans are not even able to give answers which sound correct.

    posted in Off topic read more
  • Obineg

    that is how it is: chatGPT is more intelligent than 90% of the word population, but unfortunately that means nothing.

    i mean we drive sport-offroad-cars in the city, we build houses with flat roofs, and we litter the ocean with plastic bottles, what could a machine learn from us?

    posted in Off topic read more
  • Obineg

    a digital poles and zeros filter always offers 3 or 6 db/oct, depending on the use case, and you switch to a higher order by switches and gates which lets you choose to put filters in series or not.

    this is more or less identical in both worlds.

    if you actually want to use a "multiple switch" (i.e. many switches) to do that on a hardware surface is another question (you rather want to have a switch with 4 stages) but the internal logic in the circuit is always the same.

    you *can *use a digital enviroment to design circuits which look *similar *to electric components, but of course one prerequisite would be that you *know *these analog components already. (and then it is questionable why you would need a computer program to simulate it?)

    i am not really a pd user and i dont know which distribution has what gate and switch objects - but we can easily replace it using multiplications with 0 and 1.

    this way it is even simpler to understand what happens.

    grafik.png

    posted in technical issues read more
  • Obineg

    @kosuke16 said: that I didn't have to learn anything

    very well tracked down.

    and now... build your own version.

    framework:

    1. first take care about what it should mean when midi note events come in. don´t forget to handle a possible third key pressed down.
    2. build the trillo events to output.
    3. connect the two parts.

    posted in technical issues read more
  • Obineg

    you can learn about things, play around, make single sounds, make songs, make performance patches or build actual software "products".

    the proposed "one song one patch" use case is quite common.

    posted in technical issues read more
  • Obineg

    pd or standalone max are a bit simpler because you at least get rid of the routing chaos in ableton and roll your own in wysiwyg style.

    how to code something mainly depends on what it is. :)

    there are stereo matrix formats, there is ambisonics, there is vbap, there are other methods of cicular panning, you can just alternate between channels and treat them as 4 mono systems... what do you want to do?

    posted in technical issues read more
  • Obineg

    code 4*5

    ah, found the code tag. but you already fixed my post.

    posted in technical issues read more
  • Obineg

    escaping each of them sounds like a lot of work. i think one can guess that $f12 was 1 times 2 - and the other are ones are not needed anyway.

    yes, for signal expr~ you can use min(max()()), i copied this from my datarate max patch.

    of course both is likewise difficult to read for a beginner.

    outside of expr~ you might also be able to optimize the code further with pong and modulo.

    but i like to start out verbose and linear, then optimize later.

    he has yet to get rid of this snapshot nonsense. :)

    posted in technical issues read more
  • Obineg

    okay this sucks, how do i get this forum to display an asterax?

    posted in technical issues read more
Internal error.

Oops! Looks like something went wrong!