[PD] Converting PCM to delta sigma

Martin Dupras martindupras at gmail.com
Sat Nov 23 19:33:01 CET 2019


Thanks Miller!

I don't particularly understand the math behind biquad filters, so
might you be able to elaborate on how that works? Am I right in
understanding that the first yields the first derivative of the
signal?

That's not quite what I'm trying to do; I think perhaps I need to
explain myself better.

Here's what I'm trying to do.

As I understand it, to convert a PCM signal into a (say) 1-bit sigma
delta equivalent, you'd upsample it by some power of 2 (say 32),
low-pass filter it, and then quantize to 1 bit whether the signal goes
up or down. So what I'd like to do is store the resulting delta signal
numerically in an array of the same size, but where each index is
storing, instead of a single 32-bit value, the 32-bit numerical
equivalent of the sequence of 0s and 1s that happens in the space of 1
sample.

Any idea how I would go about this?

Many thanks!

- martin


On Sat, 23 Nov 2019 at 17:07, Miller Puckette <msp at ucsd.edu> wrote:
>
> biquad~ 0 0 1 -1 0
>
> then to convert back,
>
> biquad~ 1 0 1 0 0
>
> (this may differ by a DC offset fromt eh original).
>
> cheers
> Miller
>
> On Sat, Nov 23, 2019 at 04:29:32PM +0000, Martin Dupras wrote:
> > I was wondering if anyone has tried converting PCM signals to
> > delta-sigma and vice-versa in PD? Are there any examples of how one
> > would do that?
> >
> > To be clear, I don't need it to be realtime as such; what I'd like to
> > do is be able to copy the PCM values of one array as a delta-sigma
> > version in another.
> >
> > Any ideas or pointers?
> >
> > Thanks,
> >
> > - martin
> >
> >
> >
> > _______________________________________________
> > Pd-list at lists.iem.at mailing list
> > UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list





More information about the Pd-list mailing list