Re: [PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-29 Thread Mathieu Bouchard

On Sun, 29 Mar 2009, Frank Barknecht wrote:

volker b?hm hat gesagt: // volker b?hm wrote:

thanks for posting this.
for certain freqs i hear a noticeable periodic "zipping" in the sound
(try 230 hz e.g.).

Hm, I don't hear it, but that may be my ears.

since the algorithm is based on the sinc function (sin(x)/x), i wonder
how pd handles divide by zero in the signal domain. wouldn't you have to
check for that in the code/patch?

A [/~] with no signal in the right inlet in Pd gives 0 as output.
In saw~.pd x never becomes zero, it's always at least 1.8955. :)


Well, if divide-by-zero happens any often in there, it would be worthwhile 
to do an explicit check for divide-by-zero in the patch, because in this 
case 0/0 is expected to give 1, as all neighbouring values of sin(x)/x are 
getting closer to 1 as x gets closer to 0: that's what you need to make 
sin(x)/x a smooth function.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-29 Thread IOhannes m zmoelnig
volker böhm wrote:
> for some reason my mails to the list take ages until they arrive, which
> makes a discussion a little difficult...


hmm, please bear in mind that "email" is an asynchronous medium.
this medium was designed to make discussions with people who might be
online only a few times a week.
and i don't have the feeling that your mails takes "ages" (at least in
this thread you have been able to reply indirectly to yourself within 3
hours)

if you feel that an asynchronous medium is not the right choice to lead
a discussion, why not try IRC?


> 
> ok, something weird going on here. abs~ is not doing what i would think
> it should be doing - calculating the absolute value of the incoming
> signal. instead it simply seems to pass input to output (no errors in pd
> window).

yes, this is a known bug of [abs~] in Pd-0.42.
see frank's other mails.

mfdsr
IOhannes

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-29 Thread cyrille henry



Frank Barknecht a écrit :

Hallo,
volker b?hm hat gesagt: // volker b?hm wrote:


thanks for posting this.
for certain freqs i hear a noticeable periodic "zipping" in the sound  
(try 230 hz e.g.).


Hm, I don't hear it, but that may be my ears.

don't hear it also.



since the algorithm is based on the sinc function (sin(x)/x), i wonder 
how pd handles divide by zero in the signal domain. wouldn't you have to 
check for that in the code/patch?


A [/~] with no signal in the right inlet in Pd gives 0 as output.
In saw~.pd x never becomes zero, it's always at least 1.8955. :)

yep
c



Ciao


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-29 Thread Frank Barknecht
Hallo,
volker b?hm hat gesagt: // volker b?hm wrote:

> thanks for posting this.
> for certain freqs i hear a noticeable periodic "zipping" in the sound  
> (try 230 hz e.g.).

Hm, I don't hear it, but that may be my ears.

> since the algorithm is based on the sinc function (sin(x)/x), i wonder 
> how pd handles divide by zero in the signal domain. wouldn't you have to 
> check for that in the code/patch?

A [/~] with no signal in the right inlet in Pd gives 0 as output.
In saw~.pd x never becomes zero, it's always at least 1.8955. :)

Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-29 Thread volker böhm


On 29 Mar 2009, at 12:53, Frank Barknecht wrote:

Hallo,
cyrille henry hat gesagt: // cyrille henry wrote:
I think, currently it's probably a bit slower because of the sin 
(), but maybe

that could be put into a tabread~.
i think the sin object is doing a linear interpolation in a 512  
point table.
(don't know how it is done in expr~, but expr~ is not used for  
rjlib because of it's licence, right?)


Attached is an expr-less version of saw~ which from a quick glance at
the scope looks and sounds the same. It is vanilla in that it uses
[abs~] and [>~] which are part of 0.42 (and thus RjDj). On older Pd
versions you can use for example the purepd abstractions for both from
the SVN in abstractions/purepd


thanks for posting this.
for certain freqs i hear a noticeable periodic "zipping" in the sound  
(try 230 hz e.g.).
since the algorithm is based on the sinc function (sin(x)/x), i  
wonder how pd handles divide by zero in the signal domain. wouldn't  
you have to check for that in the code/patch?

volker.




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-29 Thread cyrille henry



Frank Barknecht a écrit :

Hallo,
cyrille henry hat gesagt: // cyrille henry wrote:


ok.here is a version using [pow~ -1] to replace [>~ 0]
it should work with vanilla pd version >= 0.42 and with rjdj.
and certainly with pd-extended.


I also did one which replaces >~ with the tabread lookup from Enrique's [>~] 
embedded.

yep, this is a more clever vay to do this.
thx.
c



Ciao




___
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] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-29 Thread Frank Barknecht
Hallo,
cyrille henry hat gesagt: // cyrille henry wrote:

