Re: [PD] SOLVED!!! Re: pitch to voltage SOLVED!!!
nice changes with expr~ ! but i think you missed the point of the beginning of the patch. read in my first e-mail for an explanation of what this patch does exactly. it is an gr300 analog guitar synthesizer clone (well one voice of it). it is intended for real-life signals so there needs to be an adaptive filter in the beginning (with the pitch info we get from the two rpole~ objects) and the signal needs to be squared to get the longest possible sustain (envelope is re added later obviously). also i think response is faster when squared, or not? thanks for the changes, greatly appreciated! simon Well i know exactly what the Patch does... I just dont know why the two numbers before the Addition Need to be -1 And -2 :-) Will Look at your Version asap. Cheers Am 29.04.2014 um 02:00 schrieb Alexandre Torres Porres por...@gmail.com: I have no idea what the patch is doing either, but I was able to clean it a lot. many things that didn't need to be there cheers 2014-04-28 3:52 GMT-03:00 Simon Iten itensi...@gmail.com: roman, thanks for your inputs. i tried both fexpr and expr and sticked to fexpr at some point, don’t know why though. will change it back! (i remember reading that fexpr was more expensive but also more precise) to make the whole thing work with real world signals (bass guitar in my case) you have to add an adaptive filter in the beginning of the chain (which is very easy because you get the frequency information hehe…) this will filter out overtones and prevent octave jumping. thanks simon On 28 Apr 2014, at 08:39, Roman Haefeli reduz...@gmail.com wrote: That works very well. Good job and thanks for sharing! One minor thing jumped to my eye: Your patch uses some instances of [fexpr~] and all of them actually don't need [fexpr~] functionality. I experienced that [fexpr~] is quite expensive, which seems apparent considering it is designed for feedback algorithms. I don't know if [fexpr~] is also expensive when you use it not for feedbacks as your patch does. Anyway, you could replace them by likely less expensive [expr~] instances: [fexpr~ $x1=0] - [expr~ $v1=0] Roman On Mon, 2014-04-28 at 00:59 +0200, simon wrote: hey miller and list, find attached a version that works beautifully. it's a dirty hack without upsampling but it works extremly well. don't ask me why, i have no idea. thanks for all the help miller, really appreciate it! and thanks for pd in general :-) cheers, simon On Apr 27, 2014, at 8:59 PM, Simon Iten wrote: sorry this one went off-list :-) On 27 Apr 2014, at 19:05, simon itensi...@gmail.com wrote: sure, here is the version with biquad in a subpatch with a block opject to upsample. probably i'm doing something wrong, i just copied from the block help-patch. sinetosawtoothupsample.pd On Apr 27, 2014, at 5:48 PM, Miller Puckette wrote: Drat, I don't have any explanation for this... can you send me the patch again? cheers M On Sun, Apr 27, 2014 at 05:44:22PM +0200, simon wrote: hmm, changing change to biquad does also not work. i mean it does as long as i don't upsample in the subpatch. as soon as i change the block object i get square instead of pulses... On Apr 27, 2014, at 3:48 PM, Miller Puckette wrote: Actually I don't know where the change~ object is from - I've nver seen t before. I would just use biquad~ 0 0 1 -1 0 (assuming that change~ simply ubtracts the previous sample from teh current one as I guessed from the patch :) M On Sun, Apr 27, 2014 at 03:40:01PM +0200, Simon Iten wrote: ok tried to upsample the whole thing (after the osc~) and now change~ does nothing anymore… it just spits out the same square wave i feed in…clues? On 27 Apr 2014, at 13:05, Simon Iten itensi...@gmail.com wrote: crosspost! sorry about the noise. thanks for the inputs i will try to to this. not sure if i can. otherwise i will ask back if that’s ok! On 27 Apr 2014, at 13:03, Simon Iten itensi...@gmail.com wrote: so if i would measure at the peak of the sawtooth and would upsample inside the pd patch, i would get higher resolution, right? any ideas how i can measure at the peak? (using the rpole output on both samphold inputs does not work and delaying one of them is also not working) which i would highly recommend you try this method with your gk-3 equipped guitar (one for each string) since you only have to cover a two octave range per string the error is tolerable. (you can add an offset to make it fit) On 27 Apr 2014, at 12:56, Miller Puckette m...@ucsd.edu wrote: That is an excellent, witty way to measure pulse withs using only tilde obects - my hat's off to you. The methond only has limited accuracy since its measurement is in samples. For instance, a 1/2 cycle of a 440-hz. tone at 44.1 kHz is
Re: [PD] SOLVED!!! Re: pitch to voltage SOLVED!!!
Hi Simon, So your method counts samples per (zero-crossing) cycle, is what I learned from studying the patch. Very nice how you do this with tilde objects. It seems possible to get equivalent result with only one [rpole~], when using the positive pulse as trigger for [samphold~] and with two samples delay for [rpole~]. You get the integrator's maximum everytime. See attached patch. Of course it still counts integer number of samples. Upsampling would indeed improve accuracy. An upsampled signal needs filtering to remove spectral images, did you try that? Katja On Tue, Apr 29, 2014 at 8:10 AM, simon itensi...@gmail.com wrote: nice changes with expr~ ! but i think you missed the point of the beginning of the patch. read in my first e-mail for an explanation of what this patch does exactly. it is an gr300 analog guitar synthesizer clone (well one voice of it). it is intended for real-life signals so there needs to be an adaptive filter in the beginning (with the pitch info we get from the two rpole~ objects) and the signal needs to be squared to get the longest possible sustain (envelope is re added later obviously). also i think response is faster when squared, or not? thanks for the changes, greatly appreciated! simon Well i know exactly what the Patch does... I just dont know why the two numbers before the Addition Need to be -1 And -2 :-) Will Look at your Version asap. Cheers Am 29.04.2014 um 02:00 schrieb Alexandre Torres Porres por...@gmail.com: I have no idea what the patch is doing either, but I was able to clean it a lot. many things that didn't need to be there cheers 2014-04-28 3:52 GMT-03:00 Simon Iten itensi...@gmail.com: roman, thanks for your inputs. i tried both fexpr and expr and sticked to fexpr at some point, don’t know why though. will change it back! (i remember reading that fexpr was more expensive but also more precise) to make the whole thing work with real world signals (bass guitar in my case) you have to add an adaptive filter in the beginning of the chain (which is very easy because you get the frequency information hehe…) this will filter out overtones and prevent octave jumping. thanks simon On 28 Apr 2014, at 08:39, Roman Haefeli reduz...@gmail.com wrote: That works very well. Good job and thanks for sharing! One minor thing jumped to my eye: Your patch uses some instances of [fexpr~] and all of them actually don't need [fexpr~] functionality. I experienced that [fexpr~] is quite expensive, which seems apparent considering it is designed for feedback algorithms. I don't know if [fexpr~] is also expensive when you use it not for feedbacks as your patch does. Anyway, you could replace them by likely less expensive [expr~] instances: [fexpr~ $x1=0] - [expr~ $v1=0] Roman On Mon, 2014-04-28 at 00:59 +0200, simon wrote: hey miller and list, find attached a version that works beautifully. it's a dirty hack without upsampling but it works extremly well. don't ask me why, i have no idea. thanks for all the help miller, really appreciate it! and thanks for pd in general :-) cheers, simon On Apr 27, 2014, at 8:59 PM, Simon Iten wrote: sorry this one went off-list :-) On 27 Apr 2014, at 19:05, simon itensi...@gmail.com wrote: sure, here is the version with biquad in a subpatch with a block opject to upsample. probably i'm doing something wrong, i just copied from the block help-patch. sinetosawtoothupsample.pd On Apr 27, 2014, at 5:48 PM, Miller Puckette wrote: Drat, I don't have any explanation for this... can you send me the patch again? cheers M On Sun, Apr 27, 2014 at 05:44:22PM +0200, simon wrote: hmm, changing change to biquad does also not work. i mean it does as long as i don't upsample in the subpatch. as soon as i change the block object i get square instead of pulses... On Apr 27, 2014, at 3:48 PM, Miller Puckette wrote: Actually I don't know where the change~ object is from - I've nver seen t before. I would just use biquad~ 0 0 1 -1 0 (assuming that change~ simply ubtracts the previous sample from teh current one as I guessed from the patch :) M On Sun, Apr 27, 2014 at 03:40:01PM +0200, Simon Iten wrote: ok tried to upsample the whole thing (after the osc~) and now change~ does nothing anymore… it just spits out the same square wave i feed in…clues? On 27 Apr 2014, at 13:05, Simon Iten itensi...@gmail.com wrote: crosspost! sorry about the noise. thanks for the inputs i will try to to this. not sure if i can. otherwise i will ask back if that’s ok! On 27 Apr 2014, at 13:03, Simon Iten itensi...@gmail.com wrote: so if i would measure at the peak of the sawtooth and would upsample inside the pd patch, i would get higher resolution, right? any ideas how i can measure at the peak? (using the rpole output on both samphold inputs does not
Re: [PD] SOLVED!!! Re: pitch to voltage SOLVED!!!
Katja thanks for your Inputs! Will Look at the Patch tonight. Simple lowpass Filtering? I tried to upsample with a Block object but the biquad object stopped outputting Pulses. If you don't mind doing a Version with upsampling that would be fantastic. Well i just copied from the Gr300 schematic, so no credits for me :) Am 29.04.2014 um 13:12 schrieb katja katjavet...@gmail.com: Hi Simon, So your method counts samples per (zero-crossing) cycle, is what I learned from studying the patch. Very nice how you do this with tilde objects. It seems possible to get equivalent result with only one [rpole~], when using the positive pulse as trigger for [samphold~] and with two samples delay for [rpole~]. You get the integrator's maximum everytime. See attached patch. Of course it still counts integer number of samples. Upsampling would indeed improve accuracy. An upsampled signal needs filtering to remove spectral images, did you try that? Katja On Tue, Apr 29, 2014 at 8:10 AM, simon itensi...@gmail.com wrote: nice changes with expr~ ! but i think you missed the point of the beginning of the patch. read in my first e-mail for an explanation of what this patch does exactly. it is an gr300 analog guitar synthesizer clone (well one voice of it). it is intended for real-life signals so there needs to be an adaptive filter in the beginning (with the pitch info we get from the two rpole~ objects) and the signal needs to be squared to get the longest possible sustain (envelope is re added later obviously). also i think response is faster when squared, or not? thanks for the changes, greatly appreciated! simon Well i know exactly what the Patch does... I just dont know why the two numbers before the Addition Need to be -1 And -2 :-) Will Look at your Version asap. Cheers Am 29.04.2014 um 02:00 schrieb Alexandre Torres Porres por...@gmail.com: I have no idea what the patch is doing either, but I was able to clean it a lot. many things that didn't need to be there cheers 2014-04-28 3:52 GMT-03:00 Simon Iten itensi...@gmail.com: roman, thanks for your inputs. i tried both fexpr and expr and sticked to fexpr at some point, don’t know why though. will change it back! (i remember reading that fexpr was more expensive but also more precise) to make the whole thing work with real world signals (bass guitar in my case) you have to add an adaptive filter in the beginning of the chain (which is very easy because you get the frequency information hehe…) this will filter out overtones and prevent octave jumping. thanks simon On 28 Apr 2014, at 08:39, Roman Haefeli reduz...@gmail.com wrote: That works very well. Good job and thanks for sharing! One minor thing jumped to my eye: Your patch uses some instances of [fexpr~] and all of them actually don't need [fexpr~] functionality. I experienced that [fexpr~] is quite expensive, which seems apparent considering it is designed for feedback algorithms. I don't know if [fexpr~] is also expensive when you use it not for feedbacks as your patch does. Anyway, you could replace them by likely less expensive [expr~] instances: [fexpr~ $x1=0] - [expr~ $v1=0] Roman On Mon, 2014-04-28 at 00:59 +0200, simon wrote: hey miller and list, find attached a version that works beautifully. it's a dirty hack without upsampling but it works extremly well. don't ask me why, i have no idea. thanks for all the help miller, really appreciate it! and thanks for pd in general :-) cheers, simon On Apr 27, 2014, at 8:59 PM, Simon Iten wrote: sorry this one went off-list :-) On 27 Apr 2014, at 19:05, simon itensi...@gmail.com wrote: sure, here is the version with biquad in a subpatch with a block opject to upsample. probably i'm doing something wrong, i just copied from the block help-patch. sinetosawtoothupsample.pd On Apr 27, 2014, at 5:48 PM, Miller Puckette wrote: Drat, I don't have any explanation for this... can you send me the patch again? cheers M On Sun, Apr 27, 2014 at 05:44:22PM +0200, simon wrote: hmm, changing change to biquad does also not work. i mean it does as long as i don't upsample in the subpatch. as soon as i change the block object i get square instead of pulses... On Apr 27, 2014, at 3:48 PM, Miller Puckette wrote: Actually I don't know where the change~ object is from - I've nver seen t before. I would just use biquad~ 0 0 1 -1 0 (assuming that change~ simply ubtracts the previous sample from teh current one as I guessed from the patch :) M On Sun, Apr 27, 2014 at 03:40:01PM +0200, Simon Iten wrote: ok tried to upsample the whole thing (after the osc~) and now change~ does nothing anymore… it just spits out the same square wave i feed in…clues? On 27 Apr 2014, at 13:05, Simon Iten itensi...@gmail.com wrote: crosspost! sorry about the noise. thanks for the inputs i will try to to this. not
[PD] ALSA broken pipe on pd-extended on Beaglebone?
Hi all, I am currently working on an embedded device made up of some hardware, Arduino, Beaglebone running Debian white with audio cape. I am attaching a pd file that works on a laptop. For the beaglebone, basically I change the serial port argument to 4 for [comport] but get a Broken Pipe error *ALSA input error (restart failed): Broken piperestarting input device from state 2ALSA output error (restart failed): Broken pipe* But ALSA seems to be working okay as long as only 1 application tries to use it. I followed most of the directions here to get it working ( http://www.csounds.com/journal/issue18/beagle_pi.html and http://puredata.info/docs/embedded/bbb/) I installed pd-extended by adding the repository to /etc/apt/sources.list with directions from here ( http://puredata.info/docs/faq/debian). I know sound is okay: speaker-test works ok. pd-extended works including sound, at least for a simple patch (also attached). Jack is not installed (doesn't seem necessary for single headless instance of pd-extended). Hmm...any help would be greatly appreciated! David Welch #N canvas 201 177 797 531 10; #X msg 90 35 close; #X obj 90 -27 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; #N canvas 196 116 1013 612 make_my_list 1; #X obj 22 3 inlet; #X obj 298 507 outlet; #X obj 204 470 print; #X obj 293 476 route; #X obj 228 432 repack 13; #X msg 262 113 bang; #X obj 319 137 + 1; #X obj 262 138 float; #X obj 261 54 sel 10; #X obj 183 252 spigot; #X floatatom 234 227 1 0 0 0 - - -; #X msg 321 88 0; #X msg 296 21 10; #X msg 262 211 1; #X text 356 29 making sure it starts reading at beginning of line; #X msg 814 375 bang; #X obj 871 399 + 1; #X obj 814 400 float; #X floatatom 867 428 5 0 0 0 - - -; #X obj 812 302 sel 10 32; #X msg 773 245 10; #X msg 817 260 32; #X msg 772 298 11; #X msg 818 328 -1; #X obj 600 129 table frame; #X floatatom 822 507 0 0 0 0 - - -; #X msg 765 458 bang; #X obj 822 482 + 1; #X obj 765 483 float; #X floatatom 95 545 0 0 0 0 - - -; #X msg 48 467 bang; #X obj 105 491 + 1; #X obj 48 492 float; #X obj 115 516 mod 100; #X obj -19 570 tabwrite frame2; #X obj 678 129 table frame2; #X text 769 38 comment; #X obj 167 292 zl group 67; #X obj 163 324 sprintf %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c ; #X obj 263 175 sel 1; #X connect 0 0 8 0; #X connect 0 0 9 0; #X connect 3 0 1 0; #X connect 3 1 1 0; #X connect 4 0 1 0; #X connect 5 0 7 0; #X connect 6 0 7 1; #X connect 6 0 39 0; #X connect 7 0 6 0; #X connect 8 0 5 0; #X connect 8 1 11 0; #X connect 9 0 37 0; #X connect 10 0 9 1; #X connect 11 0 7 1; #X connect 12 0 8 0; #X connect 13 0 10 0; #X connect 15 0 17 0; #X connect 16 0 17 1; #X connect 16 0 18 0; #X connect 17 0 16 0; #X connect 19 0 23 0; #X connect 19 1 23 0; #X connect 19 2 15 0; #X connect 20 0 19 0; #X connect 21 0 19 0; #X connect 22 0 19 0; #X connect 23 0 17 1; #X connect 23 0 15 0; #X connect 26 0 28 0; #X connect 27 0 25 0; #X connect 27 0 28 1; #X connect 28 0 27 0; #X connect 29 0 34 1; #X connect 30 0 32 0; #X connect 31 0 32 1; #X connect 31 0 33 0; #X connect 32 0 31 0; #X connect 33 0 29 0; #X connect 37 0 38 0; #X connect 38 0 1 0; #X connect 39 0 13 0; #X restore 74 84 pd make_my_list; #X obj 75 108 unpack f f f f f f f f f f f f f f f f f; #X text 109 -28 start polling; #X text 481 22 have fun!; #X text 195 -7 the poll command; #X floatatom 62 615 0 0 0 0 - - -; #X obj 66 585 env~ 16384; #X obj 283 510 *~; #X obj 384 552 line~; #X msg 438 560 0 100; #X text 475 557 off; #X obj 265 587 hip~ 5; #X msg 596 76 \; pd dsp 0; #X obj 266 623 dac~; #X obj 858 97 table array3; #X text 663 85 shut off sound; #X obj 70 532 tabplay~ \$1; #X msg 595 32 \; pd dsp 1; #X floatatom 827 613 5 0 0 0 - - -; #X obj 828 657 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X symbolatom 868 612 10 0 0 0 - - -; #X obj 823 583 key; #X obj 1165 653 soundfiler; #X floatatom 1164 680 0 0 0 0 - - -; #X text 1222 596 click here to load table; #X obj 1156 524 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 1156 551 openpanel; #X msg 1166 619 read -resize \$1 array6 \; pd dsp 1 \;; #X obj 945 29 table array4; #X obj 941 69 table array5; #X obj 945 96 table array6; #X obj 875 642 sel 97 115 100 102 106 107 108 59; #X obj 176 290 tabplay~ \$1; #X obj 414 497 loadbang; #X text 173 17 comment; #X obj 857 29 table array1; #X obj 857 68 table array2; #N canvas 17 149 450 475 modecontrol 0; #X floatatom 145 235 5 0 0 0 - - -; #X msg 177 171 0; #X text 194 128 increment; #X obj 145 207 float; #X obj 203 207 + 1; #X msg 146 129 bang; #X text 215 171 reset; #X floatatom 142 305 5 0 0 0 - - -; #X obj 143 264 mod 4; #X obj 146 346 print; #X obj 151 43 inlet; #X obj 199 312 outlet; #X connect 0 0 8 0; #X connect 1 0 3 1; #X connect 3 0 0 0; #X connect 3 0 4 0; #X connect 4 0 3 1; #X connect 5 0 3 0; #X
Re: [PD] ALSA broken pipe on pd-extended on Beaglebone?
Alsa is only supposed to work with One application at a Time. Am 29.04.2014 um 17:15 schrieb David Welch nicederangem...@gmail.com: Hi all, I am currently working on an embedded device made up of some hardware, Arduino, Beaglebone running Debian white with audio cape. I am attaching a pd file that works on a laptop. For the beaglebone, basically I change the serial port argument to 4 for [comport] but get a Broken Pipe error ALSA input error (restart failed): Broken pipe restarting input device from state 2 ALSA output error (restart failed): Broken pipe But ALSA seems to be working okay as long as only 1 application tries to use it. I followed most of the directions here to get it working (http://www.csounds.com/journal/issue18/beagle_pi.html and http://puredata.info/docs/embedded/bbb/) I installed pd-extended by adding the repository to /etc/apt/sources.list with directions from here (http://puredata.info/docs/faq/debian). I know sound is okay: speaker-test works ok. pd-extended works including sound, at least for a simple patch (also attached). Jack is not installed (doesn't seem necessary for single headless instance of pd-extended). Hmm...any help would be greatly appreciated! David Welch musicalquilt_28Apr14.pd simple_PD_test.pd ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] ALSA broken pipe on pd-extended on Beaglebone?
I am only using it with one app with is pd-extended. On Tue, Apr 29, 2014 at 11:23 AM, Simon Iten itensi...@gmail.com wrote: Alsa is only supposed to work with One application at a Time. Am 29.04.2014 um 17:15 schrieb David Welch nicederangem...@gmail.com: Hi all, I am currently working on an embedded device made up of some hardware, Arduino, Beaglebone running Debian white with audio cape. I am attaching a pd file that works on a laptop. For the beaglebone, basically I change the serial port argument to 4 for [comport] but get a Broken Pipe error *ALSA input error (restart failed): Broken piperestarting input device from state 2ALSA output error (restart failed): Broken pipe* But ALSA seems to be working okay as long as only 1 application tries to use it. I followed most of the directions here to get it working ( http://www.csounds.com/journal/issue18/beagle_pi.html and http://puredata.info/docs/embedded/bbb/) I installed pd-extended by adding the repository to /etc/apt/sources.list with directions from here ( http://puredata.info/docs/faq/debian). I know sound is okay: speaker-test works ok. pd-extended works including sound, at least for a simple patch (also attached). Jack is not installed (doesn't seem necessary for single headless instance of pd-extended). Hmm...any help would be greatly appreciated! David Welch musicalquilt_28Apr14.pd simple_PD_test.pd ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Music notation in pure data
INScore works great for me http://inscore.sourceforge.net/ Tim 2014-04-29 5:21 GMT+02:00 Max abonneme...@revolwear.com: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2014? 04? 29? 09:07, Jonathan Wilkes wrote: I think somebody had one using Gem and dynamic patching. that someone is Ed Kelly http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_music_notation_system_for_pure_data -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlNfGsEACgkQ3EB7kzgMM6KDSwCbBRP53mn0kDf5UAy6sm9iU487 xMQAnjtBN571+jVjRLSp0fN1rubo/a4G =kUcj -END PGP SIGNATURE- ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] ALSA broken pipe on pd-extended on Beaglebone?
Hi, more precisely, The number of simultaneous audio streams (called an application in your message) depends on the soundcard hardware mixer and the driver. In the case of the BeagleBone, this probably sums as 1 hardware mixer == 1 application at a time. Cheers, Charles Simon Iten wrote: Alsa is only supposed to work with One application at a Time. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Music notation in pure data
On 04/28/2014 11:21 PM, Max wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2014? 04? 29? 09:07, Jonathan Wilkes wrote: I think somebody had one using Gem and dynamic patching. that someone is Ed Kelly http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_music_notation_system_for_pure_data Thanks. Here's a demo of a simple Lilypond score imported into Pd-l2ork: https://jwilkes.nfshost.com/notes.webm Benefits of data structures: * no dynamic patching needed * can display the music on a normal canvas * 2d API Drawback: * if you create a new scalar, the drawing instructions have to be sent to the gui. (Even worse, ds-arrays have to redraw the entire array atm.) But one could probably just instantiate a bunch of scalars and vis them as needed. -Jonathan -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlNfGsEACgkQ3EB7kzgMM6KDSwCbBRP53mn0kDf5UAy6sm9iU487 xMQAnjtBN571+jVjRLSp0fN1rubo/a4G =kUcj -END PGP SIGNATURE- ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] SOLVED!!! Re: pitch to voltage SOLVED!!!
Hi Simon, See attachment for an upsampled version. I used a 6th order lo pass filter with cut off at 1/4 of the original sampling rate. This seems to work with max. 8 times upsampling. Period length error is then limited to 1/8 sample. You mentioned adaptive filtering of a real life input signal. Are you planning to control filter cut off frequency with the pitch detection result? Did you already try that? I wonder how that could work at all, because the pitch result comes only after the adaptive filter. Katja On Tue, Apr 29, 2014 at 3:44 PM, Simon Iten itensi...@gmail.com wrote: Katja thanks for your Inputs! Will Look at the Patch tonight. Simple lowpass Filtering? I tried to upsample with a Block object but the biquad object stopped outputting Pulses. If you don't mind doing a Version with upsampling that would be fantastic. Well i just copied from the Gr300 schematic, so no credits for me :) Am 29.04.2014 um 13:12 schrieb katja katjavet...@gmail.com: Hi Simon, So your method counts samples per (zero-crossing) cycle, is what I learned from studying the patch. Very nice how you do this with tilde objects. It seems possible to get equivalent result with only one [rpole~], when using the positive pulse as trigger for [samphold~] and with two samples delay for [rpole~]. You get the integrator's maximum everytime. See attached patch. Of course it still counts integer number of samples. Upsampling would indeed improve accuracy. An upsampled signal needs filtering to remove spectral images, did you try that? Katja On Tue, Apr 29, 2014 at 8:10 AM, simon itensi...@gmail.com wrote: nice changes with expr~ ! but i think you missed the point of the beginning of the patch. read in my first e-mail for an explanation of what this patch does exactly. it is an gr300 analog guitar synthesizer clone (well one voice of it). it is intended for real-life signals so there needs to be an adaptive filter in the beginning (with the pitch info we get from the two rpole~ objects) and the signal needs to be squared to get the longest possible sustain (envelope is re added later obviously). also i think response is faster when squared, or not? thanks for the changes, greatly appreciated! simon Well i know exactly what the Patch does... I just dont know why the two numbers before the Addition Need to be -1 And -2 :-) Will Look at your Version asap. Cheers Am 29.04.2014 um 02:00 schrieb Alexandre Torres Porres por...@gmail.com: I have no idea what the patch is doing either, but I was able to clean it a lot. many things that didn't need to be there cheers 2014-04-28 3:52 GMT-03:00 Simon Iten itensi...@gmail.com: roman, thanks for your inputs. i tried both fexpr and expr and sticked to fexpr at some point, don’t know why though. will change it back! (i remember reading that fexpr was more expensive but also more precise) to make the whole thing work with real world signals (bass guitar in my case) you have to add an adaptive filter in the beginning of the chain (which is very easy because you get the frequency information hehe…) this will filter out overtones and prevent octave jumping. thanks simon On 28 Apr 2014, at 08:39, Roman Haefeli reduz...@gmail.com wrote: That works very well. Good job and thanks for sharing! One minor thing jumped to my eye: Your patch uses some instances of [fexpr~] and all of them actually don't need [fexpr~] functionality. I experienced that [fexpr~] is quite expensive, which seems apparent considering it is designed for feedback algorithms. I don't know if [fexpr~] is also expensive when you use it not for feedbacks as your patch does. Anyway, you could replace them by likely less expensive [expr~] instances: [fexpr~ $x1=0] - [expr~ $v1=0] Roman On Mon, 2014-04-28 at 00:59 +0200, simon wrote: hey miller and list, find attached a version that works beautifully. it's a dirty hack without upsampling but it works extremly well. don't ask me why, i have no idea. thanks for all the help miller, really appreciate it! and thanks for pd in general :-) cheers, simon On Apr 27, 2014, at 8:59 PM, Simon Iten wrote: sorry this one went off-list :-) On 27 Apr 2014, at 19:05, simon itensi...@gmail.com wrote: sure, here is the version with biquad in a subpatch with a block opject to upsample. probably i'm doing something wrong, i just copied from the block help-patch. sinetosawtoothupsample.pd On Apr 27, 2014, at 5:48 PM, Miller Puckette wrote: Drat, I don't have any explanation for this... can you send me the patch again? cheers M On Sun, Apr 27, 2014 at 05:44:22PM +0200, simon wrote: hmm, changing change to biquad does also not work. i mean it does as long as i don't upsample in the subpatch. as soon as i change the block object i get square instead of pulses... On Apr 27, 2014, at 3:48 PM, Miller Puckette wrote: Actually I don't know where the change~ object is from -
Re: [PD] SOLVED!!! Re: pitch to voltage SOLVED!!!
katja, exactly! i filter the input based on the output of the pitch detection. i used this for quite some time with my doublebass (but with a pickup per string) and it works perfectly. i get no octave jumps or glitches at all. the version i shared here is planned to be used for vocals, i have to see if it works as good… the trick is not to filter too much in order to “let through” new notes but enough to filter out strong overtones (mainly octaves). it also helps to have filters in parallel. and of course you cut the range before that in order to fit your input. on a bass string this is very easy since on a double-bass you have a 3 octave range per string you can cut many frequencies before even starting filtering. this is how i did it and it worked. i adapted this system from the gr300 also. there it’s even easier. just two filters per string. one in the lower section (0-7th fret and one from 7-22 fret) they get switched via transistors based on the output voltage of the p/v circuit. they are 2nd order bandpass filters. cheers, simon On 29 Apr 2014, at 19:37, katja katjavet...@gmail.com wrote: Hi Simon, See attachment for an upsampled version. I used a 6th order lo pass filter with cut off at 1/4 of the original sampling rate. This seems to work with max. 8 times upsampling. Period length error is then limited to 1/8 sample. You mentioned adaptive filtering of a real life input signal. Are you planning to control filter cut off frequency with the pitch detection result? Did you already try that? I wonder how that could work at all, because the pitch result comes only after the adaptive filter. Katja On Tue, Apr 29, 2014 at 3:44 PM, Simon Iten itensi...@gmail.com wrote: Katja thanks for your Inputs! Will Look at the Patch tonight. Simple lowpass Filtering? I tried to upsample with a Block object but the biquad object stopped outputting Pulses. If you don't mind doing a Version with upsampling that would be fantastic. Well i just copied from the Gr300 schematic, so no credits for me :) Am 29.04.2014 um 13:12 schrieb katja katjavet...@gmail.com: Hi Simon, So your method counts samples per (zero-crossing) cycle, is what I learned from studying the patch. Very nice how you do this with tilde objects. It seems possible to get equivalent result with only one [rpole~], when using the positive pulse as trigger for [samphold~] and with two samples delay for [rpole~]. You get the integrator's maximum everytime. See attached patch. Of course it still counts integer number of samples. Upsampling would indeed improve accuracy. An upsampled signal needs filtering to remove spectral images, did you try that? Katja On Tue, Apr 29, 2014 at 8:10 AM, simon itensi...@gmail.com wrote: nice changes with expr~ ! but i think you missed the point of the beginning of the patch. read in my first e-mail for an explanation of what this patch does exactly. it is an gr300 analog guitar synthesizer clone (well one voice of it). it is intended for real-life signals so there needs to be an adaptive filter in the beginning (with the pitch info we get from the two rpole~ objects) and the signal needs to be squared to get the longest possible sustain (envelope is re added later obviously). also i think response is faster when squared, or not? thanks for the changes, greatly appreciated! simon Well i know exactly what the Patch does... I just dont know why the two numbers before the Addition Need to be -1 And -2 :-) Will Look at your Version asap. Cheers Am 29.04.2014 um 02:00 schrieb Alexandre Torres Porres por...@gmail.com: I have no idea what the patch is doing either, but I was able to clean it a lot. many things that didn't need to be there cheers 2014-04-28 3:52 GMT-03:00 Simon Iten itensi...@gmail.com: roman, thanks for your inputs. i tried both fexpr and expr and sticked to fexpr at some point, don’t know why though. will change it back! (i remember reading that fexpr was more expensive but also more precise) to make the whole thing work with real world signals (bass guitar in my case) you have to add an adaptive filter in the beginning of the chain (which is very easy because you get the frequency information hehe…) this will filter out overtones and prevent octave jumping. thanks simon On 28 Apr 2014, at 08:39, Roman Haefeli reduz...@gmail.com wrote: That works very well. Good job and thanks for sharing! One minor thing jumped to my eye: Your patch uses some instances of [fexpr~] and all of them actually don't need [fexpr~] functionality. I experienced that [fexpr~] is quite expensive, which seems apparent considering it is designed for feedback algorithms. I don't know if [fexpr~] is also expensive when you use it not for feedbacks as your patch does. Anyway, you could replace them by likely less expensive [expr~] instances: [fexpr~ $x1=0] - [expr~ $v1=0] Roman On
Re: [PD] ALSA broken pipe on pd-extended on Beaglebone?
Well, the follow up to this is that I was able to resolve the problem by installing pure data (Vanilla), pd-cyclone, pd-comport with apt-get. Added /usr/lib/pd/extra/cyclone to the search path (-lib cyclone didn't work for some reason). And it works! I wonder if that means there's something wrong with pd-extended (which seems to be rather recently ported to ARM)? best, Dave On Tue, Apr 29, 2014 at 1:10 PM, Charles Goyard c...@fsck.fr wrote: Hi, more precisely, The number of simultaneous audio streams (called an application in your message) depends on the soundcard hardware mixer and the driver. In the case of the BeagleBone, this probably sums as 1 hardware mixer == 1 application at a time. Cheers, Charles Simon Iten wrote: Alsa is only supposed to work with One application at a Time. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] SOLVED!!! Re: pitch to voltage SOLVED!!!
Hi Simon, I'd be curious to see this adaptive filtering work in practice. Could you share a patch, once you have that working? Vocals mostly don't exceed a 3 octave range either. Only thing is, in vocals the strongest component is sometimes not the first harmonic but the second, when speaking or singing the lowest notes in the range. Katja On Tue, Apr 29, 2014 at 7:58 PM, Simon Iten itensi...@gmail.com wrote: katja, exactly! i filter the input based on the output of the pitch detection. i used this for quite some time with my doublebass (but with a pickup per string) and it works perfectly. i get no octave jumps or glitches at all. the version i shared here is planned to be used for vocals, i have to see if it works as good… the trick is not to filter too much in order to “let through” new notes but enough to filter out strong overtones (mainly octaves). it also helps to have filters in parallel. and of course you cut the range before that in order to fit your input. on a bass string this is very easy since on a double-bass you have a 3 octave range per string you can cut many frequencies before even starting filtering. this is how i did it and it worked. i adapted this system from the gr300 also. there it’s even easier. just two filters per string. one in the lower section (0-7th fret and one from 7-22 fret) they get switched via transistors based on the output voltage of the p/v circuit. they are 2nd order bandpass filters. cheers, simon On 29 Apr 2014, at 19:37, katja katjavet...@gmail.com wrote: Hi Simon, See attachment for an upsampled version. I used a 6th order lo pass filter with cut off at 1/4 of the original sampling rate. This seems to work with max. 8 times upsampling. Period length error is then limited to 1/8 sample. You mentioned adaptive filtering of a real life input signal. Are you planning to control filter cut off frequency with the pitch detection result? Did you already try that? I wonder how that could work at all, because the pitch result comes only after the adaptive filter. Katja On Tue, Apr 29, 2014 at 3:44 PM, Simon Iten itensi...@gmail.com wrote: Katja thanks for your Inputs! Will Look at the Patch tonight. Simple lowpass Filtering? I tried to upsample with a Block object but the biquad object stopped outputting Pulses. If you don't mind doing a Version with upsampling that would be fantastic. Well i just copied from the Gr300 schematic, so no credits for me :) Am 29.04.2014 um 13:12 schrieb katja katjavet...@gmail.com: Hi Simon, So your method counts samples per (zero-crossing) cycle, is what I learned from studying the patch. Very nice how you do this with tilde objects. It seems possible to get equivalent result with only one [rpole~], when using the positive pulse as trigger for [samphold~] and with two samples delay for [rpole~]. You get the integrator's maximum everytime. See attached patch. Of course it still counts integer number of samples. Upsampling would indeed improve accuracy. An upsampled signal needs filtering to remove spectral images, did you try that? Katja On Tue, Apr 29, 2014 at 8:10 AM, simon itensi...@gmail.com wrote: nice changes with expr~ ! but i think you missed the point of the beginning of the patch. read in my first e-mail for an explanation of what this patch does exactly. it is an gr300 analog guitar synthesizer clone (well one voice of it). it is intended for real-life signals so there needs to be an adaptive filter in the beginning (with the pitch info we get from the two rpole~ objects) and the signal needs to be squared to get the longest possible sustain (envelope is re added later obviously). also i think response is faster when squared, or not? thanks for the changes, greatly appreciated! simon Well i know exactly what the Patch does... I just dont know why the two numbers before the Addition Need to be -1 And -2 :-) Will Look at your Version asap. Cheers Am 29.04.2014 um 02:00 schrieb Alexandre Torres Porres por...@gmail.com: I have no idea what the patch is doing either, but I was able to clean it a lot. many things that didn't need to be there cheers 2014-04-28 3:52 GMT-03:00 Simon Iten itensi...@gmail.com: roman, thanks for your inputs. i tried both fexpr and expr and sticked to fexpr at some point, don’t know why though. will change it back! (i remember reading that fexpr was more expensive but also more precise) to make the whole thing work with real world signals (bass guitar in my case) you have to add an adaptive filter in the beginning of the chain (which is very easy because you get the frequency information hehe…) this will filter out overtones and prevent octave jumping. thanks simon On 28 Apr 2014, at 08:39, Roman Haefeli reduz...@gmail.com wrote: That works very well. Good job and thanks for sharing! One minor thing jumped to my eye: Your patch uses some instances of [fexpr~]
Re: [PD] SOLVED!!! Re: pitch to voltage SOLVED!!!
That is certainly true with bass (electric or upright) as well. (I'm watching this discussion with fascination!) Phil On 4/29/14, 12:10 PM, katja wrote: Hi Simon, I'd be curious to see this adaptive filtering work in practice. Could you share a patch, once you have that working? Vocals mostly don't exceed a 3 octave range either. Only thing is, in vocals the strongest component is sometimes not the first harmonic but the second, when speaking or singing the lowest notes in the range. Katja On Tue, Apr 29, 2014 at 7:58 PM, Simon Iten itensi...@gmail.com wrote: katja, exactly! i filter the input based on the output of the pitch detection. i used this for quite some time with my doublebass (but with a pickup per string) and it works perfectly. i get no octave jumps or glitches at all. the version i shared here is planned to be used for vocals, i have to see if it works as good… the trick is not to filter too much in order to “let through” new notes but enough to filter out strong overtones (mainly octaves). it also helps to have filters in parallel. and of course you cut the range before that in order to fit your input. on a bass string this is very easy since on a double-bass you have a 3 octave range per string you can cut many frequencies before even starting filtering. this is how i did it and it worked. i adapted this system from the gr300 also. there it’s even easier. just two filters per string. one in the lower section (0-7th fret and one from 7-22 fret) they get switched via transistors based on the output voltage of the p/v circuit. they are 2nd order bandpass filters. cheers, simon On 29 Apr 2014, at 19:37, katja katjavet...@gmail.com wrote: Hi Simon, See attachment for an upsampled version. I used a 6th order lo pass filter with cut off at 1/4 of the original sampling rate. This seems to work with max. 8 times upsampling. Period length error is then limited to 1/8 sample. You mentioned adaptive filtering of a real life input signal. Are you planning to control filter cut off frequency with the pitch detection result? Did you already try that? I wonder how that could work at all, because the pitch result comes only after the adaptive filter. Katja On Tue, Apr 29, 2014 at 3:44 PM, Simon Iten itensi...@gmail.com wrote: Katja thanks for your Inputs! Will Look at the Patch tonight. Simple lowpass Filtering? I tried to upsample with a Block object but the biquad object stopped outputting Pulses. If you don't mind doing a Version with upsampling that would be fantastic. Well i just copied from the Gr300 schematic, so no credits for me :) Am 29.04.2014 um 13:12 schrieb katja katjavet...@gmail.com: Hi Simon, So your method counts samples per (zero-crossing) cycle, is what I learned from studying the patch. Very nice how you do this with tilde objects. It seems possible to get equivalent result with only one [rpole~], when using the positive pulse as trigger for [samphold~] and with two samples delay for [rpole~]. You get the integrator's maximum everytime. See attached patch. Of course it still counts integer number of samples. Upsampling would indeed improve accuracy. An upsampled signal needs filtering to remove spectral images, did you try that? Katja On Tue, Apr 29, 2014 at 8:10 AM, simon itensi...@gmail.com wrote: nice changes with expr~ ! but i think you missed the point of the beginning of the patch. read in my first e-mail for an explanation of what this patch does exactly. it is an gr300 analog guitar synthesizer clone (well one voice of it). it is intended for real-life signals so there needs to be an adaptive filter in the beginning (with the pitch info we get from the two rpole~ objects) and the signal needs to be squared to get the longest possible sustain (envelope is re added later obviously). also i think response is faster when squared, or not? thanks for the changes, greatly appreciated! simon Well i know exactly what the Patch does... I just dont know why the two numbers before the Addition Need to be -1 And -2 :-) Will Look at your Version asap. Cheers Am 29.04.2014 um 02:00 schrieb Alexandre Torres Porres por...@gmail.com: I have no idea what the patch is doing either, but I was able to clean it a lot. many things that didn't need to be there cheers 2014-04-28 3:52 GMT-03:00 Simon Iten itensi...@gmail.com: roman, thanks for your inputs. i tried both fexpr and expr and sticked to fexpr at some point, don’t know why though. will change it back! (i remember reading that fexpr was more expensive but also more precise) to make the whole thing work with real world signals (bass guitar in my case) you have to add an adaptive filter in the beginning of the chain (which is very easy because you get the frequency information hehe…) this will filter out overtones and prevent octave jumping. thanks simon On 28 Apr 2014, at 08:39, Roman Haefeli reduz...@gmail.com wrote: That works very well. Good job and thanks for sharing! One
Re: [PD] Music notation in pure data
Hi Jonathan, This is excellent work! I wonder in what direction are you taking this… best, J On Apr 29, 2014, at 1:20 PM, Jonathan Wilkes jancs...@yahoo.com wrote: On 04/28/2014 11:21 PM, Max wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2014? 04? 29? 09:07, Jonathan Wilkes wrote: I think somebody had one using Gem and dynamic patching. that someone is Ed Kelly http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_music_notation_system_for_pure_data Thanks. Here's a demo of a simple Lilypond score imported into Pd-l2ork: https://jwilkes.nfshost.com/notes.webm Benefits of data structures: * no dynamic patching needed * can display the music on a normal canvas * 2d API Drawback: * if you create a new scalar, the drawing instructions have to be sent to the gui. (Even worse, ds-arrays have to redraw the entire array atm.) But one could probably just instantiate a bunch of scalars and vis them as needed. -Jonathan -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlNfGsEACgkQ3EB7kzgMM6KDSwCbBRP53mn0kDf5UAy6sm9iU487 xMQAnjtBN571+jVjRLSp0fN1rubo/a4G =kUcj -END PGP SIGNATURE- ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] SOLVED!!! Re: pitch to voltage SOLVED!!!
hi katja, i tried your patch and had a look at it. it’s beautifully programmed :-) so skilled. thanks for taking the time and it’s very interesting to see a different style and different thinking to get to the “same” outcome. i tried (with a different version of the patch) just to replace osc~ with adc~ and sang into my macbook microphone. there is no octave jumping exept for the very low notes i can sing :-) attached is a simple version with a little filtering. it’s not tested at all but this is how i did it for bass. (with other values for hip and lop of course) note that there is a lot of noise when you don’t sing or sing to quietly, this is because you amplify the shit out of the signal. so to use this you will need to add envelope following and a gate. when i tried this simple solution with your upsampled patch i got nothing :-) the signal just freezes at some high value. but i’m probably missing something very basic. cheers, simon On 29 Apr 2014, at 21:10, katja katjavet...@gmail.com wrote: Hi Simon, I'd be curious to see this adaptive filtering work in practice. Could you share a patch, once you have that working? Vocals mostly don't exceed a 3 octave range either. Only thing is, in vocals the strongest component is sometimes not the first harmonic but the second, when speaking or singing the lowest notes in the range. Katja On Tue, Apr 29, 2014 at 7:58 PM, Simon Iten itensi...@gmail.com wrote: katja, exactly! i filter the input based on the output of the pitch detection. i used this for quite some time with my doublebass (but with a pickup per string) and it works perfectly. i get no octave jumps or glitches at all. the version i shared here is planned to be used for vocals, i have to see if it works as good… the trick is not to filter too much in order to “let through” new notes but enough to filter out strong overtones (mainly octaves). it also helps to have filters in parallel. and of course you cut the range before that in order to fit your input. on a bass string this is very easy since on a double-bass you have a 3 octave range per string you can cut many frequencies before even starting filtering. this is how i did it and it worked. i adapted this system from the gr300 also. there it’s even easier. just two filters per string. one in the lower section (0-7th fret and one from 7-22 fret) they get switched via transistors based on the output voltage of the p/v circuit. they are 2nd order bandpass filters. cheers, simon On 29 Apr 2014, at 19:37, katja katjavet...@gmail.com wrote: Hi Simon, See attachment for an upsampled version. I used a 6th order lo pass filter with cut off at 1/4 of the original sampling rate. This seems to work with max. 8 times upsampling. Period length error is then limited to 1/8 sample. You mentioned adaptive filtering of a real life input signal. Are you planning to control filter cut off frequency with the pitch detection result? Did you already try that? I wonder how that could work at all, because the pitch result comes only after the adaptive filter. Katja On Tue, Apr 29, 2014 at 3:44 PM, Simon Iten itensi...@gmail.com wrote: Katja thanks for your Inputs! Will Look at the Patch tonight. Simple lowpass Filtering? I tried to upsample with a Block object but the biquad object stopped outputting Pulses. If you don't mind doing a Version with upsampling that would be fantastic. Well i just copied from the Gr300 schematic, so no credits for me :) Am 29.04.2014 um 13:12 schrieb katja katjavet...@gmail.com: Hi Simon, So your method counts samples per (zero-crossing) cycle, is what I learned from studying the patch. Very nice how you do this with tilde objects. It seems possible to get equivalent result with only one [rpole~], when using the positive pulse as trigger for [samphold~] and with two samples delay for [rpole~]. You get the integrator's maximum everytime. See attached patch. Of course it still counts integer number of samples. Upsampling would indeed improve accuracy. An upsampled signal needs filtering to remove spectral images, did you try that? Katja On Tue, Apr 29, 2014 at 8:10 AM, simon itensi...@gmail.com wrote: nice changes with expr~ ! but i think you missed the point of the beginning of the patch. read in my first e-mail for an explanation of what this patch does exactly. it is an gr300 analog guitar synthesizer clone (well one voice of it). it is intended for real-life signals so there needs to be an adaptive filter in the beginning (with the pitch info we get from the two rpole~ objects) and the signal needs to be squared to get the longest possible sustain (envelope is re added later obviously). also i think response is faster when squared, or not? thanks for the changes, greatly appreciated! simon Well i know exactly what the Patch does... I just dont know why the two numbers before the
Re: [PD] Music notation in pure data
On 04/29/2014 05:28 PM, Jaime E Oliver wrote: Hi Jonathan, This is excellent work! I wonder in what direction are you taking this… As far as notation inside Pd patches-- just the demo. But I do remember Ed saying he'd initially investigated using data structures for his project. If someone wants to build some higher level tools utilizing these new features of data structure, I'm happy to fix bugs and make any improvements that would be necessary. But higher level tools are tricky-- their design depends on what you want to do with the notation. As far as the data structures, in the next release I think I'll have the basic API the way I want it. At some point I'd like to investigate drawing xlets on scalars that forward messages to the parent [struct]-- that would hide the complexity of [pointer] and friends in most cases. Finally, I'd like to find a straightforward way to load canvases with [struct] definitions as libraries. At that point people will be able to build GUI objects directly in Pd. -Jonathan best, J On Apr 29, 2014, at 1:20 PM, Jonathan Wilkes jancs...@yahoo.com wrote: On 04/28/2014 11:21 PM, Max wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2014? 04? 29? 09:07, Jonathan Wilkes wrote: I think somebody had one using Gem and dynamic patching. that someone is Ed Kelly http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_music_notation_system_for_pure_data Thanks. Here's a demo of a simple Lilypond score imported into Pd-l2ork: https://jwilkes.nfshost.com/notes.webm Benefits of data structures: * no dynamic patching needed * can display the music on a normal canvas * 2d API Drawback: * if you create a new scalar, the drawing instructions have to be sent to the gui. (Even worse, ds-arrays have to redraw the entire array atm.) But one could probably just instantiate a bunch of scalars and vis them as needed. -Jonathan -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlNfGsEACgkQ3EB7kzgMM6KDSwCbBRP53mn0kDf5UAy6sm9iU487 xMQAnjtBN571+jVjRLSp0fN1rubo/a4G =kUcj -END PGP SIGNATURE- ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Music notation in pure data
I guess one of the nicest things about what you're showing is to do manipulations ala PWGL or open music. I'm interested in being able to make arbitrarily complex and long scores, and be able to export these as lilypond scores that can be edited and printed for someone else to play… best, J On Apr 29, 2014, at 6:54 PM, Jonathan Wilkes jancs...@yahoo.com wrote: On 04/29/2014 05:28 PM, Jaime E Oliver wrote: Hi Jonathan, This is excellent work! I wonder in what direction are you taking this… As far as notation inside Pd patches-- just the demo. But I do remember Ed saying he'd initially investigated using data structures for his project. If someone wants to build some higher level tools utilizing these new features of data structure, I'm happy to fix bugs and make any improvements that would be necessary. But higher level tools are tricky-- their design depends on what you want to do with the notation. As far as the data structures, in the next release I think I'll have the basic API the way I want it. At some point I'd like to investigate drawing xlets on scalars that forward messages to the parent [struct]-- that would hide the complexity of [pointer] and friends in most cases. Finally, I'd like to find a straightforward way to load canvases with [struct] definitions as libraries. At that point people will be able to build GUI objects directly in Pd. -Jonathan best, J On Apr 29, 2014, at 1:20 PM, Jonathan Wilkes jancs...@yahoo.com wrote: On 04/28/2014 11:21 PM, Max wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2014? 04? 29? 09:07, Jonathan Wilkes wrote: I think somebody had one using Gem and dynamic patching. that someone is Ed Kelly http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_music_notation_system_for_pure_data Thanks. Here's a demo of a simple Lilypond score imported into Pd-l2ork: https://jwilkes.nfshost.com/notes.webm Benefits of data structures: * no dynamic patching needed * can display the music on a normal canvas * 2d API Drawback: * if you create a new scalar, the drawing instructions have to be sent to the gui. (Even worse, ds-arrays have to redraw the entire array atm.) But one could probably just instantiate a bunch of scalars and vis them as needed. -Jonathan -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlNfGsEACgkQ3EB7kzgMM6KDSwCbBRP53mn0kDf5UAy6sm9iU487 xMQAnjtBN571+jVjRLSp0fN1rubo/a4G =kUcj -END PGP SIGNATURE- ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] best format for send/receive between iOS and libPD
I've got a six voice synth, each with about 20 variable parameters, and then sequence data, etc... and all of this data is being stored by the objective C front-end of my app. can someone tell me, hopefully from experience, what the best format is to send a lot of pattern data between obj C and libPD ??? should i package all the data as one huge list, or break it all into individual variables, or is it ok to organize it into groups for ease of management. my plan was to send messages like this from obj C: to [r instr1_pattern_data] : [vol 0.8, pan 0.5, pitch 0.75, param1 0.99 ... etc] actually, i'm not the one doing the C coding, i'm, just doing the pd side, but i have to prepare things on my end to make it flow as well as possible. Overall, i think there about 1400 values that need to be passed for every pattern, so it probably does need to be as well streamlined as possible. cheers for any help Matt ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list