[PD] Phase Distortion Patch
# Hi, while I was looking some examples for my chip design class I came across with this site: http://www.fpga.synth.net/pmwiki/pmwiki.php?n=FPGASynth.PhaseDistortionOscillator where it talks about the idea of Phase Distortion Oscillator: http://en.wikipedia.org/wiki/Phase_distortion_synthesis # I made a very simple implementation of it with Pure Data. (Actually PD is very fast for realizing the ideas!) And want to share it. # I am attaching the patch: PhaseDistortion.pd There are two tables with the same length. First table includes the phase values of the sin function, ie. if the n.th point in the first table has the value x_n then n.th point in the second has the value of sin(2*pi*x_n). My patch is not versatile. It has only one parameter for manipulating the first table. You can change it with the slider and see its effects. (There is some aliasing, because I did not used any interpolation for reading from the table) # Have a nice day! -ugur- #N canvas 206 4 580 616 10; #N canvas 0 0 450 300 (subpatch) 0; #X array phdist 2048 float 0; #X coords 0 1 2047 -1 200 150 1; #X restore 332 365 graph; #X obj 82 18 until; #X msg 82 -5 2048; #X obj 82 61 f; #X msg 112 39 0; #X obj 118 60 + 1; #X obj 82 -26 t b b; #X obj 61 -27 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #N canvas 0 0 450 300 (subpatch) 0; #X array phase 2048 float 0; #X coords 0 1 2047 0 150 150 1; #X restore 90 364 graph; #X obj 82 84 t f f; #X obj 80 151 tabwrite phase; #X obj 425 19 until; #X msg 425 -4 2048; #X obj 427 63 f; #X msg 455 40 0; #X obj 461 61 + 1; #X obj 425 -25 t b b; #X obj 404 -26 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 425 85 t f f; #X obj 425 114 tabread phase; #X obj 425 150 expr sin(2*3.141592*$f1); #X obj 424 193 tabwrite phdist; #X obj 78 330 dac~; #X obj 84 221 phasor~ 110; #X obj 84 246 *~ 2047; #X obj 136 291 hsl 50 15 0 1 0 0 empty empty empty -2 -8 0 10 -260097 -1 -1 1470 1; #X obj 80 107 / 2048; #X floatatom 229 53 5 0 0 0 - - -; #X obj 229 73 t b b f; #X obj 78 128 expr if($f1.5 \, $f1*$f2*2 \, $f2+($f1-.5)*(1-$f2)*2) ; #X obj 194 -11 hsl 128 15 0.25 0.75 0 0 empty empty empty -2 -8 0 10 -260097 -1 -1 5700 1; #X obj 132 331 line~; #X obj 133 310 pack f 50; #X obj 83 304 *~; #X obj 230 32 line; #X obj 229 12 pack f 100; #X obj 16 0 loadbang; #X msg 47 22 0.6; #X msg 17 22 0.3; #X msg 8 130 \; pd dsp \$1; #X obj 8 95 tgl 30 0 empty empty empty 17 7 0 10 -260097 -1 -1 1 1 ; #X obj 86 198 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -8 0 10 -260097 -1 -1 321 256; #X obj 83 267 tabread~ phdist; #X text 75 514 chosen x values of sin function; #X connect 1 0 3 0; #X connect 2 0 1 0; #X connect 3 0 5 0; #X connect 3 0 9 0; #X connect 4 0 3 1; #X connect 5 0 3 1; #X connect 6 0 2 0; #X connect 6 1 4 0; #X connect 7 0 6 0; #X connect 9 0 26 0; #X connect 9 1 10 1; #X connect 11 0 13 0; #X connect 12 0 11 0; #X connect 13 0 15 0; #X connect 13 0 18 0; #X connect 14 0 13 1; #X connect 15 0 13 1; #X connect 16 0 12 0; #X connect 16 1 14 0; #X connect 17 0 16 0; #X connect 18 0 19 0; #X connect 18 1 21 1; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 23 0 24 0; #X connect 24 0 42 0; #X connect 25 0 32 0; #X connect 26 0 29 0; #X connect 27 0 28 0; #X connect 28 0 17 0; #X connect 28 1 7 0; #X connect 28 2 29 1; #X connect 29 0 10 0; #X connect 30 0 35 0; #X connect 31 0 33 1; #X connect 32 0 31 0; #X connect 33 0 22 0; #X connect 33 0 22 1; #X connect 34 0 27 0; #X connect 35 0 34 0; #X connect 36 0 38 0; #X connect 36 0 37 0; #X connect 37 0 30 0; #X connect 38 0 25 0; #X connect 40 0 39 0; #X connect 41 0 23 0; #X connect 42 0 33 0; ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Phase Distortion Patch
Uğur Güney wrote: You can change it with the slider and see its effects. (There is some aliasing, because I did not used any interpolation for reading from the table) I get some crackling noise when I move the slider, is this what you're talking about? It would be cool to avoid this, since I imagine this being highly useful if wrapped up in an abstraction, with modulateable phase distortion (like modulating a lpf in subtractive synthesis). If I find some time over the next few days, I'll look into this. Thanks for sharing! -- peace, love harmony Atte http://atte.dk | http://myspace.com/attejensen http://anagrammer.dk | http://modlys.dk ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Phase Distortion Patch
i did a patch a while back that uses something similar to the phase distortion algorithm used by casio cz-series synthesizers: http://puredata.hurleur.com/sujet-648-casio-sounds-gets-emulated ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] pd-extended 0.40.3 ui performance
Hans-Christoph Steiner wrote: Also, I forgot to mention, could you try a very old auto-build to see if that has the same slowness: http://autobuild.puredata.info/auto-build/ If you find that the oldest is not slow, then narrowing down the date range would help a lot. i just downloaded the oldest i could find with an OSX/Intel build (2008-01-08) and got exactly the same problem. -- damian stewart | +31 6 5902 5782 | [EMAIL PROTECTED] frey | live art with machines | http://www.frey.co.nz ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] pd-extended 0.40.3 ui performance
Hans-Christoph Steiner wrote: Other people have reported this, but I haven't been able to reproduce it. Please create a bug report in the tracker and submit an example patch. (For whatever reason, no one has done that yet, despite my requests). Then I'll take a look at it. bug submitted - request id 2005761 -- damian stewart | +31 6 5902 5782 | [EMAIL PROTECTED] frey | live art with machines | http://www.frey.co.nz ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] pd-extended 0.40.3 ui performance
Hans-Christoph Steiner wrote: Other people have reported this, but I haven't been able to reproduce it. Please create a bug report in the tracker and submit an example patch. (For whatever reason, no one has done that yet, despite my requests). Then I'll take a look at it. are you on Linux? the problem probably won't show up on Linux, because of the relationship between Tk and Xlib: (from the website of the TkGS project http://membres.lycos.fr/fbonnet/Tcl/TkGS/introduction.htm , sadly stalled since 2000) So what is the problem with the XLEL? Porting part of the Xlib to new platforms was a good idea in the beginning because it allowed for easier porting of the many existent Tk applications. The counterpart is that one had to use the Xlib graphics model on all platforms to remain portable, and that is the main cause of the XLEL inadequacy: bad performances. Tk is notably slower on platforms other than native X-Window systems. But this lack of performance is not due to the XLEL itself, but to the way it uses the native graphics system. The Xlib uses a fundamentally stateless model, whereas Windows and MacOS use state-based models. For example, to draw a shape, a Xlib application calls a drawing primitive such as XDrawRectangle() and passes the drawing parameters as arguments in the form of a Graphics Context (GC), a structure that contains all the drawing parameters such as foreground color or font. On Windows, one has first to create objects such as brushes, pens, fonts, then select these objets that will be used by all the subsequent primitives such as Rectangle(). These objects are selected into a Device Context (DC) that has to be created before any drawing and released after, holding the state in the meantime. These operations are costy and thus should be done once for all before any primitive is called. Besides, since they are available in rather limited resources, one has to be careful to free them all once the drawing operation is complete. Since The Xlib uses a stateless model, the XLEL has no choice but to re-create a valid drawing context (eg. a DC on Windows) from its GC values at every drawing operation. That way, costy operations that were intended to be called once before any number of drawing primitives (ie in O(1) time), are called for every primitive (ie in O(n) time), even if the drawing parameters are the same. Thus the relatively bad performances of Windows and MacOS Tk (even on the same hardware). A solution would be to use caching schemes to avoid useless re-creation of drawing structures. Leo Schubert's speedpatch for Tk 8.0 uses this kind of technique (it stores the internal GDI objects into the GC structure). Although the results are impressive in term of performances, these techniques have several drawbacks: ... -- damian stewart | +31 6 5902 5782 | [EMAIL PROTECTED] frey | live art with machines | http://www.frey.co.nz ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Pd-0.40.3-extended-rc3 released
http://at.or.at/hans/pd/installers.html This release candidate includes: - some fixes for [hid] and mapping objectclasses. - a striped down universal binary of Tcl/Tk on Mac OS X to the one cpu type - included config in Info.plist for the Spotlight Importer - other minor bug fixes Changelog - next visual appearance designed for readability - default locations for user-installed externals, helpfiles, etc. GNU/Linux: /usr/local/lib/pd-externals and ~/pd-externals Mac OS X: /Library/Pd and ~/Library/Pd Windows: %ProgramFiles%/Common Files/Pd and %UserProfile%/ Application Data/Pd - lots of standard key bindings added: Enter/Return for OK Escape for Cancel Ctrl/Cmd-W closes all windows on Mac OS X, Cmd-` cycles thru open windows on Mac OS X, Cmd-m minimizes windows Ctrl/Cmd-R raises/lowers Pd window Ctrl/Cmd-Shift-R shrinks/grows Pd window Ctrl/Cmd-Shift-L clears Pd window's text console Ctrl/Cmd-B opens the Help Browser - you can now use ~ in all paths to mean home folder, and on Windows you can use environment variables, lie %UserProfile% in paths - Cut/Copy/Paste now work directly into object and message boxes on all platforms - fixed Cut/Copy/Paste for the Pd window's console - [declare] and [import] now sorted out for loading (but much work needs to be done before there namespace support is complete) - File - Save As defaults to the Home folder (~/) on Mac OSX - new patches default to the folder last saved in - included pgp_opengl aka 3dp on GNU/Linux and Mac OS X - 'hardware' and 'deprecated' removed from libraries loaded by default - On Debian/Ubuntu, the packages now install into /usr rather than / usr/local - On Mac OS X, you can now build standalone applications from the File menu. - bug fixes and clean up of [hid] and mapping externals KNOWN BUGS - check http://puredata.info/dev/bugtracker before reporting bugs - Escape, Enter, and Ctrl/Cmd-W don't close the Path and Startup preferences - pdp_opengl is alpha and will definitely crash Pd - loading pdp_opengl will crash Pd if X11 is not open before trying to load it - the GUI runs slower in some situations If nature has made any one thing less susceptible than all others of exclusive property, it is the action of the thinking power called an idea, which an individual may exclusively possess as long as he keeps it to himself; but the moment it is divulged, it forces itself into the possession of everyone, and the receiver cannot dispossess himself of it.- Thomas Jefferson ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] pd-extended 0.40.3 ui performance
On Jun 29, 2008, at 11:56 AM, Damian Stewart wrote: Hans-Christoph Steiner wrote: Other people have reported this, but I haven't been able to reproduce it. Please create a bug report in the tracker and submit an example patch. (For whatever reason, no one has done that yet, despite my requests). Then I'll take a look at it. are you on Linux? the problem probably won't show up on Linux, because of the relationship between Tk and Xlib: I use Ubuntu, Debian, and Mac OS X. TkGS isn't really relevant anymore. With Tcl/Tk 8.5 has big improvements on Mac OS X, I believe they completed the port from the old Carbon graphics to the current CoreGraphics. Thanks for the bug report! .hc (from the website of the TkGS project http://membres.lycos.fr/fbonnet/Tcl/TkGS/introduction.htm , sadly stalled since 2000) So what is the problem with the XLEL? Porting part of the Xlib to new platforms was a good idea in the beginning because it allowed for easier porting of the many existent Tk applications. The counterpart is that one had to use the Xlib graphics model on all platforms to remain portable, and that is the main cause of the XLEL inadequacy: bad performances. Tk is notably slower on platforms other than native X-Window systems. But this lack of performance is not due to the XLEL itself, but to the way it uses the native graphics system. The Xlib uses a fundamentally stateless model, whereas Windows and MacOS use state-based models. For example, to draw a shape, a Xlib application calls a drawing primitive such as XDrawRectangle() and passes the drawing parameters as arguments in the form of a Graphics Context (GC), a structure that contains all the drawing parameters such as foreground color or font. On Windows, one has first to create objects such as brushes, pens, fonts, then select these objets that will be used by all the subsequent primitives such as Rectangle(). These objects are selected into a Device Context (DC) that has to be created before any drawing and released after, holding the state in the meantime. These operations are costy and thus should be done once for all before any primitive is called. Besides, since they are available in rather limited resources, one has to be careful to free them all once the drawing operation is complete. Since The Xlib uses a stateless model, the XLEL has no choice but to re-create a valid drawing context (eg. a DC on Windows) from its GC values at every drawing operation. That way, costy operations that were intended to be called once before any number of drawing primitives (ie in O(1) time), are called for every primitive (ie in O(n) time), even if the drawing parameters are the same. Thus the relatively bad performances of Windows and MacOS Tk (even on the same hardware). A solution would be to use caching schemes to avoid useless re-creation of drawing structures. Leo Schubert's speedpatch for Tk 8.0 uses this kind of technique (it stores the internal GDI objects into the GC structure). Although the results are impressive in term of performances, these techniques have several drawbacks: ... -- damian stewart | +31 6 5902 5782 | [EMAIL PROTECTED] frey | live art with machines | http://www.frey.co.nz Access to computers should be unlimited and total. - the hacker ethic ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] Pd-0.40.3-extended-rc2 released
Please submit a bug report. I haven't been able to reproduce the slowness on Ubuntu or Mac OS X. .hc On Jun 29, 2008, at 3:19 AM, hard off wrote: 10 minutes to load a patch that used to take 10-15 seconds!! also, a minor bug: when i first opened the application, i couldn't access the preferences without opening an untitled patch first. and then, when i added my abstractions directory to the paths, pd froze. i did a 'force quit', and reopened pd, and the new path seems to have been added ok though. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/ listinfo/pd-list ¡El pueblo unido jamás será vencido! ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] Pd-0.40.3-extended-rc2 released
Oops, and include an example patch. .hc On Jun 29, 2008, at 3:19 AM, hard off wrote: 10 minutes to load a patch that used to take 10-15 seconds!! also, a minor bug: when i first opened the application, i couldn't access the preferences without opening an untitled patch first. and then, when i added my abstractions directory to the paths, pd froze. i did a 'force quit', and reopened pd, and the new path seems to have been added ok though. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/ listinfo/pd-list Free software means you control what your computer does. Non-free software means someone else controls that, and to some extent controls you. - Richard M. Stallman ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Phase Distortion Patch
Ugur, here is your original patch with the expr converted into expr~ also, you can get some really cool resonant filter sort of sounds by really distorting the phase (like 10 times). i added a slider for that too. PhaseDistortion-expr~.pd Description: Binary data ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] Pd-0.40.3-extended-rc2 released
hans, i have found the source of my problem. sorry for not adding this to the bug-tracker, as i don't check that, but i do check this mailing list often. for some totally weird reason, this version of extended won't let me load sssad.pd i added the path to the sssad folder, and that's no problem. but when i try to create a sssad object, the following happens: pd 'thinks' for about 10 seconds, then the console is bombarded with: libdir_loader: added 'sssad' to the canvas-local objectclass path libdir_loader: added 'sssad' to the canvas-local objectclass path libdir_loader: added 'sssad' to the canvas-local objectclass path ...about 1000 times, and then finally says: error: maximum object loading depth 1000 reached sssad ... couldn't create if i change the name of sssad.pd to anything else ( eg. sssad2.pd ) then it loads fine as an abstraction. if i open the sssad.pd patch by itself, then that also works. but for some reason, i cannot create [sssad] as an abstraction in another patch. this is on mac os 10.49 intel ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] Pd-0.40.3-extended-rc2 released
by the way, if i just type gibberish into an object box (eq. [brrgghh] ) then pd only takes about a second to see that as unidentified object and gives me dotted red lines around the object box. i have no idea why sssad would be acting this way. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] Pd-0.40.3-extended-rc2 released
arrghh. sorry for so many mails. one more thing: i did remove my old preference files, so i don't think that's part of the problem. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Phase Distortion Patch
# Your technique of using expr~ and creating the waveform on the fly (rather than trying to calculate it in a table and getting clicks and glitches) is great! Now the parameters are real-time tweakeable, as Atte requested! # The problem using a partial function is the discontinuity in its slope. So, i changed the function used in the expr~ with a gaussian function. The width and height of it are adjustable. You can try. -ugur- On Sun, Jun 29, 2008 at 2:59 PM, hard off [EMAIL PROTECTED] wrote: Ugur, here is your original patch with the expr converted into expr~ also, you can get some really cool resonant filter sort of sounds by really distorting the phase (like 10 times). i added a slider for that too. #N canvas 206 73 727 617 10; #N canvas 0 22 450 300 (subpatch) 0; #X array phase 441 float 0; #X coords 0 1 440 0 150 150 1; #X restore 57 425 graph; #X obj 83 392 dac~; #X obj 127 302 hsl 50 15 0 1 0 1 empty empty empty -2 -8 0 10 -260097 -1 -1 3700 1; #X obj 123 342 line~; #X obj 124 321 pack f 50; #X obj 88 366 *~; #X msg 473 326 \; pd dsp \$1; #X obj 473 291 tgl 30 0 empty empty empty 17 7 0 10 -260097 -1 -1 1 1; #X obj 86 45 nbx 5 14 -1e+037 1e+037 0 1 empty empty empty 0 -8 0 10 -260097 -1 -1 100 256; #X obj 367 -6 hsl 128 15 0 2 0 1 empty empty empty -2 -8 0 10 -260097 -1 -1 3600 1; #X obj 388 70 line~; #X msg 387 45 \$1 50; #X obj 183 256 tabwrite~ phdist; #X msg 149 46 0; #X obj 87 236 -~ 0.25; #X obj 86 71 phasor~ 100; #N canvas 0 22 450 300 (subpatch) 0; #X array phdist 441 float 0; #X coords 0 1 440 -1 200 150 1; #X restore 268 422 graph; #X obj 186 174 tabwrite~ phase; #X obj 138 -22 r graph; #X obj 186 146 r graph; #X obj 185 230 r graph; #X obj 265 368 bng 30 250 50 0 graph --- graph -4 -10 0 14 -260097 -1 -1; #X obj 389 14 hsl 128 15 20 100 0 1 empty empty empty -2 -8 0 10 -260097 -1 -1 300 1; #X msg 86 3 100; #X obj 138 0 t b b; #X obj 88 261 cos~; #X obj 289 277 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 319 46 line~; #X msg 320 20 \$1 50; #X text 505 -7 scaled 0 - 2; #X obj 289 302 metro 1000; #X obj 86 136 +~; #X obj 112 107 expr~ $v2*exp(-$v3*pow($v1-.5 \, 2)); #X text 526 13 scaled 20 - 100; #X connect 2 0 4 0; #X connect 3 0 5 1; #X connect 4 0 3 0; #X connect 5 0 1 0; #X connect 5 0 1 1; #X connect 7 0 6 0; #X connect 8 0 15 0; #X connect 9 0 28 0; #X connect 10 0 32 2; #X connect 11 0 10 0; #X connect 13 0 15 1; #X connect 14 0 25 0; #X connect 15 0 31 0; #X connect 15 0 32 0; #X connect 18 0 24 0; #X connect 19 0 17 0; #X connect 20 0 12 0; #X connect 22 0 11 0; #X connect 23 0 8 0; #X connect 24 0 23 0; #X connect 24 1 13 0; #X connect 25 0 5 0; #X connect 25 0 12 0; #X connect 26 0 30 0; #X connect 27 0 32 1; #X connect 28 0 27 0; #X connect 30 0 21 0; #X connect 31 0 14 0; #X connect 31 0 17 0; #X connect 32 0 31 1; ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Phase Distortion Patch
yeah, that's really lush now. great stuff! ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Phase Distortion Patch
...and you can also get some squelchier sounds by increasing those sliders to a larger range, and playing the phasor~ at lower frequencies. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] sssad in pd-extended [was: Re: [PD-announce] Pd-0.40.3-extended-rc2 released]
Hallo, hard off hat gesagt: // hard off wrote: by the way, if i just type gibberish into an object box (eq. [brrgghh] ) then pd only takes about a second to see that as unidentified object and gives me dotted red lines around the object box. i have no idea why sssad would be acting this way. I remotely remember from some past mail here that the libdir loader doesn't handle objects in libraries that have the same name as the library gracefully. You could try to rename sssad.pd to something else, (like ssad.pd) and check if you can create both [sssad/ssad] and [ssad] objects. If you can, then that problem still remains. Ciao -- Frank Barknecht _ __footils.org__ ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] better tabread4~
On Sat, 28 Jun 2008, hard off wrote: legends of the pd-list gag department: Mattieu: We need a state-saving object class named [jesus]. Iohannes: this might be the reason why i prefer [lop~] over [cool_filter~] and Pd over reactor. Contrary to myself in this case, Johannes is hardly joking. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] HMM library - Chroma Analysys - Midifile dump (was: Midi File Playback)
On Sat, Jun 28, 2008 at 1:27 PM, [EMAIL PROTECTED] wrote: On Sat, Jun 28, 2008 at 8:09 AM, Luigi Rensinghoff [EMAIL PROTECTED] wrote: Seq works fine so far ... but...what about playback speed ?? I'm working on a score following toolkit using the GHMM library for hidden markov models, and as part of it I wrote a simple object called midiopen that takes a midifile and dumps all the data on its outlet. There's a simple PD patch called midiplay.pd that uses the midiopen object to play back a midifile using vline~ to schedule the whole thing. So far I've just written it for my own use and it's very hacky and I think it chokes on sysex messages, but feel free to check it out. The chmm object is something I'm working on to allow the creation of state machines with probabilistic emissions, and the selection of the most likely state sequence given a system and a sequence of emissions. It doesn't work yet, but it's a fun project. release early, release often, right? Compiling the whole thing requires libfftw3 and libghmm, but you can compile just the midiopen object without them. for those interested, there's also an object called chroma~ in there that takes audio input and each time it receives a bang spits out a 12-element list of how much energy it has received in each of the 12 half steps of western classical music since the last bang. check it out with svn co http://pdhmm.googlecode.com/svn/trunk/ pdhmm to compile on linux just type scons to compile on other platformsI'm not sure. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Trax - Sinusoidal Model Synthesis in Pure Data
Hi Rich How is your project going ?? I cant wait to beta-test, what do you think ?? When is it ready to be released or pre-leleased.. Best Luigi Am 29.04.2008 um 17:10 schrieb Rich E: I re-tarred and re-uploaded trax.tar.gz, can you try it again? Sorry about that.. regards, rich On Mon, Apr 28, 2008 at 12:11 PM, Andy Farnell [EMAIL PROTECTED] wrote: On Mon, 28 Apr 2008 11:32:18 -0700 Rich E [EMAIL PROTECTED] wrote: thanks for all the comments. I'd love to hear if people are getting it to work, having problems, making cool sounds, etc. Rich, I had a problem unpacking the source file .tar.gz on Linux. I was going to grab from CVS when I'm not so busy, but just to let you know. a. -- Use the source ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/ listinfo/pd-list ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/ listinfo/pd-list --- Luigi Rensinghoff [EMAIL PROTECTED] skype:gigischinke ichat:gigicarlo ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] sssad in pd-extended [was: Re: [PD-announce] Pd-0.40.3-extended-rc2 released]
frank, that does sound like a source of this error. i think the problem is though, that the sssad abstraction is now included in pd-extended. so the included version would need to be modified in order for it to work. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] better tabread4~
okay, so here's what I came up with... For the original tabread4~, the impulse response and its Fourier Transform: g(t)=I[-2,2](t)*(-1/6*|t|^3 - 2*t^2 - 11/6*|t| + 1) + I[-1,1](t)*(2/3*|t|^3 - 2*t^2 + 4/3*|t|) G(w)= (1/w^2)*(1/3*cos(2w) - 4/3*cos(w) + 1) + (1/w^4)*(2*cos(2w) - 8*cos(w) + 6) and for the most recent version of tabread4c~ h(t)= I[-2,2](t)*(-1/2*|t|^3 + 5/2*t^2 - 4*|t| + 2) + I[-1,1](t)*( 2*|t|^3 - 5*t^2 + 4*|t| - 1) H(w)= (1/w^3)*(2*sin(2*w) - 4*sin(w)) + (1/w^4)*(18 - 24*cos(w) + 6*cos(2*w)) The graphs shown indicate that tabread4c~ has a faster frequency rolloff (at a maximum rate corresponding to the 1/w^3 term). The frequency response for tabread4~ is shown in red, and tabread4c~ is shown in blue. The y-axis is dB attenuation, and the x axis is a logarithmic scale for frequency. 0 corresponds to the location of the Nyquist frequency, and each increment corresponds to an octave. The plot was generated with Octave, and the code is below: f=pi/16:pi/1024:32*pi; g=1./f.^2.*(1/3*cos(2*f)-4/3*cos(f) + 1) + 1./f.^4.*(2*cos(2*f) - 8*cos(f)+6); h=1./f.^3.*(2*sin(2*f)-4*sin(f)) + 1./f.^4.*(18-24*cos(f)+6*cos(2*f)); plot(log(f/pi)/log(2), 20*log(g+0.1)/log(10)) hold on plot(log(f/pi)/log(2), 20*log(h+0.1)/log(10),'b') attachment: spectrum.png___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [pd] where is sssad?
On Fri, Jun 27, 2008 at 07:37:36PM +0200, Frank Barknecht wrote: Hallo, dani hat gesagt: // dani wrote: you mean this? http://mccormick.cx/viewcvs/oldcrap/s-abstractions/sssad/ If your frightended by the oldcrap in that URL (though it's probably harmless), you can get the official version from the Pd SVN at sourceforge in the directory: /trunk/abstractions/footils/sssad Hey Frank, I wonder if it wouldn't be worth putting a very small information page about sssad into the puredata wiki with links to the SVN and how to download it? Just so that people can find sssad using Google. Also, I should probably put an svn:externals link to sssad instead of including it wholesale in my own repository. I guess I could then check my small additions into the main repository. What do you think? Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Trax - Sinusoidal Model Synthesis in Pure Data
Hi Luigi, The SMS library is coming around okay.. and I have a prototyped pd external that synthesizes an sms file in pd, but it doesn't do much else. I'm still straightening a few things in the core processing code before I write the real ones. I am expecting to post the first set of externals at the end of summer, and I'll most definitely let this list know when that happens. By the way, the synthesis is sounding excellent on simple sounds (such as a horn).. sure beats the phase vocoder approach. But analysing more complex sounds (such as a piano note) are going to be tricky at first in real-time. But I'm sure this will smooth out once the correct parameters are found. cheers, Rich On Sun, Jun 29, 2008 at 3:28 PM, Luigi Rensinghoff [EMAIL PROTECTED] wrote: Hi Rich How is your project going ?? I cant wait to beta-test, what do you think ?? When is it ready to be released or pre-leleased.. Best Luigi Am 29.04.2008 um 17:10 schrieb Rich E: I re-tarred and re-uploaded trax.tar.gzhttp://www.teafordragons.com/rte/software/trax.tar.gz, can you try it again? Sorry about that.. regards, rich On Mon, Apr 28, 2008 at 12:11 PM, Andy Farnell [EMAIL PROTECTED] wrote: On Mon, 28 Apr 2008 11:32:18 -0700 Rich E [EMAIL PROTECTED] wrote: thanks for all the comments. I'd love to hear if people are getting it to work, having problems, making cool sounds, etc. Rich, I had a problem unpacking the source file .tar.gz on Linux. I was going to grab from CVS when I'm not so busy, but just to let you know. a. -- Use the source ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list --- Luigi Rensinghoff [EMAIL PROTECTED] skype:gigischinke ichat:gigicarlo ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] sssad in pd-extended [was: Re: [PD-announce] Pd-0.40.3-extended-rc2 released]
Hallo, hard off hat gesagt: // hard off wrote: frank, that does sound like a source of this error. i think the problem is though, that the sssad abstraction is now included in pd-extended. so the included version would need to be modified in order for it to work. pd-extended could rename the path it's installing sssad.pd in, but that would break old patches using the sssad/sssad name to specify the object. Renaming sssad.pd would break even more patches. IMO the libdir loader or whatever is doing the recursive loading has to be modified. Ciao -- Frank Barknecht _ __footils.org__ ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list