Re: [PD] pix_freenect update

2012-01-08 Thread Budi Prakosa
awesome!!

On Mon, Jan 9, 2012 at 8:18 AM, Matthias Kronlachner
 wrote:
> hello again!
>
> if you want to use skeleton data and hand tracking (similar to OSCeleton)
> combined with rgb and depth streams from Kinect Sensor you can do this with
> the new pix_openni external. get it here:
>
> https://github.com/kronihias/pix_openni
>
> binaries for osx in build folder.
> you will need to install OpenNI, NITE and SensorKinect -> see README
>
> initialization of openni and nodes needs some time and pd freezes - keep
> that in mind!
> i hope it's stable, i haven't tested it excessively now.
>
> currently it supports just 1 kinect sensor. i don't have access to two
> cameras in the near future so help would be appreciated.
>
>
> matthias
>
>
> Am 05.01.12 09:17, schrieb Matthias Kronlachner:
>
> hi everybody!
>
> i did a update to my pix_freenect external for kinect and moved it into a
> git repo.
> get it here: http://github.com/kronihias/pix_freenect
>
> ready to use binaries for osx (including libusb&libfreenect) are in the
> build folder.
>
> major improvements:
> *    open specific Kinect sensor by serial number, not only by id (that may
> change every time pd is restarted) – useful for multiple Kinect
> installations
> *    output registered depthmap -> rgb and depth images are aligned (less
> offset between those two pictures - depending on distance)
> *    output depthmap directly as millimeter values (16 bit in red & green
> channels)
> *    resolution of rgb image can be set to 1280×1024
>
> i also added a folder with examples - currently just one but i hope there
> will come more soon
>
> have fun.
>
> matthias
>
>
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>
>
>
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>



-- 
Budi Prakosa
house of natural fiber (HONF)
yogyakarta new media art laboratory
wora wari A80/6 baciro yogyakarta indonesia
http://www.natural-fiber.com

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pix_freenect update

2012-01-08 Thread Matthias Kronlachner

hello again!

if you want to use skeleton data and hand tracking (similar to 
OSCeleton) combined with rgb and depth streams from Kinect Sensor you 
can do this with the new pix_openni external. get it here:


https://github.com/kronihias/pix_openni

binaries for osx in build folder.
you will need to install OpenNI, NITE and SensorKinect -> see README

initialization of openni and nodes needs some time and pd freezes - keep 
that in mind!

i hope it's stable, i haven't tested it excessively now.

currently it supports just 1 kinect sensor. i don't have access to two 
cameras in the near future so help would be appreciated.



matthias


Am 05.01.12 09:17, schrieb Matthias Kronlachner:

hi everybody!

i did a update to my pix_freenect external for kinect and moved it 
into a git repo.

get it here: http://github.com/kronihias/pix_freenect

ready to use binaries for osx (including libusb&libfreenect) are in 
the build folder.


major improvements:
*open specific Kinect sensor by serial number, not only by id 
(that may change every time pd is restarted) -- useful for multiple 
Kinect installations
* output registered depthmap -> rgb and depth images are aligned (less 
offset between those two pictures - depending on distance)
* output depthmap directly as millimeter values (16 bit in red & green 
channels)

*resolution of rgb image can be set to 1280×1024

i also added a folder with examples - currently just one but i hope 
there will come more soon


have fun.

matthias


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management ->  
http://lists.puredata.info/listinfo/pd-list


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] ring buffer with an array

2012-01-08 Thread Alexandre Torres Porres
Well, this is for the phase vocoder patch, which is based on miller's I07
example.

There's a counter that reads over the table, and I expanded the thing
allowing it to loop and other convenient sampling controls.

I never needed a perfect loop, cause I never loaded real perfectly looped
files in it, so I just check when the counter grows bigger than the table
size and restart it. As for recording on the tables, I do fade-in and
fade-out, because it would click anyway.

Now, for the ring buffer, it needs to be in perfect sync, so I can have
tables that are multiples of the block size and use [bang~], it's not that
much of a big restrain at all. You won't be able to specify an exact table
size, but the resolution is 64 samples, and that is like 1.45 miliseconds
(about nothing). So I got over it, did it, and it works!!!

I can adapt the thing for loaded samples, and have it the table size
rounded up to multiples of the block + 1. This is not a perfect loop, but
they weren't perfect before anyhow...

But why stop there? How to make it loop perfectly? This is the issue
now. *Checking
Miller's Phase Vocoder example. If you load a sample, how to make it loop
perfectly?*

I know one could use phasor~ and other stuff to read the table. But for the
Phase Vocoder patch, we need that structure with the counter and everything.

Well, I'll keep thinking.

Thanks


2012/1/8 Charles Henry 

> On 1/8/12, Alexandre Torres Porres  wrote:
> > Hi folks, I'm trying to implement a ring buffer with a table for a
> sampler
> > patch based on an array.
> >
> > But I'm having the hardest time cause it always "clicks" when I start
> > writing back on the beginning of the array.
> >
> > I made this simple test attached below using metro. But I'm figuring the
> > flaw is because is not trivial at all to keep control data in sync with
> > audio blocks
> >
> > any hints or ideas?
>
> I think you might be better able to keep the data in sync with a
> vline~/metro/tabread4~ construction, because it preserves the timing
> information in the messages.  Instead of vline~/metro, you could also
> use phasor~ which makes the looping implicit.
>
> To work around clicks, crossfading is what I hear about the most on
> list.  I'm not sure how it's implemented.
>
> When I think about coding in C, I always want to have N contiguous
> samples to avoid having to check against the end of the array.  To do
> that, you make the buffer 2*N-1 in length.  Then, on each write, you
> write to two locations (0,N), (1,N+1), (2,N+2)...  That ensures there
> is always N samples in a row to read from, and you just move the read
> pointer by 1 each time you get a vector of N samples long. (my
> personal method...nothing more).
>
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [tabwrite4~], is it possible at all?

2012-01-08 Thread Charles Henry
On 1/8/12, Miller Puckette  wrote:
> Hi all --
>
> Peter Brinkmann and Michael Goggins did some related work recently:
>
> http://nettoyeur.noisepages.com/2010/10/doppler-effects-without-equations/
>
> but back in the dark ages Barry Vercoe made a Music 11 ugen called 'pipadv'
> that added a signal into a delay line assuming the write location was
> continuous and could be stably differentiated (so that for each point of the
> delay line you could associate a fractional pposition in the incoming
> signal.
> He then interpolated to get fractional-indexed values of the incoming signal
> to correspond with successive sample locations in the delay line, turning
> the problem around backward.)
>
> I've thought about this for a few hours but so far my only conclusion is
> that
> it's very interesting :)
>
> Miller

The problems that I see are with orthogonality and reconstruction.  A
sample really just represents a sync that's centered on a point in
time (in the easy case).  Integer numbers of samples are orthogonal...
but the fractionally-centered sample is not orthogonal to samples at
all the integer indexes.

Then, the reconstruction problem follows from it.  When you want to
read a value from a table, does it exactly retrieve the value that was
recorded there?  It seems like the interpolator needs to be modified
continuously with the spacing of adjacent samples.

All I know right now is, I can't spend my whole vacation on a math
problem, even if it's good :)

Chuck

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] ring buffer with an array

2012-01-08 Thread Charles Henry
On 1/8/12, Alexandre Torres Porres  wrote:
> Hi folks, I'm trying to implement a ring buffer with a table for a sampler
> patch based on an array.
>
> But I'm having the hardest time cause it always "clicks" when I start
> writing back on the beginning of the array.
>
> I made this simple test attached below using metro. But I'm figuring the
> flaw is because is not trivial at all to keep control data in sync with
> audio blocks
>
> any hints or ideas?

I think you might be better able to keep the data in sync with a
vline~/metro/tabread4~ construction, because it preserves the timing
information in the messages.  Instead of vline~/metro, you could also
use phasor~ which makes the looping implicit.

To work around clicks, crossfading is what I hear about the most on
list.  I'm not sure how it's implemented.

When I think about coding in C, I always want to have N contiguous
samples to avoid having to check against the end of the array.  To do
that, you make the buffer 2*N-1 in length.  Then, on each write, you
write to two locations (0,N), (1,N+1), (2,N+2)...  That ensures there
is always N samples in a row to read from, and you just move the read
pointer by 1 each time you get a vector of N samples long. (my
personal method...nothing more).

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [tabwrite4~], is it possible at all?

2012-01-08 Thread Miller Puckette
Hi all --

Peter Brinkmann and Michael Goggins did some related work recently:

http://nettoyeur.noisepages.com/2010/10/doppler-effects-without-equations/

