• emacpher

    Losing links to the old forum is a disaster ... That was a huge resource. Why not "freeze" it but keep it available for searching and access via whatever URL's folks might have saved for themselves. I know I have a lot.

    posted in this forum read more
  • emacpher

    For those interested in communicating between Matlab and pd using OSC, the following link should be very useful:

    http://stackoverflow.com/questions/17077364/communicating-between-pure-data-and-matlab-using-osc

    The weird problem the original poster describes seems rather specific to their system, but about 1/3 of the way down there is an answer with a wealth of good material including Matlab/pd client/server examples, links to the sources for osc-mex, compiled 32- and 64-bit Windows mex files, and compilation instructions.

    posted in tutorials read more
  • emacpher

    I decided to try this, and was delighted that it worked:

    If arbfunc~.pd is

    [$1 $2]
    |
    [outlet~]

    then you can successfully use it like

    [arbfunc~ osc~ 1000]

    or

    [arbfunc~ phasor~ 100]

    I assume this power should only be used for good.

    posted in technical issues read more
  • emacpher

    In the following patch, when I [bng] manually, the vline~ and tabwrite~ start exactly at the same time, as desired, but when I turn on the [metro], the start of the vline~ is randomly delayed (by up to one block, I'm guessing).

    What's going on?

    Replacing the vline~ with line~ and the appropriate input messages eliminates the start time problem, although line~ appears to round the duration of its ramp down to the nearest block.

    [bng] [tgl]
    | |
    | [metro 500]
    | /
    [t b b]
    | |
    | [0, 1 2(
    | |
    | [vline~]
    | /
    [tabwrite~ array]

    posted in technical issues read more
  • emacpher

    When I first create an array and tabsend~ or tabwrite~ a signal into it, it is plotted with a bold line. If I close and re-open the patch, the line is now only one pixel wide. (XP and Win7, 42.5 and 43.4)

    Is there some way to control the line width (or colour!) ? That would be very handy for distinguishing more than two signals (using points or polygons) and making plots easier to see at a distance.

    posted in technical issues read more
  • emacpher

    Is anyone successfully using earplug~ from pd extended 0.42.5 ?

    On both Windows and OSX, earplug~-help.pd is clearly not doing the right thing. The HRTF-filtered noise sounds lowpass- and comb-filtered, and undergoes multiple extreme amplitude variations, but nothing sensible in the way of perceived location changes, as the azimuth parameter is varied.

    Any trick to getting this working? Thanks.

    posted in technical issues read more
  • emacpher

    In a student activity I recently devised (characterizing filters and entering the measured values into a spreadsheet), I seem to have discovered a bizarre interaction of pd (extended, 0.42.5) and MS-Excel (2007 or 2010 versions) on Windows XP and Win7.

    Namely, after a period of normal operation, the spreadsheet will become sluggish or freeze entirely. This is resolved immediately if pd is closed, and it happens with the console window alone; no patch needs to be opened, and no interaction like cutting and pasting between programs is necessary to make it happen. I have reproduced this behavior on several XP and Win7 systems.

    Has anyone else experienced this, and can anyone offer an explanation?

    posted in technical issues read more
  • emacpher

    I am working on a patch to get data from a Polhemus Fastrak motion tracker.

    It returns serial records of the form:

    "01 9.44 -0.75 -0.62 -40.90 15.74 29.96"

    in which the orientation angles are the last three values. The azimuth value, for example, is always in characters 25 through 31, so I am extracting it like this:

    [ list of char bytes(
    |
    [packel 25 26 27 28 29 30 31]
    | | | | | |
    [sprintf %c%c%c%c%c%c%c]
    |
    [value \

    which puts the correct value, -40.90, in the number at the bottom.

    This works fine, but is there a better way?

    http://www.pdpatchrepo.info/hurleur/serial_fastrak.pd

    posted in technical issues read more
  • emacpher

    Just discovered an error in my patch.
    Please replace [tabread~ spectrum] with

    [r tick]
    |
    [tabplay~ spectrum]

    Otherwise the accumulated spectrum "signal" is not in sync with the new one.

    posted in patch~ read more
  • emacpher

    The mrpeach externals have [udpsend~] and [udpreceive~]

    posted in technical issues read more
  • emacpher

    If you want the FFT values in dB, then change [sqrt~] to [expr~ 10 * log10($v1)].
    If you want the frequency scale logarithmic, try http://puredata.hurleur.com/sujet-5282-array-logarithmic-scale

    posted in patch~ read more
  • emacpher

    I can't totally picture what you are trying to do (average x previous versions of the FFT?) but how about making a "leaky" FFT table integrator as in the attached patch. Every time you compute an FFT, compute a weighted sum of the new FFT and the old weighted sum. Basically it is a 1-pole low-pass filter on the the FFT value in each bin running at whatever metro rate you like.

    Maybe this can be done at block rate without the tabread~ , but I got a "DSP loop" error when I tried that.

    http://www.pdpatchrepo.info/hurleur/fft-leaky.pd

    posted in patch~ read more
  • emacpher

    expr is doing integer arithmetic with your constants, so 25/24 rounds off to 1.
    When you pass in the 25, it is a float, so the computation is done floating point, as you want.

    Change it to [expr $f1 * 25.0/24] and it will evaluate the fraction in floating point.

    posted in technical issues read more
  • emacpher

    [tab_copy] from iem_tab ?

    This won't create a new table for you, but it will copy values from one table to another.

    posted in technical issues read more
  • emacpher

    Here's an example of Maelstorm's first trick, which is delwrite~ and vd~ in separate subpatches connected (delwrite -> vd~) by dummy outlet~ and inlet~ to force the write to occur before the read.

    This gets down to a 1-sample minimum delay, and does not require running anything with [block~ 1].

    This won't work for a feedback delay, but for a simple flanger you don't need feedback, just a delay-and-add with a slowly varying delay.

    http://www.pdpatchrepo.info/hurleur/delwrite_vd_subblock_delay_trick.pd

    posted in technical issues read more
  • emacpher

    Check out Maelstorm's posts in these threads for ways of getting shorter delays without running your whole patch with [block~ 1]

    http://puredata.hurleur.com/sujet-5245-audio-control-signal

    http://puredata.hurleur.com/sujet-5078-problem-delay-line-cannot-shorter

    posted in technical issues read more
  • emacpher

    Here is a messy demo I put together using the iem_ambi objects.
    One thing to understand is that these objects only give you the coefficients, you need to build your own signal weighting matrices, as I have done here.

    http://www.pdpatchrepo.info/hurleur/ambipan_iem_demo.pd

    posted in technical issues read more
  • emacpher

    Are your integer keys arbitrary, or an ordered list from 1 to N? If the latter, you could put all your outputs in a list and use

    to get the Nth item.

    [s-map] from http://code.google.com/p/s-abstractions/ allows numerical or symbol keys and values, and has built-in saving and loading to/from text files.

    I found out about [s-map] from http://lists.puredata.info/pipermail/pd-list/2009-07/071599.html, which lists some other options as well, although several of the links seem to go to the wrong places.

    posted in technical issues read more
  • emacpher

    You could use a set message to change the target of a single send.

    [for++ 0 99]
    |
    [t f f ]
    / \
    [tabread togglestate] [set toggle-$1 (
    \ /
    [send]

    Each toggle would need its own receive symbol, toggle-0, toggle-1, etc.

    posted in technical issues read more
Internal error.

Oops! Looks like something went wrong!