[PD] Pd sound installation in South-East England
Hey all, If anyone is anywhere near Margate (England, north-eastern tip of the south east peninsula) I will be exhibiting a quadrophonic interactive sound installation in the Margate School from the 18th to the 22nd of March. This is an artist-in residence program, and there are three artists exhibiting on those dates - my sensor-driven Pd sound-artwork, a 3D CGI designer and another who works with light sculpture. The Margate School is an art college housed in a very large (deserted by Woolworths) department store in Margate, England, which is also a great seaside resort. I am capturing sound clips from the building and creating a set of Pd patches that will intreract with the audience through infra-red sensors. Please come if you are in the area. Best wishes,Ed Kelly News | The Margate School | | | | | | | | | | | News | The Margate School See the latest news from The Margate School | | | Driftwood - the latest album by Lone Shark, now available at https://synchroma.bandcamp.com/releases For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] Lockdown performances
Hey all, Since lockdown in the UK, I have been collaborating with a longtime percussionist colleague of mine using various tools, but eventually with the great Quacktrip~ from Miller. I've collated a few of these on a website. There will be more, and I have applied for a grant to keep this going. In the meanwhile, please enjoy what we have created so far. http://sharktracks.co.uk/html/music.html Ed___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] quacktrip - jacktrip (low-latency audio) from behind home routers
Hey list, I've been using quacktrip in live online performances with Simon Limbrick (percussion) - it's much easier to use than jacktrip and very effective, although I can confirm there are occasional dropouts - considering we are in completely different parts of the UK this is pretty unremarkable. It's advisable to increase blocksize and FIFO length, perhaps even checking the 2x button. You can hear some of our work here:https://www.youtube.com/watch?v=9GDMUag4Q_E_channel=PaulSimonLimbrick Cheers,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Sunday, 18 October 2020, 15:07:40 BST, Edwin van der Heide wrote: Hi Miller, I’ve started playing around with quacktrip 0.91 today and am having a lot of fun! I have been interconnecting a Macbook Pro 2009 and a Macbook Pro 2016, both on the same local network, but one using a VPN connection from the Netherlands to Latvia (and back) to simulate a bit of distance. Two observations: - Sometimes a glitch occurs without the dropout counter increasing. I’m not sure if this occurs because a package is missing and the counter is not updated, or that the package is there and something else goes wrong. - The number boxes are updated at a fast rate and that takes a bit of CPU. The audio networking itself is actually not very cpu intensive. I could imagine two additions: - option to choose between 16 and 24 bit quality - create the possibility to send audio in one direction only instead of always in both directions. Cheers! Edwin p.s. should I assume that foo.ucsd.edu is usually up or would you recommend to run my own server? > On 2 Jun 2020, at 18:46, Miller Puckette via Pd-list > wrote: > > To Pd list - > > This is very preliminary, but some of you might be interested in this. I've > been working for the last month or two on making an easy-ti-use implementation > of jacktrip to allow people stuck at home to play music together. A test > version of this is available on msp.ucsd.edu/tools/quacktrip . > > The jacktrip implementation is based on the one in TPM by Roman Haefeli and > Johannes Schuett (sorry for the no-diacritical spelling). > > It's been tried out by 4 or 5 people so far, seems to work with some > hiccups. I'll be getting back to work on it after Pd 0.51-0 gets finalized. > > cheers > Miller > > > > ___ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] polyblep
I've been working with heavylib recently, and also creb, with anit-aliased oscillators. Can anyone help me work out how I would compute a blep function for a saw/triangle wave where there is adjustable symmetry (like my wavefolding work from 2016) i.e. any angle in the waveform? I need a generalised blep function for any angle of piecewise breakpoint function. Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] msgfile massive memory usage
PS I was using 'top' in Linux to report the memory usage _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 25 October 2019, 12:59:16 GMT+1, Ed Kelly via Pd-list wrote: Hi list, Can anyone (especially IOhannes) explain this to me - when I attempt to load a file of 2.8Mb in size into msgfile, Pd reports memory usage going up to 9+ Gb? It seems rather a lot. The files are storage of grain windows, each of which is 4096 points in size. With 74 of them it's 9Gb. When I use a patch to generate the windows I store them in the msgfile object, and with over 130 of them there is only about 370Mb of reserved memory. Ed PS I tried to send the offending text file before but it was too big for the 2000K limit of Pd messages - you can view / download it at http://sharktracks.co.uk/puredata/newGrainWindows.win _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] msgfile massive memory usage
Hi list, Can anyone (especially IOhannes) explain this to me - when I attempt to load a file of 2.8Mb in size into msgfile, Pd reports memory usage going up to 9+ Gb? It seems rather a lot. The files are storage of grain windows, each of which is 4096 points in size. With 74 of them it's 9Gb. When I use a patch to generate the windows I store them in the msgfile object, and with over 130 of them there is only about 370Mb of reserved memory. Ed PS I tried to send the offending text file before but it was too big for the 2000K limit of Pd messages - you can view / download it at http://sharktracks.co.uk/puredata/newGrainWindows.win _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] declare -lib discrepancy
So, I have two PCs. One is a a desktop and one is a laptop. Both have Intel i5 Sandy Bridge processors. Both are running Debian stretch. Both are running Pd 0.49, and libraries are installed via Deken system. On my desktop, after creating a [declare -lib creb] object it makes no difference, and I have to type [creb/eadsr~] for example to get the object to load. On my laptop, I can load objects after declaring the library. I can just type a [declare -lib creb] object and then use as many [eadsr~] objects as I like. Declare does not seem to work on my desktop. Is this an issue with regards to superuser permissions or configuration files (not .pdrc, surely) I'm really stumped, and it means I cannot make my libraries of externals and abstractions to work for other people if I cannot even determine why they do or do not work in my own situation. I may have overlooked something stupid, in which case I'll happily take the whip from you, but I think I'm too close to work out what's wrong. Pls Help :-(Ed New album - Driftwood: synchroma.bandcamp.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Replacement for tot
Thanks guys, iemguts/receivecanvas is everything I need, a complete drop-in replacement for tot in fact. Perfect! Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Thursday, 31 January 2019, 16:00:31 GMT, Alexandre Torres Porres wrote: Em qui, 31 de jan de 2019 às 11:32, oliver escreveu: [MouseState] from CYCLONE just [mousestate] is fine now in the newer versions, no need for capital letters ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] Replacement for tot
Hi all, Does anyone have, or know of a replacement for tot. I specifically want to access the arrow keys, and the mouse position. I need it for my tracker seqauencers...Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] "Could'nt create"...
Ah, so that's how you use it for multiple objects.Cheers,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Thursday, 11 October 2018, 16:19:08 GMT+1, Dan Wilcox wrote: That could also be one object: [declare -lib tof -lib iemlib -lib unauthorized] On Oct 11, 2018, at 3:27 PM, pd-list-requ...@lists.iem.at wrote: Date: Thu, 11 Oct 2018 13:07:04 + (UTC) From: Ed Kelly ERRATA![declare -lib tof][declare -lib iemlib][declare -lib unauthorized] THEN select all, deselect these 3 etc. Never be afraid to admit you were wrong!ED Dan wil...@danomatikadanomatika.comrobotcowboy.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] "Could'nt create"...
ERRATA![declare -lib tof][declare -lib iemlib][declare -lib unauthorized] THEN select all, deselect these 3 etc. Never be afraid to admit you were wrong!ED _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Thursday, 11 October 2018, 13:55:59 GMT+1, Ed Kelly wrote: knob is from tof, mknob is from moonlib. splitfilename is from iemlib. I don't know about "Folder_list" but folderpanel exists within tof. Perhaps it was something from unauthorized? If you download a library using deken ("Find Externals" in the help menu), you need to declare it before you use it. So with your patches of old, put a [declare -lib tof iemlib unauthorized] in the patch. The select all, then shift-click the declare to de-select it, and cut+paste everything else. Save the patch and it should work when you load it again. This puts the [declare] object at the start of the.pd file, so the library will be loaded before the patch. Yes Pd has changed a lot recently and this information should really be given in a helpful manner, in the spirit of openness. x e _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Monday, 8 October 2018, 14:21:29 GMT+1, Christof Ressi wrote: sliders are for losers, use float atoms instead /irony off Gesendet: Montag, 08. Oktober 2018 um 14:12 Uhr Von: "Matt Davey" An: "Lucas Cordiviola" Cc: "PD List" Betreff: Re: [PD] "Could'nt create"... [knob] is just silly GUI candy for losers, just use pd sliders instead. [splitfilename] you can probably do with [list tosymbol] in vanilla [Folder_list] is something that vanilla pd sorely lacks though... feature request! On Mon, Oct 8, 2018 at 12:51 PM Lucas Cordiviola mailto:lucard...@hotmail.com]> wrote: Probably you are using the rather new 64-bit Pd. We are working to upload all the external catalogue for windows64 but it will take time. You can still use the 32bit Pd and you will find almost all old externals. You can also try to compile for w64 and upload to Deken (this might be to much to ask :) ) You can also modify your patches and find ways to not use [externals] that you can't get now. :) Mensaje telepatico asistido por maquinas. On 10/8/2018 7:05 AM, David Schaffer wrote: Thank you ! What about objects that are part of deprecated libraries that are not showing up in Deken ? Is it still possible to install them manually ? is it recommanded ? Thank you, D S De : Lucas Cordiviola [mailto:lucard...@hotmail.com] Envoyé : Monday, October 8, 2018 11:46:47 AM À : David Schaffer; pd list Objet : Re: [PD] "Could'nt create"... Hi, See http://blazicek.net/list_of_pure_data_objects.html[http://blazicek.net/list_of_pure_data_objects.html] or https://puredata.info/docs/ListOfPdExternals/[https://puredata.info/docs/ListOfPdExternals/] this last one can be edited/maintained by the community. :) Mensaje telepatico asistido por maquinas. On 10/8/2018 6:18 AM, David Schaffer wrote: Hi everybody, I’ve been away from pd for about a year and, in the meantime, switched from mac to pc. I just reeinstalled the latest version of vanilla for Windows and I’m trying to reopen my old patches. There’s a few objects that won’t pop up and I can’t identify the libraries I’m missing. I thought you guys could help me figure that out. The objects are : Knob, splitfilename, Folder_list. Thank you very much for your help. D.S ___pd-l...@lists.iem.at[mailto:Pd-list@lists.iem.at] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list] ___pd-l...@lists.iem.at[mailto:Pd-list@lists.iem.at] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list] ___ Pd-list@lists.iem.at[mailto:Pd-list@lists.iem.at] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list] ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] "Could'nt create"...
knob is from tof, mknob is from moonlib. splitfilename is from iemlib. I don't know about "Folder_list" but folderpanel exists within tof. Perhaps it was something from unauthorized? If you download a library using deken ("Find Externals" in the help menu), you need to declare it before you use it. So with your patches of old, put a [declare -lib tof iemlib unauthorized] in the patch. The select all, then shift-click the declare to de-select it, and cut+paste everything else. Save the patch and it should work when you load it again. This puts the [declare] object at the start of the.pd file, so the library will be loaded before the patch. Yes Pd has changed a lot recently and this information should really be given in a helpful manner, in the spirit of openness. x e _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Monday, 8 October 2018, 14:21:29 GMT+1, Christof Ressi wrote: sliders are for losers, use float atoms instead /irony off Gesendet: Montag, 08. Oktober 2018 um 14:12 Uhr Von: "Matt Davey" An: "Lucas Cordiviola" Cc: "PD List" Betreff: Re: [PD] "Could'nt create"... [knob] is just silly GUI candy for losers, just use pd sliders instead. [splitfilename] you can probably do with [list tosymbol] in vanilla [Folder_list] is something that vanilla pd sorely lacks though... feature request! On Mon, Oct 8, 2018 at 12:51 PM Lucas Cordiviola mailto:lucard...@hotmail.com]> wrote: Probably you are using the rather new 64-bit Pd. We are working to upload all the external catalogue for windows64 but it will take time. You can still use the 32bit Pd and you will find almost all old externals. You can also try to compile for w64 and upload to Deken (this might be to much to ask :) ) You can also modify your patches and find ways to not use [externals] that you can't get now. :) Mensaje telepatico asistido por maquinas. On 10/8/2018 7:05 AM, David Schaffer wrote: Thank you ! What about objects that are part of deprecated libraries that are not showing up in Deken ? Is it still possible to install them manually ? is it recommanded ? Thank you, D S De : Lucas Cordiviola [mailto:lucard...@hotmail.com] Envoyé : Monday, October 8, 2018 11:46:47 AM À : David Schaffer; pd list Objet : Re: [PD] "Could'nt create"... Hi, See http://blazicek.net/list_of_pure_data_objects.html[http://blazicek.net/list_of_pure_data_objects.html] or https://puredata.info/docs/ListOfPdExternals/[https://puredata.info/docs/ListOfPdExternals/] this last one can be edited/maintained by the community. :) Mensaje telepatico asistido por maquinas. On 10/8/2018 6:18 AM, David Schaffer wrote: Hi everybody, I’ve been away from pd for about a year and, in the meantime, switched from mac to pc. I just reeinstalled the latest version of vanilla for Windows and I’m trying to reopen my old patches. There’s a few objects that won’t pop up and I can’t identify the libraries I’m missing. I thought you guys could help me figure that out. The objects are : Knob, splitfilename, Folder_list. Thank you very much for your help. D.S ___pd-l...@lists.iem.at[mailto:Pd-list@lists.iem.at] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list] ___pd-l...@lists.iem.at[mailto:Pd-list@lists.iem.at] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list] ___ Pd-list@lists.iem.at[mailto:Pd-list@lists.iem.at] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list] ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] polynomial pairs in lpc filter
Ah! Now you've piqued my interest. I wonder if it would also run on a Bela board (Beaglebone Black hat - I have one of these). It's really good that there's some low-latency platforms in small form factors coming out now. Having gone through the grinder with this MSP->Pd port, when I get it working I'll be happy to try and phizz it into Bela. I started writing Pd externals precisely to enable speech manipulation, but I got stuck and moved on to other things. You've re-lit this fire! Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 11 May 2018, 06:53:31 GMT+1, Simon Iten <itensi...@gmail.com> wrote: hi, well it is not a dissertation at all.i am working on some axoloti (a stm32 with dedicated midi and audioports, lowlatency audio board) modules for lpc playback. check out the axoloti, it’s nice!it is pretty hardware specific but sure i can share a github link, once it is up there. it progresses slowly right now, since i have a life as well (music…) On 11 May 2018, at 03:46, Ed Kelly via Pd-list <pd-list@lists.iem.at> wrote: Oh gosh! Well spotted! It loads, but I suspect I will have to interrogate the algorithms to make sure they are the correct interpretation of the vDSP algorithms in the original Max objects. This was the main part, and I've been a bit rusty at this - it's got me almost up-to-scratch again. A few more modules to port and it might just work! Thanks Christof, and all of you...but Simon Iten - when you've finished your dissertation could you share your results? Still on it... Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 11 May 2018, 01:21:29 GMT+1, Christof Ressi <christof.re...@gmx.at> wrote: you forgot to return your object (x) in mbc_lpc_tilde_new :-) Christof Gesendet: Freitag, 11. Mai 2018 um 02:06 Uhr Von: "Ed Kelly via Pd-list" <pd-list@lists.iem.at> An: padovani <zepadovani.li...@gmail.com> Cc: "Pd list" <pd-list@lists.iem.at> Betreff: Re: [PD] polynomial pairs in lpc filter Jose... I've stuck my head in the lion's mouth so I may as well go in for one more bite, although I promise you that IOhannes Zmoelnig is a REALLY NICE GUY. I agree that edkellytista9 is a pretty stupid github name. It was done in a hurry for working on another project, but I'm setting up a more serious one because...you know...presentation is important. I'm using Makefile.pdlibbuilder now - very cool. And deken ekext-0.2 coming soon. I have a house. It's a bit of a dump but has a studio. I don't live there yet. We need to get the builders in! ...and my mbc_lpc~ port compiles but spits out an error: mbc_lpc~: initializing mbc_lpc~: free memory... mbc_lpc~: allocated memory Generating Hamming window for LPC analysis mbc_lpc~ ... didn't return a patchable object mbc_lpc~ ... couldn't create I still don't know why. Perhaps Iohannes can help? Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Monday, 7 May 2018, 09:54:49 GMT+1, padovani <zepadovani.li...@gmail.com> wrote: Got late into this discussion, but I'm really interested in this project and would like to help (even if I don't have much experience coding new objects and have been a little busy with my classes at the University). Ed, any further success last weeks? well... also with the house... ;) José H. 2018-04-23 4:45 GMT-03:00 IOhannes m zmoelnig <zmoel...@iem.at[mailto:zmoel...@iem.at]>:On 2018-04-23 00:50, Christof Ressi wrote: >> - please mark all your functions as static. > > except for the setup function, of course. just to prevent a possible source > of further frustration :-). > ouch. thanks for pointing that out! __ _ Pd-list@lists.iem.at[mailto:Pd-list@lists.iem.at] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/ listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list] ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list] ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] polynomial pairs in lpc filter
Oh gosh! Well spotted! It loads, but I suspect I will have to interrogate the algorithms to make sure they are the correct interpretation of the vDSP algorithms in the original Max objects. This was the main part, and I've been a bit rusty at this - it's got me almost up-to-scratch again. A few more modules to port and it might just work! Thanks Christof, and all of you...but Simon Iten - when you've finished your dissertation could you share your results? Still on it... Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 11 May 2018, 01:21:29 GMT+1, Christof Ressi <christof.re...@gmx.at> wrote: you forgot to return your object (x) in mbc_lpc_tilde_new :-) Christof Gesendet: Freitag, 11. Mai 2018 um 02:06 Uhr Von: "Ed Kelly via Pd-list" <pd-list@lists.iem.at> An: padovani <zepadovani.li...@gmail.com> Cc: "Pd list" <pd-list@lists.iem.at> Betreff: Re: [PD] polynomial pairs in lpc filter Jose... I've stuck my head in the lion's mouth so I may as well go in for one more bite, although I promise you that IOhannes Zmoelnig is a REALLY NICE GUY. I agree that edkellytista9 is a pretty stupid github name. It was done in a hurry for working on another project, but I'm setting up a more serious one because...you know...presentation is important. I'm using Makefile.pdlibbuilder now - very cool. And deken ekext-0.2 coming soon. I have a house. It's a bit of a dump but has a studio. I don't live there yet. We need to get the builders in! ...and my mbc_lpc~ port compiles but spits out an error: mbc_lpc~: initializing mbc_lpc~: free memory... mbc_lpc~: allocated memory Generating Hamming window for LPC analysis mbc_lpc~ ... didn't return a patchable object mbc_lpc~ ... couldn't create I still don't know why. Perhaps Iohannes can help? Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Monday, 7 May 2018, 09:54:49 GMT+1, padovani <zepadovani.li...@gmail.com> wrote: Got late into this discussion, but I'm really interested in this project and would like to help (even if I don't have much experience coding new objects and have been a little busy with my classes at the University). Ed, any further success last weeks? well... also with the house... ;) José H. 2018-04-23 4:45 GMT-03:00 IOhannes m zmoelnig <zmoel...@iem.at[mailto:zmoel...@iem.at]>:On 2018-04-23 00:50, Christof Ressi wrote: >> - please mark all your functions as static. > > except for the setup function, of course. just to prevent a possible source > of further frustration :-). > ouch. thanks for pointing that out! __ _ Pd-list@lists.iem.at[mailto:Pd-list@lists.iem.at] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/ listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list] ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list] ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] polynomial pairs in lpc filter
Jose... I've stuck my head in the lion's mouth so I may as well go in for one more bite, although I promise you that IOhannes Zmoelnig is a REALLY NICE GUY. I agree that edkellytista9 is a pretty stupid github name. It was done in a hurry for working on another project, but I'm setting up a more serious one because...you know...presentation is important. I'm using Makefile.pdlibbuilder now - very cool. And deken ekext-0.2 coming soon. I have a house. It's a bit of a dump but has a studio. I don't live there yet. We need to get the builders in! ...and my mbc_lpc~ port compiles but spits out an error: mbc_lpc~: initializing mbc_lpc~: free memory... mbc_lpc~: allocated memory Generating Hamming window for LPC analysis mbc_lpc~ ... didn't return a patchable object mbc_lpc~ ... couldn't create I still don't know why. Perhaps Iohannes can help? Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Monday, 7 May 2018, 09:54:49 GMT+1, padovaniwrote: Got late into this discussion, but I'm really interested in this project and would like to help (even if I don't have much experience coding new objects and have been a little busy with my classes at the University). Ed, any further success last weeks? well... also with the house... ;) José H. 2018-04-23 4:45 GMT-03:00 IOhannes m zmoelnig : On 2018-04-23 00:50, Christof Ressi wrote: >> - please mark all your functions as static. > > except for the setup function, of course. just to prevent a possible source > of further frustration :-). > ouch. thanks for pointing that out! __ _ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/ listinfo/pd-list /* * LPC Toolkit * By Mark Cartwright * Pure Data port by Edward Kelly 2018 * BSD licence * * */ #include "m_pd.h" #include //#include //#include static t_class *mbc_lpc_tilde_class; #define MAX_ORDER 200 #define NLOG2(x) (ceil(log2(x))) #define POW2(x) (1 << x) #define TWOPI M_PI * 2 #define DEFAULT_FS 44100 #define DEFAULT_FRAMERATE 100 #define DEFAULT_V_SIZE 64 #define DEFAULT_ORDER 32 typedef struct _DSPcomplex { //gsl_vector_float* real; //gsl_vector_float* imag; t_float* fReal; t_float* fImag; } t_DSPcomplex; //#define REAL(z,i) gsl_vector_float_set(z,2*(i)) //#define IMAG(z,i) gsl_vector_float_setz(z,2*(i)+1) typedef struct _mbc_lpc_tilde { t_object x_obj; // the object itself (t_pxobject in MSP) t_float dummy; //t_float* l_frame_buff; //input frame buffer //gsl_vector_float* l_frame_buff; //input frame buffer //t_float* l_winframe_buff; //windowed input frame buffer //gsl_vector_float* l_winframe_buff; //windowed input frame buffer //t_float* l_outCoeff_buff; //coefficient signal //gsl_vector_float* l_outCoeff_buff; //coefficient signal //t_float* l_outParcor_buff; //PARCOR coeffs //gsl_vector_float* l_outParcor_buff; //PARCOR coeffs //t_float* l_outError_buff; //error signal //gsl_vector_float* l_outError_buff; //error signal //t_float* l_win; //analysis window //gsl_vector_float* l_win; //analysis window //t_float* l_R; //gsl_vector_float* l_R; /*-- non-GSL versions --*/ t_float* frameBuffer; t_float* winFrameBuffer; t_float* outCoeffBuffer; t_float* parcorBuffer; t_float* errorSigBuffer; t_float* window; t_float* lR; // t_float* vectorBuffer; double* l_W; double* l_E; double* l_K; double l_G; double** l_A; double l_x1; //last samples of pre-emphasis filter float l_b1; //pre-emph coefficient int l_order; //predictor order int l_order_max; //max order according to fs = order * frame_rate int l_preemph; //pre-epmhasis filter on/off long l_frame_rate; //analysis frame rate int l_frame_size; //analysis frame size, where fs = frame_rate * frame_size * 2 int l_hop_size;//hop_size = frame_size * 2 (b/c of overlap) int l_inframe_idx; //current inframe buffer index int l_outframe_idx; //current outframe buffer index long l_v_size; //vector size float l_fs; //sampling rate int l_maxnfft; //fft length int l_log2nfft; //log2(fft length) int initOrder, initFramerate, initPreemph; // initialization values int j; //FFTSetup l_fftsetup;//FFTSetup for vDSP FFT functions
Re: [PD] [vcf~] with resonance?
The 4-pole model in the ENS-85 paper does not have inversion at the input, but the Thomas Henry 2-pole design does. So I guess the 4-pole is more similar to vcf~ go figure. Signing off Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Tuesday, 24 April 2018, 14:40:20 GMT+1, Ed Kelly via Pd-list <pd-list@lists.iem.at> wrote: Ach! NO! inversion does not happen at the input! I guess you can look at the topologies and discover for yourself. I'm having a bad week. x Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Tuesday, 24 April 2018, 14:33:13 GMT+1, Ed Kelly <morph_2...@yahoo.co.uk> wrote: Correct me if I'm wrong (and I'm sure someone will) but going back to analog electronics... If you examine the topology of a standard analog filter design, such as the Thomas Henry VCF1 (http://www.birthofasynth.com/Thomas_Henry/pdf/VCF-1/Sheet_0002.pdf) you will see that the signal path from input to output goes through 5 inversion stages before being fed back into the input to generate resonance. Therefore it is inverted. Since most (resonant) filters consist of an even number of stages (and therefore an even number of poles and/or zeroes) you should probably invert the feedback. With an odd number you should probably not invert feedback. My guess is that vcf~ implements an even-number (probably 4-pole) resonant filter, a la Moog. You can also try mvcf~ from my library (ekext - http://sharktracks.co.uk/puredata/ekext-0.1.8.tar.gz) which is another attempt at emulating this topology, or there are lots of others I'm sure you know about. This might seem counter-intuitive, but the image below shows how this works with regards to vcf~ - the output of vcf~ is NOT inverted, whereas the output of an analog VCF should be. Odd-number staged filters are very rare in the analog world, and most (i.e. 18dB per octave) were created to implement the (mythical 3-pole topology) filter of the Roland TB303. However, according to the schematics of the TB303 it is a four-pole diode-ladder VCF using transistors as diodes, with extra resonance artifacts revealed by Tim Stinchcombe on his excellent website. Tim Stinchcombe - TB-303 Diode Ladder Filter model | | | | Tim Stinchcombe - TB-303 Diode Ladder Filter model | | | Meanwhile, if you want to go deeper with regards to 4-pole filter topologies (and lowpass/highpass configurations) it is worth checking out a paper published in 1985 - http://electronotes.netfirms.com/EN85VCF.PDF The easiest way to think about it, from this paper, is that you think about each stage as an inversion, and the input itself is one of the stages, so for a 4-pole filter there are 4+1 inversion stages. But in the digital world I guess you'll have to test input and output at a relatively low frequency to the cutoff to determine inversion principles for the enhancement of resonance. I hope this helps. It gave me a break from mixing! Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Tuesday, 24 April 2018, 06:44:19 GMT+1, William Huston <williamahus...@gmail.com> wrote: What's the best or "correct" way to add resonance to a [vcf~]? - Should the feedback be delayed? - Should the feedback be inverted? - Should the feedback be from the outlet I'm using? - Or should the feedback always come from the BP or HiPass side? Thanks!BH -- William Huston: williamahus...@gmail.com Binghamton NY Public Service Mapping / Videography / Research Blog -- Facebook -- Twitter -- Youtube Document collections: VirtualPipelines -- BHDCSDimockArchive Please support my work: TinyURL.com/DonateToBillHuston ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [vcf~] with resonance?
Ach! NO! inversion does not happen at the input! I guess you can look at the topologies and discover for yourself. I'm having a bad week. x Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Tuesday, 24 April 2018, 14:33:13 GMT+1, Ed Kellywrote: Correct me if I'm wrong (and I'm sure someone will) but going back to analog electronics... If you examine the topology of a standard analog filter design, such as the Thomas Henry VCF1 (http://www.birthofasynth.com/Thomas_Henry/pdf/VCF-1/Sheet_0002.pdf) you will see that the signal path from input to output goes through 5 inversion stages before being fed back into the input to generate resonance. Therefore it is inverted. Since most (resonant) filters consist of an even number of stages (and therefore an even number of poles and/or zeroes) you should probably invert the feedback. With an odd number you should probably not invert feedback. My guess is that vcf~ implements an even-number (probably 4-pole) resonant filter, a la Moog. You can also try mvcf~ from my library (ekext - http://sharktracks.co.uk/puredata/ekext-0.1.8.tar.gz) which is another attempt at emulating this topology, or there are lots of others I'm sure you know about. This might seem counter-intuitive, but the image below shows how this works with regards to vcf~ - the output of vcf~ is NOT inverted, whereas the output of an analog VCF should be. Odd-number staged filters are very rare in the analog world, and most (i.e. 18dB per octave) were created to implement the (mythical 3-pole topology) filter of the Roland TB303. However, according to the schematics of the TB303 it is a four-pole diode-ladder VCF using transistors as diodes, with extra resonance artifacts revealed by Tim Stinchcombe on his excellent website. Tim Stinchcombe - TB-303 Diode Ladder Filter model | | | | Tim Stinchcombe - TB-303 Diode Ladder Filter model | | | Meanwhile, if you want to go deeper with regards to 4-pole filter topologies (and lowpass/highpass configurations) it is worth checking out a paper published in 1985 - http://electronotes.netfirms.com/EN85VCF.PDF The easiest way to think about it, from this paper, is that you think about each stage as an inversion, and the input itself is one of the stages, so for a 4-pole filter there are 4+1 inversion stages. But in the digital world I guess you'll have to test input and output at a relatively low frequency to the cutoff to determine inversion principles for the enhancement of resonance. I hope this helps. It gave me a break from mixing! Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Tuesday, 24 April 2018, 06:44:19 GMT+1, William Huston wrote: What's the best or "correct" way to add resonance to a [vcf~]? - Should the feedback be delayed? - Should the feedback be inverted? - Should the feedback be from the outlet I'm using? - Or should the feedback always come from the BP or HiPass side? Thanks!BH -- William Huston: williamahus...@gmail.com Binghamton NY Public Service Mapping / Videography / Research Blog -- Facebook -- Twitter -- Youtube Document collections: VirtualPipelines -- BHDCSDimockArchive Please support my work: TinyURL.com/DonateToBillHuston ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [vcf~] with resonance?
Correct me if I'm wrong (and I'm sure someone will) but going back to analog electronics... If you examine the topology of a standard analog filter design, such as the Thomas Henry VCF1 (http://www.birthofasynth.com/Thomas_Henry/pdf/VCF-1/Sheet_0002.pdf) you will see that the signal path from input to output goes through 5 inversion stages before being fed back into the input to generate resonance. Therefore it is inverted. Since most (resonant) filters consist of an even number of stages (and therefore an even number of poles and/or zeroes) you should probably invert the feedback. With an odd number you should probably not invert feedback. My guess is that vcf~ implements an even-number (probably 4-pole) resonant filter, a la Moog. You can also try mvcf~ from my library (ekext - http://sharktracks.co.uk/puredata/ekext-0.1.8.tar.gz) which is another attempt at emulating this topology, or there are lots of others I'm sure you know about. This might seem counter-intuitive, but the image below shows how this works with regards to vcf~ - the output of vcf~ is NOT inverted, whereas the output of an analog VCF should be. Odd-number staged filters are very rare in the analog world, and most (i.e. 18dB per octave) were created to implement the (mythical 3-pole topology) filter of the Roland TB303. However, according to the schematics of the TB303 it is a four-pole diode-ladder VCF using transistors as diodes, with extra resonance artifacts revealed by Tim Stinchcombe on his excellent website. Tim Stinchcombe - TB-303 Diode Ladder Filter model | | | | Tim Stinchcombe - TB-303 Diode Ladder Filter model | | | Meanwhile, if you want to go deeper with regards to 4-pole filter topologies (and lowpass/highpass configurations) it is worth checking out a paper published in 1985 - http://electronotes.netfirms.com/EN85VCF.PDF The easiest way to think about it, from this paper, is that you think about each stage as an inversion, and the input itself is one of the stages, so for a 4-pole filter there are 4+1 inversion stages. But in the digital world I guess you'll have to test input and output at a relatively low frequency to the cutoff to determine inversion principles for the enhancement of resonance. I hope this helps. It gave me a break from mixing! Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Tuesday, 24 April 2018, 06:44:19 GMT+1, William Hustonwrote: What's the best or "correct" way to add resonance to a [vcf~]? - Should the feedback be delayed? - Should the feedback be inverted? - Should the feedback be from the outlet I'm using? - Or should the feedback always come from the BP or HiPass side? Thanks!BH -- William Huston: williamahus...@gmail.com Binghamton NY Public Service Mapping / Videography / Research Blog -- Facebook -- Twitter -- Youtube Document collections: VirtualPipelines -- BHDCSDimockArchive Please support my work: TinyURL.com/DonateToBillHuston ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] polynomial pairs in lpc filter
Ouch! _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 20 April 2018, 22:26:46 GMT+1, IOhannes m zmölnig <zmoel...@iem.at> wrote: On 04/20/2018 11:06 PM, Ed Kelly via Pd-list wrote: > Code was shared previously on a github, but here's the offending article, and > the link. > > The botherer is called mbc_lpc~.c > > edkellytista9/LPCToolkitPd you know, "edkellytista9/LPCToolkitPd" can be about everything; why would i have thought about a github project? anyhow. compiling your file prints a huge fat warning: > mbc_lpc~.c:661:1: warning: control reaches end of non-void function [-Wreturn-type] which is indeed true, and it is telling you that your constructor function lpc_new() is not returning anything (and definitely not an object). the externals howto [1] says: > The constructor has to return a pointer to the instantiated > data space. but even with that fixed, it doesn't load. now i've asked you to: - run Pd with "-verbose". - check the console. to which you replied: > tried...(all pd search paths)...and failed > tried...(current directory)...and failed however, when i try to load your external i get: > tried /tmp/zmoelnig/LPCToolkitPd/mbc_lpc~.l_ia64 and succeeded > load_object: Symbol "mbc_lpc_tilde_setup" not found which is writing out as plain as possible that your external misses the only function that it *must* have in order to be any use to Pd: the callback function that allows your external to bootstrap. (while blindly copying, you renamed your object but forgot to rename the setup function). apart from that: - please mark all your functions as static. you will get nameclashes otherwise. making your objects use totally different functions than you expect (and possible making the object of other people use different functions). - template Makefile 1.0.14? seriously? consider switching to pdlibbuilder. it's much nicer. for starters, it doesn't make bogus file-extensions on linux/amd64. gfmdsar IOhannes [1] https://github.com/pure-data/externals-howto#constructor-instantiation-of-an-object > > > | > | > | > | | | > > | > > | > | > | | > edkellytista9/LPCToolkitPd > > LPCToolkitPd - Mark Cartwright's LPC Toolkit for Pure Data > | > > | > > | > > > > > > _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ > > For Lone Shark releases, Pure Data software and published Research, go to > http://sharktracks.co.uk > > On Friday, 20 April 2018, 22:02:16 GMT+1, IOhannes m zmölnig ><zmoel...@iem.at> wrote: > > On 04/20/2018 04:38 PM, Ed Kelly via Pd-list wrote: >> Apologies - I'm trying to do this while buying a house...I don't know if >> that is simple in Austria but it isn't here. > > good luck. > i'm sure it is a hell of stuff to do. > >> After reading your email I assumed it was something new, but of course I had >> just copied, pasted and altered code from a previous external (and forgot> >> Perhaps it's to do with linking to libm, so I'll check the makefile > once I'm back in a reasonably stable (time-wise) environment. > > in the meantime, you could also share your code with us. > >> BUT - I've never really understood (in ~13 years of external development) >> what all those args to class_new() did before, and you've forced me to look >> deeper into m_pd.h > > fwiw, each and every argument to class_new() is covered by the externals > howto. > >> I should thank you for that - and yes, I learned how to write externals by >> reading your howto, in 2005 I believe. > > :-) > > > gdsamr > IOhannes > ___ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > > > > > ___ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] polynomial pairs in lpc filter
Code was shared previously on a github, but here's the offending article, and the link. The botherer is called mbc_lpc~.c edkellytista9/LPCToolkitPd | | | | | | | | | | | edkellytista9/LPCToolkitPd LPCToolkitPd - Mark Cartwright's LPC Toolkit for Pure Data | | | _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 20 April 2018, 22:02:16 GMT+1, IOhannes m zmölnig <zmoel...@iem.at> wrote: On 04/20/2018 04:38 PM, Ed Kelly via Pd-list wrote: > Apologies - I'm trying to do this while buying a house...I don't know if that > is simple in Austria but it isn't here. good luck. i'm sure it is a hell of stuff to do. > After reading your email I assumed it was something new, but of course I had > just copied, pasted and altered code from a previous external (and forgot> > Perhaps it's to do with linking to libm, so I'll check the makefile once I'm back in a reasonably stable (time-wise) environment. in the meantime, you could also share your code with us. > BUT - I've never really understood (in ~13 years of external development) > what all those args to class_new() did before, and you've forced me to look > deeper into m_pd.h fwiw, each and every argument to class_new() is covered by the externals howto. > I should thank you for that - and yes, I learned how to write externals by > reading your howto, in 2005 I believe. :-) gdsamr IOhannes ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list /* * LPC Toolkit * By Mark Cartwright * Pure Data port by Edward Kelly 2018 * BSD licence * * */ #include "m_pd.h" #include //#include //#include #ifdef _WIN32 # include /* MSVC or mingw on windows */ #elif defined(__linux__) || defined(__APPLE__) # include /* linux, mac, mingw, cygwin */ #else # include /* BSDs for example */ #endif static t_class *mbc_lpc_class; #define MAX_ORDER 200 #define NLOG2(x) (ceil(log2(x))) #define POW2(x) (1 << x) #define TWOPI M_PI * 2 #define DEFAULT_FS 44100 #define DEFAULT_FRAMERATE 100 #define DEFAULT_V_SIZE 64 #define DEFAULT_ORDER 32 typedef struct _DSPcomplex { //gsl_vector_float* real; //gsl_vector_float* imag; t_float* fReal; t_float* fImag; } t_DSPcomplex; //#define REAL(z,i) gsl_vector_float_set(z,2*(i)) //#define IMAG(z,i) gsl_vector_float_setz(z,2*(i)+1) typedef struct _lpc { t_object x_obj; // the object itself (t_pxobject in MSP) t_float dummy; //t_float* l_frame_buff; //input frame buffer //gsl_vector_float* l_frame_buff; //input frame buffer //t_float* l_winframe_buff; //windowed input frame buffer //gsl_vector_float* l_winframe_buff; //windowed input frame buffer //t_float* l_outCoeff_buff; //coefficient signal //gsl_vector_float* l_outCoeff_buff; //coefficient signal //t_float* l_outParcor_buff; //PARCOR coeffs //gsl_vector_float* l_outParcor_buff; //PARCOR coeffs //t_float* l_outError_buff; //error signal //gsl_vector_float* l_outError_buff; //error signal //t_float* l_win; //analysis window //gsl_vector_float* l_win; //analysis window //t_float* l_R; //gsl_vector_float* l_R; /*-- non-GSL versions --*/ t_float* frameBuffer; t_float* winFrameBuffer; t_float* outCoeffBuffer; t_float* parcorBuffer; t_float* errorSigBuffer; t_float* window; t_float* lR; // t_float* vectorBuffer; double* l_W; double* l_E; double* l_K; double l_G; double** l_A; double l_x1; //last samples of pre-emphasis filter float l_b1; //pre-emph coefficient int l_order; //predictor order int l_order_max; //max order according to fs = order * frame_rate int l_preemph; //pre-epmhasis filter on/off int l_frame_rate; //analysis frame rate int l_frame_size; //analysis frame size, where fs = frame_rate * frame_size * 2 int l_hop_size;//hop_size = frame_size * 2 (b/c of overlap) int l_inframe_idx; //current inframe buffer index int l_outframe_idx; //current outframe buffer index long l_v_size; //vector size float l_fs; //sampling rate int l_maxnfft; //fft length int l_log2nfft; //log2(fft length) int initOrder, initFramerate, initPreemph; // initialization values int j; // FFTSetup l_fftsetup;/
Re: [PD] polynomial pairs in lpc filter
Apologies - I'm trying to do this while buying a house...I don't know if that is simple in Austria but it isn't here. But, I was indeed firing blind myself. I assume you are referring to line 665 to 668 in mbc_lpc~.c: mbc_lpc_class = class_new(gensym("mbc_lpc~"), (t_newmethod)lpc_new, 0, sizeof(t_lpc), CLASS_DEFAULT, A_DEFFLOAT, 0); After reading your email I assumed it was something new, but of course I had just copied, pasted and altered code from a previous external (and forgot) Perhaps it's to do with linking to libm, so I'll check the makefile once I'm back in a reasonably stable (time-wise) environment. BUT - I've never really understood (in ~13 years of external development) what all those args to class_new() did before, and you've forced me to look deeper into m_pd.h I should thank you for that - and yes, I learned how to write externals by reading your howto, in 2005 I believe. Thanks, Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 20 April 2018, 10:50:27 GMT+1, IOhannes m zmoelnig <zmoel...@iem.at> wrote: On 2018-04-20 11:31, Ed Kelly via Pd-list wrote: >> it seems that you are making it deliberately hard to help... :-) > > I am taking a stab at doind things I've never done before, and I'm quite out > of my depth! :~} > >> also, if the *only* external function you are using from m_pd.h is > [i]fft_mayer(), then it is pretty clear that the external cannot load: > you need at least class_new() and pd_new() as well... > > Ok. I've never used class_new() and pd_new() before. Can you point me in the > direction of an external that uses it? hmm... each and every one? just to make sure: with "external" you mean some dynamically loadable file that somehow adds new [object]s to Pd? if we can agree on that, you might want to read my externals howto [1]. (for completeness sake, there are other ways to write externals; but so far the only thing i've understood so far is that "it doesn't work", making it impossible to tell which path you took before you lost your way). fgmasdr IOhannes [1] https://github.com/pure-data/externals-howto ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] polynomial pairs in lpc filter
> it seems that you are making it deliberately hard to help... :-) I am taking a stab at doind things I've never done before, and I'm quite out of my depth! :~} > also, if the *only* external function you are using from m_pd.h is [i]fft_mayer(), then it is pretty clear that the external cannot load: you need at least class_new() and pd_new() as well... Ok. I've never used class_new() and pd_new() before. Can you point me in the direction of an external that uses it? Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 20 April 2018, 07:38:32 GMT+1, IOhannes m zmoelnig <zmoel...@iem.at> wrote: On 2018-04-19 23:11, Ed Kelly via Pd-list wrote: > verbose... > > tried...(all pd search paths)...and failed > tried...(current directory)...and failed it seems that you are making it deliberately hard to help... :-) does Pd find your external? if so, does it print an error message? (raise verbosity in the Pd-console to "DEBUG" as well). > I will probably work it out sooner or later. The only external functions I'm > using are fabs() from and fft_mayer/ifft_mayer from m_pd.h for fabs() you must link against libm. also, if the *only* external function you are using from m_pd.h is [i]fft_mayer(), then it is pretty clear that the external cannot load: you need at least class_new() and pd_new() as well... fgamsdr IOhannes ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] polynomial pairs in lpc filter
verbose... tried...(all pd search paths)...and failed tried...(current directory)...and failed I will probably work it out sooner or later. The only external functions I'm using are fabs() from and fft_mayer/ifft_mayer from m_pd.h Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Thursday, 19 April 2018, 14:14:52 GMT+1, IOhannes m zmölnig <zmoel...@iem.at> wrote: On 04/19/2018 11:48 AM, Ed Kelly via Pd-list wrote: > I remember trying to get some help with why my ported lpc object wasn't > initalizing properly earlier this week- also silence. that's probably because it was totally unclear (at least to me) what you were asking. if your object cannot load - replace "print" with "post" - run Pd with "-verbose". - check the console. check the terminal. - check the file type. - check whether all the runtime dependencies can be found. etc. gamdsr IOhannes ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] polynomial pairs in lpc filter
Hi Simon, I remember trying to extract such information from pd-list members about 13 years ago...the silence was deafening! I remember trying to get some help with why my ported lpc object wasn't initalizing properly earlier this week- also silence. However, I soldier on regardless. If you have any ideas about why my mbc_lpc~ object doesn't load then please hack it and return(github details at the bottom) but also take a look at the original code for mbc.allpass~ - it contains various methods that are commented out for calculating filter coefficients, and there may be some clues in there for you to pick at. I've never quite got to the bottom of calculating Line Spectrum Frequencies and manipulating these as formants, but it sounds like the project I was trying to pursue so many years ago (before my idiot managers pulled the funding and tried tobotch their own project together). Anyway - here's how far I've got with the port - do you think you could share ideas and code with me? it may speed things up at my end... Ed edkellytista9/LPCToolkitPd | | | | | | | | | | | edkellytista9/LPCToolkitPd LPCToolkitPd - Mark Cartwright's LPC Toolkit for Pure Data | | | _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Wednesday, 18 April 2018, 14:31:43 GMT+1, Simon Itenwrote: calculate the zeroes (roots) of the polynomial i guess. still hints are very welcome :) > On 18 Apr 2018, at 11:51, Simon Iten wrote: > > hi list, > > this is more of a general DSP question... > > i am working on an LPC playback and mangling system for axoloti. i have most > of it working and i am now trying to shift formants in the filter to change > voice character. i found functions to convert reflection coefficients into > polynomial pairs and presumably i should be able to shift filter frequencies > in this representation of the data. unfortunately i have no clue how to do > that. any hints, papers, code snippets etc. are very welcome. > > or if someone wants to take the time to explain, you are of course more then > welcome > > thanks for any suggestions > > ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] LPC - ongoing...
To those with a dev interest...I'm still picking at this LPC toolkit library.edkellytista9/LPCToolkitPd | | | | | | | | | | | edkellytista9/LPCToolkitPd LPCToolkitPd - Mark Cartwright's LPC Toolkit for Pure Data | | | I've got mbc_lpc~ to compile, but it still won't load in Pd.Any suggestions? I've tried to work out what the original Apple Accelerate functions are and implement them in raw C - with the exception of Mayer FFT routines from m_pd.hEd _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Porting Max MSP externals to Pure Data
Hi Jamie, Yes, I should probably look at that - I can see the limitations of GSL vectors, platform-wise. I think I needed to wrap my head around that before unpicking the algorithms of this library though, so I'll be going through a rewrite of the rewrite before it becomes a Pd fact!Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Wednesday, 7 March 2018, 14:22:45 GMT, Jamie Bullock <jamie.b.bull...@gmail.com> wrote: Hi Ed, I’d highly recommend porting to Flext rather than Pure Data. Then you have one codebase for both Max and Pd with the added benefit of Flext’s higher level C++ syntax. https://github.com/g/flext/ Jamie On 4 Mar 2018, at 14:30, Ed Kelly via Pd-list <pd-list@lists.iem.at> wrote: Hi List, I'm porting a library of LPC externals from Max/MSP to Pd.I wonder if someone could point me towards an example of another MSP external that has successfully been ported to Pd - preferably a DSP external that has creation arguments, with code for both so I can identify the differences between coding for the two platforms. Cheers,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Porting Max MSP externals to Pure Data
Hey Patrick, So, I've probably screwed up some stuff here with GSL, but I've been learning a hell of a lot with regards to vector operations, and porting the vDSP accelerate stuff to GSL. Eventually I suppose it would be good to get rid of that, and only use standard libs, except where the FFT stuff is concerned when we'll use either d_fft_fftdg.c or d_fft_fftw.c from pd src. Also, I was reading an article about dereferencing, and I think I might have used > where just x-> is needed for gsl_vector_float operations, and I know the initialization functions gsl_vector_float_calloc() are wrong sized - I need to work out which need to be MAX_ORDER and which to be sized and initialized at size = nfft or size = nfft02 (It's 10pm and I'm also trying to master an album!) Well, it's messy right now. Don't bust a gut on working all of it out, but if you can speed me up by spotting a few things it'd be appreciated. I feel like I've absorbed a couple of megabytes in my head since the weekend. Cheers,Ed Enclosed - the original Max code and my incomplete hash of it - but I'm trying to port the hardest bit I think...Things will be renamed before a release to acknowledge Mark Cartwright, (as in mbc.lpc~ for the original MSP extern) but I haven't decided on the namespace options yet. _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Tuesday, 6 March 2018, 19:41:16 GMT, Pagano, Patrick <patrick.pag...@uconn.edu> wrote: #yiv6390742159 #yiv6390742159 -- P {margin-top:0;margin-bottom:0;}#yiv6390742159 Let me know how i can help ed pp Patrick Pagano B.S, M.F.A Assistant Professor in Residence Digital Media & Design Web & Interactive Technologies UCONN ECE Faculty Coordinator University of Connecticut, Stamford (352)-226-2016 From: Pd-list <pd-list-boun...@lists.iem.at> on behalf of Simon Iten <itensi...@gmail.com> Sent: Tuesday, March 6, 2018 2:22:54 PM To: Ed Kelly Cc: pd list Subject: Re: [PD] Porting Max MSP externals to Pure Data cool, thanks! On 6 Mar 2018, at 17:25, Ed Kelly <morph_2...@yahoo.co.uk> wrote: Encoding and decoding of LPC streams.I know you eagerly anticipate this! I have a lot of work to do...Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and publishedResearch, go to http://sharktracks.co.uk On Sunday, 4 March 2018, 22:11:46 GMT, Simon Iten <itensi...@gmail.com> wrote: you are my hero. what will they do exactly? lcp encoding, decoding? lcp-streams to audio? cheers On 4 Mar 2018, at 15:30, Ed Kelly via Pd-list <pd-list@lists.iem.at> wrote: Hi List, I'm porting a library of LPC externals from Max/MSP to Pd.I wonder if someone could point me towards an example of another MSP external that has successfully been ported to Pd - preferably a DSP external that has creation arguments, with code for both so I can identify the differences between coding for the two platforms. Cheers,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go tohttp://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list /** @file mbc.lpc~ - an MSP object shell mark cartwright - mcartwri...@gmail.com @ingroup lpcToolkit */ #include "ext.h" // standard Max include, always required (except in Jitter) #include "ext_obex.h" // required for new style objects #include "z_dsp.h" // required for MSP objects #include #include #define MAX_ORDER 200 #define NLOG2(x) (ceil(log2(x))) #define POW2(x) (1 << x); #define DEFAULT_FS 44100 #define DEFAULT_FRAMERATE 100 #define DEFAULT_V_SIZE 64 // object struct typedef struct _lpc { t_pxobject ob; // the object itself (t_pxobject in MSP) t_float* l_frame_buff; //input frame buffer t_float* l_winframe_buff; //windowed input frame buffer t_float* l_outCoeff_buff; //coefficient signal t_float* l_outParcor_buff; //PARCOR coeffs t_float* l_outError_buff; //error signal t_float* l_win;//analysis window t_float* l_R; double* l_W; double* l_E; double* l_K; double l_G; double** l_A; double l_x1;//last samples of pre-emphasis filter float l_b1;//pre-emph coefficient int l_order; //predictor order int l_order_max; //max order according to fs = order * frame_rate int l_preemph; //pre-epmhasis filter on/off int l_frame_rate; //analysis frame rate int l_frame_size; //analysis frame size, where fs = frame_rate * frame_size * 2 int l_hop_size; //hop_size = frame_size * 2 (b/c of overlap) int l_inframe_idx; //current inframe buffer index int l_outframe_idx;
Re: [PD] Porting Max MSP externals to Pure Data
Encoding and decoding of LPC streams.I know you eagerly anticipate this! I have a lot of work to do...Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Sunday, 4 March 2018, 22:11:46 GMT, Simon Iten <itensi...@gmail.com> wrote: you are my hero. what will they do exactly? lcp encoding, decoding? lcp-streams to audio? cheers On 4 Mar 2018, at 15:30, Ed Kelly via Pd-list <pd-list@lists.iem.at> wrote: Hi List, I'm porting a library of LPC externals from Max/MSP to Pd.I wonder if someone could point me towards an example of another MSP external that has successfully been ported to Pd - preferably a DSP external that has creation arguments, with code for both so I can identify the differences between coding for the two platforms. Cheers,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Pd's RGB color scheme for Data Structures
There is a swatch/color picker in jmmmp objects. Looks great - swatch-gui-help.pd and swatch-help.pd but...I can find the zexy objects, but where are list-add list-rot and list-mult objects?Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 2 March 2018, 17:10:08 GMT, Ingo Stockwrote: On 03/02/2018 05:54 PM, José de Abreu wrote:> but for 0 to 255 rgb values, the math is simple, just divide this number > by 9/255 and discard the fractional part, then multiply by the position > and sum all (it gives a number from 0 to 999) With data structures, the color range for red, green, blue is from 0 to 8 respectively, so the whole spectrum is 0-888. A digit 9 equals digit 8 so 959 equals 858. So the calculation is * 8/255. See here for a demo patch: https://forum.pdpatchrepo.info/topic/11085/how-to-convert-pd-s-color-numbers-for-data-structures-to-rgb best, ingo ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Porting Max MSP externals to Pure Data
Ah, a book? By Eric Lyons?That's manna from heaven!I have the gigaverb code now. I will investigate it thoroughly. Thanks,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Sunday, 4 March 2018, 15:05:09 GMT, Marco Matteo Markidis <mm.marki...@gmail.com> wrote: Hi, you can take a look of gigaverb~. Moreover there is Eric Lyon's book on writing externals in max and pd.Best,Marco 2018-03-04 15:30 GMT+01:00 Ed Kelly via Pd-list <pd-list@lists.iem.at>: Hi List, I'm porting a library of LPC externals from Max/MSP to Pd.I wonder if someone could point me towards an example of another MSP external that has successfully been ported to Pd - preferably a DSP external that has creation arguments, with code for both so I can identify the differences between coding for the two platforms. Cheers,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk __ _ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/ listinfo/pd-list -- Ho cambiato l'indirizzo email in mm.marki...@autistici.org . Se non è un problema, scrivimi a questo nuovo indirizzo email. I changed my email address in mm.marki...@autistici.org . If it is ok for you, please write me to this new email address.___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] ofelia v1.0.4: Pd external library written with openFrameworks
Hmmm.I'm getting this extension on all the externals I compile on this machine.1) When I compiled ofelia as an addon in the openFrameworks file structure2) When I compile my own externals using a modified version of Hans' Makefile I don't know where this is specified, but these are the outputs I get! On Tuesday, 27 February 2018, 12:47:30 GMT, IOhannes m zmölnig <zmoel...@iem.at> wrote: On 02/27/2018 11:56 AM, Ed Kelly via Pd-list wrote: > http://sharktracks.co.uk/puredata/ofelia.l_ia64.tar.gz i also noticed that the official ofelia externals use the "l_ia64" extension for Linux/amd64. i am *very* sure that this is the wrong extension. "ia64" is the the short name of the "Itanium" architecture ([ia64]), an architecture used mainly for servers. it is *incompatible* with the x86_64 aka amd64 instruction set (which is the CPU that is built in practically all PCs and Apple computers these days) those processors are built by intel, which probably has caused the confusion. there's [PR297] which tries to fix this by using arch-specific extensions that actually match the canonical names for CPU architectures (or at least wide-spread variants thereof). i'd suggest to avoid this extension and instead use the generic "pd_linux". gmsadr IOhannes [ia64] https://en.wikipedia.org/wiki/IA-64 [PR297] https://github.com/pure-data/pure-data/pull/297 ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list testBuild.tar.gz Description: application/gzip ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] ofelia v1.0.4: Pd external library written with openFrameworks
Hi Zack, and list, I've compiled ofelia on Linux: Ubuntu 16.04-3LTS Xenial 64bit. It works - it's beautiful!I've put my built external at http://sharktracks.co.uk/puredata/ofelia.l_ia64.tar.gz One thing to note Zack, with Pd-0.48 and Deken externals, you need to declare the lib before any library objects in the patch, so the help files don't work until a declare -lib ofelia object is created. To change the help files: 1) copy the object from this Pd patch, or just create it in the help patch2) select all objects3) shift-click (de-select) the declare -lib ofelia object4) cut5) paste 6) save your help files will now work "out of the box" Best wishes,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Tuesday, 27 February 2018, 10:28:42 GMT, Ed Kelly via Pd-list <pd-list@lists.iem.at> wrote: Hi Zack, Yes, I did get signal 4. Good luck with fixing it. I pulled the source from git but haven't had a chance to look at it / try to compile it yet.Cheers,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Monday, 26 February 2018, 23:37:46 GMT, Jarbas Jácome <jand...@gmail.com> wrote: Great news!! Many thanks! Abraços jjR On Tue, Feb 20, 2018 at 5:01 PM, Zack Lee <cuinj...@gmail.com> wrote: > Hi, I'm happy to announce my Pd external library, ofelia. > > ofelia is an external library written with openFrameworks and influenced by > GEM for creating cross-platform multimedia applications. > > The library consists of over 400 objects covering most features of > openFrameworks core API, designed to ease the development of multimedia > applications such as visual arts, musical apps and interactive games. > > The library includes the following features: > > interactive output window > various getters and event listeners > 2d/3d shapes drawing > image and font loading > camera, lighting, material > framebuffer object > various data types (vec3f, color..) > various utilities to speed up development (new expr, counter..) > bandlimited oscillators and resonant filters > > The library is currently available to be used under macOS, Linux(64bit) and > Windows. It will also be available on Raspberry Pi soon. > > You can download and install it by searching "ofelia" in 'Help -> Find > externals' then add "ofelia" to 'Preferences -> Startup -> New' in Pd. > There are some basic example patches you can try inside 'ofelia/examples' > directory. > ofelia works with vanilla Pd-0.48-1 and other versions of Pd may not work. > > The patch made with ofelia can be converted to a standalone application for > macOS, Linux, Windows, iOS and Android without having to write any further > code. (Thanks to ofxPd) You just need to install some required tools to > compile it on your desktop. > For more information, please visit https://github.com/cuinjune/ofxOfelia > > Any feedback is welcomed, hope you like it. :) > > ___ > Pd-announce mailing list > pd-annou...@lists.iem.at > https://lists.puredata.info/listinfo/pd-announce > > ___ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] ofelia v1.0.4: Pd external library written with openFrameworks
Hi Zack, Yes, I did get signal 4. Good luck with fixing it. I pulled the source from git but haven't had a chance to look at it / try to compile it yet.Cheers,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Monday, 26 February 2018, 23:37:46 GMT, Jarbas Jácomewrote: Great news!! Many thanks! Abraços jjR On Tue, Feb 20, 2018 at 5:01 PM, Zack Lee wrote: > Hi, I'm happy to announce my Pd external library, ofelia. > > ofelia is an external library written with openFrameworks and influenced by > GEM for creating cross-platform multimedia applications. > > The library consists of over 400 objects covering most features of > openFrameworks core API, designed to ease the development of multimedia > applications such as visual arts, musical apps and interactive games. > > The library includes the following features: > > interactive output window > various getters and event listeners > 2d/3d shapes drawing > image and font loading > camera, lighting, material > framebuffer object > various data types (vec3f, color..) > various utilities to speed up development (new expr, counter..) > bandlimited oscillators and resonant filters > > The library is currently available to be used under macOS, Linux(64bit) and > Windows. It will also be available on Raspberry Pi soon. > > You can download and install it by searching "ofelia" in 'Help -> Find > externals' then add "ofelia" to 'Preferences -> Startup -> New' in Pd. > There are some basic example patches you can try inside 'ofelia/examples' > directory. > ofelia works with vanilla Pd-0.48-1 and other versions of Pd may not work. > > The patch made with ofelia can be converted to a standalone application for > macOS, Linux, Windows, iOS and Android without having to write any further > code. (Thanks to ofxPd) You just need to install some required tools to > compile it on your desktop. > For more information, please visit https://github.com/cuinjune/ofxOfelia > > Any feedback is welcomed, hope you like it. :) > > ___ > Pd-announce mailing list > pd-annou...@lists.iem.at > https://lists.puredata.info/listinfo/pd-announce > > ___ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] Intro to Pure Data
Hi list, I've had a wikispaces page on Pd for years now, but wikispaces is closing.I've decided to update it as a straightforward web page - it's designed to introduce new users to Pd. Any suggestions would be greatly appreciated...Pure Data | | | | | | | | | | | Pure Data Edward Peter Kelly This is a brief introduction to Pure Data | | | Thanks,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] ofelia v1.0.4: Pd external library written with openFrameworks
Hi Zack, I too am having Pd crash when ofelia is loaded.Would it help if I compiled it from source?I have Ubuntu 16.04 LTS, 64 bit distro. Thanks,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Thursday, 22 February 2018, 04:39:45 GMT, Zack Leewrote: Hi Jesse, Good to hear it works well on your systems.I hope you enjoy using the library. :) Zack 2018-02-22 6:48 GMT+09:00 Jesse Mejia : This is rad - thanks! On windows 10 I installed via dekken using the default path, and on two separate machines I needed to add the startup flag -lib ofelia but now everything seems to be working well. Thanks - this looks amazing! -jesse On Feb 21, 2018, at 1:08 PM, Alan Brooker wrote: Hi Zack, Works perfectly for me on Windows 10, this is great! Thanks so much for the effort in putting this library out, along with the recent behind the scenes developments with Gem and the SVG capabilities in Purr Data, Pd is again having some great options for graphics & visuals. Just curious, I'm not an OF expert (and forgive me if this is not documented somewhere) but is it possible to write scripts in OF and then import them into Pd in some way? Thanks again | | Virus-free. www.avg.com | On Wed, Feb 21, 2018 at 5:16 PM, Alex wrote: Hey Zach, I'm not on my linux machine right now so I'll have to get back to that later but in the mean time, on my work machine, I've run nm -u and attached what I got. Clearly there is a lot more being built in to the osx version. Last night I did actually try to install open frameworks on my linux machine but I had a conflict with a dependency that I didn't have time to resolve. I might just look at the output of nm for linux and see if I can just install those that aren't linked there. -Alex On Tue, Feb 20, 2018 at 8:16 PM, Zack Lee wrote: Thanks for the info.I actually built the binary on the exact same distro: Ubuntu 16.04.3 LTS. Could you please run the "install_dependencies.sh" script and see if it works?I'm sorry I don't really get what is causing the problem.I will also try reinstalling Ubuntu 16.04 LTS and see if it works and will let you know asap.Thank you. Zack 2018-02-21 12:51 GMT+09:00 Alex : I've also attached the gdb backtrace and the output from nm -u ofelia.l_ia64 > nm.txt looks like it expects i have cairo, FreeImage, glew, and some other libs.. On Tue, Feb 20, 2018 at 7:44 PM, Alex wrote: no problem Zack, alex@workin:~/local/src/openFr ameworks/scripts/linux$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.3 LTS Release: 16.04 Codename: xenial you mean the .iso for this version of ubuntu? http://releases.ubuntu.com/16. 04/ubuntu-16.04.3-desktop-amd6 4.iso On Tue, Feb 20, 2018 at 7:20 PM, Zack Lee wrote: Hi, Alex Thanks for the report.The similar problems have been reported by some Linux users.Could you please tell me which Ubuntu you're using?I would appreciate if you could give me a download link to the .iso image file.Thank you and I don't think you need to install openFrameworks as it shouldn't crash anyway. Zack __ _ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/li stinfo/pd-list __ _ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/ listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] maxlib/arraycopy
compiled objects for maxlib/arraycopy _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 21 April 2017, 15:53, Ed Kelly <morph_2...@yahoo.co.uk> wrote: Correction - I mean it assumed the destination had to be bigger or the same size as the source! _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 21 April 2017, 14:17, Ed Kelly via Pd-list <pd-list@lists.iem.at> wrote: I don't quite know what has happened to arraycopy from maxlib. It seems to expect, from the code, that the destination array is smaller or the same size as the source array. That's ridiculous. My source array is 90 seconds long and the destination arrays are small - the duration between two bonk~ events in an audio stream. My rechunk~ patch, which I extensively rely on for live sampling, has been broken for a while. I fixed it. Enclosed. Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list arraycopy.l_i386 Description: Binary data arraycopy.pd_darwin Description: Binary data ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] maxlib/arraycopy
Correction - I mean it assumed the destination had to be bigger or the same size as the source! _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Friday, 21 April 2017, 14:17, Ed Kelly via Pd-list <pd-list@lists.iem.at> wrote: I don't quite know what has happened to arraycopy from maxlib. It seems to expect, from the code, that the destination array is smaller or the same size as the source array. That's ridiculous. My source array is 90 seconds long and the destination arrays are small - the duration between two bonk~ events in an audio stream. My rechunk~ patch, which I extensively rely on for live sampling, has been broken for a while. I fixed it. Enclosed. Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list /* - arraycopy --- */ /* */ /* Copy data from one array to another .*/ /* Written by Olaf Matthes <olaf.matt...@gmx.de>*/ /* Get source at http://www.akustische-kunst.org/puredata/maxlib/ */ /* */ /* This program is free software; you can redistribute it and/or*/ /* modify it under the terms of the GNU General Public License */ /* as published by the Free Software Foundation; either version 2 */ /* of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, */ /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the*/ /* GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License*/ /* along with this program; if not, write to the Free Software */ /* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* */ /* Based on PureData by Miller Puckette and others. */ /* */ /* */ #include "m_pd.h" #include static char *version = "arraycopy v0.2.1, written by Olaf Matthes <olaf.matt...@gmx.de>"; typedef struct arraycopy { t_object x_obj; t_symbol *x_destarray; t_symbol *x_sourcearray; t_garray *x_destbuf; t_garray *x_sourcebuf; t_intx_start; t_intx_end; t_intx_pos; shortx_print; } t_arraycopy; /* choose the destination array to copy to */ static void arraycopy_setdestarray(t_arraycopy *x, t_symbol *s) { t_garray *b; if ((b = (t_garray *)pd_findbyclass(s, garray_class))) { // post("arraycopy: destination array set to \"%s\"", s->s_name); x->x_destbuf = b; } else { post("arraycopy: no array \"%s\" (error %d)", s->s_name, b); x->x_destbuf = 0; } } static void arraycopy_setdest(t_arraycopy *x, t_symbol *s) { x->x_destarray = s; arraycopy_setdestarray(x, x->x_destarray); } /* choose the source array to copy from */ static void arraycopy_setsourcearray(t_arraycopy *x, t_symbol *s) { t_garray *b; if ((b = (t_garray *)pd_findbyclass(s, garray_class))) { // post("arraycopy: source array set to \"%s\"", s->s_name); x->x_sourcebuf = b; } else { post("arraycopy: no array \"%s\" (error %d)", s->s_name, b); x->x_sourcebuf = 0; } } /* this is the routine that actually does the copying */ /* get's called directly when we get a 'bang' */ static void arraycopy_docopy(t_arraycopy *x) { /* use new 64-bit compatible array API if available */ #if (defined PD_MAJOR_VERSION && defined PD_MINOR_VERSION) && (PD_MAJOR_VERSION > 0 || PD_MINOR_VERSION >= 41) # define arraynumber_t t_word # define array_getarray garray_getfloatwords # define array_get(pointer, index) (pointer[index].w_float) # define array_set(pointer, index, value) ((pointer[index].w_float)=value) #else # define arraynumber_t t_float # define array_getarray garray_g
[PD] maxlib/arraycopy
I don't quite know what has happened to arraycopy from maxlib. It seems to expect, from the code, that the destination array is smaller or the same size as the source array. That's ridiculous. My source array is 90 seconds long and the destination arrays are small - the duration between two bonk~ events in an audio stream. My rechunk~ patch, which I extensively rely on for live sampling, has been broken for a while. I fixed it. Enclosed. Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk /* - arraycopy --- */ /* */ /* Copy data from one array to another .*/ /* Written by Olaf Matthes*/ /* Get source at http://www.akustische-kunst.org/puredata/maxlib/ */ /* */ /* This program is free software; you can redistribute it and/or*/ /* modify it under the terms of the GNU General Public License */ /* as published by the Free Software Foundation; either version 2 */ /* of the License, or (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, */ /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the*/ /* GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License*/ /* along with this program; if not, write to the Free Software */ /* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* */ /* Based on PureData by Miller Puckette and others. */ /* */ /* */ #include "m_pd.h" #include static char *version = "arraycopy v0.2.1, written by Olaf Matthes "; typedef struct arraycopy { t_object x_obj; t_symbol *x_destarray; t_symbol *x_sourcearray; t_garray *x_destbuf; t_garray *x_sourcebuf; t_intx_start; t_intx_end; t_intx_pos; shortx_print; } t_arraycopy; /* choose the destination array to copy to */ static void arraycopy_setdestarray(t_arraycopy *x, t_symbol *s) { t_garray *b; if ((b = (t_garray *)pd_findbyclass(s, garray_class))) { // post("arraycopy: destination array set to \"%s\"", s->s_name); x->x_destbuf = b; } else { post("arraycopy: no array \"%s\" (error %d)", s->s_name, b); x->x_destbuf = 0; } } static void arraycopy_setdest(t_arraycopy *x, t_symbol *s) { x->x_destarray = s; arraycopy_setdestarray(x, x->x_destarray); } /* choose the source array to copy from */ static void arraycopy_setsourcearray(t_arraycopy *x, t_symbol *s) { t_garray *b; if ((b = (t_garray *)pd_findbyclass(s, garray_class))) { // post("arraycopy: source array set to \"%s\"", s->s_name); x->x_sourcebuf = b; } else { post("arraycopy: no array \"%s\" (error %d)", s->s_name, b); x->x_sourcebuf = 0; } } /* this is the routine that actually does the copying */ /* get's called directly when we get a 'bang' */ static void arraycopy_docopy(t_arraycopy *x) { /* use new 64-bit compatible array API if available */ #if (defined PD_MAJOR_VERSION && defined PD_MINOR_VERSION) && (PD_MAJOR_VERSION > 0 || PD_MINOR_VERSION >= 41) # define arraynumber_t t_word # define array_getarray garray_getfloatwords # define array_get(pointer, index) (pointer[index].w_float) # define array_set(pointer, index, value) ((pointer[index].w_float)=value) #else # define arraynumber_t t_float # define array_getarray garray_getfloatarray # define array_get(pointer, index) (pointer[index]) # define array_set(pointer, index, value) ((pointer[index])=value) #endif t_garray *b; /* make local copy of array */ arraynumber_t *tab; /* the content itself */ int sourcesize, destsize; t_int i; t_garray *A; arraynumber_t *vec; if(!x->x_destarray) { post("arraycopy: no destination array specified"); return; } if(!x->x_sourcearray) { post("arraycopy: no source array specified"); return; } A = x->x_destbuf; if ((b = (t_garray *)pd_findbyclass(x->x_sourcearray, garray_class))) { // post("arraycopy: source array set to \"%s\"", x->x_sourcearray->s_name); } else {
Re: [PD] soundfiler features
So (donc) What are uniform parameters of a soundfile? Only these are necessary to enhance soundfiler. 1) Channels is primary - an audio file can be any number of channels, but the soundfiler object needs to know in advance how many arrays to write to. This is non-negotiable i.e. an absolute fact. 2) Sample rate is secondary, and any file recorded at a particular sample rate can be played back at any other rate, but it would be nice to know this, but it is negotiable within the patch. 3) Bit rate - perhaps for saving this might be useful, although since saving is a generated process rather than a parameter specified within the header of a file (discuss), it is probably of little importance. The soundfiler object can already read 16, 24 and 32 bit files, and I can't see a future for 64 bit audio (although electronics manufacturers will certainly try to sell this in the future, despite the fact that most DA conversions are Sigma-Delta making bit-depth more-or-less irrelevant). Thoughts?Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Wednesday, 22 February 2017, 12:09, Lucas Cordiviola <lucard...@hotmail.com> wrote: #yiv3468639400 #yiv3468639400 -- P {margin-top:0;margin-bottom:0;}#yiv3468639400 >[soundfile_info] seems the better choice andis able to read all files that are >read by [readsf~]/[soundfiler], fromwhat I can tell. In the past I found discrepancies on *sound file length*: [soundfiler] != [sounfile_info] [soundfiler] == soundforge Mensaje telepatico asistido por maquinas. From: Pd-list <pd-list-boun...@lists.iem.at> on behalf of Roman Haefeli <reduz...@gmail.com> Sent: Wednesday, February 22, 2017 8:19 AM To: pd-list@lists.iem.at Subject: Re: [PD] soundfiler features On Die, 2017-02-21 at 11:01 +0000, Ed Kelly via Pd-list wrote: > > Since this information is contained within the header of each file > (although it's a pain with the different formats), would it not be > sensible to have a second outlet in soundfiler that delivers the > number of channels, before the number of samples in the file is > delivered from the left outlet? Perhaps also other info, but what > would be relevant to a patch? I think channels is a necessary piece > of information. I, too, think that [soundfiler] should output some sound file properties instead using them only internally. It would be good to be able to make patches where the patch creator doesn't need to know beforehand what exact formats are going to be opened by the patch user. I'd like to know the following properties (in descending order of necessity): * number of channels * sample rate * bit depth There are at least two externals, that provide this info: ext13's [wavinfo] and [soundfile_info] from iemlib. In my experience, the former doesn't read correctly all wav files that are read by other programs or by Pd, I believe it assumes a certain layout instead of truly parsing the header. [soundfile_info] seems the better choice and is able to read all files that are read by [readsf~]/[soundfiler], from what I can tell. Roman ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] soundfiler features
Apologies if this is a distraction. The soundfiler object is clearly fundamental to digital music. I think it needs a makeover. I'm willing to help, but it's been getting particularly difficult and I think, unnecessarily complicated to create patches that automatically load a folder of sound files which may be mono or stereo (or even quad?).Since this information is contained within the header of each file (although it's a pain with the different formats), would it not be sensible to have a second outlet in soundfiler that delivers the number of channels, before the number of samples in the file is delivered from the left outlet? Perhaps also other info, but what would be relevant to a patch? I think channels is a necessary piece of information. I prod you for a feature, and I probably have as many of these cattle prod moments hitting me from behind as I work on my patches. Cheers,Bisous,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] creb's ramp~ needs a help file
Yes, I think the documentation is important (shame on me for never finishing all my docs). It's just a bit of a shame that we have to document some quite redundant functions, but if they make life easier for other patchers then that's great. I've made quite a few things in C that could be abstractions for example. Also, there's an annoyance that comes from having to investigate C code from abandoned libs, although this is usually not so hard with things like ramp~. I think it could be a good idea and a lot of work to present at least some examples in the help files of how such externals could be modelled within Pd vanilla. Naively I think this could help both newbies and people learning to code externals. xEd _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Saturday, 28 January 2017, 20:48, Alexandre Torres Porreswrote: it's one of those objects that is in Pd but could be easily dealt with in Pd without the external (...) but it's basically a line~ with an offset, and a fixed rate looks like~ cyclone's count~ but much simpler it just generates a signal ramp with the right characteristics to patch it into tabread4~ and playback samples at their original pitch. or using it with tabread~ then instead pf tabread4~ looks again like count~ as one of its applications is in conjunction with index~ (basically tabread~). There are quite a lot of externals like this (and some from me) where people coded something in C for convenience, but can be easily done in Pd without externals. I know... Pd Extended is filled with things like that, and to make it more of a deal, documentation is sometimes bad, when simply non existing. I'm willing to help this in the forth coming Purr Data, by reorganising it and making it better documented cheers ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] creb's ramp~ needs a help file
ramp~ send it a number and it will generate a ramp~ - effectively a sample number to read arrays with something like a phasor~, but it just goes up and up. I just had a look in the C code. In all honesty it's one of those objects that is in Pd but could be easily dealt with in Pd without the external. No disrespect to Tom Schouten, but it's basically a line~ with an offset, and a fixed rate i.e. it just generates a signal ramp with the right characteristics to patch it into tabread4~ and playback samples at their original pitch. The only exception is that it always starts from a specific value sent to the inlet. There are quite a lot of externals like this (and some from me) where people coded something in C for convenience, but can be easily done in Pd without externals. Here's a semi pddp formatted helpfile.It's boring.Cheers,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Thursday, 19 January 2017, 0:38, Alexandre Torres Porreswrote: howdy, there's no help file for creb/ramp~ anybody ever used it? thanks ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list #N canvas 212 31 559 582 10; #X obj 9 523 cnv 15 550 20 empty \$0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; #X obj 9 7 cnv 15 554 54 empty \$0-pddp.cnv.header creb/ramp~ 3 12 0 18 -204280 -1 0; #X obj 8 263 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13 -228856 -1 0; #X obj 8 323 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlet 8 12 0 13 -228856 -1 0; #X obj 8 383 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12 0 13 -228856 -1 0; #X obj 77 283 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X msg 157 135 \; pd dsp 1; #X obj 78 343 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X text 107 342 signal; #N canvas 308 206 494 344 META 0; #X text 12 140 HELP_PATCH_AUTHORS "pd meta" information added by Jonathan Wilkes for Pd version 0.42.; #X text 12 25 LICENSE GPL v2; #X text 12 5 KEYWORDS signal; #X text 12 100 OUTLET_0 signal; #X text 12 45 DESCRIPTION start a signal ramp to read an array at any point; #X text 12 80 INLET_0 control; #X text 12 120 AUTHOR Tom Schouten; #X restore 510 524 pd META; #X text 20 30 description: generates a signal ramp starting from the float it's presented with.; #X obj 68 122 ramp~; #X obj 446 23 import creb; #X msg 57 93 0; #X msg 100 92 800; #X obj 68 144 envrms~; #X floatatom 68 166 0 0 0 0 - - -; #X text 107 283 control; #X text 157 283 - the ramp will start from this value; #X text 157 342 - a ramp starting from that value; #X text 105 390 The creb ramp~ object generates a signal to read arrays using tabread~ or tabread4~. Other array readers are available (such as the IEM16 library). Sending a float into the inlet re-triggers the ramp from the value given by the float.; #X msg 138 93 60; #X text 105 463 In 32bit Pure Data \, there is a limit of 4 million samples (about 90 seconds) that Pd can address in a smooth fashion. ; #X connect 11 0 15 0; #X connect 13 0 11 0; #X connect 14 0 11 0; #X connect 15 0 16 0; #X connect 21 0 11 0; ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] maxlib arraycopy
Perfect. A way of doing it in Vanilla Pd. If I can gradually trim away the externals from my patches and vanillarize them I'll be a happy man.Thanks,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk On Thursday, 1 December 2016, 20:31, Roman Haefeli <reduz...@gmail.com> wrote: On Thu, 2016-12-01 at 18:48 +0000, Ed Kelly via Pd-list wrote: > Does anyone have a better way of copying chunks from one array into > another? Is there a vanilla way? Checkout help for new [array] class. There is [array get ] for retrieving part of or whole array as a list. With [array set ] you can update part of or whole array. And there has always been: [ ( | [send ] to update an array/table. Roman ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] maxlib arraycopy
Hey list, Recently my rechunk~ abstraction has ceased to work. I've recently re-installed and, it seems the maxlib/arraycopy object is not working the way it used to. I used to send it a list with[sourceArray start end destinationArray(values,but now, when the source array is longer than the destination array, I get error messages that:arraycopy: start point 1223199 out of range for destination chunk_2_13Where chunk_2_13 is an array created to be the same length as the chunk I wish to extract. Does anyone have a better way of copying chunks from one array into another? Is there a vanilla way? Questions, questions,Ed _-_-_-_-_-_-_-^-_-_-_-_-_-_-_ For Lone Shark releases, Pure Data software and published Research, go to http://sharktracks.co.uk ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] slidestring
Hey Anselmo, Here's the Digital Waveguide Synthesizer (string model) I promised you at pdcon16~It's actually a hack of Kim Taylor's original patches posted to the pd-list I-can't-remember-when. Enclosed is the original folder which also has two different pluck excitations and one bow excitation.It's quite CPU intensive - more so than a Karplus-Strong model, but it's really powerful. Kim also included a readme.html page with some theory on how it works, and a reference to the original Julius Orion Smith paper from Stanford.Anyway, have a play. My version has a tendency to produce more inharmonic tones, but a more authentic string synthesis is found in Kim's DEMO1.pd and DEMO2.pd files. Enjoy!Ed Kelly -- Lone Shark releases: Light Vessel Automatic available now on 12" vinyl.Build Your Wings on the Way Down, the new digital album available @ http://scifirecords.co.uk/releases Earthlings compilation is out now @ http://www.pyramidtransmissions.com Ninja Jamm - the revolutionary music remix app for iOS and Android: http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, and Metastudio 5 live composition and improvisation suite, available at http://sharktracks.co.uk/puredata slidestring_demo.tar.gz Description: application/gzip ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] I used to like better the earlierperformances by Ed Kelly in the earlier PdCons
Ho Ho Ho, festive but nasty!Queen are my least favorite rock band of all time, and no I don't think he uses wrap_overshoot~.But if you think that's bad, this is worse:Folk Alley: OpenMic - Song Information | | | | || | | | | | Folk Alley: OpenMic - Song Information Folk music, traditional music, celtic music, and world music with a 24-hour stream and artists links and informa... | | | | On Tuesday, 22 November 2016, 12:54, me.grimmwrote: >> like this one with the "Killer Queen" i dont think he's using the new [phasorwrap~] with that one... thats back in the metastudio daze :) m On Tue, Nov 22, 2016 at 1:57 AM, Alexandre Torres Porres wrote: like this one with the "Killer Queen" https://www.youtube.com/watch? v=Xi4BeAIWvIo rad work bro __ _ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/ listinfo/pd-list -- m.e.grimm, m.f.a, ed.m.syracuse u., tc3megrimm.net ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Next PdCon?
All your Alex are belong to us! I really think two years is enough of a gap for another Pdcon - enough time for people to get something new together, something fresh. I think one year is too short a gap. Go for it Alexandros!Ed On Wednesday, 23 November 2016, 18:25, Alexandre Torres Porreswrote: Alexandre CastonguayAlexandre PorresAlexandros Drymonitis What is wrong with people called Alex and their urge to organize PdCons? 2016-11-23 16:20 GMT-02:00 Alexandre Torres Porres : every once in a thousand emails I hit a magic shortcut I never know of and send an incomplete email out... continuing... I never guaranteed any structure, and I can say now that it was quite a bluff that I could pull something off, as I had never done that... and... well... these days, if we were to do it here, it'd be a lot more modest... And anyway, we had a pretty nice technical structure, but also no spatial system whatsoever... what I', trying to say is that you shouldn't worry much about being fancy and meeting any standard requirements. Well, let me refer to some of your text. 2016-11-23 16:05 GMT-02:00 Alexandre Torres Porres : 2016-11-23 9:14 GMT-02:00 Alexandros Drymonitis : I asked a friend and colleague who works at the American College of Greece in Athens whether it would be possible to host the next Pd Convention there. He is very positive about this, without this meaning it's certain. sounds like a great start :) What I would like to ask is when do you guys think it would be best to organize this? 2017 or 2018? I guess anything earlier than 5 years (2021) is a progress :D we never had two years in a row, but sure i'd personally love to see PdCons every year. But looks like 2018 is more like it... the college can provide the necessary infrastructure yeah, that all sounds great Some other stuff (like concerts) can happen in various places in Athens (...) anything else will probably happen in the center. I know that PdCon16~ was a bit scattered around NYC, and Athens is much smaller than that, but transportation is not the best. Well, herd in São Paulo it was all over the place and transportation is definitely worse than in NY What helps a lot with these kind of things is a good organization, that you guys provides us all the best information on how to get around, also specially made maps with detailed transportation info, etc... just work out good logistics with enough time in schedule to get around. I can say we did offer a good structure, but I can also say that the hardest part and what's more important is to offer a well organized event. I can add more thoughts as this thread progresses ;) cheers ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [pdconv16_r] Expanding abstractions & Compiling Vanilla Patches As Objects (Gen~?)
I did something similar with wrap_overshoot~ which wraps signals only when a block boundary is reached...to be shown and released at pdcon16~Cheers,Ed Lone Shark releases: Light Vessel Automatic available now on 12" vinyl.Build Your Wings on the Way Down, the new digital album available @ http://scifirecords.co.uk/releases Earthlings compilation is out now @ http://www.pyramidtransmissions.com Ninja Jamm - the revolutionary music remix app for iOS and Android: http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, and Metastudio 5 live composition and improvisation suite, available at http://sharktracks.co.uk/puredata On Tuesday, 1 November 2016, 15:57, Alex Normanwrote: Miller did seem open to a control outlet on the inlet~ object. This was when we were discussing the clone object and how you have to pass messages to the first control inlet, if you have one, instead of just the first inlet always, to control the cloning operations. More generally, it would be great if abstractions could do anything a compiled object could do. Alex On November 1, 2016 8:47:11 AM PDT, Alexandre Torres Porres wrote: 2016-11-01 8:42 GMT-02:00 Pierre Guillot : Hi Alexandre, > I wonder if a thing like libpd could work as turning a vanilla patch into a > compiled object to be used inside pd... that'd be something like gen~ in > max/msp. Can you be more specific ? For the moment, I think it would be equivalent to usean abstraction or the object [pd~] (libpd loads dynamically a patch so I guess that the execution of the patch cannot be optimized and except if the patch has been be somehow included inside the binary, you'll have to share the patch with the object). For me, the main advantage of gen~ is that it generates code that can be used inside an application but libpd already offers this feature. So what would be the advantage? Well, I thought the code could be optimized somehow, which I believe is something gen~ does, and that could be an advantage... but I really know nothing and now it seems that is not possible. > A - being able to retrieve control data from [inlet~] I did it in the Cicm Wrapper but it was pretty tricky. If you use the object [hoa.process~], you can send messages via a signal inlet for example. I'm not very proud of this because I had to hack a bit the inlet class. Now, I don't know if I must remove this feature or keep it... Perhaps somebody could tell/remind us if there is a reason why signal inlets can't receive messages. cool, there's also a [route~] object from zexy which could be embedded in inlet~ > B - being able to know if a signal is connected to [inlet~] I also did it in the Cicm Wrapper, perhaps this feature could be included in the "m_pd.h" interface because for the moment you need to include "g_canvas.h" and "m_imp.h". Anyway, if you want a simple code that shows how to do it, I have an example in my dummy library. awesome, it's be great to have something like this in vanilla in order to improve the design of abstractions ;) cheers Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [PdCon16]
That looks great.I'm a bit mystified however - I seem to be presenting both the wavefolding poster and a Ninja Jamm presentation in the poster session! Wha?? I understand I've got the paper session in the morning of the 17th with NJ, and the wavefolding poster in the afternoon! Of course I'll be happy to take questions about NJ in the poster session...Ed Lone Shark releases: Light Vessel Automatic available now on 12" vinyl.Build Your Wings on the Way Down, the new digital album available @ http://scifirecords.co.uk/releases Earthlings compilation is out now @ http://www.pyramidtransmissions.com Ninja Jamm - the revolutionary music remix app for iOS and Android: http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, and Metastudio 5 live composition and improvisation suite, available at http://sharktracks.co.uk/puredata On Saturday, 5 November 2016, 7:45, Chris McCormickwrote: On 03/11/16 14:45, Jaime Oliver wrote: > We have the latest draft of the PdCon program here: > http://www.nyu-waverlylabs.org/pdcon16/program/ I am pumped, and the official video makes me feel even more pumped! https://vimeo.com/172511539 Cheers, Chris. -- http://mccormick.cx/ ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] could vanilla borrow iemlib's hi pass filter recipe?
Hey people, While I'm not an expert with digital filters, I did manage to piece together a decent-sounding ladder emulation instead of vcf~ a while ago. It only does resonant lowpass though. It's called mvcf~ and is found in the ekext externals library. I've since been reading about analogue filter design and I reckon there may be high pass and band pass filters available from the source code, with the correct adjustment to the algorithm. I'm trying to work out how to adjust the coefficients to accurately model the alternative functions (i.e. highpass, and hence bandpass through arithmetic processes) according to the resistance factors outlined in this paper. Any help would be appreciated :) So, currently, at line 78 in the code I have translations for highpass and bandpass (the current implementation is lowpass only with a gain factor) but I may be stupid in not trying this myself (or I've just been super-busy with other stuff - I'm marking this week). The idea of implementing the other two modes comes from an Electronotes paper from Bernie Hutchins in the 1970s. http://electronotes.netfirms.com/EN85VCF.PDF Take a look.Cheers,Ed PS have yet to try bob~ but it sounds interesting...will check it out. On Sunday, 16 October 2016, 13:10, Alexandre Torres Porreswrote: > But [bp~] and [vcf~] are almost unusable IMHO and should probably be >replaced> by better filters in the future (while keeping the old ones for >compatibility reasons). how about bob~? 2016-10-14 21:34 GMT-03:00 Christof Ressi : There are a number of big problems with all build-in filters in Pd (expect for the raw filters). Problem number 1: [lop~] and [hip~] both use a weird (you could also say: wrong) formula for the cutoff frequency which makes them gradually converge to a fixed output state (reached by about 7000 Hz). The same is true for [vcf~] and [bp~] with Q <= 1. Therefore the actual cutoff frequency is only correct for very low frequencies and approximately gets more and more off until it doesn't move at all. Problem number 2: [bp~] and [vcf~] don't have zeros at DC and Nyquist. For low Q values, the slope is different for each side and changes with frequency. Problem number 3: the gain at the center frequency is not 1 for both [bp~] and [vcf~]. It rather depends on frequency and Q. [bp~] even has has a gain of 2 for Q <= 1! I did some FFT plots, see the attachment. I remember Miller saying somewhere that these filters are not designed for high cutoff frequencies - but even for low frequencies, the behaviour of [bp~] and [vcf~] is horrible. I can see these filters are mere approximations to reduce CPU usage. [hip~] is indeed much more efficient than iemlib's [hp1~], so it's well suited for DC removal (but not much else). [bp~] only is a little bit more CPU friendly than iemlib's [bp2~] - but the latter one has a correct and stable frequency response. [vcf~], however, is a real CPU sucker!!! 100 [vcf~] objects need 3,40% on my laptop whereas 100 of iemlib's [vcf_bp2~] only need 1,80%! But you have to consider that [vcf_bp2~] not only acts correctly but lets you set the Q at audio rate. The high CPU usage of [vcf~] seems like a bug to me... I only use the vanilla filters for the most basic stuff like DC removal and smoothing. I guess these are the use cases which Miller had in mind and that way [lop~] and [hip~] have their justification (although there should be some more warning about the 'wrong' frequency response in the help file). But [bp~] and [vcf~] are almost unusable IMHO and should probably be replaced by better filters in the future (while keeping the old ones for compatibility reasons). Christof > Gesendet: Freitag, 14. Oktober 2016 um 23:51 Uhr > Von: katja > An: pd-list > Betreff: [PD] could vanilla borrow iemlib's hi pass filter recipe? > > In pd 0.47.1 [hip~] is still not perfect. Attenuation at cutoff is not > constant over the frequency range: -6 dB with cutoff=SR/8, -3 dB with > cutoff=SR/4, 0 DB with cutoff=SR/2. In contrast, iemlib's [hp1~] has > -3 dB at cutoff consistently. > > Could vanilla pd implement iemlib's hipass filter recipe? I don't know > if the license also covers the math. Documentation in > https://git.iem.at/pd/iemlib/ tree/master points to external literature > for part of the math (bilinear transform). I've implemented the recipe > with vanilla objects for comparison, see attached. > > Katja > __ _ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> https://lists.puredata.info/ > listinfo/pd-list > __ _ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/ listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management
Re: [PD] could vanilla borrow iemlib's hi pass filter recipe?
PS - I normally use cyclone/svf~ in my objects, but there is a good argument for a decent state-variable filter included in vanilla I think.Ed On Sunday, 16 October 2016, 4:52, Ed Kellywrote: Hey people, While I'm not an expert with digital filters, I did manage to piece together a decent-sounding ladder emulation instead of vcf~ a while ago. It only does resonant lowpass though. It's called mvcf~ and is found in the ekext externals library. I've since been reading about analogue filter design and I reckon there may be high pass and band pass filters available from the source code, with the correct adjustment to the algorithm. I'm trying to work out how to adjust the coefficients to accurately model the alternative functions (i.e. highpass, and hence bandpass through arithmetic processes) according to the resistance factors outlined in this paper. Any help would be appreciated :) So, currently, at line 78 in the code I have translations for highpass and bandpass (the current implementation is lowpass only with a gain factor) but I may be stupid in not trying this myself (or I've just been super-busy with other stuff!). The idea of implementing the other two modes comes from an Electronotes paper from Bernie Hutchins in the 1970s. This doesn't seem to be free online any more, but I've enclosed it. Take a look.Cheers,Ed Lone Shark releases: Light Vessel Automatic available now on 12" vinyl.Build Your Wings on the Way Down, the new digital album available @ http://scifirecords.co.uk/releases Earthlings compilation is out now @ http://www.pyramidtransmissions.com Ninja Jamm - the revolutionary music remix app for iOS and Android: http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, and Metastudio 5 live composition and improvisation suite, available at http://sharktracks.co.uk/html/software.html On Saturday, 15 October 2016, 22:10, Julian Brooks wrote: And my learning for the day is done. Thanks both On 15 October 2016 at 15:59, katja wrote: Thanks for your pointers Christof. The recipe you mention from arpchord.com is different than iemlib's, but yields identical normalization and feedback coefficients, thus the same beautiful response. As you say, what's in the textbooks is common knowledge and can be used by everyone. Now I'll try to get the same result in C. By the way, [iemlib/hp~] seems to recalculate coefficients for every dsp vector which explains the higher CPU load. Katja On Sat, Oct 15, 2016 at 1:59 PM, Christof Ressi wrote: >> If iemlib's license allows to use the recipe in BSD > > IMHO, the correct formular for the cutoff frequency below (which I guess is > also used in [hp1~] since the frequency response is the same) is 'common > knowledge', so I don't think you'd have to pay attention to any licence. > > >> Gesendet: Samstag, 15. Oktober 2016 um 13:52 Uhr >> Von: "Christof Ressi" >> An: katja , "Miller Puckette" >> Cc: pd-list >> Betreff: Re: [PD] could vanilla borrow iemlib's hi pass filter recipe? >> >> > But coefficients aren't recalculated so >> > often, therefore this difference will be negligible. >> >> That's a good point. You're right that both involve a feedback and >> feedforward, so I'm wondering why [hp1~] needs more CPU... otherwise, >> iemlib's filters are very efficient. >> >> Anyway, I researched a bit and found the reason why the frequency response >> of Pd filters seems 'wrong': >> >> Miller uses a formular for calculating the cutoff frequency which is taken >> from analog filters but is not really adequate for digital filters since it >> doesn't reflect the cyclic nature of the digital domain (although you can >> see it in some articles on digital filters). >> >> Let's take [hip~] as an example: >> >> the formular for a 1-pole 1-zero highpass goes: >> y[n] = (x[n] - x[n-1]) * (1 + k) / 2 + k * y[n-1] >> >> Miller calculates the position of the pole with >> k = 1 - (fc * 2*pi / SR). >> >> The correct formular, however (if you want the frequency response to be zero >> at Nyquist!), would be >> k = (1-sin(a))/cos(a), where a = fc * 2*pi / SR. >> >> You can find it here: http://www.arpchord.com/pdf/ >> coeffs_first_order_filters_ 0p1.pdf >> >> BTW, the reason why [hip~] seems to get stuck at 7018 Hz is because Miller >> clips the coefficient below 0, so it never reaches -1 (where the gain would >> be all zero). >> >> Also, there is another approximation with a similiar behaviour, which goes >> like this: >> k = e^(-2*pi*fc/SR). I could find it here: http://www.dspguide.com/ch19/ >> 2.htm >> Here, the pole can only move from 1 to 0 and doesn't ever reach -1 as well. >> >> Now, is the behaviour of [hip~] 'wrong'? >> If you define at 1-pole 1-zero high pass filter as something which passes >> everything at fc = DC
Re: [PD] [PD-dev] Rewrite wrap~ to allow an extra block
Thanks Pierre. Trying it now. This thing doesn't immediately crash or segfault, so I'm onto a winner eventually :) I understand my brain is slightly more dead than it was. But we can move forward now.Cheers,Ed Lone Shark releases: Light Vessel Automatic available now on 12" vinyl.Build Your Wings on the Way Down, the new digital album available @ http://scifirecords.co.uk/releases Earthlings compilation is out now @ http://www.pyramidtransmissions.com Ninja Jamm - the revolutionary music remix app for iOS and Android: http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, and Metastudio 5 live composition and improvisation suite, available at http://sharktracks.co.uk/puredata On Thursday, 29 September 2016, 12:27, Pierre Guillotwrote: Hi Ed,The prototype of your perform method is wrong. You should have something like:static t_int *wrap_overshoot_tilde_perform( t_int *w){ t_wrap_overshoot_tilde *x = (t_wrap_overshoot_tilde *)(w[1]); t_sample *in = (t_sample *)(w[2]); t_sample *out = (t_sample *)(w[3]); t_int n = (t_int)(w[4]); ... return w+5;} and the dsp_add method should be called like this:dsp_add((t_perfroutine)wrap_ overshoot_tilde_perform, 4, (t_int)x, (t_int)sp[0]->s_vec, (t_int)sp[1]->s_vec, (t_int)sp[0]->s_n); About what you want to do, I would like to help but I'm not sure to understand. I understand that you want that your object performs at the end of the DSP chain (end of the audio block) on a signal that should be computed previously in the DSP chain but as we all know only the Matthew McConaughey from Interstellar has this power :). Cheers, Pierre 2016-09-29 12:00 GMT+02:00 Ed Kelly via Pd-dev : Hey list,I'm tearing my hair out trying to re-write the wrap~ object, so that it doesn't wrap instantly but waits until the end of the audio block to wrap~ the signal. I hope you understand. This is so that control-rate messages sent to another object further down the signal-path have a chance to catch up, and eliminate clicks due to the end-of-block delay for control messages. The idea is that wrap_overshoot~ will not wrap until the end of the block. This is a really tech-y problem, but I've tried variables and clocks. Everything seems to segfault on me. ?Lots of love,Ed PS if this works you'll all be able to use it during and after pdcon16~ __ _ Pd-dev mailing list pd-...@lists.iem.at https://lists.puredata.info/ listinfo/pd-dev ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] Rewrite wrap~ to allow an extra block
Hey list,I'm tearing my hair out trying to re-write the wrap~ object, so that it doesn't wrap instantly but waits until the end of the audio block to wrap~ the signal. I hope you understand. This is so that control-rate messages sent to another object further down the signal-path have a chance to catch up, and eliminate clicks due to the end-of-block delay for control messages. The idea is that wrap_overshoot~ will not wrap until the end of the block. This is a really tech-y problem, but I've tried variables and clocks. Everything seems to segfault on me. ?Lots of love,Ed PS if this works you'll all be able to use it during and after pdcon16~ #include "m_pd.h" typedef struct wrap_overshoot_tilde { t_object x_obj; t_float x_f; int overShoot, shootFlag, k_i; t_float token, storeLast; t_sample f_s; t_clock *x_clock; } t_wrap_overshoot_tilde; t_class *wrap_overshoot_tilde_class; void wrap_overshoot_tilde_tick(t_wrap_overshoot_tilde *x) { x->shootFlag = 1; } static void *wrap_overshoot_tilde_new(void) { t_wrap_overshoot_tilde *x = (t_wrap_overshoot_tilde *)pd_new(wrap_overshoot_tilde_class); outlet_new(>x_obj, gensym("signal")); x->x_f = 0; x->overShoot = 0; x->shootFlag = 0; x->f_s = 0; x->k_i = 0; x->storeLast = 0; x->x_clock = clock_new(x, (t_method)wrap_overshoot_tilde_tick); return (x); } static t_int *wrap_overshoot_tilde_perform(t_int *w, t_wrap_overshoot_tilde *x) { t_sample *in = *(t_sample **)(w+1), *out = *(t_sample **)(w+2); t_int n = *(t_int *)(w+3); /*if(x->overShoot > 0) { x->shootFlag = 1; // x->overShoot = 0; } else if(x->overShoot == 0) { x->shootFlag = 1; }*/ // else if(x->overShoot == 0) x->shootFlag = 0; while(n--) { x->f_s = *in++; x->k_i = x->f_s; if (x->storeLast < 1 && (x->f_s - x->k_i) >= 1) { // *out++ = x->f_s - x->k_i; clock_delay(x->x_clock, 0); } if(x->shootFlag == 1) { *out++ = x->f_s - x->k_i; } else if (x->f_s > 0) *out++ = x->f_s - x->k_i; else *out++ = x->f_s - (x->k_i - 1); x->storeLast = (float)(x->f_s - x->k_i); } if(x->shootFlag == 1) x->shootFlag = 0; return (w + 4); } static void wrap_overshoot_tilde_dsp(t_wrap_overshoot_tilde *x, t_signal **sp) { dsp_add(wrap_overshoot_tilde_perform, 3, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n); } void wrap_overshoot_tilde_setup(void) { wrap_overshoot_tilde_class = class_new(gensym("wrap_overshoot~"), (t_newmethod)wrap_overshoot_tilde_new, 0, sizeof(t_wrap_overshoot_tilde), CLASS_DEFAULT, A_DEFFLOAT, 0); CLASS_MAINSIGNALIN(wrap_overshoot_tilde_class, t_wrap_overshoot_tilde, x_f); class_addmethod(wrap_overshoot_tilde_class, (t_method)wrap_overshoot_tilde_dsp, gensym("dsp"), A_CANT, 0); } ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] Pd vanilla problem on Debian
Hey list, I've got Pd-l2ork on my debian distro. It's great, but I've noticed than some of my GUI-heavy patches are pretty unusable on this, so I've tried to install Pd-vanilla alongside it, both through Debian repos and by compiling from source. I get this error message when I try to run Pd from the command line:Error in startup script: couldn't read file "/usr/lib/pd/tcl//pd-gui.tcl": no such file or directoryAny clue as to what's up?Cheers,Ed Lone Shark releases: Light Vessel Automatic available now on 12" vinyl.Build Your Wings on the Way Down, the new digital album available @ http://scifirecords.co.uk/releases Earthlings compilation is out now @ http://www.pyramidtransmissions.com Ninja Jamm - the revolutionary music remix app for iOS and Android: http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, and Metastudio 5 live composition and improvisation suite, available at http://sharktracks.co.uk/puredata___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Ninja Jamm [was] Re: In support of my paper
Oooh, I don't know! The .apk is hosted on g-play, and I don't think there are plans to make it available through other means. While I'm not responsible for the Android version (actually I'm only responsible for most of the audio engine) I can mention this to Antoine who maintains that version next time we have our regular Skype meeting. We're trying to keep things simple with regards to distribution, and Android is indeed a headache since it involves a gazillion different devices with different hardware configs. Of course in an ideal world the infrastructure would not be controlled by a handful of huge corporations, but this is out of my hands. I'll let you know if there's any change to this issue. Cheers,Ed Lone Shark releases: Light Vessel Automatic available now on 12" vinyl.Build Your Wings on the Way Down, the new digital album available @ http://scifirecords.co.uk/releases Earthlings compilation is out now @ http://www.pyramidtransmissions.com Ninja Jamm - the revolutionary music remix app for iOS and Android: http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, and Metastudio 5 live composition and improvisation suite, available at http://sharktracks.co.uk/puredata On Sunday, 4 September 2016, 11:18, Julian Brooks <jbee...@gmail.com> wrote: Hi Ed, Is there a direct download of Ninja Jamm available (or other store)? I'm (slowly) attempting to de-google my life and would like to not have g-play on my Jolla mobile phone. Although running the Jolla O.S. 'Sailfish' (an Opensuse fork), the phone has Alien Dalvik for running android apps. Here's hoping. Regards, Julian On 26 August 2016 at 23:34, Ed Kelly via Pd-list <pd-list@lists.iem.at> wrote: Sorry not to include references in one of my papers.Just published here:Take 1Enjoy! | | | | | | | | | | | Take 1 | | | | View on www.youtube.com | Preview by Yahoo | | | | | Lone Shark releases: Light Vessel Automatic available now on 12" vinyl.Build Your Wings on the Way Down, the new digital album available @ http://scifirecords.co.uk/ releases Earthlings compilation is out now @ http://www. pyramidtransmissions.com Ninja Jamm - the revolutionary music remix app for iOS and Android: http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, and Metastudio 5 live composition and improvisation suite, available at http://sharktracks.co.uk/ puredata __ _ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/ listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Package and sources for complex-mod~ and hilbert~ ?
Ah foobar. Sorry, this is how I found [import] to work.I must update my neurons to the 2016 scheme.Ed On Wednesday, 31 August 2016, 14:36, IOhannes m zmölnig <zmoel...@iem.at> wrote: On 08/31/2016 03:20 PM, Ed Kelly via Pd-list wrote: > This will make the [declare] object the first object in the Pd patch? why should that be needed? [declare] has a built-in mechanism to get called first when a patch is loaded, regardless of whether the object was created first, last or somewhen between. gfmasdr IOhannes ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] Paper submission, camera-ready?
Hi Jaime, Will there be a "camera-ready" submission after the announcement date as there is with ICMC? I have references to add, and to update links on the papers I submitted.Also, it would be great to do poster/demo sessions with both the papers I submitted. Is this exclusively paper or demo? or could I do both? Cheers,Ed Kelly Lone Shark releases: Light Vessel Automatic available now on 12" vinyl.Build Your Wings on the Way Down, the new digital album available @ http://scifirecords.co.uk/releases Earthlings compilation is out now @ http://www.pyramidtransmissions.com Ninja Jamm - the revolutionary music remix app for iOS and Android: http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, and Metastudio 5 live composition and improvisation suite, available at http://sharktracks.co.uk/puredata___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Package and sources for complex-mod~ and hilbert~ ?
Perhaps this is a bug with the 64bit version of Pd. I don't know. I've noticed though, that when using my Metastudio abstractions in newer distributions of Pd (L2ork, vanilla with separately compiled externals) I often have to [import] objects or [declare] paths in order to load them. If you are using earlier patches you have made, then what you can do is create the [declare] object with your path e.g. [declare -stdpath /Applications/Pd-0.47-1-64bit.app/Contents/Resources/extra], then select all, un-select the [declare] object, cut and then paste the rest of the objects. This will make the [declare] object the first object in the Pd patch, and the rest should work as it did before. I'm gradually worming through my Metastudio abstractions to make them compatible with whatever version is being used by whomever downloads them (provided they have the externals installed).Cheers,Ed Lone Shark releases: Light Vessel Automatic available now on 12" vinyl.Build Your Wings on the Way Down, the new digital album available @ http://scifirecords.co.uk/releases Earthlings compilation is out now @ http://www.pyramidtransmissions.com Ninja Jamm - the revolutionary music remix app for iOS and Android: http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, and Metastudio 5 live composition and improvisation suite, available at http://sharktracks.co.uk/puredata On Monday, 29 August 2016, 22:05, Alexandre Torres Porreswrote: 2016-08-29 17:43 GMT-03:00 Miller Puckette : It should be automatically found by Pd as long as "use standard extensions" is checked in the "path" preferences dialog (which it normally should be by default). oh, didnt know about this box, unchecked it and yep, no dice... :) ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] In support of my paper
Sorry not to include references in one of my papers.Just published here:Take 1Enjoy! | | | | | | | | | | | Take 1 | | | | View on www.youtube.com | Preview by Yahoo | | | | | Lone Shark releases: Light Vessel Automatic available now on 12" vinyl.Build Your Wings on the Way Down, the new digital album available @ http://scifirecords.co.uk/releases Earthlings compilation is out now @ http://www.pyramidtransmissions.com Ninja Jamm - the revolutionary music remix app for iOS and Android: http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, and Metastudio 5 live composition and improvisation suite, available at http://sharktracks.co.uk/puredata___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] canvas_makefilename() returns error
Hey Jamie, You making a notation library? Ed Ninja Jamm - a revolutionary new music remix app from Ninja Tune and Seeper, for iPhone and iPad http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/ On Monday, 30 June 2014, 6:42, Jaime E Oliver via Pd-list pd-list@lists.iem.at wrote: Ah, yes, I see now. I solved it by adding: x-x_canvas = canvas_getcurrent(); in _new thanks! J On Jun 29, 2014, at 11:56 PM, Jonathan Wilkes jancs...@yahoo.com wrote: It's hard to say without seeing the code. Does x-x_canvas actually point to a canvas? The error seems to be telling you it isn't. (Consistency check errors come from the bug() function. Generally they occur when an argument, struct, or struct field is checked for existence and fails that check.) -Jonathan On Sunday, June 29, 2014 9:25 PM, Jaime E Oliver jaime.oliv...@gmail.com wrote: Yes, in the main struct x_canvas is created as: t_canvas *x_canvas; So, I think that is not the problem. J On Jun 29, 2014, at 8:00 PM, Jonathan Wilkes jancs...@yahoo.com wrote: Well, it expects a t_canvas *, so if you send it something else it will trigger the error. -Jonathan On Sunday, June 29, 2014 8:47 PM, Jaime E Oliver via Pd-list pd-list@lists.iem.at wrote: Hi all, I am trying to use the canvas_makefilename() function in g_canvas.c I am calling it like this: static void lilypond_write(t_lilypond *x, t_symbol *s) { char buf[MAXPDSTRING]; canvas_makefilename(x-x_canvas, s-s_name, buf, MAXPDSTRING); } but when I send the object a message such as [write test.txt( or similar, I get: error: consistency check failed: canvas_getenv Bus error: 10 The method is set up like this: class_addmethod(lilypond_class, (t_method)lilypond_write, gensym(write), A_SYMBOL, 0); Anybody has any suggestion? best, J PS Sorry for pestering everyone with this, but there is little documentation on some of the functions in Pd. Perhaps this thread belong in the Pd-Dev list? ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Legal restrictions for apps
Ah well. I'll just have to write a new one based on pd source code and first-principles! That's what happens... Ed Ninja Jamm - a revolutionary new music remix app from Ninja Tune and Seeper, for iPhone and iPad http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/ On Monday, 9 June 2014, 23:00, Ed Kelly morph_2...@yahoo.co.uk wrote: OK, so I realise I've made a fundamental mistake here. For the latest update of the Pd patch I make for Ninja Tune, I used iem16. Looking at it now I realise that it has a GPL, not an LGPL license. So, I can't use it right? They won't release the source code for the entire app! Oh shit. This is really serious! Best, Ed Ninja Jamm - a revolutionary new music remix app from Ninja Tune and Seeper, for iPhone and iPad http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/ On Thursday, 6 February 2014, 8:11, Jonathan Wilkes jancs...@yahoo.com wrote: On 02/05/2014 08:56 PM, Simon Wise wrote: On 06/02/14 00:36, Dan Wilcox wrote: Short answer: yes, it's sufficient to provide the object files and static libs As far as my understanding of GPL LGPL goes, you do not need to publish your app sources when using LGPL libraries as the Lesser part of the LGPL allows for distribution and is not viral. yes, though 'viral' is a misleading term ... the GPL does not, cannot, change any license for any other code, it is not infectious. The GPL is certainly more restrictive (regarding re-distribution, not use, of the code covered) than for example the BSD or LGPL. It restricts the right to distribute/propagate as part of a larger work to works where the whole of the source code of that work is made available for reuse, modification and re-distribution either under the GPL or in any less restrictive way. In the second case the GPLed code would no longer be licensed for distribution (and would have to be replaced or dropped or a different license negotiated with its copyright owners) if the work as a whole was modified and distributed with a more restrictive license. Whether this is useful or not has been very widely debated. There are two debates. One is between devs who license their code with the GPL and devs who license their code with 3-clause BSD. Both share what they make with the world. Both keep publicly auditable databases of the changes to the software. Both encourage smart, safe ways to design and maintain software and operating systems. BSD devs notice that when they share with GPL devs, the GPL devs say, Thanks. But when the BSD devs try to use what the GPL devs write they have to fuss with the license. This is because the GPL essentially puts the golden rule into the license, whereas the BSD devs have a minimal license (probably as minimal as a license can be) and just follow the golden rule as human beings. There are good reasons for both camps to do what they do, but it ends up requiring the BSD folks to care more about licenses than they'd like-- their license is only 3 clauses, after all! So the BSD camp complains that when the GPL devs (like Linux Kernel devs) improve on code that was originally BSD, it comes back to the BSD folks infected with the GPL license which requires them to then care about licenses. This is where the viral taunt comes from-- a genuine argument between two camps, both sharing what they make with everyone else to encourage a free and safe software ecosystem. Another debate is between any company that produces proprietary software and a straw man in a corn field. Here viral is irrelevant because the company isn't giving improvements back to the community. Unfortunately this is probably what first pops to mind when people hear this argument-- that, somehow, the GPL can infect the business of selling a product and make it impossible for a company to make money. But for better or for worse, we don't even need to consider minimal moral principles. It's demonstrably dangerous to rely on software that doesn't have a pubic codebase and revision history. (Unfortunately I think it's for the better since most devs seem allergic to stating minimal moral principles.) -Jonathan The motivation for the GPL is stated in the license and the LGPL was written to cover some cases where the authors considered a less restrictive license useful. Simon ___ pd-l...@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ pd-l...@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -