[PD] Software Defined Radio in Pd
Hey all, I've come across something I'd like to share with everyone. Video demo http://newblankets.org/video/Software%20Defined%20Radio%20in%20Pd.webm (bit fuzzy but you'll get the drift) The patches are here: github: https://github.com/tkzic/pdsdr This from the github page: 'What is this? Here's a video of the basicSDR3.pd patch running with a soft66LC2 SDR: http://youtu.be/6sH6-DTU14E Patches are running PdExtended 0.43-4 on MacOS. Although you will probably find you can get it run in Pd vanilla with tweaks. The project is based on tutorial patches for the Max/MSP SDR project at: http://zerokidz.com/radio - They are documented at that site. Externals: The source code is kind of a disaster. Please don't ask how to compile. We just figured out how to get this running in Pd a few days ago.' Huge props to Tom Z for doing this. I spoke to Tom briefly last week and he said that he has no time due to work commitments to deal with this again for another month or so, so I think it would be better if we left him alone for a bit. There's a ton of stuff online to explain the concept further so for those interested I'd recommend some digging about. The creative potential for applications of this concept are vast (I'm still getting my head around it to be honest). He thought that it would be relatively trivial to turn the receiver into a transmitter which'd be pretty awesome. Even just making creative use of the endless variety of soundsources constantly transmitted unbeknownst to us is plenty for me to be getting on with. But yeah, what an ear-opener. Regards to all, Julian ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] No basic objects in pd-extended from sf git-repo
Hello. What I need to to for build pd-extended from sourceforge git right way? I compiled and installed pd-extended from git, but as I see -- in this repo directory 'extra' contains only output~.pd and help patch for this. And when I opening some of my pd-patches I have no [bnd], [tgl], etc. I need something else before compiling or after? Thanks. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Zexy build errors from Pd-extended
Hello. I try to build zexy from Pd-extended_0.43.4-source.tar.bz2. $ pwd .../pd-extended/externals/zexy/ $./autogen.sh ... $ ./configure --prefix=/opt/pd-externals/zexy ... $ make ... CXX ... -o .libs/zexy.pd_linux .libs/zexy_la-0x2e.o: In function `setup': /home/unclechu/.compile_n_build/pd-extended/externals/zexy/src/0x2e.c:175: multiple definition of `setup' .libs/zexy_la-0x260x260x7e.o:/home/unclechu/.compile_n_build/pd-extended/externals/zexy/src/0x260x260x7e.c:298: first defined here .libs/zexy_la-0x3c0x7e.o: In function `setup': /home/unclechu/.compile_n_build/pd-extended/externals/zexy/src/0x3c0x7e.c:254: multiple definition of `setup' .libs/zexy_la-0x260x260x7e.o:/home/unclechu/.compile_n_build/pd-extended/externals/zexy/src/0x260x260x7e.c:298: first defined here .libs/zexy_la-0x3d0x3d0x7e.o: In function `setup': /home/unclechu/.compile_n_build/pd-extended/externals/zexy/src/0x3d0x3d0x7e.c:255: multiple definition of `setup' .libs/zexy_la-0x260x260x7e.o:/home/unclechu/.compile_n_build/pd-extended/externals/zexy/src/0x260x260x7e.c:298: first defined here .libs/zexy_la-0x3e0x7e.o: In function `setup': /home/unclechu/.compile_n_build/pd-extended/externals/zexy/src/0x3e0x7e.c:259: multiple definition of `setup' .libs/zexy_la-0x260x260x7e.o:/home/unclechu/.compile_n_build/pd-extended/externals/zexy/src/0x260x260x7e.c:298: first defined here .libs/zexy_la-0x7c0x7c0x7e.o: In function `setup': /home/unclechu/.compile_n_build/pd-extended/externals/zexy/src/0x7c0x7c0x7e.c:273: multiple definition of `setup' .libs/zexy_la-0x260x260x7e.o:/home/unclechu/.compile_n_build/pd-extended/externals/zexy/src/0x260x260x7e.c:298: first defined here collect2: error: ld returned 1 exit status What I'm doing wrong? ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Zexy build errors from Pd-extended
On 01/30/2014 01:43 PM, John Smith wrote: Hello. I try to build zexy from Pd-extended_0.43.4-source.tar.bz2. please post a complete build log (without omissions). also, why don't you use either an svn-checkout of zexy: svn clone https://svn.code.sf.net/p/pure-data/svn/trunk/externals/zexy or a release tarball http://puredata.info/downloads/zexy/2.2.5/ afaik, the Pd-extended sources are really for building the entire Pd-extended suite (which builds zexy in a slightly different way). fg,ar IOhannes signature.asc Description: OpenPGP digital signature ___ 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
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.com wrote: 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
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 6:36 PM, Charles Z Henry czhe...@gmail.com wrote: 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 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? ___ 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] Software Defined Radio in Pd
On 01/30/2014 06:41 AM, Julian Brooks wrote: Hey all, I've come across something I'd like to share with everyone. Video demo http://newblankets.org/video/Software%20Defined%20Radio%20in%20Pd.webm (bit fuzzy but you'll get the drift) The patches are here: github: https://github.com/tkzic/pdsdr This from the github page: 'What is this? Here's a video of the basicSDR3.pd patch running with a soft66LC2 SDR: http://youtu.be/6sH6-DTU14E Patches are running PdExtended 0.43-4 on MacOS. Although you will probably find you can get it run in Pd vanilla with tweaks. The project is based on tutorial patches for the Max/MSP SDR project at: http://zerokidz.com/radio - They are documented at that site. Externals: The source code is kind of a disaster. Please don't ask how to compile. We just figured out how to get this running in Pd a few days ago.' Huge props to Tom Z for doing this. I spoke to Tom briefly last week and he said that he has no time due to work commitments to deal with this again for another month or so, so I think it would be better if we left him alone for a bit. There's a ton of stuff online to explain the concept further so for those interested I'd recommend some digging about. The creative potential for applications of this concept are vast (I'm still getting my head around it to be honest). He thought that it would be relatively trivial to turn the receiver into a transmitter which'd be pretty awesome. Is there an extant decentralized system that can keep everyone's SDR-capable devices from interfering with everyone else's SDR-capable devices? -Jonathan Even just making creative use of the endless variety of soundsources constantly transmitted unbeknownst to us is plenty for me to be getting on with. But yeah, what an ear-opener. Regards to all, Julian ___ 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] console font size really big
Better than changing the font size globaly would be to change the font sizes in tcl/pdwindow.tcl to negative numbers, which has the same effect but only locally (instead of nuking everything. The particular one is: text .pdwindow.text -relief raised -bd 2 -font {-size 10} \ -highlightthickness 0 -borderwidth 1 -relief flat \ -yscrollcommand .pdwindow.scroll set -width 60 \ -undo false -autoseparators false -maxundo 1 -takefocus 0 (change size 10 to size -10.) Now I should think about whether to do that in the Pd source :) cheers Miller On Fri, Jan 24, 2014 at 06:25:23PM -0500, Jonathan Wilkes wrote: On 01/24/2014 05:31 PM, Peter P. wrote: Johnathan WIlkins wrote: I'd be curious to know what window manager you are using. Try going into pd-gui.tcl and find the line: # tk scaling 1 Remove the #, save the file, and then restart Pd. See if that solves the problem. (Depending on how you are running Pd, you may need to have privileges to edit that file) -Jonathan I am using fluxbox. Indeed, editing /usr/local/lib/pd/tcl/pd-gui.tcl to yield tk scaling 1 solved the problem for me. Interestingly there is a file /usr/local/bin/pd-gui.tcl present as well, whose changes do not have an effet. This Pd is installed using make install from within Miller's git sources. I wonder why pd-gui.tcl is installed twice on my system, the latter one also being in my $PATH. Thank you again for this quick one Jonathan. There is a comment related to tk scaling in this very file just above the scaling option: # we are not using Tk scaling, so fix it to 1 on all platforms. This # guarantees that patches will be pixel-exact on every platform # 2013.07.19 msp - trying without this to see what breaks - it's # having # deleterious effects on dialog window font sizes. Would be interesting to know wonder what the deletrious effects were. Tk has a very friendly but very small community without the resources to make sure everything works as advertised across all platforms. So depending on which platform you use you'll see different symptoms, depending on how well tk is integrated with the guts of the window manager (in GNU/Linux, this would be not at all), the accuracy of the info delivered to Tk from the OS/window manager, implementation features/bugs in a particular graphics subsystem, etc. One detail is that if you let [tk scaling] do its thing, you'll see problems in the postscript output if you print a patch. There's an ugly fix somewhere for this which requires hacking the ps output to scale it by the tk scaling factor. But if you hard code tk scaling to 1 users on Windows will see font problems from Tk's half-baked, hardly documented theming engine that would require _really_ ugly hacks all over Pd to fix. -Jonathan But, hey- problem solved for me. thanks cheers P ___ 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