> ok.here is a version using [pow~ -1] to replace [>~ 0]
> it should work with vanilla pd version >= 0.42 and with rjdj.
> and certainly with pd-extended.

I also did one which replaces >~ with the tabread lookup from Enrique's [>~] 
embedded.

Ciao
-- 
Frank
#N canvas 232 120 725 608 10;
#X obj 105 96 phasor~;
#X obj 173 131 -~ 0.5;
#X obj 421 192 *~ 2;
#X obj 328 217 wrap~;
#X obj 329 243 *~ 2;
#X obj 329 268 -~ 1;
#X obj 459 191 /~;
#X obj 458 146 sig~ 22050;
#X obj 421 219 *~;
#X obj 422 241 abs~;
#X obj 421 263 +~ 1.8955;
#X obj 106 49 inlet~;
#X obj 87 542 outlet~;
#X obj 458 97 samplerate~;
#X obj 458 74 loadbang;
#X obj 458 120 * 0.5;
#X obj 174 427 +~;
#N canvas 104 42 701 480 sin(x)/x 0;
#X obj 220 229 cos~;
#X obj 221 204 -~ 0.25;
#X msg 288 90 1;
#X floatatom 288 162 5 0 0 0 - - -;
#X obj 288 116 atan;
#X obj 288 137 * 8;
#X obj 220 181 /~ 6.238;
#X obj 288 67 loadbang;
#X obj 221 148 inlet~;
#X obj 219 291 outlet~;
#X obj 220 255 /~;
#X connect 0 0 10 0;
#X connect 1 0 0 0;
#X connect 2 0 4 0;
#X connect 3 0 6 1;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X connect 6 0 1 0;
#X connect 7 0 2 0;
#X connect 8 0 6 0;
#X connect 8 0 10 1;
#X connect 10 0 9 0;
#X restore 421 293 pd sin(x)/x;
#X obj 330 392 *~;
#X text 357 387 v2*sin(v4)/v4;
#X text 208 426 + v3;
#X obj 87 482 -~;
#X obj 557 476 loadbang;
#X obj 557 539 table \$0-lookup 2;
#X obj 175 333 tabread~ \$0-lookup;
#X obj 174 311 +~ 1;
#X obj 557 518 s \$0-lookup;
#X msg 557 497 0 0 1;
#X connect 0 0 1 0;
#X connect 0 0 21 1;
#X connect 1 0 2 0;
#X connect 1 0 3 0;
#X connect 1 0 25 0;
#X connect 2 0 8 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 18 0;
#X connect 6 0 8 1;
#X connect 7 0 6 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 17 0;
#X connect 11 0 0 0;
#X connect 11 0 6 1;
#X connect 13 0 15 0;
#X connect 14 0 13 0;
#X connect 15 0 7 0;
#X connect 16 0 21 0;
#X connect 17 0 18 1;
#X connect 18 0 16 1;
#X connect 21 0 12 0;
#X connect 22 0 27 0;
#X connect 24 0 16 0;
#X connect 25 0 24 0;
#X connect 27 0 26 0;
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-29 Thread cyrille henry

ok.here is a version using [pow~ -1] to replace [>~ 0]
it should work with vanilla pd version >= 0.42 and with rjdj.
and certainly with pd-extended.

cyrille



Enrique Erne a écrit :

unfortunately <~ is still missing in pd-0.42

"5.1. release notes
New pow~, log~, exp~, abs~, and 'wrap' objects."





Frank Barknecht wrote:

