Re: [PD] using pd live (sans computer/laptop/raspberry pi)
On Fri, Mar 14, 2014 at 4:29 PM, Jonathan Wilkes jancs...@yahoo.com wrote: On 03/14/2014 03:44 PM, Dan Wilcox wrote: Without a computer, no. Without a desktop or laptop computer, yes. Well, maybe we could design and manufacture an enormous ASIC that runs libpd. -Jonathan I appreciate the spirit of that... but man, that would be one intimidating project. oh to have an infinite number of monkeys programming FPGAs ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Strange behavior using custom external
You can make these changes (one from IOhannes and two of my suggestions in-line below) and see if the error is gone. My guess is: probably not. I didn't see any glaring problems that would cause memory corruption. Could you also show us your rhynamo_set(symbol, float) function? Does the error occur *only* after the set function gets used? If for some reason, these small changes do fix your issue, just back up and make one change at a time, and check if you can reproduce the error each time. I'd be interested to know what actually causes it. On Thu, Feb 27, 2014 at 6:13 PM, GCC rob...@urbanstew.org wrote: Below is my setup method. This object generates rhythmic phrases so it accesses the time scheduler in Pd as per the code [metro] or [delay], and outputs a bang. Perhaps this could be where it goes wrong? Thanks for your time and help. -Rob --- void rhynamo_setup(void) { rhynamo_class = class_new(gensym(rhynamo), (t_newmethod)rhynamo_new, (t_method)delay_free, sizeof(t_rhynamo), CLASS_DEFAULT, A_GIMME, 0); post([rhynamo] a rhythmic generator v .02 : by Robert Esler 2014 ); class_addbang (rhynamo_class, rhynamo_bang); class_addfloat(rhynamo_class, (t_method)rhynamo_generate); class_addsymbol(rhynamo_class, (t_method)rhynamo_set); ^--I don't think you need the addsymbol line. The rhynamo_set function access is provided by the next addmethod line, immediately below. class_addmethod(rhynamo_class, (t_method)rhynamo_set, gensym(set), A_DEFSYMBOL, A_DEFFLOAT, 0); class_addmethod(rhynamo_class, (t_method)rhynamo_generate, gensym(generate), A_FLOAT, 0); ^--This line should have A_DEFFLOAT instead of A_FLOAT. class_sethelpsymbol(rhynamo_class, gensym(help-rhynamo)); } - Date: Thu, 27 Feb 2014 14:15:05 -0600 From: Charles Z Henry czhe...@gmail.com Subject: Re: [PD] Strange behavior using custom external To: Robert Esler rob...@urbanstew.org Cc: pd-list pd-list@iem.at Message-ID: capfmnofa_cprs4ux0yg1yy7hfsgrpt79b+felj5kzf1frd0...@mail.gmail.com Content-Type: text/plain; charset=utf-8 The difference probably indicates that something is going on in your _setup() function. Once you've loaded a class in a patch, it stays in memory. If you close the patch, and open another patch without the class, you may still see the effects---but if you close pd, and reopen without using the class, you should not see the effects at all. The backtrace shows a seg fault from calls in binbuf_eval, which is the code related to parsing and loading a patch. You might just have passed a struct as an argument, where it's expected to be an element of that struct. Although pointer type mismatches will definitely throw a compiler warning you should have seen already. Would you post the _setup() function? Chuck ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Strange behavior using custom external
The difference probably indicates that something is going on in your _setup() function. Once you've loaded a class in a patch, it stays in memory. If you close the patch, and open another patch without the class, you may still see the effects---but if you close pd, and reopen without using the class, you should not see the effects at all. The backtrace shows a seg fault from calls in binbuf_eval, which is the code related to parsing and loading a patch. You might just have passed a struct as an argument, where it's expected to be an element of that struct. Although pointer type mismatches will definitely throw a compiler warning you should have seen already. Would you post the _setup() function? Chuck On Thu, Feb 27, 2014 at 1:09 PM, Robert Esler rob...@urbanstew.org wrote: Hi Chuck, If I create another patch w/o the external I don't get this behavior at all. Though if I create the patch w/ the external then delete it, save it and open it, there have been times where the behavior returns w/o the external. I'll go through my pd object code again. As you mention there could be symbol pointer that is not accessed or allocated correctly. -Rob On Feb 26, 2014, at 4:09 PM, Charles Z Henry czhe...@gmail.com wrote: Hi Robert, Just to clarify--have you also observed the error in any patches where you have not loaded the external? For example, if you take your patch, remove the external and save as test.pd, will the word tempo appear correctly and without replacement? This sounds to me like a mismatched type, like a symbol pointer foo being used in place of a string like foo-s_name ... but I'm confused as to how that's occurring inside the text of a message box (not my best subject anyhow) Chuck On Wed, Feb 26, 2014 at 4:22 PM, Robert Esler rob...@urbanstew.orgwrote: Hello everyone, I'm having a strange issue with a custom external built using C++. When using my external in Pd I send it set commands using a message box to change internal parameters, e.g [set tempo $1( The strange behavior is as follows: 1) Sometimes when opening the patch the word tempo as referenced above gets changed to some nonsensical characters or is missing altogether. So my message looks like [set ðLᄌ $1( or [set $1(, even though it was saved as [set tempo $1(. 2) When the behavior above does not occur (e.g #1) and the message is preserved upon opening, it only will work as written once then the second time the message is nonsense again but does not actually display as having changed. So the GUI still reads [set tempo $1( but actually prints to the Pd window as: print: set ðLᄌ 140. 3) At times when running my object, after #2 has happened, Pd crashes and leaves a trace to: Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x100b1a6a VM Regions Near 0x100b1a6a: __LINKEDIT 080a4000-080a5000 [4K] r--/rwx SM=COW /Applications/Pd-extended.app/Contents/Resources/extra/pddp/pddplink.pd_darwin -- __TEXT 7000-7015f000 [ 1404K] r-x/rwx SM=COW /System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libsystem_c.dylib 0x903833f0 strcmp + 80 1 pdextended 0x0001c493 gatom_key + 305 2 pdextended 0x000386cf canvas_key + 1659 3 pdextended 0x000540b0 pd_typedmess + 740 4 pdextended 0x00054107 pd_typedmess + 827 5 pdextended 0x00058394 binbuf_eval + 1224 6 pdextended 0x0006255c socketreceiver_read + 1734 7 pdextended 0x0006111c sys_domicrosleep + 381 8 pdextended 0x000611a8 sys_microsleep + 19 9 pdextended 0x0005e413 m_mainloop + 989 10 pdextended 0x00060e4b sys_main + 2909 11 pdextended 0x2172 _start + 216 12 pdextended 0x2099 start + 41 --- Right now I'm using Pd-extended 42.5, Mac OS X 10.8.5 I'm happy to supply more code, examples, details, etc. if someone can help. Much appreciated, Rob ___ 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] Strange behavior using custom external
Hi Robert, Just to clarify--have you also observed the error in any patches where you have not loaded the external? For example, if you take your patch, remove the external and save as test.pd, will the word tempo appear correctly and without replacement? This sounds to me like a mismatched type, like a symbol pointer foo being used in place of a string like foo-s_name ... but I'm confused as to how that's occurring inside the text of a message box (not my best subject anyhow) Chuck On Wed, Feb 26, 2014 at 4:22 PM, Robert Esler rob...@urbanstew.org wrote: Hello everyone, I'm having a strange issue with a custom external built using C++. When using my external in Pd I send it set commands using a message box to change internal parameters, e.g [set tempo $1( The strange behavior is as follows: 1) Sometimes when opening the patch the word tempo as referenced above gets changed to some nonsensical characters or is missing altogether. So my message looks like [set ðLᄌ $1( or [set $1(, even though it was saved as [set tempo $1(. 2) When the behavior above does not occur (e.g #1) and the message is preserved upon opening, it only will work as written once then the second time the message is nonsense again but does not actually display as having changed. So the GUI still reads [set tempo $1( but actually prints to the Pd window as: print: set ðLᄌ 140. 3) At times when running my object, after #2 has happened, Pd crashes and leaves a trace to: Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x100b1a6a VM Regions Near 0x100b1a6a: __LINKEDIT 080a4000-080a5000 [4K] r--/rwx SM=COW /Applications/Pd-extended.app/Contents/Resources/extra/pddp/pddplink.pd_darwin -- __TEXT 7000-7015f000 [ 1404K] r-x/rwx SM=COW /System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libsystem_c.dylib 0x903833f0 strcmp + 80 1 pdextended 0x0001c493 gatom_key + 305 2 pdextended 0x000386cf canvas_key + 1659 3 pdextended 0x000540b0 pd_typedmess + 740 4 pdextended 0x00054107 pd_typedmess + 827 5 pdextended 0x00058394 binbuf_eval + 1224 6 pdextended 0x0006255c socketreceiver_read + 1734 7 pdextended 0x0006111c sys_domicrosleep + 381 8 pdextended 0x000611a8 sys_microsleep + 19 9 pdextended 0x0005e413 m_mainloop + 989 10 pdextended 0x00060e4b sys_main + 2909 11 pdextended 0x2172 _start + 216 12 pdextended 0x2099 start + 41 --- Right now I'm using Pd-extended 42.5, Mac OS X 10.8.5 I'm happy to supply more code, examples, details, etc. if someone can help. Much appreciated, Rob ___ 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] get sinusoid from a sine and a cosine oscillator
You don't want fft~/ rifft~ for that. It's a mapping between large structures on blocks and single-samples (and vice-versa). To get a single sinusoid from a path-defined circle, you just project onto a single dimension. For example, (x,y)-x or (x,y)-y or (x,y)- (sqrt(3)/2*x+1/2*y). In the case of a circle, all the axes you would draw through the circle work equally well. Chuck On Wed, Jan 29, 2014 at 2:44 PM, Alexandros Drymonitis adr...@gmail.comwrote: Yeah, well I'm trying to create shapes in Gem (say a circle) and create the sound they make. So, to make a circle, I'm making a ramp from 0 to 1, multiply it by 2pi and send it to [cos] and [sin] and store these values in two tables, which I then read for every instance of a [circle] (using [repeat] and [separator]). So, since for any shape, you need two coordinates, x and y, my thought was to use these two coordinates as the real and imaginary part of an FFT, merging the two dimensions in one. After the sinusoid, I'll try to make other shapes too, but I wanted to start from that to make sure that I hear exactly what I see. On Wed, Jan 29, 2014 at 10:30 PM, Charles Z Henry czhe...@gmail.comwrote: What you seem to be doing is creating a spectrum which has magnitude 1 everywhere, and the phase is varying at a constant rate vs frequency. That means it has a constant group delay. So... my guess is that you'd get an impulse in each block, whose timing depends on the rate of the phasor. When you vary the phasor frequency, it will coincide with the peak of the hann window at some point and be its loudest. Should be a periodic complex tone. I don't understand your goal: you've got sinusoids in the patch... to generate sinusoids? Chuck On Wed, Jan 29, 2014 at 9:12 AM, Alexandros Drymonitis adr...@gmail.comwrote: Say I have a full sine and a full cosine cycle stored in two tables. I'm trying the following to get a sinusoid from [rifft~] but it doesn't work. [phasor~] | [*~ sizeOfTable - 3] | [+~ 1] |\ | \ | [tabread4~ sine] | \ [tabread4~ cosine] | \ [rifft~] | |[tabreceive~ hann] || [*~ ] | [/~ 1536] I've set the block size to 1024 in this subpatch, and there's a hann window in the parent patch as well. The tables have three guard points, that's why I'm multiplying [phasor~] by the size of the table minus three and then add one. The output of this is a waveform with very low amplitude that kind of bounces up and down within a sine like mask. Don't know if I'm making my self clear. My main question is, how do you get a sinusoid out of a sine and a cosine? Also, what's wrong in my approach? ___ 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-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] get sinusoid from a sine and a cosine oscillator
That's the point I was making. By (x,y)-x I mean that you'd just use the x (cosine table) for example. The easiest projection is to throw away axes :) If you're making shapes as repeated paths in 2-D, then taking a projection (along an axis x y or any rotation of x,y) will generate a signal that makes sense and generalizes, creating simple sinusoids for circles and complex tones for different shapes. The pitch would vary by how fast the path is repeated, and the timbre would vary according to the shape. The amplitude would vary by the size of the shape. Those are simple rules--and may not be what you're interested in--but it would be consistent. For example, using a square in it's normal rotation and projecting along x or y alone, you'd get a square wave. If you want to use a contribution from both of your axes, you can just sum them together. (x+y)*sqrt(2)/2 is just a projection along the line x-y=0 On Thu, Jan 30, 2014 at 10:17 AM, Alexandros Drymonitis adr...@gmail.comwrote: In the case of the circle I could just use one of the tables, since one has the cosine and the other the sine, and output that as an oscillator, but if I want to combine functions to create shapes, e.g. one function for the x axis and another for y, how can I combine these two dimensions in one? I don't really get what you mean by (x,y)-x or (x,y)-y, or the equation you wrote (tried it but didn't sound as expected, maybe my implementation was wrong). On Thu, Jan 30, 2014 at 6:06 PM, Charles Z Henry czhe...@gmail.comwrote: You don't want fft~/ rifft~ for that. It's a mapping between large structures on blocks and single-samples (and vice-versa). To get a single sinusoid from a path-defined circle, you just project onto a single dimension. For example, (x,y)-x or (x,y)-y or (x,y)- (sqrt(3)/2*x+1/2*y). In the case of a circle, all the axes you would draw through the circle work equally well. Chuck On Wed, Jan 29, 2014 at 2:44 PM, Alexandros Drymonitis adr...@gmail.comwrote: Yeah, well I'm trying to create shapes in Gem (say a circle) and create the sound they make. So, to make a circle, I'm making a ramp from 0 to 1, multiply it by 2pi and send it to [cos] and [sin] and store these values in two tables, which I then read for every instance of a [circle] (using [repeat] and [separator]). So, since for any shape, you need two coordinates, x and y, my thought was to use these two coordinates as the real and imaginary part of an FFT, merging the two dimensions in one. After the sinusoid, I'll try to make other shapes too, but I wanted to start from that to make sure that I hear exactly what I see. On Wed, Jan 29, 2014 at 10:30 PM, Charles Z Henry czhe...@gmail.comwrote: What you seem to be doing is creating a spectrum which has magnitude 1 everywhere, and the phase is varying at a constant rate vs frequency. That means it has a constant group delay. So... my guess is that you'd get an impulse in each block, whose timing depends on the rate of the phasor. When you vary the phasor frequency, it will coincide with the peak of the hann window at some point and be its loudest. Should be a periodic complex tone. I don't understand your goal: you've got sinusoids in the patch... to generate sinusoids? Chuck On Wed, Jan 29, 2014 at 9:12 AM, Alexandros Drymonitis adr...@gmail.com wrote: Say I have a full sine and a full cosine cycle stored in two tables. I'm trying the following to get a sinusoid from [rifft~] but it doesn't work. [phasor~] | [*~ sizeOfTable - 3] | [+~ 1] |\ | \ | [tabread4~ sine] | \ [tabread4~ cosine] | \ [rifft~] | |[tabreceive~ hann] || [*~ ] | [/~ 1536] I've set the block size to 1024 in this subpatch, and there's a hann window in the parent patch as well. The tables have three guard points, that's why I'm multiplying [phasor~] by the size of the table minus three and then add one. The output of this is a waveform with very low amplitude that kind of bounces up and down within a sine like mask. Don't know if I'm making my self clear. My main question is, how do you get a sinusoid out of a sine and a cosine? Also, what's wrong in my approach? ___ 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-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] get sinusoid from a sine and a cosine oscillator
On Thu, Jan 30, 2014 at 10:58 AM, Alexandros Drymonitis adr...@gmail.comwrote: On Thu, Jan 30, 2014 at 6:36 PM, Charles Z Henry czhe...@gmail.comwrote: If you want to use a contribution from both of your axes, you can just sum them together. (x+y)*sqrt(2)/2 is just a projection along the line x-y=0 Let me correct myself: the line is x+y=0 Can't really try it right now, but just to be sure, the last equation is to be interpreted like this: (x+y)*(sqrt(2)/2) or like this: ((x+y)*sqrt(2))/2? It's the same either way. That's only needed if you want to be exact in the projection value. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] get sinusoid from a sine and a cosine oscillator
What you seem to be doing is creating a spectrum which has magnitude 1 everywhere, and the phase is varying at a constant rate vs frequency. That means it has a constant group delay. So... my guess is that you'd get an impulse in each block, whose timing depends on the rate of the phasor. When you vary the phasor frequency, it will coincide with the peak of the hann window at some point and be its loudest. Should be a periodic complex tone. I don't understand your goal: you've got sinusoids in the patch... to generate sinusoids? Chuck On Wed, Jan 29, 2014 at 9:12 AM, Alexandros Drymonitis adr...@gmail.comwrote: Say I have a full sine and a full cosine cycle stored in two tables. I'm trying the following to get a sinusoid from [rifft~] but it doesn't work. [phasor~] | [*~ sizeOfTable - 3] | [+~ 1] |\ | \ | [tabread4~ sine] | \ [tabread4~ cosine] | \ [rifft~] | |[tabreceive~ hann] || [*~ ] | [/~ 1536] I've set the block size to 1024 in this subpatch, and there's a hann window in the parent patch as well. The tables have three guard points, that's why I'm multiplying [phasor~] by the size of the table minus three and then add one. The output of this is a waveform with very low amplitude that kind of bounces up and down within a sine like mask. Don't know if I'm making my self clear. My main question is, how do you get a sinusoid out of a sine and a cosine? Also, what's wrong in my approach? ___ 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] creating 1/f function in pd?
On Fri, Dec 6, 2013 at 12:29 PM, lucrecio diaz lucrecio.d...@gmail.comwrote: Hi, im new with pd, i working on a project where i need to sonify data as a waveform. Welcome to pd, Lucrecio--some questions: what's the data, and what features of the data are being mapped into sounds? Then I need to measure each set of data using a 1/f function . If you're synthesizing the sounds, you should be able to predict the 1/f characteristic. What's the meaning of extracting the (1/f) exponent? 1/f noise its a famous distribution found in diverse areas. The 1/f function measures the difference in the slope of the line of closest fit to the data and the hypothesized 1/f curve of that data. I'm familiar with Stochastic Analysis--Can you share the formulas or link to a reference that has them? I would like to know if pd is a good option for building this function for evaluating data? It's generally good for any type of numerical problem on signals. Even if you're unable to create an implementation with existing classes, you can write your own perform routines in C. or maybe theres already a plug in? or library for making this? where to start ? any hint? Some years ago, the pd-list had some posts about (1/f) noise synthesis, rather than analysis. Search the archives: http://lists.puredata.info/pipermail/pd-list/ ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] measuring entropy of a signal?
Hi Ronni, I've been traveling and I was unable to say much about the book at the time. This book seems to be an original work--I think it's a little strange that most of the references are the original works about entropy, fractal dimension, and the like. I would have liked to see some references to journal articles where his ideas about entropy, etc.. are published. Bader goes into great depth about origins and roots for trying to apply entropy and fractal dimension. I think you'll like the book--and I'm glad to hear you're doing more with these interesting topics. Bader's entropy definitions are a basic approach based on box-counting methods (and that's the method of calculation as well). I think it lacks some analytical treatment, that would be necessary to show the calculations converge to something exact that makes sense. On Mon, Nov 25, 2013 at 10:29 AM, Ronni Montoya ronni.mont...@gmail.comwrote: Oh thank you, im gonna get that book. I been working with entropy lately , experimenting new ways of using entropy, and the way i discovered of using entropy in music in a useful way is this way: First i generate strings of characters using L-systems. Then i use shannon entropy to classify each string based on its level of entropy. This sounds really cool. Strings with low entropy are gonna be very repetitive and strings with high entropy are gonna be very random. In the middle level you can have complex strings ( no so random and no so repetitive). Basically what i was trying is to use entropy as a way of doing aesthetic measure of self generated sound structures , i get this idea because once talking with a musician he told me that the function of a musician is to make sonic structures that are no so repetitive and not so random, in other words beauty is a point where sound structures are no very repetitive and also not very random, you need a little bit of repetitiveness and also you need surprise , so shannon entropy can be a useful way of measuring this. That's also a topic here, except it's mostly applied to instrumental sounds in the Bader book (much shorter time scales), but with the same basic trend: expressive and meaningful tones/timbres have some level of complexity between repetitive and random. After making my classification of strings i sonify them at different time scales, using different shannon entropy values depending on the time scale and also in the sound im using ( for example for percussions i use low entropy strings) What do you think? if anybody is interested i can send the app, but i made it in supercollider. cheers R. 2013/11/23, Charles Z Henry czhe...@gmail.com: Hey Ronni, I realize you may not be interested in this topic any more, but I recently came across a book with relevant sections on Entropy as applied to music: Nonlinearities and Synchronization in musical acoustics and music psychology by Rolf Bader Chuck On Feb 26, 2013 4:11 AM, ronni montoya ronni.mont...@gmail.com wrote: Hi , i was wondering if anybody have implemented the shannon entropy function in pd? Do anybody have tried measuring entropy of a signal? cheeers R. ___ 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] spectral mapping, anyone?
I think there's a way to do this with fft~ and iem/mtx*~ Your output can be a linear transform of the input in the Fourier Domain. The columns of the matrix are vectors. The Nth column contains the desired output you'd get from having a single '1' in the corresponding Nth input FFT signal. Suppose we have a 8-point FFT, and we want to remap frequencies into the 2nd and 4th bins. I'll just show the 4x4 matrix here: 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 This is a matrix that projects anything in the 1st/2nd bins into the 2nd bin, and anything in the 3rd/4th bins into the 4th bin. The next thing you'd want to do is analyze what the shapes of those vectors ought to be to handle the interpolation problem that Peiman mentions. The energy from each fractional-indexed frequency gets spread across *all* frequencies. You need to interpolate to get back the Fourier transform at a fractional index. The shapes of the rows/columns isn't just straightforward, but it's no more difficult than calculating filter/interpolation coefficients. The trends are clear to me: You're reducing the number of dimensions by projecting sets of frequencies onto individual frequencies. So, the number of linearly independent vectors in the rows (the range of the matrix) is equal to the number of frequencies in the output. The structure of the matrix is a sum of u*v' rank-1 matrices the number of which is the number of frequencies in the output. Chuck On Tue, Nov 26, 2013 at 5:48 AM, Eran Sachs eransa...@hotmail.com wrote: Peiman, It works great! I've been messing various sounds all day now, plus there's a thing in my computer with Barry Vercoe's name on it which I find oddly elevating. However, if I understand the wrap function correctly, it substitutes bin values for values of other bins through whatever function you apply. But the bins are still all derived from the FFT procedure. Or am I missing something there? What I would like to do is to move from bins to partials, so that they are essentially mapped to harmonic overtones of a given fundamental according to nearest match. Like a clever phase-vocoder Autotune of some kind. Is there a way to do that, to the best of anyone's knowledge? Much obliged, E. -- Date: Mon, 25 Nov 2013 15:12:50 + Subject: Re: [PD] spectral mapping, anyone? From: peimankhosr...@gmail.com To: eransa...@hotmail.com CC: por...@gmail.com; jaime.oliv...@gmail.com; pd-list@iem.at yes csound6 should work on windows too as far as I know. *www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/* On 24 November 2013 22:06, Eran Sachs eransa...@hotmail.com wrote: Thanks Peiman. Alas, I'm living the life of a PC/Windows user. AFAICT, no csound6? Z -- Date: Sun, 24 Nov 2013 20:27:39 + Subject: Re: [PD] spectral mapping, anyone? From: peimankhosr...@gmail.com To: eransa...@hotmail.com CC: por...@gmail.com; jaime.oliv...@gmail.com; pd-list@iem.at With spectral warping you can do any frequency-based manipulation, depending on the transfer function. I have one for pd but it requires Csound to be installed and a couple of other externals. See attached. On an intel mac and with pd vanilla 4.5.3/4 this should just work out of the box as long as you have csound 6 installed. P *www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/* On 24 November 2013 20:12, Eran Sachs eransa...@hotmail.com wrote: oops, I messed up the names. sorry. Once more, with feeling: Josep, Making harmonic sounds sound inharmonic can be down with spectral shifting. Try looking at Hilbert~ or at spec2_shift~ on extended. But Alexandre, I'd also would be interested in stuff that can manipulate the spectrum. I also made a little graphic control to all the cross-synthesis objects in FFTease. if anyone is interested I can post. A few years ago I tried to replicate the technique that Trevor Wishart refers to as Spectral Focusing, namely - one that moves the other way - from inharmonic to harmonic sonds, by moving from bins to partials (a little like FFTease's pvtune~, but moving bins to nearest matching partial ). I'm still looking for such an object. Does anyone have any suggestions? Zax. -- From: eransa...@hotmail.com To: por...@gmail.com; jaime.oliv...@gmail.com Date: Sun, 24 Nov 2013 21:58:50 +0200 CC: pd-list@iem.at Subject: Re: [PD] spectral mapping, anyone? Alexandre, Making harmonic sounds sound inharmonic can be down with spectral shifting. Try looking at Hilbert~ or at spec2_shift~ on extended. But Jaime, I'd also would be interested in that. A few years ago I tried to replicate the technique that Trevor Wishart refers to as Spectral
Re: [PD] LED on the Cheap
On the topic of arduino controllers--I recently listened to a presentation at the Kansas City Open Hardware Group meeting about Motate. It's an arduino library (and someday a board). https://github.com/giseburt/Motate The author was motivated to write the library for motor control, but it's still applicable to bit-banging in general. He said that his code could reduce the number of clock cycles it takes to toggle an I/O (paraphrased). I haven't dived in too deep, or figured out a test for it--but I thought I'd bring it up, regarding the difficulty with higher fps rates. Chuck On Thu, Oct 3, 2013 at 5:54 AM, Charles Goyard c...@fsck.fr wrote: Hi, Alvin Google wrote: I am writing a proposal to use Pure-Data to control LED panels that would light part of a rock quarry. The panels should both illuminate and show pixelated imagery (the resolution dependent on the quality of LEDs). I would looking for the cheapest and easiest solution. It has to be visible at some distance so the panel size would have to be at least 2 x 3 meters. This sort of application is completed new to me and any and all advise would be super helpful.. It depends heavily on whether your want still images or animation. If you want animation, the difficulty grows with the fps rate. Ie if you want 1 fixed picture per 10 seconds, you can hack something out of an arduino + i2c adressable led strips (check on hackaday.com for hardware sources ; have a look at the peggy 2.0 board). If you want video, ask Chinese factories that make video displays with LED curtains. Then you can hook up a VGA signal into your LED display. It's rather hard to DIY and certaintly not a beginner project. Hope this helps, -- Charlot ___ 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] tanh() or a compressor?
On Mon, Sep 30, 2013 at 2:35 PM, Mario Mey mario...@gmail.com wrote: Now, I am checking volumes of my looper patch. I had to raise [*~ 4] the volume of the mic, to get a razonable volume, compared to a song file, for example. But, using this looper patch, I make beatbox. So, kicks and snares from my mouth get in the mic. And, using a visual array to test it, I realize that the kicks and snares are so much higher volume than the vocals. The patch has FXs with feedbacks, so, they can make signal 1. So, at the end of the patch, there's [expr tanh($v1)] to to avoid that... tanh() is simpler than a a compressor, but it loose some sounds (I think). Or I should trust in tanh()? Multiple choice: 1- Use tanh() in the input, after adc~ and before dac~. This will cause distortion and change the shapes of your waveforms, and introduce extra harmonics. It may be an interesting effect, but it will change the sound of your beatboxing. 2- Use a compressor patch in the input, after adc~ (and tanh() before dac~) This would be the preferred method. 3- Use a compressor at the end of the patch, before dac~ If you have multiple instruments or voices in the output, you'll be decreasing the volume globally and throwing off your mix. 4- Stay as it is now... Also, I can't spend more CPU process... Then, you haven't picked the right computer for your composition :) Really, I don't think compression should be a cpu-expensive process. Plus, you have only one mic, right? What do you recommend me to use? Thanks. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Benefits of using an external soundcard?
On Fri, Aug 9, 2013 at 6:28 AM, Mario Mey mario...@gmail.com wrote: El 08/08/13 17:50, Charles Z Henry escribió: Hi Mario The number one reason for having an external sound card is noise isolation. The card's proximity to the power supply and motherboard are bad for EM noise. Also, a computer power supply and a good audio power supply for recording have much the same relationship--there's more noise in switching electronics. Next, there's the size constraints. You'd have a hard time adding all the connectors for a large number of channels on a card which plugs in to your PCI(e) slots. It's ok, I have a notebook: 1 plug out, 1 plug in. Third: there's not as great a need for bandwidth for audio as there is with video. Video cards need all that PCI(e) bandwidth. Audio doesn't. It's a relatively small amount of data. Of course--I think USB and firewire really don't have enough bandwidth for good scalability, but that's another discussion. But... what are you doing with it? You have different requirements for recording and for live sound. Live sound: just do it up. No one will likely notice. Live sound is my purpose. Mic-in looping-station and multieffects system (following the steps of Beardyman and his Beardytron_5000). But, sorry about not understanding your expresion (english is not my native language) What do you mean with just do it up, no one will likely notice? Should I buy it or no one will notice the difference? I think you mean I should... Just use the onboard sound. Live performance or installations can be much more tolerant of noise. You may have to tune your patches for the hardware, but don't give it too much thought and just do it up (a recommendation). I'm not familiar with Beardyman/tron_5000. That sounds cool. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Benefits of using an external soundcard?
Hi Mario The number one reason for having an external sound card is noise isolation. The card's proximity to the power supply and motherboard are bad for EM noise. Also, a computer power supply and a good audio power supply for recording have much the same relationship--there's more noise in switching electronics. Next, there's the size constraints. You'd have a hard time adding all the connectors for a large number of channels on a card which plugs in to your PCI(e) slots. Third: there's not as great a need for bandwidth for audio as there is with video. Video cards need all that PCI(e) bandwidth. Audio doesn't. It's a relatively small amount of data. Of course--I think USB and firewire really don't have enough bandwidth for good scalability, but that's another discussion. But... what are you doing with it? You have different requirements for recording and for live sound. Live sound: just do it up. No one will likely notice. If you're planning on recording something on just 2 channels on the built-in sound card, keep in mind that your dynamic range will be pretty bad, even if you get a good pre-amp in the middle to take the most advantage of your range. You'd much rather have an external sound card with some adjustable analog pre-amps in the box. Chuck On Thu, Aug 8, 2013 at 3:30 PM, Mario Mey mario...@gmail.com wrote: I'm using my integrated soundcard: 00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) (rev 40). I know that Pd is processing on CPU and I don't need more than 2 inputs and 2 outputs channels. So... I think that there's no need to buy an external one. Is there any benefit of using one? I know that this USB soundcard is not a very good one... but maybe it's good for my economy. What's your opinion? http://www.encore-usa.com/ar/**support/ENMAB-8CMhttp://www.encore-usa.com/ar/support/ENMAB-8CM __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/** listinfo/pd-list 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] electro-mechanical piano (player piano) - Arduino, Solenoid Issue
On Wed, Aug 7, 2013 at 12:05 AM, Epic Jefferson jeffreyconcepc...@gmail.com wrote: Hey Charles, it seems like this might work. i got some pnp transistors and built the circuit from julianvogels site. The only problem is that the LED on the test circuit barely lit up. I think it's because the transistors are not for 20mA, none were available. i'll check another electronics store to see if i find some. I think you just need smaller resistors. Every transistor in a 3-pin package I've ever seen could run 20mA or much greater. Swapping the transistors will have no effect on the amount of current. Chuck There are two ways to solve your problem: The proper one is to use PNP transistors or P-channel mosfets (remember I already told you about that ? :)) See this document, you can find the wiring at the end: http://julianvogels.de/wp-content/uploads/2013/06/stromkreis_transistorschaltung_final-1024x627.png http://julianvogels.de/extending-pwm-output-pins-with-a-texas-instruments-tlc5940-led-driver/ The good enough one is to put a pull-up resistor (10k works) on every NPN transistor base, and use the TLC as a pull down. In this case, the on-time on the TLC corresponds to the off-time on the solenoid. Also when the arduino reboots and every time the BLANK is issued, every solenoid will act for a very short time. This can be a big problem in your project. I did this for a 96 channels motor+led strip system, and I regret not using PNPs instead. Enjoy, -- Charles Epic Jefferson wrote: Hey guys, updating on this project. I got the pwm shields and i've hit a wall. The driver circuit I'm using to control the solenoids via arduino is this one from instructables (link http://www.instructables.com/id/Controlling-solenoids-with-arduino/)) and it uses a single pin to control the pwm signal. The pwm shield (link http://www.practicalmaker.com/products/arduino-shields/pwm-shield-assembled ) is based on the tlc5940 which requires each pin to have it's own ground instead of a common ground across all drivers. This is a problem because all of the information i've found suggest that the signal from the pin controls the gate (transistor - TIP102). But i think, in the case of the tlc5940, the 5v supply is constant and the ground is being controlled, that's why it works perfectly for LED's but seems to be ill suited for this circuit. Any suggestions on how to modify the instructables circuit for use with the shields? or would the circuit have to completely change? ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- www.epicjefferson.com www.avmachinists.org Puerto Rico based Art Collective/ Non-Profit Org ___ 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] How to reduce CPU use on unused subpatches-abstracts?
On Wed, Aug 7, 2013 at 2:57 AM, Roman Haefeli reduz...@gmail.com wrote: On Wed, 2013-08-07 at 08:40 +0200, IOhannes m zmölnig wrote: On 08/07/13 03:15, Miller Puckette wrote: Hmmm... I was umnder the impression that, except for the overhead of block~ and switch~ objects, there would be no difference in DSP execution time between a patch having lots of subpatches and one with the same amount of computation all thrown in one window. I haven't made any measurements but theoreticall at least there shouldn't be any difference. i once did make measurements, and they showed that your assumption is correct. or at least, it showed that it *was* correct at that time. this was on a P2-400MHz in 1998 or so, where a 16 channel spatialization patch would eat about 95% of the CPU - regardless of whether you used a single huge patch or organized the code into subpatches/abstractions. eventually i went for using abstractions, and let the PC run at 95% for the 2 weeks show. I once made some informal tests to measure the overhead of [switch~]. It turned out it is quite big and if you're running hundreds or thousands instances of [switch~] you probably gain nothing by turning DSP off in subpatches. I don't know what the sweet spot is it seems using [switch~] is only worth for subpatches with a minimum amount of (DSP) complexity. Roman I don't know why this is so... When you add a [switch~] object, it adds a prologue and epilogue around the perform routines from each object in the subpatch. The runtime behavior is just like [block~], except when the patch is switched off, the switch prologue returns a pointer to the epilogue, instead of the next item in the dsp chain (don't quote me--I may need to read some code to find exact behavior, but that's the gist of it). To me, this is pretty minimal and reasonable. Maybe there's an unintended consequence like cache misses when skipping over part of the dsp chain. Chuck ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Error: invalid command name pd
Then, it's just missing m_pd.h. You'll have to modify the makefile to set the include path or copy your m_pd.h into the same directory as tot.c (or maybe just set an environment variable... I don't know for sure). Chuck On Tue, Jul 30, 2013 at 2:03 PM, Ed Kelly morph_2...@yahoo.co.uk wrote: First click Details on your error message and post the output. Doh! Of course. Sorry, I naturally distrust error reports having been brought up on Window$. Error messages are all the same in my patch: invalid command name pd invalid command name pd while executing pd [concat #hammergui _vised .x988db98.c 1 \;] invoked from within if {[hammergui_ispatcher .x988db98.c]} {pd [concat #hammergui _vised .x988db98.c 1 \;]} (command bound to event) I think the problem is with [tot .] from the miXed library. Does anyone know how to compile it? It's causing me a headache. Typing make from within the miXed library from the svn repository comes up with errors where it can't seem to find basic functions, e.g. some lines tot.c:(.text+0xbcf): undefined reference to `gensym' tot.c:(.text+0xbff): undefined reference to `canvas_getrootfor' tot.c:(.text+0xc17): undefined reference to `canvas_getrootfor' /tmp/ccctv252.o: In function `tot_getcanvas': tot.c:(.text+0xc5b): undefined reference to `canvas_class' tot.c:(.text+0xc69): undefined reference to `pd_findbyclass' tot.c:(.text+0xc79): undefined reference to `glist_getcanvas' tot.c:(.text+0xcb7): undefined reference to `loud_warning' tot.c:(.text+0xd48): undefined reference to `loud_error' some more lines It gives similar outpuit for tot, and for pddplink ? Ed -Jonathan ___ 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] get dir of current pd
With shell you could run which pdextended, but that requires you have pdexented in your path, and it only returns the first pdextended matched. pwd might not work--it might just give you the user's home directory. On Thu, Jul 18, 2013 at 1:44 PM, Iain Mott m...@reverberant.com wrote: there's the shell external - to which you can send a pwd message - but perhaps this only works on linux, maybe mac? Iain Em Wed, 2013-07-17 às 06:44 -0700, Max escreveu: is there something like [ggee/getdir] but for getting the path of the currently running Pd binary? m. ___ 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-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] electro-mechanical piano (player piano) - Arduino, Solenoid Issue
Are you sure you need PWM pins? You'll definitely be paying for more *duinos if you are just using those. If I were you, I'd think of another way to deliver a variable impulse to the hammers. Chuck On Tue, Jun 25, 2013 at 3:43 PM, Epic Jefferson jeffreyconcepc...@gmail.com wrote: Hey guys, I've had progress building an Arduino-powered solenoid system for a controlling a piano's hammer mechanism (removing the keys) via pd. So far I've found the solenoid I want to use. [image: Inline image 1] Does any one have experience daisy-chaining arduinos (or arduino mega's) to get more pwm pins, while using just one usb connection for controlling via pd? -- www.epicjefferson.com ___ 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] linux best for pd? / best linux for Pd? / On a Mac?
On Thu, May 30, 2013 at 3:43 PM, Alexandre Torres Porres por...@gmail.comwrote: I use macs by the way. Don't know if that is an issue. Like being next to an impossible task to install a nice hardcore (the best one) linux distribution in it. I'm interested in other people's responses here too. I'm a debian fan, but also I'm not a hardcore developer. Probably, it doesn't matter which distro to choose--all of them can be optimized (but you should at least have one with a new-ish 3.x series kernel at this time). If you don't need cutting edge software and kernels, stay away from Fedora and Ubuntu. As for Mac hardware, the biggest pain in the ass is the broadcom wifi drivers. Get things set up and installed with an ethernet cable plugged in, before you try to set up the wifi. You need to download a lot of things first. The wifi firmware needs to get extracted from the proprietary drivers... and the kernel modules need to be rebuilt every time you update the kernel. Watch out. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Negative input numbers for [pow] return 0
Yep. It's damaging to have NaN's propagating around in Pd. [pow] having a single output means that you only want real values. The result is not a real number-I think the result should just be set to 0 (perhaps 1 depending on what the worst usage case is). Would it be better to have pow just output the real part of the complex number, generated from: (-1*base)^exp*e^(pi*exp*i) Which is (-1*base)^exp*cos(pi*exp) when base is a negative number this assumes the standard branch cut in complex analysis: -1=e^(pi*i) and not e^(3*pi*i) or any other Chuck On Apr 23, 2013 9:11 PM, Ivica Ico Bukvic i...@vt.edu wrote: It may be a bit more complex since exponent values between -1 and 1 are the ones that generate imaginary numbers from negative values, with the exception of 0 which generates 1. Latest pd-l2ork patch tries to fix this. See: https://github.com/pd-l2ork/pd/commit/95d82d33d2580a00e32d725e0f5147d88cdaf3 70 -Original Message- From: pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] On Behalf Of IOhannes m zmoelnig Sent: Tuesday, April 23, 2013 6:21 AM To: pd-list@iem.at Subject: Re: [PD] Negative input numbers for [pow] return 0 -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2013-04-23 11:50, Joe White wrote: Out of curiosity, are the workarounds suggested more of a result of the difficulty of extending the Pd core rather than the implications that such a change might have? the implementation would be trivial (merely removing the safeguards that currently clamp the value to 0) fgmasdr IOhannes -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAlF2YIEACgkQkX2Xpv6ydvQyoQCgiC95SRoOKaOHu6qkmpX+kD8 0 /ugAoJymAbmtt6qWkZM5rAlObyhdarRF =KUIu -END PGP SIGNATURE- ___ 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-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] measuring entropy of a signal?
On Sat, Mar 2, 2013 at 12:28 PM, ronni montoya ronni.mont...@gmail.comwrote: Hi, Charles, my idea in using shannons entropy is to measure self generated songs. For example if you have a patch that generate sound structures using a generative rules it would be nice to measure that sound structure and use that measurement to evolve the rules that generate that sound structure in order to create more complex structures for example. Cool! That's a great idea! But how to measure a sound structure using shannons entropy? I guess I'm interested because it's a really tricky problem to define. There's no clear mathematical formula to apply. I'm happy to discuss how you might do it, but I don't know if it's been done correctly already--or if there's some articles about entropy definitions for signals. The important thing is if it captures the properties of the signal you care about. If you have no math to start from--describe it verbally first. I was experimenting taking only short pieces of a larger sound , converting each piece into a string and evaluate the shannon entropy of each string. In this case entropy varies with time and what i am interested in are the entropy trayectories. You can plot this trayectories and compare different trayectories from different songs . More complex sound structures should have more complex trayectories , not chaotic , not periodic but more complex . The problem for me is that i need to plot or visualize the entropy trayectories (values) in order to see the complexity of a sound structure. It would be nice to find a way to automate , for example find a way of measure different trayectories algorithmically and that computer can tells automatically which one is more complex. Do you have an idea? Martin's suggestion about spectral distribution is good. Autocorrelation might also have some good properties--the signal has less entropy when it is more self-similar. This also starts to sound like fractal dimension, which can be calculated by a box-muller method. I have a question, why do you say it would be meaning less to convert signal into symbols? It may be meaningless if you choose a bad rule to convert them into symbols. Here's an example meaningless rule: Convert ranges of signal values into discrete values: -1 to -0.99 - -99 -0.99 to -0.98 - 98 ... -0.01 to 0 - 0 0 to 0.01 - 1 ... Then, if you had a signal and you multiplied it by 10, the entropy measured from the discrete values would increase. However--this does not mean the signal has more information. It just becomes louder. If you decide to convert the signal into symbols, it has to be a meaningful rule. Otherwise, you might not be measuring the thing you meant to. Other way i was experimenting is using this with video and images, for example converting an image into a array of characters iterating over all the pixels an getting the color of each pixel , then converting those values into characters and then evaluating the shannons entropy of each image. I would like to expand this and use it also for self generated 3d structure, but im still thinking about this. cheers. R. can you please explain me why do you say it would be meaningless? That would do something, but may be meaningless--It would be just one way of converting the signal from real numbers to a discrete set of things/symbols that is easier to calculate. 2013/2/27, Charles Z Henry czhe...@gmail.com: If you took the fft squared magnitude, perfectly noisy data should have a chi-squared distribution in each bin (I think). If you assumed that model and calculated the parameters of the distribution on each block, you'd find out how much information is in each of those peaks relative to the assumed distribution and just add it up. What ever algorithm you choose probably needs to pass some common sense tests like what you mention Martin, noise has more entropy than a sine wave. Also, if you take noise and just apply a comparison 0, you get a signal with less entropy. On Wed, Feb 27, 2013 at 7:54 AM, Martin Peach martin.pe...@sympatico.cawrote: Why not do an FFT and measure the variance of the channels? For instance white noise has maximum entropy and all the bins of its FFT will be more or less the same, while a sine wave has low entropy and one bin will be much larger than the others. Martin On 2013-02-27 08:40, ronni montoya wrote: Hi, why is not possible? Instead of analysing the real time value of the signal , maybe i can have a memory or buffer that store the a piece of signal ( groups of samples) from time to time and then analize that group of values. Maybe it can convert that group of values into a string and then: http://www.shannonentropy.**netmark.pl/calculate http://www.shannonentropy.netmark.pl/calculate Other idea : ive seen using shannon entropy for calculating complexity
Re: [PD] measuring entropy of a signal?
On Sat, Mar 2, 2013 at 12:28 PM, ronni montoya ronni.mont...@gmail.comwrote: In this case entropy varies with time and what i am interested in are the entropy trayectories. You can plot this trayectories and compare different trayectories from different songs . More complex sound structures should have more complex trayectories , not chaotic , not periodic but more complex . The problem for me is that i need to plot or visualize the entropy trayectories (values) in order to see the complexity of a sound structure. It would be nice to find a way to automate , for example find a way of measure different trayectories algorithmically and that computer can tells automatically which one is more complex. The subject I've been reading lately is basic computational neuroscience. I'll explain what I think is a similar example. Shannon entropy I think is connected to transmitting and processing information in neurons. When you have two signals that are highly correlated, they have high mutual information. Neurons in the peripheral nervous system transmit information and the neurons are specialized for transmitting information. One PNS neuron's output should have high mutual information with its input neurons. The kind of information is categorizing the trajectories. In terms of its output, a neuron is either firing or not firing. It's a lot like a binary variable so it sort of works like a digital signal. The most information it can carry is bounded by the rate it switches between states. In terms of signals--the trajectories of neurons are solutions of non-linear differential equations with lots of terms. You break out the neuron voltage into state-space equations where each of the variables is an ion current or the axon hillock voltage. In a neuron, some kinds of ions act quickly and inhibit, or two kinds of ions resonate when one is a fast exciter and the other is a slow inhibitor. A neuron is firing when the trajectory in the phase plane passes around an unstable equilibrium. Thing is, that's more of a synthesis problem. You just go ahead and build your model generate signals and then you can calculate entropy because you built your model to switch between states. The possible values of the system are constrained to the model--what do you do if you don't know what the possible values are? I applied for grad school this spring down at FAU in the CCSBS. Anything with BS in its name is great for me. This time it stands for Brain Sciences :) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Simple Kalman filter
Hey Joel I was very interested to see your implementation. It's drastically simpler than I thought it would be. Well, you did mention it was simple :) However, I thought the math was pretty expensive to do and complex to program. I like the approach generally--you have parameters for the assumed noise model and methods to set them (better than trying to build a monolith that does both the measurement and filtering). Do you have another patch or abstraction to analyze the sensor data and calculate those parameters? If so, you should add it to git. Chuck On Thu, Feb 28, 2013 at 12:47 PM, Joel Matthys jwmatt...@gmail.com wrote: I just completed a very simple 1D Kalman filter Pd external. I haven't really done any documentation on it, but it seems pretty robust for cleaning up 1D sensor inputs. The source is here: https://github.com/jwmatthys/kalman-pd Joel ___ 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] measuring entropy of a signal?
On Wed, Feb 27, 2013 at 7:40 AM, ronni montoya ronni.mont...@gmail.comwrote: Hi, why is not possible? What I mean is using floating point numbers, as an approximation of real numbers. We have a finite number of samples, so it's impossible to work with continuous distributions, except by approximation. However--brainstorming a few methods of approximation is good. I'm not particularly an expert on the subject of entropy, but I enjoy it. Instead of analysing the real time value of the signal , maybe i can have a memory or buffer that store the a piece of signal ( groups of samples) from time to time and then analize that group of values. If you're analyzing only pieces you might wonder if the signals behave the same all the time. There are many bursting phenomena that are interesting. Those kinds of signals have long-term correlations that have lower entropy--but any small segment does not capture the behavior. Maybe it can convert that group of values into a string and then: http://www.shannonentropy.netmark.pl/calculate That would do something, but may be meaningless--It would be just one way of converting the signal from real numbers to a discrete set of things/symbols that is easier to calculate. Since you brought up the topic---I was reading on wikipedia about how shannon entropy is used to obtain lower bounds on compression ratios. There are some types of audio compression--could you find a connection there? Other idea : ive seen using shannon entropy for calculating complexity in terms of spatial configuration. Maybe other option could be converting my signal into image for example using similarity matrix and then analyze that image to get entropy values. cheers R 2013/2/26, Charles Z Henry czhe...@gmail.com: Hi Ronni How do you mean to do it? Shannon entropy is not an independent measurement--the information in a observation is relative to the distribution of all it's possible values. If I just take one sample and it's evenly distributed between -0.98 and 1 and it's quantized in 0.02 increments (to make the math easier), then the information of any value observed is: -0.01*log(0.01) Then--if I had a signal that's N samples long, I have N times as much information. Or perhaps think of it as a rate of information. But for real numbers and continuous distributions, this doesn't work. The information in a single observation diverges. So, doing that with floating point numbers is not practical. You often see Shannon entropy describing digital signals. If the signal just switches between 0 and 1, we can generate a distribution of the data and see what the probability is empirically. The entropy of each new sample is relative to the distribution. Likewise, then if you know the maximum rate of switching, you can figure out the maximum rate of information in the signal. Just a few thoughts... Chuck On Tue, Feb 26, 2013 at 6:09 AM, ronni montoya ronni.mont...@gmail.comwrote: Hi , i was wondering if anybody have implemented the shannon entropy function in pd? Do anybody have tried measuring entropy of a signal? cheeers R. ___ 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] measuring entropy of a signal?
If you took the fft squared magnitude, perfectly noisy data should have a chi-squared distribution in each bin (I think). If you assumed that model and calculated the parameters of the distribution on each block, you'd find out how much information is in each of those peaks relative to the assumed distribution and just add it up. What ever algorithm you choose probably needs to pass some common sense tests like what you mention Martin, noise has more entropy than a sine wave. Also, if you take noise and just apply a comparison 0, you get a signal with less entropy. On Wed, Feb 27, 2013 at 7:54 AM, Martin Peach martin.pe...@sympatico.cawrote: Why not do an FFT and measure the variance of the channels? For instance white noise has maximum entropy and all the bins of its FFT will be more or less the same, while a sine wave has low entropy and one bin will be much larger than the others. Martin On 2013-02-27 08:40, ronni montoya wrote: Hi, why is not possible? Instead of analysing the real time value of the signal , maybe i can have a memory or buffer that store the a piece of signal ( groups of samples) from time to time and then analize that group of values. Maybe it can convert that group of values into a string and then: http://www.shannonentropy.**netmark.pl/calculatehttp://www.shannonentropy.netmark.pl/calculate Other idea : ive seen using shannon entropy for calculating complexity in terms of spatial configuration. Maybe other option could be converting my signal into image for example using similarity matrix and then analyze that image to get entropy values. cheers R 2013/2/26, Charles Z Henry czhe...@gmail.com: Hi Ronni How do you mean to do it? Shannon entropy is not an independent measurement--the information in a observation is relative to the distribution of all it's possible values. If I just take one sample and it's evenly distributed between -0.98 and 1 and it's quantized in 0.02 increments (to make the math easier), then the information of any value observed is: -0.01*log(0.01) Then--if I had a signal that's N samples long, I have N times as much information. Or perhaps think of it as a rate of information. But for real numbers and continuous distributions, this doesn't work. The information in a single observation diverges. So, doing that with floating point numbers is not practical. You often see Shannon entropy describing digital signals. If the signal just switches between 0 and 1, we can generate a distribution of the data and see what the probability is empirically. The entropy of each new sample is relative to the distribution. Likewise, then if you know the maximum rate of switching, you can figure out the maximum rate of information in the signal. Just a few thoughts... Chuck On Tue, Feb 26, 2013 at 6:09 AM, ronni montoya ronni.mont...@gmail.com**wrote: Hi , i was wondering if anybody have implemented the shannon entropy function in pd? Do anybody have tried measuring entropy of a signal? cheeers R. __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/**listinfo/pd-listhttp://lists.puredata.info/listinfo/pd-list __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/** listinfo/pd-list 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] bang vs empty list
Each class has methods that can be looked up by symbol. At some point after the class has been created, you could check the class has no bang method, and if so, add the default bang method. Only built-in classes are loaded when pd starts up, so if you load a class later, it would not have the default method. If you wanted it done at setup time, you would have to modify the function that calls the setup function (I don't know what it is or how it's done--please tell me) so you would follow the setup function and add default methods. Chuck On Wed, Feb 27, 2013 at 5:05 PM, Ivica Ico Bukvic i...@vt.edu wrote: I wonder if we could as part of the setup call for each external somehow infer default behaviors for each object e.g.: something_bang() { Error(this inlet does not support bang message\n); } etc. Then if that particular object has another addmethod after it referencing its own genuine bang (or whatever) method, such call would override the original. I am just not sure if this is possible in the first place and whether that could produce some misleading messages as well (e.g. I just fixed cxc/ascseq crash when receiving a bang but this was solved without having the bang function--this may be fixed by the aforesaid approach as long as this is somehow possible as part of the setup function and without having to manually alter every single external's setup function and assuming that bang function will take precedence over the anything function). Thoughts? -Original Message- From: pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] On Behalf Of Jonathan Wilkes Sent: Monday, February 25, 2013 8:18 PM To: pd-list Subject: [PD] bang vs empty list Seems like for any object that doesn't have a bang method nor list method, an empty list silently gets discarded. compare [bang( | [sin] to [list( | [sin] or, more likely [bang( | [t a] | [sin] Same for [select] and many others. Is there a way to fix this? -Jonathan ___ 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-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] measuring entropy of a signal?
Hi Ronni How do you mean to do it? Shannon entropy is not an independent measurement--the information in a observation is relative to the distribution of all it's possible values. If I just take one sample and it's evenly distributed between -0.98 and 1 and it's quantized in 0.02 increments (to make the math easier), then the information of any value observed is: -0.01*log(0.01) Then--if I had a signal that's N samples long, I have N times as much information. Or perhaps think of it as a rate of information. But for real numbers and continuous distributions, this doesn't work. The information in a single observation diverges. So, doing that with floating point numbers is not practical. You often see Shannon entropy describing digital signals. If the signal just switches between 0 and 1, we can generate a distribution of the data and see what the probability is empirically. The entropy of each new sample is relative to the distribution. Likewise, then if you know the maximum rate of switching, you can figure out the maximum rate of information in the signal. Just a few thoughts... Chuck On Tue, Feb 26, 2013 at 6:09 AM, ronni montoya ronni.mont...@gmail.comwrote: Hi , i was wondering if anybody have implemented the shannon entropy function in pd? Do anybody have tried measuring entropy of a signal? cheeers R. ___ 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] Fwd: libmp3lame.0 not the good version embedded in pd-extended 0.43.4 / osx intel
The first thing I would check is what library the external expects to find. run dyldinfo on your mp3amp~.pd_darwin file (it would be ldd in linux) That will tell you what libraries it expects to see and if libmp3lame isn't in a typical system location or in the library search path, it says not found Do the libraries have different names/versions or the is it the same? On Wed, Feb 13, 2013 at 6:43 PM, Nicolas Montgermont nicolas_montgerm...@yahoo.fr wrote: I know I may be one of the latest users of mp3amp but unfortunately I can't use reandanysf~ for that project... What I'm saying is there is a difference between the libmp3lame embedded in the release of pd-extended and the libmp3lame in fink, and I think this is making mp3amp crashing. Two examples: here, mp3amp crash in pd-extended 0.43-4 but - If I use the unauthorized lib contained in the artefact build on jenkins and put it in ~/Library/Pd, it ask me for libmp3lame in /sw/lib/, then if I download the lib with fink, it doesnt crash anymore. - or if I overwrite the libmp3lame contained inside the pd-extended release with the one in fink, it doesn't crash neither. So what I'm pointing is there may be an error on the libmp3lame file that is embedded with pd-extended. But I don't know the embedding process, so I can't describe more. I have a solution for myself, but I am searching for a long time universal solution, and I think Pd-extended is a good option. I hope this is clear? Thanks for your help. Best, n ps: sorry if this mail come twice, I have mail software trouble. Le 13/02/13 22:43, Hans-Christoph Steiner a écrit : I've never used it, mp3amp~ has always crashed for me. Try readanysf~. If you know a way to make it stop crashing, I'm happy to try to incorporate that in Pd-extended nightly builds. .hc On 02/13/2013 09:55 AM, Nicolas Montgermont wrote: Sorry I repost that on pd list, I've posted that on the dev list 3h ago but it seems stuck somewhere and I need a quick solution on that if possible... Thanks in advance, Best, n Message original Sujet: libmp3lame.0 not the good version embedded in pd-extended 0.43.4 / osx intel Date : Wed, 13 Feb 2013 13:04:27 +0100 De : Nicolas Montgermont nicolas_montgerm...@yahoo.fr Pour : pd-...@iem.at Hello dev and Hans, It seems to me that the version of libmp3lame embedded in pd-extended 0.43.4 is not the good one. For example if I try to use unauthorized/mp3amp~ it crashes, but if I replace the library in the Pd-extended.app/Contents/lib folder by the one I have with Fink it works. Here are the two files, Pd-extended-0.43.4 stable on puredata.info Mac OS X intel 10.6.8 Best, n __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list -- http://nim.on.free.fr __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/** listinfo/pd-list 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] Message from the boss of Raspberry Pi Foundation !
On Fri, Feb 8, 2013 at 5:38 AM, Marco Donnarumma de...@thesaddj.com wrote: That's awesome Pierre! Charles (Henry) was working on GPU related computation with Pd. Some pretty cool stuff. It would be relevant to see how his work developed so far, and whether it might be useful in this context. My priorities have been sliding around. The development stopped at inlets and outlets dsp perform and resampling functions, but that's the last big hurdle. Good thing is that it's relatively trivial to make a external that transfers data to the GPU, performs some processing, and transfers data back. If you've already got GPU code and just want to pack it inside an external, that's no problem to do. Chuck ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] RE : Plugin auto install feature to Pure data
I think that it's a great idea--but the devil's in the details. I think you need to have a good guiding vision to help you make the decisions about the implementation--a top-down design On the client side, you have to have information about what packages are installed, where they're installed, what flavor of pd they are installed for, version information, more? Dependencies: within Pd, you could be distributing patches that require some externals--I think it's best for a Pd package system to only reference dependencies that include other abstractions or externals, not system libraries. Maintenance: a system like this needs to be *easy* to maintain---only a few binary targets can be supported. The rest will need to compile from source. I would start out like this make a list and argue point-by-point until you have a clear plan. Not that I'm much one to *complete* my projects... but I have a lot of insight on failing :) On Mon, Feb 4, 2013 at 3:10 AM, colet.patrice colet.patr...@free.fr wrote: Hello, that's a quite interesting subject I've been thinking about for pdx since a time, thank you for the contribution... like you said it might be complicated to resolve all dependences required by an external, so I think that adding other dependences like php sql or json would make it even more complicated... Why not just using the native client interpreted langage, TCL-TK? With the help of a command line like wget included with the tcl script and a bunch of pkg files that should be enough, wouldn't it? Message d'origine De : f...@rendera.com.br Date : 03/02/2013 20:22 (GMT+00:00) A : pd-list@iem.at Objet : [PD] Plugin auto install feature to Pure data Hi list I would like to write before but unfortunately I couldn't. Some weeks ago people started to talk about the development of some auto install mechanism to Pure Data, like the apt-get. It is an amazing idea. I researched and developed some thing like it to my master degree and I would like to contrib with my 3 cents. I studied the plugin structure of Netbeans, Eclipse, Fire Fox, deb and rpm and my contribution is about it. Sorry if I am a little bit prolix. The first thing is to create a plugin package. A a single file to group a lot of files. It can be a zip package, tar, gzip or anything that already has some C open source API to pack / unpack. This way we can upload / download a single file and extract it localy. I will call it the package. Inside the package is necessary to have a package descriptor. It can be a XML file, CSV, txt, JSON or any kind of structured file to describe the content of the package. This file should have the information about the plugin like the author, version, website, license, OS, dependencies, compatibility with PD flavors (vanilla, extended, Lork ), pre-installation script, post-installation script, uninstall script, key words, ... Pre and post installation script are used to create SQL tables, files or other things. Maybe it is not useful in PD. Uninstall script should clean the mess if you want to remove a plugin. Dependencies is a complex problem because it should care about libraries and circular dependencies. Maybe it is the hardest problem to solve. These two things will define the PD plugin: The package file and the plugin descriptor inside the package. The package structure should be defined as a standard. So we should agree, for example, about the name of the descriptor, the folder where the plugin will be and the name of the package file. Probably a package file can be the name of the external.version.something.pd_pkg. In PD we should have a list of installed plugins. It can be a directory with all the plugin descriptors. The user might be able to install new plugins manually. It means a local file in my machine that I choose. PD will open the package, copy the content to the correct folders and copy the descriptor the the correct folder. The uninstall option will do the oposite, delete the plugin descriptor and delete the plugin files. To update from the web, a plugin repository need to be defined. The client should have a list of repositories address. (It is good because different flavors can have their own plugin repositories and the users can choose which one they want to use.) The plugin server can be implemented with a HTTP server. It will publish the list of available plugins on the server. This list can be the list of package descriptors in a tar / zip file. Locally, PD will keep these lists, one for each server, and it will be used to look for new plugins. Add a new server means add the server to the repositories list and download the plugin list of the new server. Since PD has a list of local installed plugins, if you want to check for updates PD compares the servers plugin lists with your local list. Easy task. Different versions should can be shown and the user would be able to choose what to
Re: [PD] Raspberry Pi as rt guitar effect processor : proof of concept
Hi Pierre, That looks really cool! What did you use for the footswitches and pedal? Chuck On Sun, Jan 27, 2013 at 10:00 AM, Pierre Massat pimas...@gmail.com wrote: http://www.youtube.com/watch?v=NwJNeouLqgQfeature=youtu.be Dear all, It's working !!! :) It looks like a revolution to me. The effect in the second half is a sampler based on the phase-vocoder patch by Miller Puckette. I've set Pd to use a 16 ms buffer to get it to work without dropouts. It's a bit high but this is a demanding patch. I'll be documenting this on my blog, and i'd be glad to have feedback from you, about working/non-working audio interfaces for instance. Cheers! Pierre. ___ 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] Pd launched via rc.local can't search path
On Thu, Jan 24, 2013 at 12:35 PM, Pierre Massat pimas...@gmail.com wrote: It's a bit weird because the very same command works like a charm once i've logged in. Any clue ? How about using sudo? sudo -u username -i command -i runs the command provided in a login shell, so it runs any /etc/profile, ~/.bashrc, ~/.bash_profile scripts as well Chuck ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] the next PdCon in...
On Tue, Jan 15, 2013 at 11:22 AM, IOhannes m zmoelnig zmoel...@iem.atwrote: On 2013-01-15 17:03, Hans-Christoph Steiner wrote: The dates are fixed with the VIA festival, and CMU could only host PdCon in 2013 in conjunction with the VIA festival. So the question is, whether we should go ahead with first week of October 2013 in Pittsburgh even though it will conflict for a lot of European universities. so what are the alternatives? fgamsdr IOhannes You know that first week of class is going to be worthless anyway. If you're teaching, get someone else to cover for you, re-direct your email to /dev/null, hop on a plane, and straighten things out afterwards :) If you're generally busy, everything's a conflict. hmmm sorry 2013 is no good for me, but I'll *retire* in 2045 Chuck ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list