• stuckboy

    Hi,

    I want to use pd to control 40 output channels using a 64 channel RME HDSP-MADI device. Does anyone have any experience about using many channels in pd/using MADI with pd?

    I am working in windows XP and my problem is that I can only use 2 audio channels at a time when using ASIO. When i'm using the standard driver I can get up to 8 channels working simultaneously, but this is not good enough.

    I found the following on google:

    http://lists.puredata.info/pipermail/pd-list/2006-03/036629.html

    but they are working in linux. Is it even possible to use pure data with MADI in windows?

    Many thanks

    Ben

    posted in technical issues read more
  • stuckboy

    Hi,

    I would like to use [vd~] to create a doppler shift style pitch change, but I am having some problems.

    The delay length is calculated on the control level, I don't have the option of calculating it using signal math since this would be too computationally expensive. The problem is that the signal will obviously jump every 1 ms when the control level updates, which creates a horrible ring mod esque effect.

    I tried using [line~] from the cyclone pack as follows:

    input control value
    |\
    | \
    | \
    | [1[
    | |
    [line~]
    |
    output delay line length signal

    to try and interpolate between the 1ms spaced control values. This seemed to have some benefit but the pitch shifted sounds still sounded pretty bad.

    I'm fairly sure this isn't due to aliasing in the delay line because the sound I'm using is resampled to 44.1KHz from 11.025KHz.

    Any help would be greatly appreciated.

    Ben

    posted in technical issues read more
  • stuckboy

    Hi,

    I've made an abstraction for which the argument is the table length in ms. I want to create a table of the correct length in samples. How is it possible to do the ms to samples conversion bearing in mind table size can only specified by an argument not an inlet?

    Hope that made sense.

    Thanks

    Ben

    posted in technical issues read more
  • stuckboy

    Hi,

    I want to be able to write to and read from a table at a index specified by a signal. That is to say if I have two signals x(n) and y(n), where n is the time in samples, I would like to be able to do

    table(y(n)) = x(n)

    i.e. y(n) is used as the index for the table.

    Is this at all possible in pd?

    Many thanks

    Ben

    posted in technical issues read more
  • stuckboy

    Hi,

    I have been trying to create a sample accurate timer (i.e. will always increase by 1 each sample). I've tried using phasor~ and vline~ but they seem to hiccup on the occasional sample which is unacceptable for what I'm trying to do. Do any of you know a solution?

    Many thanks

    Ben

    posted in technical issues read more
  • stuckboy

    Hi,

    A common problem I run into is that I will have an expr object evaluating an expression based on multiple inputs which are generally sent to the expr in no particular order.

    I would like to make it so that every time the expr object receives ANY input, it re-evaluates the output. There are several ways I can think of doing this, but I was wondering what is the best/neatest way?

    Thanks

    Ben

    posted in technical issues read more
  • stuckboy

    Hi all

    Is there any way to control the order of inlets that appear on an abstraction/subpatch? Other than creating them in the right order that is.

    Thanks

    Ben

    posted in technical issues read more
  • stuckboy

    Hello,

    Is there a way to generate a unique ID as a float from a symbol input?

    Thanks

    Ben

    posted in technical issues read more
  • stuckboy

    Hello all,

    I'm working on building a multichannel surround sound processor for a university project. This involves taking a description of each sound source in the scene (i.e. audio signal, position) and processing it for a large number of output channels.

    From my current limited experience of pd and the literature I have read, it seems the way to do this would be to duplicate all the processes as many times as they are needed within the patch. This seems awfully inelegant though, and limits the flexibility of the patch.

    I was wondering if there is an automatic way to carry out lots of parallel processes at once. For example I have an arbitrary process "process~" and I have 4 input signals "s#" and 4 input numbers "f#" and I want to receive 4 outputs "s#'".

    [s1 s2 s3 s4] [f1 f2 f3 f4]
    | |
    | _________
    process~
    |
    |
    [s1' s2' s3' s4']

    Which is equivalent to...

    s1 f1
    | |
    | |
    process~
    |
    |
    s1'

    s2 f2
    | |
    | |
    process~
    |
    |
    s2'

    etc...

    I hope I've made myself clear, please let me know if not.

    Thanks in advance!

    Ben

    posted in technical issues read more
  • stuckboy

    Hi,

    The attached patch dsdelay is supposed to be a variable delay line with a moving write point. vd~ uses a moving read point which is acceptable for most applications but not what I am working on. I have implemented my moving write point delay line in MATLAB and it works reasonably well. However I am experiencing issues with PD implementation.

    The patch uses a table to store the delay line values and is supposed to use a circular delay line method (i.e. the read/write points shift with time instead of the actual elements of the delay line). The intention is that the read point shifts along the delay line by one sample per sample, and the write point does the same whilst the delay is not being altered. The write point uses a simple two point extrapolation to allow writing at fractional table indices.

    I'm having two problems:

    1. I can't find a satisfactory method of wrapping signal values in an arbitrary range. I want to be able wrap a signal value between 0 and 44100 for example, but using

    |
    [/~ 44100]
    |
    [wrap~]
    |
    [*~ 44100]
    |

    gives rise to rounding errors which create artifacts in the output. This is why in the current state, the output is intermittent rather than continuous.

    2. For some reason the 2 point extrapolation seems to be not working correctly. I'm getting a ring modulation type effect on the output. In MATLAB the addition of the two point extrapolation helped to minimise artifacts when the delay time was being altered. Altering the delay time gives rise to horrible artifacts at the moment though.

    Any pointers on how to get this working properly would be greatly appreciated.

    Thanks

    Ben

    http://www.pdpatchrepo.info/hurleur/test.zip

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!