Hallo,
cyrille henry hat gesagt: // cyrille henry wrote:
I think, currently it's probably a bit slower because of the sin(), 
but maybe
that could be put into a tabread~. 
i think the sin object is doing a linear interpolation in a 512 point 
table.
(don't know how it is done in expr~, but expr~ is not used for rjlib 
because of it's licence, right?)


Attached is an expr-less version of saw~ which from a quick glance at
the scope looks and sounds the same. It is vanilla in that it uses
[abs~] and [>~] which are part of 0.42 (and thus RjDj). On older Pd
versions you can use for example the purepd abstractions for both from
the SVN in abstractions/purepd

Ciao




___
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


#N canvas 232 120 652 594 10;
#X obj 105 96 phasor~;
#X obj 176 131 -~ 0.5;
#X obj 311 179 *~ 2;
#X obj 218 204 wrap~;
#X obj 219 230 *~ 2;
#X obj 219 255 -~ 1;
#X obj 349 178 /~;
#X obj 348 153 sig~ 22050;
#X obj 311 206 *~;
#X obj 312 228 abs~;
#X obj 311 250 +~ 1.8955;
#X obj 106 49 inlet~;
#X obj 87 542 outlet~;
#X obj 348 104 samplerate~;
#X obj 348 81 loadbang;
#X obj 348 127 * 0.5;
#X obj 174 427 +~;
#N canvas 104 42 701 480 sin(x)/x 0;
#X obj 220 229 cos~;
#X obj 221 204 -~ 0.25;
#X msg 288 90 1;
#X floatatom 288 162 5 0 0 0 - - -;
#X obj 288 116 atan;
#X obj 288 137 * 8;
#X obj 220 181 /~ 6.238;
#X obj 288 67 loadbang;
#X obj 221 148 inlet~;
#X obj 219 291 outlet~;
#X obj 220 255 /~;
#X connect 0 0 10 0;
#X connect 1 0 0 0;
#X connect 2 0 4 0;
#X connect 3 0 6 1;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X connect 6 0 1 0;
#X connect 7 0 2 0;
#X connect 8 0 6 0;
#X connect 8 0 10 1;
#X connect 10 0 9 0;
#X restore 311 280 pd sin(x)/x;
#X obj 220 379 *~;
#X text 247 374 v2*sin(v4)/v4;
#X text 208 426 + v3;
#X obj 87 482 -~;
#X obj 175 183 pow~ -1;
#X connect 0 0 1 0;
#X connect 0 0 21 1;
#X connect 1 0 2 0;
#X connect 1 0 3 0;
#X connect 1 0 22 0;
#X connect 2 0 8 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 18 0;
#X connect 6 0 8 1;
#X connect 7 0 6 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 17 0;
#X connect 11 0 0 0;
#X connect 11 0 6 1;
#X connect 13 0 15 0;
#X connect 14 0 13 0;
#X connect 15 0 7 0;
#X connect 16 0 21 0;
#X connect 17 0 18 1;
#X connect 18 0 16 1;
#X connect 21 0 12 0;
#X connect 22 0 16 0;
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-29 Thread Derek Holzer
And I am still forced to use [expr~] equivalents on many OSX and Windows 
systems I encounter because the > or < character cannot be used as a 
filename. This has actually changed between versions of Pd Extended, so 
I'm not sure where exactly the problem lies.


D.

Enrique Erne wrote:

unfortunately <~ is still missing in pd-0.42

"5.1. release notes
New pow~, log~, exp~, abs~, and 'wrap' objects."


--
::: derek holzer ::: http://blog.myspace.com/macumbista ::: 
http://www.vimeo.com/macumbista :::

---Oblique Strategy # 9:
"Adding on"

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-29 Thread Enrique Erne

unfortunately <~ is still missing in pd-0.42

"5.1. release notes
New pow~, log~, exp~, abs~, and 'wrap' objects."





Frank Barknecht wrote:

Hallo,
cyrille henry hat gesagt: // cyrille henry wrote:

I think, currently it's probably a bit slower because of the sin(), but maybe
that could be put into a tabread~. 

i think the sin object is doing a linear interpolation in a 512 point table.
(don't know how it is done in expr~, but expr~ is not used for rjlib because of 
it's licence, right?)


Attached is an expr-less version of saw~ which from a quick glance at
the scope looks and sounds the same. It is vanilla in that it uses
[abs~] and [>~] which are part of 0.42 (and thus RjDj). On older Pd
versions you can use for example the purepd abstractions for both from
the SVN in abstractions/purepd

Ciao




___
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] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-29 Thread Frank Barknecht
Hallo,
cyrille henry hat gesagt: // cyrille henry wrote:
>> I think, currently it's probably a bit slower because of the sin(), but maybe
>> that could be put into a tabread~. 
> i think the sin object is doing a linear interpolation in a 512 point table.
> (don't know how it is done in expr~, but expr~ is not used for rjlib because 
> of it's licence, right?)

Attached is an expr-less version of saw~ which from a quick glance at
the scope looks and sounds the same. It is vanilla in that it uses
[abs~] and [>~] which are part of 0.42 (and thus RjDj). On older Pd
versions you can use for example the purepd abstractions for both from
the SVN in abstractions/purepd

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__


saw2~.pd
Description: application/puredata
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-28 Thread cyrille henry

hello

Frank Barknecht a écrit :

Hallo,
cyrille henry hat gesagt: // cyrille henry wrote:


nice to see all of this good stuff in pure vanilla pd.

i've got some questions : -why this is not available in pd-extended / in pd
svn?


The rjdj-svn is the canonical location for rj-lib, but of course as it's
GPL/BSD it can be copied anywhere. For contributions we can only accept stuff
that either is BSD or transfers copyright to Reality Jockey as we want to avoid
legal problems as a distributor of rjlib to others ("others" currently includes
Apple, so we have to be extra-extra cautious about this.) 

ok.




-did you benchmark e_beequad~ regarding to bequad~ specially when cutoff /
band is change frequently)


Do you mean to "biquad~" or what is "bequad~"? biquad~ in Pd should be a lot
faster, but I didn't benchmark it. 

yep, tipo, i mean biquad~.
of course biquad~ look faster, but i'm wondering how many times...
i'll have to look at performance when i'll have more time.




-have you noticed that in svn/nusmuk/osc you can find lot's better bl saw
that you can use (ok, it use expr~, but you can easily remove it). this bl
oscillator use a personal enhancement of miller technique.


No, I hadn't seen this. It doesn't seem to need the [samphold~] which would be
cool to avoid anyway. Could you elaborate the algorithm a bit and how it's
better? 

it's sound lot's better!
isn't that the aim?
(i think it is almost perfect, and can easily be enhanced)
try to fft's it if you're not convinced.

i think  i would take me 1/2h to explain in french exactly what i made.
so i really can't explain it in a mail in english.

in miller algorythm, the quick transition of the saw is replaced with a softer 
transition.
this is fine.
but the switch from saw~ to the soft transition is causing problem.

in "my" algo the transition is based on sinus cardinal (is that the english 
name?) and last for a whole period of the waveform.

if you need more explanation, you'll have to ask some math geek. (mathieu 
maybe?)