but back in the dark ages Barry Vercoe made a Music 11 ugen called 'pipadv'
that added a signal into a delay line assuming the write location was
continuous and could be stably differentiated (so that for each point of the
delay line you could associate a fractional pposition in the incoming signal.
He then interpolated to get fractional-indexed values of the incoming signal
to correspond with successive sample locations in the delay line, turning
the problem around backward.)

I've thought about this for a few hours but so far my only conclusion is that
it's very interesting :)

Miller

On Sat, Jan 07, 2012 at 05:48:04PM +0100, katja wrote:
> On Sat, Jan 7, 2012 at 2:23 PM, Mathieu Bouchard  wrote:
> 
> > I don't think that [tabread4~] can be reversed so easily. I think that the
> > most appropriate antialiased [tabwrite4~] would not be a mirror image of
> > what [tabread4~] is.
> 
> Admittedly I did not have a clear idea of how writing at fractional
> speed could be conceived. Your detailed answer helped me to
> concentrate on the issues.Thanks, Mathieu.
> 
> A [tabwrite4~] is not comparable to [tabread4~] indeed, because
> writing is much more obliging than reading. Like you can read and skip
> chapters in a book, but you can't publish a book with chapters or
> pages missing, or print the pages over each other.
> 
> So the issue of fractional-speed-writing should really be solved as
> fractional resampling. I've been experimenting with chirp z-transform
> some years ago, and was surprised by the perfect interpolation which
> it can do. A block of audio can be blown up alias-free to any length,
> like with zero-padding but without the power-of-two ratio restriction.
> Downsampling likewise. Maybe I should write it into a Pd class.
> Certainly it won't be an easy job though.
> 
> Katja
> 
> 
> 
> > It wouldn't necessarily write four values : making it
> > write two values would be quite normal ; you'll want to tune its amount of
> > «opaqueness» perhaps, and this will be a setting for which you will have no
> > ideal default value ; and whatever it'll be, you probably won't like that
> > it's not a mirror image of [tabread4~] or even of [tabread~].
> >
> > This makes me think of [#remap_image] and [#store]. If I want to warp the
> > coordinates of a picture in a nontrivial way, I can't loop over the source
> > pixels and write them in the destination image, because this creates lots of
> > holes. It doesn't tell what to fill the holes with. What [#remap_image] does
> > (using the [#store] external) is to loop over destination pixels and choose
> > where their data come from. This means that the warping function has to be
> > inversed.
> >
> > nontrivial examples :
> > http://gridflow.ca/gallery/un_sur_z%C3%A8de.jpg
> > http://gridflow.ca/gallery/patch_dans_patch_5.png
> > http://gridflow.ca/gallery/patch_dans_patch_9.png
> >
> > help :
> > http://gridflow.ca/help/%23remap_image-help.html
> >
> > But when the source data is a continuous flow, you can't index it as if it
> > were a picture of pixels, because the flow of sound is unlimited and
> > realtime.
> >
> > IMHO, it's a hard problem. It looks like the kind of thing for which many
> > situation-specific solutions are designed because there is no general way to
> > make something that generally makes sense.
> >
> >
> >> While writing 4 values, recently written values must be taken into
> >> account, not bluntly overwritten. So two existing values, x[n-2] and 
> >> x[n-1],
> >> should be somehow integrated with new values, if the writing direction is
> >> positive.
> >
> >
> > Just think about constant speeds for now : if the index is a phasor moving
> > at the same speed as [tabsend~] would, then it better act very similar to
> > [tabsend~]. This is the first thing you ought to verify for any possible
> > solution. Then you should look at what happens when using any other
> > different constant speeds. Then if you are satisfied with what happens with
> > all constant speeds, chances are that you will be satisfied with variable
> > speeds.
> >
> >  __
> > | Mathieu BOUCHARD - téléphone : +1.514.383.3801 - Montréal, QC
> 
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] ring buffer with an array

2012-01-08 Thread Alexandre Torres Porres
I know, I thought of that, but then, I need to make the table always as big
as a multiple of an audio block, right?

I was hoping to have a way without this restrain. But maybe it isn't that
much of a big deal.


2012/1/8 tim vets 

>
>
> 2012/1/8 Alexandre Torres Porres 
>
>>
>> Hi folks, I'm trying to implement a ring buffer with a table for a
>> sampler patch based on an array.
>>
>> But I'm having the hardest time cause it always "clicks" when I start
>> writing back on the beginning of the array.
>>
>> I made this simple test attached below using metro. But I'm figuring the
>> flaw is because is not trivial at all to keep control data in sync with
>> audio blocks
>>
>> any hints or ideas?
>>
>>
> [bang~] ?
>
>
>> thanks
>>
>>
>> 
>>
>> #N canvas 727 343 619 425 10;
>> #N canvas 0 0 450 300 (subpatch) 0;
>> #X array sample 88200 float 2;
>> #X coords 0 1 88199 -1 200 140 1;
>> #X restore 261 172 graph;
>> #X obj 82 188 tabwrite~ sample;
>> #X obj 109 270 tabplay~ sample;
>> #X obj 104 307 dac~;
>> #X obj 99 240 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
>> -1;
>> #X obj 168 131 metro 2000;
>> #X obj 53 124 adc~ 1;
>> #X obj 189 172 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
>> -1 -1;
>> #X obj 101 119 sel 0;
>> #X msg 101 143 stop;
>> #X obj 137 232 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
>> -1 -1;
>> #X obj 168 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
>> 1;
>> #X obj 168 78 t f f;
>> #X connect 2 0 3 0;
>> #X connect 2 0 3 1;
>> #X connect 2 1 4 0;
>> #X connect 4 0 2 0;
>> #X connect 5 0 1 0;
>> #X connect 5 0 7 0;
>> #X connect 6 0 1 0;
>> #X connect 8 0 9 0;
>> #X connect 9 0 1 0;
>> #X connect 10 0 2 0;
>> #X connect 11 0 12 0;
>> #X connect 12 0 5 0;
>> #X connect 12 1 8 0;
>>
>> ___
>> Pd-list@iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> http://lists.puredata.info/listinfo/pd-list
>>
>>
>
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] ring buffer with an array

2012-01-08 Thread tim vets
2012/1/8 Alexandre Torres Porres 

>
> Hi folks, I'm trying to implement a ring buffer with a table for a sampler
> patch based on an array.
>
> But I'm having the hardest time cause it always "clicks" when I start
> writing back on the beginning of the array.
>
> I made this simple test attached below using metro. But I'm figuring the
> flaw is because is not trivial at all to keep control data in sync with
> audio blocks
>
> any hints or ideas?
>
>
[bang~] ?


> thanks
>
>
> 
>
> #N canvas 727 343 619 425 10;
> #N canvas 0 0 450 300 (subpatch) 0;
> #X array sample 88200 float 2;
> #X coords 0 1 88199 -1 200 140 1;
> #X restore 261 172 graph;
> #X obj 82 188 tabwrite~ sample;
> #X obj 109 270 tabplay~ sample;
> #X obj 104 307 dac~;
> #X obj 99 240 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
> -1;
> #X obj 168 131 metro 2000;
> #X obj 53 124 adc~ 1;
> #X obj 189 172 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
> -1 -1;
> #X obj 101 119 sel 0;
> #X msg 101 143 stop;
> #X obj 137 232 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
> -1 -1;
> #X obj 168 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
> 1;
> #X obj 168 78 t f f;
> #X connect 2 0 3 0;
> #X connect 2 0 3 1;
> #X connect 2 1 4 0;
> #X connect 4 0 2 0;
> #X connect 5 0 1 0;
> #X connect 5 0 7 0;
> #X connect 6 0 1 0;
> #X connect 8 0 9 0;
> #X connect 9 0 1 0;
> #X connect 10 0 2 0;
> #X connect 11 0 12 0;
> #X connect 12 0 5 0;
> #X connect 12 1 8 0;
>
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>
>
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


[PD] ring buffer with an array

2012-01-08 Thread Alexandre Torres Porres
Hi folks, I'm trying to implement a ring buffer with a table for a sampler
patch based on an array.

But I'm having the hardest time cause it always "clicks" when I start
writing back on the beginning of the array.

I made this simple test attached below using metro. But I'm figuring the
flaw is because is not trivial at all to keep control data in sync with
audio blocks

any hints or ideas?

thanks




#N canvas 727 343 619 425 10;
#N canvas 0 0 450 300 (subpatch) 0;
#X array sample 88200 float 2;
#X coords 0 1 88199 -1 200 140 1;
#X restore 261 172 graph;
#X obj 82 188 tabwrite~ sample;
#X obj 109 270 tabplay~ sample;
#X obj 104 307 dac~;
#X obj 99 240 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 168 131 metro 2000;
#X obj 53 124 adc~ 1;
#X obj 189 172 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 101 119 sel 0;
#X msg 101 143 stop;
#X obj 137 232 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 168 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 168 78 t f f;
#X connect 2 0 3 0;
#X connect 2 0 3 1;
#X connect 2 1 4 0;
#X connect 4 0 2 0;
#X connect 5 0 1 0;
#X connect 5 0 7 0;
#X connect 6 0 1 0;
#X connect 8 0 9 0;
#X connect 9 0 1 0;
#X connect 10 0 2 0;
#X connect 11 0 12 0;
#X connect 12 0 5 0;
#X connect 12 1 8 0;
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


[PD] Crashing patch (after considerable stability), Consistent error

2012-01-08 Thread james murray
So, I've got an older computer that I've been running a PD/GEM patch on 
for a number of years, and it's been consistently performing until 
recently when it began crashing once or twice a day. I seem to be 
getting the same sort of report from console and was wondering if anyone could 
shed some light on this while I try and sort this out. 

I 
keep getting this in every log for the most part, I can post more... 
nothing has been changed or updated recently, it's been kind of just a 
computer I have to test and run things on, so I'm confused to as where 
this new issue could be coming from

Thread 13 Crashed:
0   ...pple.AppleIntermediateCodec     0x06c15cb8 get_band + 312
1   ...pple.AppleIntermediateCodec     0x06c0b6cc decoder_entry(void*) + 428
2   libSystem.B.dylib                  0x9002b200 _pthread_body + 96

Thread 14 Crashed:
0   ...pple.AppleIntermediateCodec     0x06c15cb8 get_band + 312
1   ...pple.AppleIntermediateCodec     0x06c0b6cc decoder_entry(void*) + 428
2   libSystem.B.dylib                  0x9002b200 _pthread_body + 96

Thread 14 crashed with PPC Thread State 64:
  srr0: 0x06c15cb8 srr1: 0x1200f030                        
vrsave: 0x8000
    cr: 0x4448          xer: 0x2000   lr: 0x000a  
ctr: 0x00b4
    r0: 0x   r1: 0xf068cd40   r2: 0x0001000c   
r3: 0x08a1a000
    r4: 0x0020   r5: 0xaec0   r6: 0x0757b398   
r7: 0x414f
    r8: 0x0001   r9: 0x000f  r10: 0xbec1  
r11: 0x414f
   r12: 0x000caec0  r13: 0x  r14: 0x  
r15: 0x
   r16: 0x  r17: 0x  r18: 0x505b  
r19: 0xaec0
   r20: 0x000c  r21: 0xf068cd80  r22: 0x0240  
r23: 0x
   r24: 0x000f  r25: 0x000c  r26: 0x0010  
r27: 0x0757b380
   r28: 0x  r29: 0x00c0  r30: 0x0020  
r31: 0x06c15ba0


thanks in advance, 

N
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Running Pd on a tiny (and cheap) computer

2012-01-08 Thread katja
On Sun, Jan 8, 2012 at 2:24 AM, Pierre Massat  wrote:

> There's also the Dream Plug
> (http://www.plugcomputer.org/development-kits/dreamplug.html), which has a
> faster (though totally unknown to me) CPU.

According to the processor documentation it is ARMv5TE-compliant, and
there's also a Dream Plug with ARMv5 mentioned on:

http://wiki.debian.org/FreedomBox/TargetedHardware

It is not the newest generation of ARM, so it would not be comparable
to a recent tablet.

This page discusses performance comparisons of ARM versus x86:

http://vanshardware.com/2010/08/mirror-the-coming-war-arm-versus-x86/

ARM seems to perform slow with floating point, and Pd is all floating
point. An Atom based computer might be better for Pd. I have no
experience with ARM, but of Atom-based netbooks I know (also from
experience) that Pd performs reasonably well under Debian. Roughly
three times slower than a laptop, I would say.

Katja

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


[PD] Copenhagen PD user group

2012-01-08 Thread Knud Riishøjgård
Hi List -

New poster on this list, old Max/PD user here. Some friends have asked
for advice/instruction on PD, and I hope we can create a patching
circle here in Copenhagen. Please mail me directly, and/or edit the
page on puredata.info:
http://puredata.info/community/organization/pd-cph/PdCph


alle the best
Knud

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list