Csound Csound-dev Csound-tekno Search About

Re: intuitive volume control?

Date1994-04-08 05:44
FromMichael Pelz-Sherman
SubjectRe: intuitive volume control?
> You will not get satisfactory results, however, because of
> the nonlinear response of the ear, nonflat frequency response
> of your sound system, and because the formula is an
> approximation.

Yes, the well-known "Fletcher-Munson" curves are anything *but* linear! The ear is MUCH more sensitive to frequencies  
around 1 KHz. This is why you have "loudness" controls on most home stereos - they boost the bass and treble range to  
give you more *perceived* loudness without actually increasing amplitude that much.

This whole issue gets *really* hairy when you start dealing with complex waveforms instead of sine waves. Bottom  
line: you simply can't "read" a Csound score! Get a fast machine & a really good set of headphones, and let your ears  
be the judge.

- mps

Begin forwarded message:

Date: Mon, 07 Apr 1997 23:08:38 -0400
From: Gregory Boduch 
Reply-To: gb141@columbia.edu
Organization:  but different frequencies at the same decibel level do not sound > equally loud. (i've been listening and reading)
>
> please explain as simply as possible. but any response would be most
> welcome.

 [...]

See  "Elements of Computer Music," by F. Richard Moore, page 21, for a
discussion of subjective loudness. You will find a formula there,
L = C * (I^1/3). It can be implemented in the form
IL = 10 * ( ln ( ( ( sones / Hz )^3 ) / 10^-12 ) / ln 10 ), for
example:

;-------sonetest.orc---------------------------

sr=44100
kr=441
ksmps=100
nchnls=2

instr 1

ifq=cpspch(p4+4)
isones=p5

asones expseg  .1,.1,isones,p3-.11,isones,.01,.1

ares1 apow asones/ifq, 3, 1
ires2 ipow 10,-12

adb=10*((log((ares1)/ires2))/log(10))
ampenv=ampdb(adb)
amp=ampenv

asig oscili amp,ifq,1

outs  asig, asig

endin

;------------sonetest.sco-------------------------------

f1 0 1024  10  1

;sones  ---  !According to the equation these might sound equally loud!
i1 0    1   1.00  2.816
i1 1.5  1   2.00
i1 3    1   3.00
i1 4.5  1   4.00
i1 6    1   5.00
i1 7.5  1   6.00
i1 9    1   7.00
i1 10   1   8.00
e



You will not get satisfactory results, however, because of the nonlinear
response of the ear, nonflat frequency response of your sound system,
and because the formula is an approximation.


GB

Date1997-04-08 04:08
FromGregory Boduch
SubjectRe: intuitive volume control?
tolve wrote:

 [...]
 
> but different frequencies at the same decibel level do not sound > equally loud. (i've been listening and reading)
> 
> please explain as simply as possible. but any response would be most
> welcome. 

 [...]
 
See  "Elements of Computer Music," by F. Richard Moore, page 21, for a
discussion of subjective loudness. You will find a formula there,
L = C * (I^1/3). It can be implemented in the form
IL = 10 * ( ln ( ( ( sones / Hz )^3 ) / 10^-12 ) / ln 10 ), for
example:

;-------sonetest.orc---------------------------

sr=44100
kr=441
ksmps=100
nchnls=2

instr 1

ifq=cpspch(p4+4)
isones=p5

asones expseg  .1,.1,isones,p3-.11,isones,.01,.1

ares1 apow asones/ifq, 3, 1
ires2 ipow 10,-12

adb=10*((log((ares1)/ires2))/log(10))
ampenv=ampdb(adb)
amp=ampenv
 
asig oscili amp,ifq,1

outs  asig, asig

endin
 
;------------sonetest.sco-------------------------------
 
f1 0 1024  10  1
 
;sones  ---  !According to the equation these might sound equally loud!
i1 0    1   1.00  2.816
i1 1.5  1   2.00  
i1 3    1   3.00  
i1 4.5  1   4.00  
i1 6    1   5.00  
i1 7.5  1   6.00  
i1 9    1   7.00  
i1 10   1   8.00  
e
 


You will not get satisfactory results, however, because of the nonlinear
response of the ear, nonflat frequency response of your sound system,
and because the formula is an approximation.


GB