I think, currently it's probably a bit slower because of the sin(), but maybe
that could be put into a tabread~. 

i think the sin object is doing a linear interpolation in a 512 point table.
(don't know how it is done in expr~, but expr~ is not used for rjlib because of 
it's licence, right?)


Cyrille



Ciao


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-28 Thread Frank Barknecht
Hallo,
cyrille henry hat gesagt: // cyrille henry wrote:

> nice to see all of this good stuff in pure vanilla pd.
>
> i've got some questions : -why this is not available in pd-extended / in pd
> svn?

The rjdj-svn is the canonical location for rj-lib, but of course as it's
GPL/BSD it can be copied anywhere. For contributions we can only accept stuff
that either is BSD or transfers copyright to Reality Jockey as we want to avoid
legal problems as a distributor of rjlib to others ("others" currently includes
Apple, so we have to be extra-extra cautious about this.) 

> -did you benchmark e_beequad~ regarding to bequad~ specially when cutoff /
> band is change frequently)

Do you mean to "biquad~" or what is "bequad~"? biquad~ in Pd should be a lot
faster, but I didn't benchmark it. 

> -have you noticed that in svn/nusmuk/osc you can find lot's better bl saw
> that you can use (ok, it use expr~, but you can easily remove it). this bl
> oscillator use a personal enhancement of miller technique.

No, I hadn't seen this. It doesn't seem to need the [samphold~] which would be
cool to avoid anyway. Could you elaborate the algorithm a bit and how it's
better? 

I think, currently it's probably a bit slower because of the sin(), but maybe
that could be put into a tabread~. 

Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


[PD] rjdj, was : Re: [equalizer] / [lowshelf] / [highshelf] in purepd!

2009-03-28 Thread cyrille henry

hello Frank,

nice to see all of this good stuff in pure vanilla pd.

i've got some questions : 
-why this is not available in pd-extended / in pd svn?

-did you benchmark e_beequad~ regarding to bequad~ specially when cutoff / band 
is change frequently)
-have you noticed that in svn/nusmuk/osc you can find lot's better bl saw that 
you can use (ok, it use expr~, but you can easily remove it). this bl 
oscillator use a personal enhancement of miller technique.

cyrille


Frank Barknecht a écrit :

Hallo,
cyrille henry hat gesagt: // cyrille henry wrote:


Frank Barknecht a écrit :
...

The others are included in the rjdj library as u_lowpass, u_lowpassq,
u_highpass, u_highpassq, u_bandpass1, u_bandpass1q, u_bandpass2 and
u_bandpass2q. There also is a signal biquad~ as e_beequad available
(which just does linear interpolation of parameters, so it's of course
not really correct if you do larger jumps). 


it certainly is obvious, but where can i find them?


Here's their home page: http://trac.rjdj.me/wiki/RjLibnew rsp. 
$ svn co http://svn.rjdj.me/scenes/trunk/rjlib/

(They are GPL, but not yet tagged correctly)

Ciao


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list