[PD] convert signal to 16bit stream

cyrille henry ch at chnry.net
Tue Nov 8 12:06:46 CET 2016


in your patch, the input signal is truncated, so strange things append near 0.
I think rounding to inferior value will gives better result.

here is a version done with 2 wrap~.
the result for negative number is a bit different than in your example for 2 reason :
- it round to inferior value and not truncate the input.
- it return negative int, but in uint8 : 255 and -1 are the same number anyhow.

sometimes rounding error result in 1 being 0.9999. So i guess this patch is useless.

The other easy solution I can think of is using 2 tables with 65K point each, and reading the tables with tabread~.
it is easy to populate the table with the value you want.

sorry, i don't have time to provide a patch.


Le 07/11/2016 à 16:24, Roman Haefeli a écrit :
> Hi all
> In order to store audio data more efficiently in netpd presets and also
> to transmit live audio through OSC, I'm thinking of ways to convert an
> signal to a 16-bit stream represented as two signals, one for each
> byte, the first for MSB and the second for LSB. I already came up with
> a few solutions, but I'm not totally happy with any of them because
> they are not very efficient or/and have strange edge cases. It turns
> out what seems a simple task is a bit more complex and probably has
> quiet a few totally different solutions.
> I would be interested to see with what solutions people come up with.
> Consider it a puzzle, a brain teaser (in case you're done writing your
> paper for pdcon and need some distraction).
> Requirements:
>  * It must be done in signal domain (I was doing it in message domain
>    yet, but performance is obviously bad)
>  * Only vanilla objects are allowed.
>  * Input is in the range -1 to 1. Input outside this range should be
>    clipped and not wrapped around.
>  * Output is two signals, each consisting of an integer value between
>    0 and 255
>  * The two bytes represent a 16-bit _signed_ integer
> You can compare your output with the message version in attached patch.
> If this generates interest and makes some people participate, I'll
> disclose my solutions after people submitted their solutions.
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 16bit-converter-challenge.pd
Type: application/puredata
Size: 2095 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20161108/d02ec3e4/attachment.bin>

More information about the Pd-list mailing list