• seb-harmonik.ar

    @rumblefuzz it would help if you could post the patch..

    of course, make sure you're using a 1-sample delay. Maybe would be better to use [rzero~ 1] with [expr~ $v1 > 0] for this I think

    I think you're going to get some kinds of aliasing problems with this just fyi.. you'd have to bandlimit the steps/account for sampling if you want it to sound analog..

    posted in technical issues read more
  • seb-harmonik.ar

    @Boran-Robert what do you mean "already in binary form"? All numbers/audio are already in binary form internally, but when you type them in number boxes or have them displayed or printed they are converted to/from decimal.. so in your example with binary numbers those numbers are actually decimal numbers if you would type them into boxes in pd, and indeed if you run your example with trying to use binary numbers you will see that the output has non-binary digits

    posted in technical issues read more
  • seb-harmonik.ar

    I think we should clarify further what your intentions are.. Are you keeping the audio signals as floating point numbers in the range of 0 to 1 or 0 to 2? Do you want to XOR the floating point numbers or only their "integer" parts? If you XOR the raw binary representation of 2 floating point numbers I feel like the results would be way more unpredictable than in fixed point/integer because of XOR ing the exponents.. it makes my head hurt just to think about the results of that and I doubt you could do it in pd vanilla anyhow..

    I think what you might want is to multiply both numbers before doing your expr~ (for instance to be in the range of 0 to (2^24 - 1) in order to get all of the significand part) since expr~ only does binops on integers/rounds to the nearest integer, then scale back into your audio range afterward (as in @alexandros' example)

    posted in technical issues read more
  • seb-harmonik.ar

    what do you mean? Audio is already in binary floating-point.. do you want to print every binary place-value of every single sample somewhere? Or could it be every 64 samples? (in which case I would go the snapshot~ route)

    posted in technical issues read more
  • seb-harmonik.ar

    I've heard that the "right" way (with only one operation per output) to do this is to start with an array with values equal to the index. (at 1 =1, at 0 = 0 etc). Then you read a random index, output it, then swap it with the last element of the array. Next time, you choose a random index except for the last, swap it with the second-to-last, and continue decrementing the range of random indices and swapping with the last index that hasn't been swapped yet every time until you reach the beginning of the array.
    see c_urn in RjDj for an example in vanilla: https://github.com/rjdj/rjlib/tree/master/rj

    posted in technical issues read more
  • seb-harmonik.ar

    see d_array.c in the sources as an example: seems like the way to do this is use pd_findbyclass(t_symbol, garray_class)
    here's a section from tabread:

    if (!(a = (t_garray *)pd_findbyclass(x->x_arrayname, garray_class)))
            pd_error(x, "%s: no such array", x->x_arrayname->s_name);
        else if (!garray_getfloatwords(a, &npoints, &vec))
            pd_error(x, "%s: bad template for tabread", x->x_arrayname->s_name);
        else
        {
            int n = f;
            if (n < 0) n = 0;
            else if (n >= npoints) n = npoints - 1;
            outlet_float(x->x_obj.ob_outlet, (npoints ? vec[n].w_float : 0));
        }
    

    posted in technical issues read more
  • seb-harmonik.ar

    @Joseph-Mikkelson sorry, someone that knows about windows will have to help.. but generally you have to edit PD_PATH to point to the correct location of the pure data executable..

    posted in technical issues read more
  • seb-harmonik.ar

    phasor~ is "dirty" because is not anti-aliased (or band limited), so harmonics will "fold down" back onto the spectrum - there are many different methods of antialiasing oscillators.. there are none in pd-vanilla though.. I have some in my library using stilson & smith's "blit" (which doesn't work so well for frequency modulation though) https://ccrma.stanford.edu/~stilti/papers/blit.pdf

    the miniwoog uses mmb's band limited saw https://github.com/dotmmb/mmb, which uses pre-computed band limited waveforms and crossfades through a large table of them and selects the appropriate number of harmonics based on the fundamental frequency.. this is a very safe method but takes more memory afaik

    there are polyblep-based band limited oscillators in heavy lib https://github.com/enzienaudio/heavylib
    and also mini blep ones in creb

    posted in technical issues read more
  • seb-harmonik.ar

    @Joseph-Mikkelson no, the makefile should work for Windows if your system is set-up for building pd externals (I'm not quite sure what that entails..)

    posted in technical issues read more
  • seb-harmonik.ar

    l2ork has an autotune add-on that works ok imo (& can be compiled for mac or windows as well)
    https://github.com/pd-l2ork/pd/tree/master/l2ork_addons/autotune

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!