Re: [PD] help cloning max's scale
Hi Alexandre, it almost is, but in maxlib you just turn the mapping to log on or off, in max you specify a log parameter. That is a very handy feature! by the way, I'm pretty sure I'm not doing anything wrong, and the given equation in Max just seems to be wrong Yep, just double checked your equation in a calculator and your result is correct, so probably the equation in Max is incorrect indeed. Cheers, Gilberto ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] help cloning max's scale
Howdy, so I'm cloning the scale object from Max, to make an object and include in the cyclone library. It converts range input (low_in / high_in) to a range output (low_out / high_out). It has a logarithmic curve for rescaling according to a fifth argument/inlet. I did copy into expr the formula described in the reference of Max6/7 (max's 5 was just wrong, copied from [linedrive]) - well, it didn't work! Would anyone know if I'm doing something wrong or if the reference is not telling the truth? The formula, as described in the reference is: (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1 * (in_high-in_low) * log(power)) * exp(x * log(power)) )) Here's my patch with that formula into expr. The output with the parameters I have should be -0.997347 - as that's the output I get in Max. But instead, it's giving -0.994694... thanks = #N canvas 24 23 488 340 10; #X obj 215 154 v out_low; #X obj 233 132 v out_high; #X obj 288 110 v power; #X obj 152 130 v in_high; #X obj 115 153 v in_low; #X floatatom 58 248 0 0 0 0 - - -; #X obj 58 197 expr (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1*(in_high-in_low)*log(power)) * exp($f1*log(power)) )); #X msg 115 102 0; #X msg 152 102 127; #X msg 215 99 -1; #X msg 249 97 1; #X msg 288 86 1.06; #X obj 90 31 loadbang; #X obj 90 60 t b b; #X msg 58 107 13.3; #X connect 6 0 5 0; #X connect 7 0 4 0; #X connect 8 0 3 0; #X connect 9 0 0 0; #X connect 10 0 1 0; #X connect 11 0 2 0; #X connect 12 0 13 0; #X connect 13 0 14 0; #X connect 13 1 11 0; #X connect 13 1 10 0; #X connect 13 1 9 0; #X connect 13 1 8 0; #X connect 13 1 7 0; #X connect 14 0 6 0; scale-test.pd Description: Binary data ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] help cloning max's scale
the object you describe sounds to me identical to [maxlib/scale] it almost is, but in maxlib you just turn the mapping to log on or off, in max you specify a log parameter. I did share a patch in text and attached. Not sure if everyone gets the attachment so I sent the text file as well, but here's the attached file to you again, and I'm also sharing a downloadable link https://drive.google.com/file/d/0B3AoiT0xk8fnRGphNTlTdFNxQ2c/view?usp=sharing by the way, I'm pretty sure I'm not doing anything wrong, and the given equation in Max just seems to be wrong cheers 2015-06-19 19:53 GMT-03:00 Gilberto Agostinho via Pd-list pd-list@lists.iem.at: Hi Alexandre, On 20/06/15 00:39, pd-list-requ...@lists.iem.at wrote: Here's my patch with that formula into expr. The output with the parameters I have should be -0.997347 - as that's the output I get in Max. But instead, it's giving -0.994694... Would you care to share your parameters so we can test your abstraction? Also, I haven't been reading this list very attentively lately (busy days, you know) so I may have lost quite a lot of discussions lately, but the object you describe sounds to me identical to [maxlib/scale], which takes 5 arguments: input low, input high, output low, output high, coefficient (linear or log). Cheers, Gilberto ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list scale-test.pd Description: Binary data ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] help cloning max's scale
You're using the [scale] formula from @classic_mode in Max7, which exists for compatibility with IRCAM, but it's clearly wrong. (There's no way mapping 13.3 from 0-127 to -1 to 1 should result in something so close to -1. Just try a few different exponents and you'll see that there's a bug in the Max code. And there are lots of bug reports out there about it.) That's why they introduced an alternate mode for [scale] in Max, which can be switch in the Inspector. For non-classic (modern) mode, the documentation gives you this equation: ((x-in_low)/(in_high-in_low) == 0) ? out_low : (((x-in_low)/(in_high-in_low)) 0) ? (out_low + (out_high-out_low) * ((x-in_low)/(in_high-in_low))^exp) : ( out_low + (out_high-out_low) * --x+in_low)/(in_high-in_low)))^(exp))) Translated to expr as: [expr if ((($f1-in_low)/(in_high-in_low)==0), out_low, if ((($f1-in_low)/(in_high-in_low)0), out_low+(out_high-out_low)*pow(($f1-in_low)/(in_high-in_low), power), out_low+(out_high-out_low)*-1*pow((-1*$f1+in_low)/(in_high-in_low), power)))] Switch off classic mode in the inspector in Max7, and you get the same result as expr above, the very sensible -0.817072. Joel On 06/19/2015 05:39 PM, Alexandre Torres Porres wrote: Howdy, so I'm cloning the scale object from Max, to make an object and include in the cyclone library. It converts range input (low_in / high_in) to a range output (low_out / high_out). It has a logarithmic curve for rescaling according to a fifth argument/inlet. I did copy into expr the formula described in the reference of Max6/7 (max's 5 was just wrong, copied from [linedrive]) - well, it didn't work! Would anyone know if I'm doing something wrong or if the reference is not telling the truth? The formula, as described in the reference is: (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1 * (in_high-in_low) * log(power)) * exp(x * log(power)) )) Here's my patch with that formula into expr. The output with the parameters I have should be -0.997347 - as that's the output I get in Max. But instead, it's giving -0.994694... thanks = #N canvas 24 23 488 340 10; #X obj 215 154 v out_low; #X obj 233 132 v out_high; #X obj 288 110 v power; #X obj 152 130 v in_high; #X obj 115 153 v in_low; #X floatatom 58 248 0 0 0 0 - - -; #X obj 58 197 expr (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1*(in_high-in_low)*log(power)) * exp($f1*log(power)) )); #X msg 115 102 0; #X msg 152 102 127; #X msg 215 99 -1; #X msg 249 97 1; #X msg 288 86 1.06; #X obj 90 31 loadbang; #X obj 90 60 t b b; #X msg 58 107 13.3; #X connect 6 0 5 0; #X connect 7 0 4 0; #X connect 8 0 3 0; #X connect 9 0 0 0; #X connect 10 0 1 0; #X connect 11 0 2 0; #X connect 12 0 13 0; #X connect 13 0 14 0; #X connect 13 1 11 0; #X connect 13 1 10 0; #X connect 13 1 9 0; #X connect 13 1 8 0; #X connect 13 1 7 0; #X connect 14 0 6 0; ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] help cloning max's scale
yeah, I see all that, but the problem is trying to clone it as it is in Max for the sake of compatibility. I wouldn't say that the classic mode is wrong, it may be not good for the purpose, but it's an arbitrary mathematical formula, so it is what it is. The problem is that I'm not being able to get the result the object spits out with the formula given in the reference. So my question is just making it sure that the given formula is wrong, and that it doesn't give what the object actually does. moreover, the idea is to keep compatibility, at first, with Max5. In Max7 the scale object will still give the same results (as default, by the way), so even if it was for the sake of making it compatible with Max7, we'd still need to make it work. But the thing is that the new not classic mode was introduced only in Max6. So, for the actual purpose, we're only caring about the classic mode compatibility. did you check if the formula in the reference is actually wrong, in the sense it won't give the results given by the object? Were you able to spot a parenthesis out of place or something that, if changed, would give the expected result? thanks cheers 2015-06-19 22:25 GMT-03:00 Joel Matthys jwmatt...@gmail.com: You're using the [scale] formula from @classic_mode in Max7, which exists for compatibility with IRCAM, but it's clearly wrong. (There's no way mapping 13.3 from 0-127 to -1 to 1 should result in something so close to -1. Just try a few different exponents and you'll see that there's a bug in the Max code. And there are lots of bug reports out there about it.) That's why they introduced an alternate mode for [scale] in Max, which can be switch in the Inspector. For non-classic (modern) mode, the documentation gives you this equation: ((x-in_low)/(in_high-in_low) == 0) ? out_low : (((x-in_low)/(in_high-in_low)) 0) ? (out_low + (out_high-out_low) * ((x-in_low)/(in_high-in_low))^exp) : ( out_low + (out_high-out_low) * --x+in_low)/(in_high-in_low)))^(exp))) Translated to expr as: [expr if ((($f1-in_low)/(in_high-in_low)==0), out_low, if ((($f1-in_low)/(in_high-in_low)0), out_low+(out_high-out_low)*pow(($f1-in_low)/(in_high-in_low), power), out_low+(out_high-out_low)*-1*pow((-1*$f1+in_low)/(in_high-in_low), power)))] Switch off classic mode in the inspector in Max7, and you get the same result as expr above, the very sensible -0.817072. Joel On 06/19/2015 05:39 PM, Alexandre Torres Porres wrote: Howdy, so I'm cloning the scale object from Max, to make an object and include in the cyclone library. It converts range input (low_in / high_in) to a range output (low_out / high_out). It has a logarithmic curve for rescaling according to a fifth argument/inlet. I did copy into expr the formula described in the reference of Max6/7 (max's 5 was just wrong, copied from [linedrive]) - well, it didn't work! Would anyone know if I'm doing something wrong or if the reference is not telling the truth? The formula, as described in the reference is: (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1 * (in_high-in_low) * log(power)) * exp(x * log(power)) )) Here's my patch with that formula into expr. The output with the parameters I have should be -0.997347 - as that's the output I get in Max. But instead, it's giving -0.994694... thanks = #N canvas 24 23 488 340 10; #X obj 215 154 v out_low; #X obj 233 132 v out_high; #X obj 288 110 v power; #X obj 152 130 v in_high; #X obj 115 153 v in_low; #X floatatom 58 248 0 0 0 0 - - -; #X obj 58 197 expr (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1*(in_high-in_low)*log(power)) * exp($f1*log(power)) )); #X msg 115 102 0; #X msg 152 102 127; #X msg 215 99 -1; #X msg 249 97 1; #X msg 288 86 1.06; #X obj 90 31 loadbang; #X obj 90 60 t b b; #X msg 58 107 13.3; #X connect 6 0 5 0; #X connect 7 0 4 0; #X connect 8 0 3 0; #X connect 9 0 0 0; #X connect 10 0 1 0; #X connect 11 0 2 0; #X connect 12 0 13 0; #X connect 13 0 14 0; #X connect 13 1 11 0; #X connect 13 1 10 0; #X connect 13 1 9 0; #X connect 13 1 8 0; #X connect 13 1 7 0; #X connect 14 0 6 0; ___pd-l...@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] help cloning max's scale
Well, I'm trying to point out that it ain't broken, the object works... whatever its code is. I'm just trying to figure out the code to clone it. 2015-06-19 22:55 GMT-03:00 Joel Matthys jwmatt...@gmail.com: I just don't see the value of trying to make it compatible with broken code in Max. Joel On 06/19/2015 08:47 PM, Alexandre Torres Porres wrote: yeah, I see all that, but the problem is trying to clone it as it is in Max for the sake of compatibility. I wouldn't say that the classic mode is wrong, it may be not good for the purpose, but it's an arbitrary mathematical formula, so it is what it is. The problem is that I'm not being able to get the result the object spits out with the formula given in the reference. So my question is just making it sure that the given formula is wrong, and that it doesn't give what the object actually does. moreover, the idea is to keep compatibility, at first, with Max5. In Max7 the scale object will still give the same results (as default, by the way), so even if it was for the sake of making it compatible with Max7, we'd still need to make it work. But the thing is that the new not classic mode was introduced only in Max6. So, for the actual purpose, we're only caring about the classic mode compatibility. did you check if the formula in the reference is actually wrong, in the sense it won't give the results given by the object? Were you able to spot a parenthesis out of place or something that, if changed, would give the expected result? thanks cheers 2015-06-19 22:25 GMT-03:00 Joel Matthys jwmatt...@gmail.com: You're using the [scale] formula from @classic_mode in Max7, which exists for compatibility with IRCAM, but it's clearly wrong. (There's no way mapping 13.3 from 0-127 to -1 to 1 should result in something so close to -1. Just try a few different exponents and you'll see that there's a bug in the Max code. And there are lots of bug reports out there about it.) That's why they introduced an alternate mode for [scale] in Max, which can be switch in the Inspector. For non-classic (modern) mode, the documentation gives you this equation: ((x-in_low)/(in_high-in_low) == 0) ? out_low : (((x-in_low)/(in_high-in_low)) 0) ? (out_low + (out_high-out_low) * ((x-in_low)/(in_high-in_low))^exp) : ( out_low + (out_high-out_low) * --x+in_low)/(in_high-in_low)))^(exp))) Translated to expr as: [expr if ((($f1-in_low)/(in_high-in_low)==0), out_low, if ((($f1-in_low)/(in_high-in_low)0), out_low+(out_high-out_low)*pow(($f1-in_low)/(in_high-in_low), power), out_low+(out_high-out_low)*-1*pow((-1*$f1+in_low)/(in_high-in_low), power)))] Switch off classic mode in the inspector in Max7, and you get the same result as expr above, the very sensible -0.817072. Joel On 06/19/2015 05:39 PM, Alexandre Torres Porres wrote: Howdy, so I'm cloning the scale object from Max, to make an object and include in the cyclone library. It converts range input (low_in / high_in) to a range output (low_out / high_out). It has a logarithmic curve for rescaling according to a fifth argument/inlet. I did copy into expr the formula described in the reference of Max6/7 (max's 5 was just wrong, copied from [linedrive]) - well, it didn't work! Would anyone know if I'm doing something wrong or if the reference is not telling the truth? The formula, as described in the reference is: (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1 * (in_high-in_low) * log(power)) * exp(x * log(power)) )) Here's my patch with that formula into expr. The output with the parameters I have should be -0.997347 - as that's the output I get in Max. But instead, it's giving -0.994694... thanks = #N canvas 24 23 488 340 10; #X obj 215 154 v out_low; #X obj 233 132 v out_high; #X obj 288 110 v power; #X obj 152 130 v in_high; #X obj 115 153 v in_low; #X floatatom 58 248 0 0 0 0 - - -; #X obj 58 197 expr (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1*(in_high-in_low)*log(power)) * exp($f1*log(power)) )); #X msg 115 102 0; #X msg 152 102 127; #X msg 215 99 -1; #X msg 249 97 1; #X msg 288 86 1.06; #X obj 90 31 loadbang; #X obj 90 60 t b b; #X msg 58 107 13.3; #X connect 6 0 5 0; #X connect 7 0 4 0; #X connect 8 0 3 0; #X connect 9 0 0 0; #X connect 10 0 1 0; #X connect 11 0 2 0; #X connect 12 0 13 0; #X connect 13 0 14 0; #X connect 13 1 11 0; #X connect 13 1 10 0; #X connect 13 1 9 0; #X connect 13 1 8 0; #X connect 13 1 7 0; #X connect 14 0 6 0; ___pd-l...@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] help cloning max's scale
There's no way mapping 13.3 from 0-127 to -1 to 1 should result in something so close to -1 well, there wouldn't be a way if it were a linear scaling... but it's a logarithmic scale, so it'll do what it does. Just try a few different exponents and you'll see that there's a bug in the Max code. which bug exactly? I tried other values close to the typical value they mention (1.06) and it doesn't seem weird to me. Not typical values will given untypical and not so useful results, but they warn you about it. there are lots of bug reports out there about it. About the object or the conversion formula? cause if it is about the object, it could be anything. Now, if the object does not convert according to the supposed math, it'd be reasonable that they'd have it fixed eventually. Is this really the case? I hope you could be more specific about the issue. I'd like to know that please, now that I'm working with this. Switch off classic mode in the inspector in Max7, and you get the same result as expr above, the very sensible -0.817072. To be honest, I don't think the non classic mode is that much sensible. It'd make much more sense to me to specify a power exponential. Anyway, it may be more sensible after all, but this fact alone is not enough to say the other one is wrong or broken - you can just say it isn't sensible... which is true. What we know is that the given formula in the reference for the non classic mode is in accordance to what the object outputs. I had tested that by the way, and saw it was accurate. I'm just asking to make sure if the other given formula given in the reference is actually wrong, or if I made a mistake. It seems clear for us that it is not outputting what the object is, so the reference seems just wrong. If the reference is wrong, it doesn't mean the object is broken or wrong. And talking about being sensible, the output of the given formula is even crazier and all... so it's not like the object should output that, it's more like hey, the reference is wrong, and we don't know the formula to clone it! About the other inquiry on what would I want to clone an object that behaves arguably insensibly, the answer is just that I'd like to clone it for the purpose of cloning it. Whatever it is, I'd like to make an exact copy of it. That's the purpose of cyclone after all. cheers 2015-06-19 22:25 GMT-03:00 Joel Matthys jwmatt...@gmail.com: You're using the [scale] formula from @classic_mode in Max7, which exists for compatibility with IRCAM, but it's clearly wrong. (There's no way mapping 13.3 from 0-127 to -1 to 1 should result in something so close to -1. Just try a few different exponents and you'll see that there's a bug in the Max code. And there are lots of bug reports out there about it.) That's why they introduced an alternate mode for [scale] in Max, which can be switch in the Inspector. For non-classic (modern) mode, the documentation gives you this equation: ((x-in_low)/(in_high-in_low) == 0) ? out_low : (((x-in_low)/(in_high-in_low)) 0) ? (out_low + (out_high-out_low) * ((x-in_low)/(in_high-in_low))^exp) : ( out_low + (out_high-out_low) * --x+in_low)/(in_high-in_low)))^(exp))) Translated to expr as: [expr if ((($f1-in_low)/(in_high-in_low)==0), out_low, if ((($f1-in_low)/(in_high-in_low)0), out_low+(out_high-out_low)*pow(($f1-in_low)/(in_high-in_low), power), out_low+(out_high-out_low)*-1*pow((-1*$f1+in_low)/(in_high-in_low), power)))] Switch off classic mode in the inspector in Max7, and you get the same result as expr above, the very sensible -0.817072. Joel On 06/19/2015 05:39 PM, Alexandre Torres Porres wrote: Howdy, so I'm cloning the scale object from Max, to make an object and include in the cyclone library. It converts range input (low_in / high_in) to a range output (low_out / high_out). It has a logarithmic curve for rescaling according to a fifth argument/inlet. I did copy into expr the formula described in the reference of Max6/7 (max's 5 was just wrong, copied from [linedrive]) - well, it didn't work! Would anyone know if I'm doing something wrong or if the reference is not telling the truth? The formula, as described in the reference is: (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1 * (in_high-in_low) * log(power)) * exp(x * log(power)) )) Here's my patch with that formula into expr. The output with the parameters I have should be -0.997347 - as that's the output I get in Max. But instead, it's giving -0.994694... thanks = #N canvas 24 23 488 340 10; #X obj 215 154 v out_low; #X obj 233 132 v out_high; #X obj 288 110 v power; #X obj 152 130 v in_high; #X obj 115 153 v in_low; #X floatatom 58 248 0 0 0 0 - - -; #X obj 58 197 expr (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1*(in_high-in_low)*log(power)) * exp($f1*log(power)) )); #X msg 115 102 0; #X msg 152 102 127; #X msg 215 99 -1; #X msg 249 97 1;
Re: [PD] help cloning max's scale
I just don't see the value of trying to make it compatible with broken code in Max. Joel On 06/19/2015 08:47 PM, Alexandre Torres Porres wrote: yeah, I see all that, but the problem is trying to clone it as it is in Max for the sake of compatibility. I wouldn't say that the classic mode is wrong, it may be not good for the purpose, but it's an arbitrary mathematical formula, so it is what it is. The problem is that I'm not being able to get the result the object spits out with the formula given in the reference. So my question is just making it sure that the given formula is wrong, and that it doesn't give what the object actually does. moreover, the idea is to keep compatibility, at first, with Max5. In Max7 the scale object will still give the same results (as default, by the way), so even if it was for the sake of making it compatible with Max7, we'd still need to make it work. But the thing is that the new not classic mode was introduced only in Max6. So, for the actual purpose, we're only caring about the classic mode compatibility. did you check if the formula in the reference is actually wrong, in the sense it won't give the results given by the object? Were you able to spot a parenthesis out of place or something that, if changed, would give the expected result? thanks cheers 2015-06-19 22:25 GMT-03:00 Joel Matthys jwmatt...@gmail.com mailto:jwmatt...@gmail.com: You're using the [scale] formula from @classic_mode in Max7, which exists for compatibility with IRCAM, but it's clearly wrong. (There's no way mapping 13.3 from 0-127 to -1 to 1 should result in something so close to -1. Just try a few different exponents and you'll see that there's a bug in the Max code. And there are lots of bug reports out there about it.) That's why they introduced an alternate mode for [scale] in Max, which can be switch in the Inspector. For non-classic (modern) mode, the documentation gives you this equation: ((x-in_low)/(in_high-in_low) == 0) ? out_low : (((x-in_low)/(in_high-in_low)) 0) ? (out_low + (out_high-out_low) * ((x-in_low)/(in_high-in_low))^exp) : ( out_low + (out_high-out_low) * --x+in_low)/(in_high-in_low)))^(exp))) Translated to expr as: [expr if ((($f1-in_low)/(in_high-in_low)==0), out_low, if ((($f1-in_low)/(in_high-in_low)0), out_low+(out_high-out_low)*pow(($f1-in_low)/(in_high-in_low), power), out_low+(out_high-out_low)*-1*pow((-1*$f1+in_low)/(in_high-in_low), power)))] Switch off classic mode in the inspector in Max7, and you get the same result as expr above, the very sensible -0.817072. Joel On 06/19/2015 05:39 PM, Alexandre Torres Porres wrote: Howdy, so I'm cloning the scale object from Max, to make an object and include in the cyclone library. It converts range input (low_in / high_in) to a range output (low_out / high_out). It has a logarithmic curve for rescaling according to a fifth argument/inlet. I did copy into expr the formula described in the reference of Max6/7 (max's 5 was just wrong, copied from [linedrive]) - well, it didn't work! Would anyone know if I'm doing something wrong or if the reference is not telling the truth? The formula, as described in the reference is: (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1 * (in_high-in_low) * log(power)) * exp(x * log(power)) )) Here's my patch with that formula into expr. The output with the parameters I have should be -0.997347 - as that's the output I get in Max. But instead, it's giving -0.994694... thanks = #N canvas 24 23 488 340 10; #X obj 215 154 v out_low; #X obj 233 132 v out_high; #X obj 288 110 v power; #X obj 152 130 v in_high; #X obj 115 153 v in_low; #X floatatom 58 248 0 0 0 0 - - -; #X obj 58 197 expr (out_low + (out_high-out_low) * ( (out_high - out_low) * exp(-1*(in_high-in_low)*log(power)) * exp($f1*log(power)) )); #X msg 115 102 0; #X msg 152 102 127; #X msg 215 99 -1; #X msg 249 97 1; #X msg 288 86 1.06; #X obj 90 31 loadbang; #X obj 90 60 t b b; #X msg 58 107 13.3; #X connect 6 0 5 0; #X connect 7 0 4 0; #X connect 8 0 3 0; #X connect 9 0 0 0; #X connect 10 0 1 0; #X connect 11 0 2 0; #X connect 12 0 13 0; #X connect 13 0 14 0; #X connect 13 1 11 0; #X connect 13 1 10 0; #X connect 13 1 9 0; #X connect 13 1 8 0; #X connect 13 1 7 0; #X connect 14 0 6 0; ___ Pd-list@lists.iem.at mailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -
[PD] Random thoughts after 1 year with PD
This is coming up on my first year as a PD hacker. Having so much fun. I think I'm obsessed. One thing I am really digging about PD is that after 1 year, I feel I have a basic grasp of about 20% of the PD objects (i think I am including extended here) and maybe 60% of the paradigm. * Even with this limited subset, I can build pretty much anything I want! * I have a collection of abstractions for LFOs, Multi-waveform oscillators, sample-loopers, basic effects, reverb and delay, sequencers, ADSR, basic LP, BP, and HP filters, etc. Ring Modulation, I have little modules that deal MIDI, etc. *Here's my observation* *which I wanted to share:* *Each time when I want to make music, I find myself building a custom instrument.* So the music I make with it seems fresh and different each time. I make music that surprises me! Because-- I am not sitting down with any per-conceived ideas of how to interact with the instrument. ...because it's something brand new every time! I don't know what it does exactly, So every session with it becomes an exploration of the instrument, and an exploration with sounds. Sometimes something which initially seems like a bug with the interface, turns out to be a creative opportunity. (like the way a slider with a very large range will jump around to certain discrete points.) And you think I wish that would move more fluidly. I wish this controller had more resolution (etc). But because of this bug, I've discovered micro-tonal scales. I first noticed this with Martin Neimoller's Chaos Monster, these strange but wonderful microtonal scales. It's really the secret to recreating the music of India, Iran, the middle east, and also far east. So anyway, thanks Miller for this incredible thing. I really think PD is the *Perfect Instrument* from *Orson Scott Card's *short story *Unaccompanied Sonata*. I have dreamed about having this capability to mangle sound like this, for many years, since I was a young boy, I never thought I would see anything like this in my lifetime. I think Pure Data has, in a way, set my soul free... And also thanks to this amazingly supportive community! Good on ye! BH -- -- May you, and all beings be happy and free from suffering :) -- ancient Buddhist Prayer (Metta) ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Nettles. Was: cyclone/maxmode functionality usage
Hi Alexandre, perfect, working fine in 0.42 now ;) Anything to keep the testers happy :-). why do you have to declare the nettles? How come they cannot be loaded along cyclone? Is it like they are not part of cyclone anymore? it's kinda weird, I don't get it. It could be my limited knowledge of how to handle real library objects. The 'normal' cyclone objects all have their own file, and they can be found by having Pd looking in the correct directory (by using Preferences Path... in combination with Preferences Startup) Nettles however, is one file containing all the objects. You have to load the nettles file before Pd knows the object names. [declare] seemed an elegant way to load them. '-lib nettles' from the command line or [import] are other ways. Of course the nettles file could be broken up into the individual objects, but I am just lazy. The changes I made to make it work outside the cyclone library object are minimal. cheers Greetings, Fred Jan 2015-06-18 7:42 GMT-03:00 Fred Jan Kraan fjkr...@xs4all.nl mailto:fjkr...@xs4all.nl: Hi Alexandre, You may try again, I updated svn and all cyclone binaries. I get handy with this, which means I am probably almost done ;-) Fred Jan ___ Pd-list@lists.iem.at mailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] is mass music and audio by sequences of samples?
Could you please describe what you understand by this leap? Still 1st impression - not read the article properly yet. It seems to be proposing a complete reversal of most things I've been taught in the study of electronic music. That as far as the computers concerned data is data - all noise. It seems to propose a quantum level of electronic composition beginning to bypass the top/down element of composing that is supposedly somewhat unavoidable. Less a sculptural process and more, well, like code. Heady stuff (and I could be copmletely wrong after a proper read through). Going to the park with my 1yr old son On 18 June 2015 at 21:38, Renato Fabbri renato.fab...@gmail.com wrote: 2015-06-18 11:24 GMT-03:00 Julian Brooks jbee...@gmail.com: A curious conceptual leap. Could you please describe what you understand by this leap? I got into a somewhat serious coding for music believing that it was already a legacy of the music community. Not finding it in almost 10 years, I wrote it. So I am still trying to grasp if this leap is shared and how. Pretty sure no one as made a Pd lib out of this yet (seems to be in Python?). Perhaps someone like Alexandre could translate some of the equations into the [exp~] family. I'd be very curious to hear/compare the results. not Will read the paper more thoroughly later (just had a quick skim). Thanks Renato for bringing it up. How do your versions sound? Something like this: https://soundcloud.com/le-poste-tche (only the three trios for oboe are output of other approaches). More contex here: https://github.com/ttm/dissertacao/raw/master/dissertacaoCorrigida.pdf Thanks Julian for the valuable feedback. PS. should I post this on music-dsp or any other channel? Best regards, Renato Regards, Julian On 18 June 2015 at 06:43, Renato Fabbri renato.fab...@gmail.com wrote: i've been looking for something like this modeling: http://arxiv.org/abs/1412.6853 so maybe diy, i tried, am trying and reaching something maybe. but anyway, has anybody seen something like this for pd or any other language/platform? cheers and peace ) ( _o_o_ oOo _o_o_ ) ( -- GNU/Linux User #479299 labMacambira.sf.net http://t.sidekickopen05.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJW7t5XZs1qMxg2W4XXYRg7d-5YKVfD6ll56dFtbf96PqYR02?t=http%3A%2F%2Flabmacambira.sf.net%2Fsi=5478613303427072pi=6df80f9f-f3af-447c-fd21-ffc1c205bea0 ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- GNU/Linux User #479299 labMacambira.sf.net http://t.sidekickopen05.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJW7t5XZs1qMxg2W4XXYRg7d-5YKVfD6ll56dFtbf96PqYR02?t=http%3A%2F%2Flabmacambira.sf.net%2Fsi=5478613303427072pi=2f8dfb88-2840-4534-bf6d-950e788b244f ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Update cyclone maintenance
About maintaining cyclone, I think a reorg would be great, and further maintenance as well. If you want to do whatever you want with it, then just make a fork and work on it as a new name. If you want to stick to cyclone's central goal of Max/MSP compatibility, then keep working on it as cyclone. But please do not work on cyclone and break the Max/MSP compatibility. .hc Alexandre Torres Porres: About the [rampsmooth~], I see the new object is corrected, great! One thing though, I just realized how it has no audio signal inlets for the arguments!!! It was supposed to have them, just like [slide~] does. cheers 2015-06-07 7:28 GMT-03:00 Fred Jan Kraan fjkr...@xs4all.nl: Hi Jan, Thanks for pointing this out. I had seen the logic juggling with RAMPSMOOTH_GEOMETRIC and RAMPSMOOTH_LINEAR, but hadn't came to the conclusion the default behaviour was incorrect. I changed the code for now, but could make the change possible at run-time, as it was intended. But as we already have [slide~] for this, it is not very needed. Greetings, Fred Jan On 2015-06-07 11:33 AM, Jan Baumgart wrote: Actually, the linear version is already in cyclone's code. You can choose at compile time by not setting #define RAMPSMOOTH_GEOMETRIC cheers, jan On 06/06/2015 10:26 PM, Alexandre Torres Porres wrote: I have another bug to report, now in [rampsmooth~]. According to its help file, it should generate a linear ramp, but it doesn't. Instead, it generates a logarithmic curve just like [slide~]. I have attached a picture that shows how both are operating in the same way, where they shouldn't. In MAX, [rampsmooth~] does in fact generate a perfectly linear ramp, unlike [slide~]. I was actually able to implement [slide~] only with [fexpr~], making it 100% compatible to vanilla. If there's a filter formula tht generates perfectly linear ramps I can implement it I guess, but it should be fairly easy to change it in the object. I'll see what I can do to help. cheers 2015-06-05 18:08 GMT-03:00 Dan Wilcox danomat...@gmail.com mailto:danomat...@gmail.com: [m_scale] is an abstraction ... Dan Wilcox @danomatika https://twitter.com/danomatika danomatika.com http://danomatika.com robotcowboy.com http://robotcowboy.com On Jun 5, 2015, at 5:05 PM, Alexandre Torres Porres por...@gmail.com mailto:por...@gmail.com wrote: Yeah, I already built it with expr, so I don't really need to download etxernals for that. I was just wondering if extended already had such a thing, and it doesn't, so I think it's a nice addon to cyclone. An addon to cyclone would implicate and addon to extended, but then, it's not clear it'll ever be maintained again. Last time anyone talked about it in this list was 6 months ago... one way or another, seems like a nice addon to cyclone. Maybe it could be just an abstraction and it doesn't have to be a compiled object, I see the point. But I'd like to try and code it as an external into the cyclone library if possible. cheers 2015-06-05 17:50 GMT-03:00 Dan Wilcox danomat...@gmail.com mailto:danomat...@gmail.com: See [m_scale] in rjlib: https://github.com/rjdj/rjlib/tree/master/rj Dan Wilcox @danomatika https://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/ On Jun 5, 2015, at 4:35 PM, pd-list-requ...@lists.iem.at mailto:pd-list-requ...@lists.iem.at wrote: *From:*Alexandre Torres Porres por...@gmail.com mailto:por...@gmail.com *Subject:**Re: [PD] Update cyclone maintenance* *Date:*June 5, 2015 at 4:34:55 PM EDT *To:*Fred Jan Kraan fjkr...@xs4all.nl mailto:fjkr...@xs4all.nl *Cc:*pd-list@lists.iem.at mailto:pd-list@lists.iem.at pd-list@lists.iem.at mailto:pd-list@lists.iem.at I'm voting for a new [scale] and [scale~] object in cyclone, the second is missing completely in extended, the first is around, but in different versions, like [maxlib/scale], which has a log option, and is actually buggy, and the [expr_scale], which is just an expr abstraction. Seems like very simple externals to make and I could go ahead and code them. I think they'd be really useful. For example, [scale~] would be essential to adjust the amplitude range from LFOs to control your patches. the [scale] would be good for adjusting MIDI input. cheers ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list N�n�r)em�h�yhiם�w^�� ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -
Re: [PD] Nettles. Was: cyclone/maxmode functionality usage
It could be my limited knowledge of how to handle real library objects. Now that you've mentioned, that seems about right :) I know nothing about how to handle it too, but I believe it'd be quite trivial to load them without declaring it like that. And there'd be no need to split them into many objects. Other Pd masters could help with that... 2015-06-19 3:36 GMT-03:00 Fred Jan Kraan fjkr...@xs4all.nl: Hi Alexandre, perfect, working fine in 0.42 now ;) Anything to keep the testers happy :-). why do you have to declare the nettles? How come they cannot be loaded along cyclone? Is it like they are not part of cyclone anymore? it's kinda weird, I don't get it. It could be my limited knowledge of how to handle real library objects. The 'normal' cyclone objects all have their own file, and they can be found by having Pd looking in the correct directory (by using Preferences Path... in combination with Preferences Startup) Nettles however, is one file containing all the objects. You have to load the nettles file before Pd knows the object names. [declare] seemed an elegant way to load them. '-lib nettles' from the command line or [import] are other ways. Of course the nettles file could be broken up into the individual objects, but I am just lazy. The changes I made to make it work outside the cyclone library object are minimal. cheers Greetings, Fred Jan 2015-06-18 7:42 GMT-03:00 Fred Jan Kraan fjkr...@xs4all.nl mailto:fjkr...@xs4all.nl: Hi Alexandre, You may try again, I updated svn and all cyclone binaries. I get handy with this, which means I am probably almost done ;-) Fred Jan ___ Pd-list@lists.iem.at mailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list