Re: [PD] SOLVED!!! Re: pitch to voltage SOLVED!!!

2014-04-29 Thread simon
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!!!

2014-04-29 Thread katja
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!!!

2014-04-29 Thread Simon Iten
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?

2014-04-29 Thread David Welch
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?

2014-04-29 Thread Simon Iten
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?

2014-04-29 Thread David Welch
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

2014-04-29 Thread tim vets
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?

2014-04-29 Thread Charles Goyard
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

2014-04-29 Thread Jonathan Wilkes

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!!!

2014-04-29 Thread katja
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!!!

2014-04-29 Thread Simon Iten
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?

2014-04-29 Thread David Welch
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!!!

2014-04-29 Thread katja
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!!!

2014-04-29 Thread Phil Stone
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

2014-04-29 Thread Jaime E Oliver
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!!!

2014-04-29 Thread Simon Iten
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

2014-04-29 Thread Jonathan Wilkes

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

2014-04-29 Thread Jaime E Oliver
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

2014-04-29 Thread i go bananas
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