[PD-dev] signal external behaviour changes without changing code

2011-02-18 Thread Andrew Hassall
I'm writing a 2 externals for PD as part of my 3rd dissertation for a
computer science degree. They are both signal externals, they are part
of the LPC (linear predictive coding) algorithm, 1 to analyse the
signal (create the filter coefficients and filter the incoming signal
to give the source signal) and 1 to resynthesize the signal (using the
filter coefficients to filter the source signal).

However I've created both externals and sometimes when the items are
created they behave as expected and work perfectly, but more often
they do not work as intended (the explanation for the problems with
each individual external are below if you wish to know more), this is
without changing the C code. I've tried various techniques to try to
find out why this is happening all of which preform the same when
working correctly or not. So I wondered if anyone had any advise or
had experienced similar problems before? I believe it could be
something to do with the dsp routines? possibly getting out of sync?
But I am just speculating.

the analysis part does not filter the signal properly (possibly due to
the filter coefficients being wrong) but it seems to not output every
block of signal (ie when shown on a graph it will randomly flash a
wave then will be blank again)

the synthesis part appears not to correctly filter the input signal
with the given filter coefficients possibly because the list of
coefficients passed from the previous object are out of sync with
incoming signal, in which case is there a way ensuring they are in
sync?


I realise that the above text maybe hard to follow, but unfortunately
it is hard to explain the problem, if you need more information, a
better explanation etc. please don't hesitate to contact me at:
a.r.hassall at gmail.com

Thank you
Andrew Hassall

___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] signal external behaviour changes without changing code

2011-02-18 Thread IOhannes zmölnig
On 02/18/2011 04:16 PM, Andrew Hassall wrote:
 I'm writing a 2 externals for PD as part of my 3rd dissertation for a
 computer science degree. They are both signal externals, they are part
 of the LPC (linear predictive coding) algorithm, 1 to analyse the
 signal (create the filter coefficients and filter the incoming signal
 to give the source signal) and 1 to resynthesize the signal (using the
 filter coefficients to filter the source signal).
 
 However I've created both externals and sometimes when the items are
 created they behave as expected and work perfectly, but more often
 they do not work as intended 

without reading further on, i want to make sure you are aware of the
fact, that Pd might give you the same pointer to both input and output
signals.
thus, if you write something into the output signal vector, you might
invalidate the input signal (fix: make sure you read all the input
samples before you overwrite them)

fgmadsr
IOhannes



signature.asc
Description: OpenPGP digital signature
___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev