[PD] isosonic curves : level the perceptual loudness of different pitches

2010-04-08 Thread Mathieu Bouchard


This was first presented in the Second Puredata International 
Convention, in which I thank Mathieu again as well as the other people 
involved in the production of it - the event was basically a turn point 
in my life for the better :)  But the work I presented then seems to 
have disappeared from the web... that one is in english, and is still a 
good starting reference to the things I'm working with in my phd 
research. I can send over request.


do you mean http://artengine.ca/~catalogue-pd/28-Porres.pdf ?

This paper has been there since 22 août 2007 and hasn't moved 2,54 
centimetres.


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


[PD] isosonic curves : level the perceptual loudness of different pitches

2010-03-25 Thread Mathieu Bouchard


In Fact, I just compiled 2 ways of doing the phons curves, by 
Robinson-Dadson, and the ISO226:2003.


glad to see it's released and GPL'ed, but can you just add « with lots of 
help from Mathieu Bouchard » somewhere in the comments ?


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


Re: [PD] isosonic curves : level the perceptual loudness of different pitches

2010-03-25 Thread Alexandre Porres
Well, I ain't released at all, I just a briefly mentioned. But in a
portuguese mail list they were so excited about it I had to release and did
thank and make references to all of who helped, especially Mathieu, of
Course, without whom I'd still be stuck and not kowing what do to at all :)

And as long as we are on the subject, let me tell more about this: one
object does the conversion according to the data from ISO226:2003, and the
code was from a matlab code you can easily find on the net (don't remember
the author, sorry). The other object converts according to Robinson and
Dadson's 1956 revision, and the converting functions are from the Composer
Clarence Barlow.

All this follows the external I publihed last year at SBCM09 (portuguese),
with co-autorship of Andre Salim Pires, who compiled the thing for me. And
the external is the roughness object, that uses the Equal  Loudness Curves
in it. I first had it as a patch, which couldn't be have been made witout
the initial push of yet another partner (Fábio Furlanete), who was the first
to help me out in the world of Pd, and started porting some Matlab codes
from Sethares' research as a Pd patch.

This was first presented in the Second Puredata International Convention, in
which I thank Mathieu again as well as the other people involved in the
production of it - the event was basically a turn point in my life for the
better :)  But the work I presented then seems to have disappeared from the
web... that one is in english, and is still a good starting reference to the
things I'm working with in my phd research. I can send over request.

Now, I see that the [loudness~] object for MAX does something I'm interested
in, do we have a similar thing for Pd? I could port that object for Pd if we
don't as part of my research, with the help of Mathieu of course :)

and about the iem_matrix object, do I have to get it somewhere? What data is
it from?

Cheers
Alex


2010/3/25 Mathieu Bouchard ma...@artengine.ca


  In Fact, I just compiled 2 ways of doing the phons curves, by
 Robinson-Dadson, and the ISO226:2003.


 glad to see it's released and GPL'ed, but can you just add « with lots of
 help from Mathieu Bouchard » somewhere in the comments ?

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


Re: [PD] isosonic curves : level the perceptual loudness of different pitches

2010-03-24 Thread Alexandre Porres
Oops, couldn't find or load the [mtx_phon_curve]. But I got Pd Extended with
iemmatrix, what could I be doing wrong? do you all have it?

cheers
alex



2010/3/24 Alexandre Porres por...@gmail.com

 Hi, I found an acient thread that really interests me a lot!

 In Fact, I just compiled 2 ways of doing the phons curves, by 
 Robinson-Dadson, and the ISO226:2003.

 I will look now for this iem_matrix object and see what it does. In the 
 meantime, I'm wondering what else more related to the subject there is.

 For example, I know now that in Super Colider you can analyze a sound via FFT 
 and it will give you the loudness in sones.

 I think I believe I saw something about a MAX object named [loudness] on the 
 net, and I assume it might do something similar.


 Do we have something for that in Pd?


 Cheers

 Alex


 ps. Oh yeah, I attached my stuff, the objects are inside my roughness library.




 Alexandre Quessy wrote:
 * Hi all,** ** I would like to create an abstraction to adjust the 
 amplitude of** synthetic sounds according to the ear sensitivity. At a 
 given** amplitude, we hear the notes in the middle range louder than the 
 high** and low notes. This perceptual property of the audition can be** 
 somewhat undesired in a musical work. (in my opinion at least)** ** The 
 equal lines of actual amplitude of notes that seem to have the** same 
 loudness are called isosonic curves. Here are 2 different** graphics of 
 these curves :** ** 
 http://www.multimedia.uqam.ca/cours/audio/images/diag/sonpsy_isoson.gif** 
 http://www.comm.uqam.ca/GRAM/illu/mus/nature/CourbeDIsosonie.GIF** ** A 
 few links that might give you a few hint for the calculations :** ** 
 http://en.wikipedia.org/wiki/DB%28A%29** 
 http://en.wikipedia.org/wiki/Weighting_filter** 
 http://en.wikipedia.org/wiki/Stevens%27_power_law** ** Anyone would have a 
 formula or a table containing data that could help** me to calculate this ? 
 For instance, we would be able to generate sine** waves of any frequencies 
 that would be perceived as having the same** intensity for all of them, by 
 changing their amplitude according to** this leveling formula . This way, 
 we could hear our low freq notes as** much as the middle ones. Very 
 valuable. :)*
 btw, there is an object in iemmatrix called [mtx_phon_curve] which
 should give you what you want.

 since it is an abstraction, you can even see how the curves are created.


 mfga.sdr
 IOhannes


 * ** Thanks !*


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


Re: [PD] isosonic curves : level the perceptual loudness of different pitches

2007-03-04 Thread Alexandre Quessy
Hello all,
This abstraction is very nice, but computing matrices on every note is
quite expensive on the CPU, no? Perhaps it would be better to store it
in a table, let say using 60 (pd)db as a reference. The only thing is
that low and high notes are multiplied by factor much bigger than 1
and it makes the sound clip much. Maybe I should just use a [clip]
with the values read from the table. Any suggestion for something
usable on every day patching ?

Thanks,

a

2007/2/12, Denis Trapeznikoff [EMAIL PROTECTED]:


 2007/2/9, Ed Kelly [EMAIL PROTECTED]:
  So, if you have a signal at 96dBPD (-4dBFS) and you set it to 90dBPD
 (-10dbFS), the loudness will be heard to drop by the same amount as when you
 then set it to 84dBPD (-16dBFS).
 ... but remember, that ear's frequency response curve is dependent on the
 level of sound... So the amount is not the same.

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




-- 
Alexandre Quessy
http://alexandre.quessy.net

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


Re: [PD] isosonic curves : level the perceptual loudness of different pitches

2007-02-10 Thread Franz Zotter
Hi Alexandre, hi all,

Yesterday I corrected an error in mtx_phon_curve-help.pd and changed the 
behaviour of [mtx_phon_curve] abstraction 
(pure-data.cvs.sf.net/cvsroot/puredata/externals/iem/iemmatrix/abs). 
Now the output is in dB, just like everyone would expect; before it was 
p^2/p0^2 ...

On Thursday 08 February 2007 06:43, Alexandre Quessy wrote:
 Hello all,
 Very nice, mr. Zmoelnig. Of course, this is exactly what I need.
 To use this very nice abstraction, I simply need to multiply the
 amplitude of the pitch I want to level by the corresponding amplitude
 in db, which will need to passed in [db2rms] ?

 [tabread]

 [db2rms]

 [*~]
  ...

 Awesome !

 Alexandre Quessy

Perhaps a nice version could be now:

number box
[osc~] |
 [mtx 1 1]
 [mtx_phon_curve 60]
 [$3(
 [dbtorms]
[*~]

  btw, there is an object in iemmatrix called [mtx_phon_curve] which
  should give you what you want.
 
  since it is an abstraction, you can even see how the curves are created.
 
 
  mfga.sdr
  IOhannes
 
   Thanks !

Franz

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


Re: [PD] isosonic curves : level the perceptual loudness of different pitches

2007-02-09 Thread Ed Kelly
Hi Alex, all

...but PDs dB goes to 0, because we have to have the numbers following the same 
scheme - so that 0 means 0 always I think. Industry uses dBFS (deciBel Full 
Scale) because it is measuring the  signal against the full scale from -96dB in 
16bit recordings to  0dB (all bits used). 

Basically, the reason for dB is that our ears hear sound in a non-linear 
fashion, rather like frequency in fact which is why we have [mtof]

Each drop of (n)dB will be heard as the same amount of reduction in loudness, 
whereas every linear drop is different perceptually. So, if you have a signal 
at 96dBPD (-4dBFS) and you set it to 90dBPD (-10dbFS), the loudness will be 
heard to drop by the same amount as when you then set it to 84dBPD (-16dBFS). 
In fact, you have halved the amplitude twice, so it is a quarter of what it 
was, but each drop is heard as the same. This is the difference between 
amplitude (linear [*~ ]) and loudness (logarithmic)

...so you could relate dB to pitch accounting for the energy at different 
pitches quite simply, if you use inputs to [dBtorms] and [mtof] in some form of 
inverse-proportion.

   [dbtorms]
|
[*~ ]

Best,
Ed

Alexandre Quessy [EMAIL PROTECTED] wrote: Hi all,

2007/2/8, Frank Barknecht :
 Yes, it's new. You could use the [list-len] abstraction from
 [list]-abs instead, but you need to check out an older version,
 because the newest one just wraps [list length].

zexy's [length] also does the job, as far as I know.

As I can see, I am still very bad at using the dB unit for audio
amplitude... Anyone has a rule of thumb for this ? Should I use dB
with a simple ADSR filter, let say ? I know that if you use them, -6
dB is somewhat half as loud and +6 dB is twice as loud. Great. Now, in
pd, 100 is unity while in the industry, the consoles use 0 for unity
level. 0 in pd is minus infinity, as far as I know. Now, what is
usable ? After a drop of a few dB, we don't hear anything.
Perceptualy, I find the standard [*~] range of numbers more linear
than using the dB scale.

So, the RMS kind of mean the actual amplitude of the vibrating
membrane of the speaker... http://en.wikipedia.org/wiki/Audio_power :
hence we use [- 100] [dbtorms] for the conversion. Anything else one
should know ?

Perhaps I should put it somewhere on puredata.org after. :)
-- 
Alexandre Quessy
http://alexandre.quessy.net

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



\/
/\
| |
==
| |
   /  \

Lone Shark Aviation out now on http://www.pyramidtransmissions.com
http://www.pyramidtransmissions.com/process.php?pname=ShopfrontProcess-Start

-
 The all-new Yahoo! Mail goes wherever you go - free your email address from 
your Internet provider.___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] isosonic curves : level the perceptual loudness of different pitches

2007-02-08 Thread Alexandre Quessy

Hello all,
Very nice, mr. Zmoelnig. Of course, this is exactly what I need.

It appears that the object [list length] cannot be created. Is this a
pd 0.40 new feature of the [list] object ? (using pd 0.39-2 extended
on Linux)

To use this very nice abstraction, I simply need to multiply the
amplitude of the pitch I want to level by the corresponding amplitude
in db, which will need to passed in [db2rms] ?

[tabread]
  |
[db2rms]
  |
[*~]
...

Awesome !

Alexandre Quessy
http://alexandre.quessy.net


2007/1/25, IOhannes m zmoelnig [EMAIL PROTECTED]:

Alexandre Quessy wrote:
 Hi all,

 I would like to create an abstraction to adjust the amplitude of
 synthetic sounds according to the ear sensitivity. At a given
 amplitude, we hear the notes in the middle range louder than the high
 and low notes. This perceptual property of the audition can be
 somewhat undesired in a musical work. (in my opinion at least)

 The equal lines of actual amplitude of notes that seem to have the
 same loudness are called isosonic curves. Here are 2 different
 graphics of these curves :

 http://www.multimedia.uqam.ca/cours/audio/images/diag/sonpsy_isoson.gif
 http://www.comm.uqam.ca/GRAM/illu/mus/nature/CourbeDIsosonie.GIF

 A few links that might give you a few hint for the calculations :

 http://en.wikipedia.org/wiki/DB%28A%29
 http://en.wikipedia.org/wiki/Weighting_filter
 http://en.wikipedia.org/wiki/Stevens%27_power_law

 Anyone would have a formula or a table containing data that could help
 me to calculate this ? For instance, we would be able to generate sine
 waves of any frequencies that would be perceived as having the same
 intensity for all of them, by changing their amplitude according to
 this leveling formula . This way, we could hear our low freq notes as
 much as the middle ones. Very valuable. :)

btw, there is an object in iemmatrix called [mtx_phon_curve] which
should give you what you want.

since it is an abstraction, you can even see how the curves are created.


mfga.sdr
IOhannes



 Thanks !





x

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


Re: [PD] isosonic curves : level the perceptual loudness of different pitches

2007-02-08 Thread Frank Barknecht
Hallo,
Alexandre Quessy hat gesagt: // Alexandre Quessy wrote:

 It appears that the object [list length] cannot be created. Is this a
 pd 0.40 new feature of the [list] object ? (using pd 0.39-2 extended
 on Linux)

Yes, it's new. You could use the [list-len] abstraction from
[list]-abs instead, but you need to check out an older version,
because the newest one just wraps [list length].

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__

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