You can subscribe to this list here.
2004 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}
(40) 
_{Dec}
(29) 

2005 
_{Jan}
(7) 
_{Feb}
(12) 
_{Mar}
(28) 
_{Apr}
(27) 
_{May}

_{Jun}
(13) 
_{Jul}
(4) 
_{Aug}
(7) 
_{Sep}
(1) 
_{Oct}
(2) 
_{Nov}
(32) 
_{Dec}
(49) 
2006 
_{Jan}
(31) 
_{Feb}
(16) 
_{Mar}
(15) 
_{Apr}
(15) 
_{May}
(21) 
_{Jun}
(1) 
_{Jul}
(1) 
_{Aug}
(5) 
_{Sep}
(2) 
_{Oct}
(21) 
_{Nov}

_{Dec}
(6) 
2007 
_{Jan}
(21) 
_{Feb}

_{Mar}

_{Apr}
(5) 
_{May}
(1) 
_{Jun}
(3) 
_{Jul}
(10) 
_{Aug}
(38) 
_{Sep}
(21) 
_{Oct}
(38) 
_{Nov}
(23) 
_{Dec}
(3) 
2008 
_{Jan}
(72) 
_{Feb}
(45) 
_{Mar}
(46) 
_{Apr}
(5) 
_{May}
(2) 
_{Jun}
(33) 
_{Jul}

_{Aug}
(9) 
_{Sep}
(6) 
_{Oct}
(1) 
_{Nov}
(17) 
_{Dec}
(73) 
2009 
_{Jan}
(20) 
_{Feb}
(28) 
_{Mar}
(7) 
_{Apr}
(24) 
_{May}
(8) 
_{Jun}
(59) 
_{Jul}
(38) 
_{Aug}
(25) 
_{Sep}
(19) 
_{Oct}
(40) 
_{Nov}
(43) 
_{Dec}
(53) 
2010 
_{Jan}
(22) 
_{Feb}
(12) 
_{Mar}
(14) 
_{Apr}
(4) 
_{May}
(29) 
_{Jun}
(26) 
_{Jul}
(7) 
_{Aug}
(14) 
_{Sep}
(16) 
_{Oct}
(34) 
_{Nov}
(13) 
_{Dec}
(8) 
2011 
_{Jan}

_{Feb}

_{Mar}
(1) 
_{Apr}
(1) 
_{May}

_{Jun}
(5) 
_{Jul}
(10) 
_{Aug}
(2) 
_{Sep}
(3) 
_{Oct}

_{Nov}
(1) 
_{Dec}
(1) 
2012 
_{Jan}

_{Feb}
(1) 
_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}
(4) 
_{Aug}

_{Sep}
(21) 
_{Oct}

_{Nov}

_{Dec}

2013 
_{Jan}

_{Feb}

_{Mar}
(1) 
_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}
(6) 
_{Nov}

_{Dec}

2014 
_{Jan}

_{Feb}
(2) 
_{Mar}

_{Apr}

_{May}
(1) 
_{Jun}

_{Jul}
(3) 
_{Aug}

_{Sep}
(1) 
_{Oct}

_{Nov}

_{Dec}

2015 
_{Jan}
(2) 
_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 






1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19
(1) 
20
(3) 
21
(7) 
22

23

24
(1) 
25
(11) 
26
(2) 
27
(2) 
28
(6) 
29

30
(1) 
31







From: Roger Dannenberg <rbd@cs...>  20101025 20:16:54

Maybe this will help. Suppose instead of 1.2, you use 8. That is, Hz/8 for the low frequency, and Hz*8 for the high frequency. (I'm using a really big number, 8, even though it is not a practical value.) A factor of 8 is 3 octaves (2*2*2). So that's 3 octaves down and 3 octaves up. The width is therefore 3+3=6. It is not 8; it is not sqrt(8) or sqrt(8*8). 6 is logbase2(8*8). I had some more math in a previous message, and maybe the text below will make more sense now. Roger On 10/25/10 3:55 PM, James Shatto wrote: > I guess I'm not understanding this version of octaves. Simple physic > has a string cut in half is an octave up, doubled in length is an > octave down. My interpretation translated to Hz is Hz/2 = down an > octave and Hz*2 = up an octave. I'm using 1.2 for pseudo octaves for > more bands. What would be the formula for width in this case? (sqrt > (mult 1.2 1.2)) ? Isn't that 1.2? Or is it more complex? > > Ultimately I'll use a loop, just keeping it simple to get the jist of > it for now. aka SemiHuman readable. > > > On 10/25/10, Roger Dannenberg<rbd@...> wrote: >> On 10/25/10 12:40 PM, James Shatto wrote: >>> Based on the band being frequency/width to frequency*width, that >>> really simplified what I was trying to do. For 22ish bands the width >>> would be 1.2ish. Which places the 22nd band up past sampling rates >>> of 48kHz, so I don't know if that will be problematic for samples at >>> or less than 48kHz. Most of my samples are in the 192kHz / 96kHz >>> realm, so not a problem for me (at the moment). >>> >>> I'll probably want to expand it later to allow a variable width and >>> therefor variable bands. And I'm still not entirely sure if it does >>> exactly what I want. But it does seem to work. And with most of the >>> desired effect. In some respects better than expected, but I've still >>> got to run the results through the ringer. i.e. downsample the long >>> way to maximize clarity. >>> >>> http://home.earthlink.net/~shadow_7/FauxFurEQ.ny >> I took a look here: it looks like your width parameter is 1.2, but bands >> go from freq/1.2 to freq*1.2. Your bandwidth is 1.44, but you need to >> specify this in octaves. A ratio of 1.44 is 0.526069 octaves, so the >> width parameter to eqband should be 0.526069. That's if you want the >> filter response to be gain/2 at freq/1.2 and freq*1.2. You could >> increase or decrease width to get more or less overlap. >> >> There's no need to write out equations for each band  you could use a >> loop to simplify the code (or maybe that would "complexify" it by adding >> control constructs and data structures). The nbandrange function uses a >> loopsandarray approach to do something similar. >> >> Roger >>> Feel free to set me straight if my logic is based on misunderstanding. >>> It wouldn't be the first time. >>> >>>  James >>> >>> >>> On 10/25/10, Roger Dannenberg<rbd@...> wrote: >>>> On 10/25/10 5:49 AM, James Shatto wrote: >>>>>> How would you specify the spline? >>>>> linearly it would be (current frequency)/(max frequency)*(dB >>>>> adjustment) = (dB adjustment) >>>>> >>>>> my current math is more like (current gain for frequency) = (previous >>>>> gain for frequency) * 0.75 (over 20ish bands, going from highest to >>>>> lowest). >>>>> >>>>> Which works pretty good using audacities 15 band mutiband eq and a >>>>> value closer to 0.60. But I'm wanting something less step ladder and >>>>> needing only one or two values (with defaults) on the effects >>>>> initiation. >>>>> >>>>> Not that I know if nyquist supports it, but some sort of sin / cos arc >>>>> averaged with the linear model to determine the depth of the arc. >>>>> Based on the bottom right quadrant of a circle from lowest Hz to >>>>> highest Hz. Or something like that. Perhaps some averaging to 2 line >>>>> + 1 arc / 3 or 1 arc + 2 line / 3 type slider to tweak it. It's just >>>>> the implementation of actually doing the eq that seems problematic >>>>> right now. At a minimum the math for x^2+y^2=r^2 seems to be >>>>> implemented. Where r is the max frequency, x is the current frequency >>>>> and y the unknown would be scaled to the gain adjustment ((y/max >>>>> frequency)*dB). But it's not that math that's got me stumped. It's >>>>> how to use the result to affect the eq with the least issues. >>>>> >>>>>  James >>>>> >>>> OK, you could try the NBANDRANGE function. Here, I believe frequency >>>> bands are geometrically spaced rather than linear, but you can compute >>>> an array of gains. If you tell me whether you are using Lisp or SAL, I >>>> think I can send a small example that computes a set of gains for >>>> NBANDRANGE. >>>> >>>> (I still think for a few dB, you are better off with only a few bands, >>>> but if you like the sound, that's the ultimate test.) >>>> >>>> Roger >>  >> Nokia and AT&T present the 2010 Calling All InnovatorsNorth America contest >> Create new apps& games for the Nokia N8 for consumers in U.S. and Canada >> $10 million total in prizes  $4M cash, 500 devices, nearly $6M in marketing >> Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store >> http://p.sf.net/sfu/nokiadev2dev >> _______________________________________________ >> Audacitynyquist mailing list >> Audacitynyquist@... >> https://lists.sourceforge.net/lists/listinfo/audacitynyquist >> >  > Nokia and AT&T present the 2010 Calling All InnovatorsNorth America contest > Create new apps& games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes  $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokiadev2dev > _______________________________________________ > Audacitynyquist mailing list > Audacitynyquist@... > https://lists.sourceforge.net/lists/listinfo/audacitynyquist > 
From: James Shatto <wwwshadow7@gm...>  20101025 19:55:53

I guess I'm not understanding this version of octaves. Simple physic has a string cut in half is an octave up, doubled in length is an octave down. My interpretation translated to Hz is Hz/2 = down an octave and Hz*2 = up an octave. I'm using 1.2 for pseudo octaves for more bands. What would be the formula for width in this case? (sqrt (mult 1.2 1.2)) ? Isn't that 1.2? Or is it more complex? Ultimately I'll use a loop, just keeping it simple to get the jist of it for now. aka SemiHuman readable. On 10/25/10, Roger Dannenberg <rbd@...> wrote: > On 10/25/10 12:40 PM, James Shatto wrote: >> Based on the band being frequency/width to frequency*width, that >> really simplified what I was trying to do. For 22ish bands the width >> would be 1.2ish. Which places the 22nd band up past sampling rates >> of 48kHz, so I don't know if that will be problematic for samples at >> or less than 48kHz. Most of my samples are in the 192kHz / 96kHz >> realm, so not a problem for me (at the moment). >> >> I'll probably want to expand it later to allow a variable width and >> therefor variable bands. And I'm still not entirely sure if it does >> exactly what I want. But it does seem to work. And with most of the >> desired effect. In some respects better than expected, but I've still >> got to run the results through the ringer. i.e. downsample the long >> way to maximize clarity. >> >> http://home.earthlink.net/~shadow_7/FauxFurEQ.ny > I took a look here: it looks like your width parameter is 1.2, but bands > go from freq/1.2 to freq*1.2. Your bandwidth is 1.44, but you need to > specify this in octaves. A ratio of 1.44 is 0.526069 octaves, so the > width parameter to eqband should be 0.526069. That's if you want the > filter response to be gain/2 at freq/1.2 and freq*1.2. You could > increase or decrease width to get more or less overlap. > > There's no need to write out equations for each band  you could use a > loop to simplify the code (or maybe that would "complexify" it by adding > control constructs and data structures). The nbandrange function uses a > loopsandarray approach to do something similar. > > Roger >> Feel free to set me straight if my logic is based on misunderstanding. >> It wouldn't be the first time. >> >>  James >> >> >> On 10/25/10, Roger Dannenberg<rbd@...> wrote: >>> On 10/25/10 5:49 AM, James Shatto wrote: >>>>> How would you specify the spline? >>>> linearly it would be (current frequency)/(max frequency)*(dB >>>> adjustment) = (dB adjustment) >>>> >>>> my current math is more like (current gain for frequency) = (previous >>>> gain for frequency) * 0.75 (over 20ish bands, going from highest to >>>> lowest). >>>> >>>> Which works pretty good using audacities 15 band mutiband eq and a >>>> value closer to 0.60. But I'm wanting something less step ladder and >>>> needing only one or two values (with defaults) on the effects >>>> initiation. >>>> >>>> Not that I know if nyquist supports it, but some sort of sin / cos arc >>>> averaged with the linear model to determine the depth of the arc. >>>> Based on the bottom right quadrant of a circle from lowest Hz to >>>> highest Hz. Or something like that. Perhaps some averaging to 2 line >>>> + 1 arc / 3 or 1 arc + 2 line / 3 type slider to tweak it. It's just >>>> the implementation of actually doing the eq that seems problematic >>>> right now. At a minimum the math for x^2+y^2=r^2 seems to be >>>> implemented. Where r is the max frequency, x is the current frequency >>>> and y the unknown would be scaled to the gain adjustment ((y/max >>>> frequency)*dB). But it's not that math that's got me stumped. It's >>>> how to use the result to affect the eq with the least issues. >>>> >>>>  James >>>> >>> OK, you could try the NBANDRANGE function. Here, I believe frequency >>> bands are geometrically spaced rather than linear, but you can compute >>> an array of gains. If you tell me whether you are using Lisp or SAL, I >>> think I can send a small example that computes a set of gains for >>> NBANDRANGE. >>> >>> (I still think for a few dB, you are better off with only a few bands, >>> but if you like the sound, that's the ultimate test.) >>> >>> Roger > >  > Nokia and AT&T present the 2010 Calling All InnovatorsNorth America contest > Create new apps & games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes  $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokiadev2dev > _______________________________________________ > Audacitynyquist mailing list > Audacitynyquist@... > https://lists.sourceforge.net/lists/listinfo/audacitynyquist > 
From: Roger Dannenberg <rbd@cs...>  20101025 18:36:04

On 10/25/10 12:40 PM, James Shatto wrote: > Based on the band being frequency/width to frequency*width, that > really simplified what I was trying to do. For 22ish bands the width > would be 1.2ish. Which places the 22nd band up past sampling rates > of 48kHz, so I don't know if that will be problematic for samples at > or less than 48kHz. Most of my samples are in the 192kHz / 96kHz > realm, so not a problem for me (at the moment). > > I'll probably want to expand it later to allow a variable width and > therefor variable bands. And I'm still not entirely sure if it does > exactly what I want. But it does seem to work. And with most of the > desired effect. In some respects better than expected, but I've still > got to run the results through the ringer. i.e. downsample the long > way to maximize clarity. > > http://home.earthlink.net/~shadow_7/FauxFurEQ.ny I took a look here: it looks like your width parameter is 1.2, but bands go from freq/1.2 to freq*1.2. Your bandwidth is 1.44, but you need to specify this in octaves. A ratio of 1.44 is 0.526069 octaves, so the width parameter to eqband should be 0.526069. That's if you want the filter response to be gain/2 at freq/1.2 and freq*1.2. You could increase or decrease width to get more or less overlap. There's no need to write out equations for each band  you could use a loop to simplify the code (or maybe that would "complexify" it by adding control constructs and data structures). The nbandrange function uses a loopsandarray approach to do something similar. Roger > Feel free to set me straight if my logic is based on misunderstanding. > It wouldn't be the first time. > >  James > > > On 10/25/10, Roger Dannenberg<rbd@...> wrote: >> On 10/25/10 5:49 AM, James Shatto wrote: >>>> How would you specify the spline? >>> linearly it would be (current frequency)/(max frequency)*(dB >>> adjustment) = (dB adjustment) >>> >>> my current math is more like (current gain for frequency) = (previous >>> gain for frequency) * 0.75 (over 20ish bands, going from highest to >>> lowest). >>> >>> Which works pretty good using audacities 15 band mutiband eq and a >>> value closer to 0.60. But I'm wanting something less step ladder and >>> needing only one or two values (with defaults) on the effects >>> initiation. >>> >>> Not that I know if nyquist supports it, but some sort of sin / cos arc >>> averaged with the linear model to determine the depth of the arc. >>> Based on the bottom right quadrant of a circle from lowest Hz to >>> highest Hz. Or something like that. Perhaps some averaging to 2 line >>> + 1 arc / 3 or 1 arc + 2 line / 3 type slider to tweak it. It's just >>> the implementation of actually doing the eq that seems problematic >>> right now. At a minimum the math for x^2+y^2=r^2 seems to be >>> implemented. Where r is the max frequency, x is the current frequency >>> and y the unknown would be scaled to the gain adjustment ((y/max >>> frequency)*dB). But it's not that math that's got me stumped. It's >>> how to use the result to affect the eq with the least issues. >>> >>>  James >>> >> OK, you could try the NBANDRANGE function. Here, I believe frequency >> bands are geometrically spaced rather than linear, but you can compute >> an array of gains. If you tell me whether you are using Lisp or SAL, I >> think I can send a small example that computes a set of gains for >> NBANDRANGE. >> >> (I still think for a few dB, you are better off with only a few bands, >> but if you like the sound, that's the ultimate test.) >> >> Roger 
From: Stevethefiddle <stevethefiddle@gm...>  20101025 18:18:19

If you are running this in Audacity, have you considered using "Draw Curves" in the Equalizer effect? (available in Audacity 1.3.x). Custom curves may be saved and reused when you need them.  View this message in context: http://audacity.238276.n2.nabble.com/eqbandandwidthtp5668375p5671802.html Sent from the audacitynyquist mailing list archive at Nabble.com. 
From: edgar <edgarrft@we...>  20101025 17:22:54

Hi all on the Audacity Nyquist list, Suggested solutions for known problems with backslashes and doublequotes in Audacity Nyquist text input widgets: http://forum.audacityteam.org/viewtopic.php?f=39&t=42770 Plese tell me in case I have something forgotten... Thanks,  edgar  The author of this email does not necessarily endorse the following advertisements, which are the sole responsibility of the advertiser: 
From: James Shatto <wwwshadow7@gm...>  20101025 16:40:15

Based on the band being frequency/width to frequency*width, that really simplified what I was trying to do. For 22ish bands the width would be 1.2ish. Which places the 22nd band up past sampling rates of 48kHz, so I don't know if that will be problematic for samples at or less than 48kHz. Most of my samples are in the 192kHz / 96kHz realm, so not a problem for me (at the moment). I'll probably want to expand it later to allow a variable width and therefor variable bands. And I'm still not entirely sure if it does exactly what I want. But it does seem to work. And with most of the desired effect. In some respects better than expected, but I've still got to run the results through the ringer. i.e. downsample the long way to maximize clarity. http://home.earthlink.net/~shadow_7/FauxFurEQ.ny Feel free to set me straight if my logic is based on misunderstanding. It wouldn't be the first time.  James On 10/25/10, Roger Dannenberg <rbd@...> wrote: > On 10/25/10 5:49 AM, James Shatto wrote: >>> How would you specify the spline? >> linearly it would be (current frequency)/(max frequency)*(dB >> adjustment) = (dB adjustment) >> >> my current math is more like (current gain for frequency) = (previous >> gain for frequency) * 0.75 (over 20ish bands, going from highest to >> lowest). >> >> Which works pretty good using audacities 15 band mutiband eq and a >> value closer to 0.60. But I'm wanting something less step ladder and >> needing only one or two values (with defaults) on the effects >> initiation. >> >> Not that I know if nyquist supports it, but some sort of sin / cos arc >> averaged with the linear model to determine the depth of the arc. >> Based on the bottom right quadrant of a circle from lowest Hz to >> highest Hz. Or something like that. Perhaps some averaging to 2 line >> + 1 arc / 3 or 1 arc + 2 line / 3 type slider to tweak it. It's just >> the implementation of actually doing the eq that seems problematic >> right now. At a minimum the math for x^2+y^2=r^2 seems to be >> implemented. Where r is the max frequency, x is the current frequency >> and y the unknown would be scaled to the gain adjustment ((y/max >> frequency)*dB). But it's not that math that's got me stumped. It's >> how to use the result to affect the eq with the least issues. >> >>  James >> > OK, you could try the NBANDRANGE function. Here, I believe frequency > bands are geometrically spaced rather than linear, but you can compute > an array of gains. If you tell me whether you are using Lisp or SAL, I > think I can send a small example that computes a set of gains for > NBANDRANGE. > > (I still think for a few dB, you are better off with only a few bands, > but if you like the sound, that's the ultimate test.) > > Roger > > >  > Nokia and AT&T present the 2010 Calling All InnovatorsNorth America contest > Create new apps & games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes  $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokiadev2dev > _______________________________________________ > Audacitynyquist mailing list > Audacitynyquist@... > https://lists.sourceforge.net/lists/listinfo/audacitynyquist > 
From: Roger Dannenberg <rbd@cs...>  20101025 11:57:35

On 10/25/10 5:49 AM, James Shatto wrote: >> How would you specify the spline? > linearly it would be (current frequency)/(max frequency)*(dB > adjustment) = (dB adjustment) > > my current math is more like (current gain for frequency) = (previous > gain for frequency) * 0.75 (over 20ish bands, going from highest to > lowest). > > Which works pretty good using audacities 15 band mutiband eq and a > value closer to 0.60. But I'm wanting something less step ladder and > needing only one or two values (with defaults) on the effects > initiation. > > Not that I know if nyquist supports it, but some sort of sin / cos arc > averaged with the linear model to determine the depth of the arc. > Based on the bottom right quadrant of a circle from lowest Hz to > highest Hz. Or something like that. Perhaps some averaging to 2 line > + 1 arc / 3 or 1 arc + 2 line / 3 type slider to tweak it. It's just > the implementation of actually doing the eq that seems problematic > right now. At a minimum the math for x^2+y^2=r^2 seems to be > implemented. Where r is the max frequency, x is the current frequency > and y the unknown would be scaled to the gain adjustment ((y/max > frequency)*dB). But it's not that math that's got me stumped. It's > how to use the result to affect the eq with the least issues. > >  James > OK, you could try the NBANDRANGE function. Here, I believe frequency bands are geometrically spaced rather than linear, but you can compute an array of gains. If you tell me whether you are using Lisp or SAL, I think I can send a small example that computes a set of gains for NBANDRANGE. (I still think for a few dB, you are better off with only a few bands, but if you like the sound, that's the ultimate test.) Roger 
From: James Shatto <wwwshadow7@gm...>  20101025 09:49:42

> How would you specify the spline? linearly it would be (current frequency)/(max frequency)*(dB adjustment) = (dB adjustment) my current math is more like (current gain for frequency) = (previous gain for frequency) * 0.75 (over 20ish bands, going from highest to lowest). Which works pretty good using audacities 15 band mutiband eq and a value closer to 0.60. But I'm wanting something less step ladder and needing only one or two values (with defaults) on the effects initiation. Not that I know if nyquist supports it, but some sort of sin / cos arc averaged with the linear model to determine the depth of the arc. Based on the bottom right quadrant of a circle from lowest Hz to highest Hz. Or something like that. Perhaps some averaging to 2 line + 1 arc / 3 or 1 arc + 2 line / 3 type slider to tweak it. It's just the implementation of actually doing the eq that seems problematic right now. At a minimum the math for x^2+y^2=r^2 seems to be implemented. Where r is the max frequency, x is the current frequency and y the unknown would be scaled to the gain adjustment ((y/max frequency)*dB). But it's not that math that's got me stumped. It's how to use the result to affect the eq with the least issues.  James 
From: Roger Dannenberg <rbd@cs...>  20101025 02:54:09

On 10/24/10 10:22 PM, James Shatto wrote: > What I'd really like to do is sort of a spline adjustment to EQ across > the board maxing out at the high end at a specific dB level. And > close to 0dB on the low end. Could that be done per frequency? I'm > trying to compensate for the HF loss due to fake fur. And I've grown > tired of entering 15 numbers for every adjustment. Plus I'd like a > few more bands for a smoother adjustment. Hopefully with some control > over how linear or dipped / curved the adjustment will be. How would you specify the spline? There's a file in nyquist/lib/grapheq.lsp that implements NBANDRANGE: nbandrang/e//(input/, /gains/, /lowf/, /highf/) A graphical equalizer applied to /input/ (a SOUND). The gain controls and number of bands is given by /gains/, an ARRAY of SOUNDs (in other words, a Nyquist multichannel SOUND). Any sound in the array may be replaced by a FLONUM. The bands are geometrically equally spaced from the lowest frequency /lowf/ to the highest frequency /highf/ (both are FLONUMs). I think you could generate an array of gains according to some parametric description. > For my current setup I'm needing near 2dB to 4dB on the high end. As > much as 6dB on previous contraptions. So far results are promising > for the restoration of certain percussion instruments and certain > wildlife. Plus the spoken word seems to need a bit of high end for > clarity. My lisp is a little weak, having only used it before to do a > bunch of notch filters to counter sox's noise reduction that seems to > omit the 1000Hz multiples from it's filter. > > Ultimately I'd like the actually measure the mics response in said > configuration and base compensation off of that information. But for > now, just trying to keep it simple and mostly automated. I don't > really care if it takes a day for an hours audio, as long as it's good > audio. One wellknown problem with EQ is that it introduces lots of frequencydependent phase shift. Esp. for percussion, you might be better off with a simple loworder parametric filter that just boosts the highs a bit rather than a big multiband EQ. The latter will let you model the overall amplitude response in detail, but the phase response will be erratic. > Thanks for the clarification on width. That helps a bit. > >  James > > > On 10/24/10, Roger Dannenberg<rbd@...> wrote: >> On 10/24/10 2:50 PM, James Shatto wrote: >>> eqband(signal, hz, gain, width) >>> >>> I'm trying to write an EQ routine for audacity and I'm having trouble >>> understanding the width parameter. I had thought that High Hz  Low >>> Hz over 2 is what should be width. But my routine doesn't work that >>> way when it uses that on the larger Hz values. But over 4 does seem >>> to work. I'd like to sort out why so I don't have any gap or overlap >>> in the EQ bands. >> I guess you know there will always be overlap. These are not "brick >> wall" filters. >>> When it does the EQ for the higher bands ~18kHz, it >>> basically nulls out the audio if /2 is used. >>> >>> 20000  16000 = 4000 >>> 4000/2 = 2000 = width? >>> or >>> 4000/4 = 1000 = width? >>> or >>> Some other factor I seem to not quite get yet. To be used like >>> (eqband s 18000 2.0 2000) >>> >>> Per the documentation: >>>  and width (a FLONUM) is the halfgain width in octaves  >>> >>> Could someone give me a humanesque interpretation of that phrase. Am >>> I supposed to make it a factor of the gain that I'm applying or >>> something? If so, what does that do to the gain value? >> The gain is measured in dB. The width is measured in octaves, e.g. if >> the width is 2, the range of frequencies affected by the filter is from >> hz/2 (an octave below) to hz*2 (an octave above). At these points (hz/2 >> and hz*2), the filter gain will be gain/2, measured in dB. >> >> To compute width, the octaves between f1 and f2, where f2> f1, use >> log2(f2 / f1). log2(x) is not builtin, but log2(x) = log(x) / log(2.0). >> To hz, get the frequency in the middle, use hz = f1 * power(2.0, width / >> 2.0). >> >> I wrote a little program to send a sine sweep through a filter and plot >> the peak amplitude of the output as a function of frequency (works in >> the Nyquist IDE, and since the output is a sound, I guess you run >> something similar to this in Audacity: >> >> function test() >> begin >> ;; probe is a sinusoidal sweep at 1Hz/s >> with probe = hzosc(pwl(0, 0, 1000, 1000, 1000, 0)), >> ;; filt is a filtered probe >> filt = eqband(probe, 200, 6.0, 2.0), >> ;; out is the rms of the input scaled to get peak >> out = rms(filt, 10) * sqrt(2.0) >> return out >> end >> >> exec splot(test(), 1000, 1000) >>> Also, is there any sort of debugging tutorial, even if I have to use >>> emacs or something. Even though my routine is fairly simple, I hate >>> having no ability to peak at the values (after applied arithmetic) >>> before they get used. >> Maybe someone has a better answer for Audacitynyquist, but I use the >> Nyquist IDE. Roger >>> Thanks, >>>  James >>  >> Nokia and AT&T present the 2010 Calling All InnovatorsNorth America contest >> Create new apps& games for the Nokia N8 for consumers in U.S. and Canada >> $10 million total in prizes  $4M cash, 500 devices, nearly $6M in marketing >> Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store >> http://p.sf.net/sfu/nokiadev2dev >> _______________________________________________ >> Audacitynyquist mailing list >> Audacitynyquist@... >> https://lists.sourceforge.net/lists/listinfo/audacitynyquist >> >  > Nokia and AT&T present the 2010 Calling All InnovatorsNorth America contest > Create new apps& games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes  $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokiadev2dev > _______________________________________________ > Audacitynyquist mailing list > Audacitynyquist@... > https://lists.sourceforge.net/lists/listinfo/audacitynyquist > 
From: James Shatto <wwwshadow7@gm...>  20101025 02:22:07

What I'd really like to do is sort of a spline adjustment to EQ across the board maxing out at the high end at a specific dB level. And close to 0dB on the low end. Could that be done per frequency? I'm trying to compensate for the HF loss due to fake fur. And I've grown tired of entering 15 numbers for every adjustment. Plus I'd like a few more bands for a smoother adjustment. Hopefully with some control over how linear or dipped / curved the adjustment will be. For my current setup I'm needing near 2dB to 4dB on the high end. As much as 6dB on previous contraptions. So far results are promising for the restoration of certain percussion instruments and certain wildlife. Plus the spoken word seems to need a bit of high end for clarity. My lisp is a little weak, having only used it before to do a bunch of notch filters to counter sox's noise reduction that seems to omit the 1000Hz multiples from it's filter. Ultimately I'd like the actually measure the mics response in said configuration and base compensation off of that information. But for now, just trying to keep it simple and mostly automated. I don't really care if it takes a day for an hours audio, as long as it's good audio. Thanks for the clarification on width. That helps a bit.  James On 10/24/10, Roger Dannenberg <rbd@...> wrote: > > On 10/24/10 2:50 PM, James Shatto wrote: >> eqband(signal, hz, gain, width) >> >> I'm trying to write an EQ routine for audacity and I'm having trouble >> understanding the width parameter. I had thought that High Hz  Low >> Hz over 2 is what should be width. But my routine doesn't work that >> way when it uses that on the larger Hz values. But over 4 does seem >> to work. I'd like to sort out why so I don't have any gap or overlap >> in the EQ bands. > I guess you know there will always be overlap. These are not "brick > wall" filters. >> When it does the EQ for the higher bands ~18kHz, it >> basically nulls out the audio if /2 is used. >> >> 20000  16000 = 4000 >> 4000/2 = 2000 = width? >> or >> 4000/4 = 1000 = width? >> or >> Some other factor I seem to not quite get yet. To be used like >> (eqband s 18000 2.0 2000) >> >> Per the documentation: >>  and width (a FLONUM) is the halfgain width in octaves  >> >> Could someone give me a humanesque interpretation of that phrase. Am >> I supposed to make it a factor of the gain that I'm applying or >> something? If so, what does that do to the gain value? > The gain is measured in dB. The width is measured in octaves, e.g. if > the width is 2, the range of frequencies affected by the filter is from > hz/2 (an octave below) to hz*2 (an octave above). At these points (hz/2 > and hz*2), the filter gain will be gain/2, measured in dB. > > To compute width, the octaves between f1 and f2, where f2 > f1, use > log2(f2 / f1). log2(x) is not builtin, but log2(x) = log(x) / log(2.0). > To hz, get the frequency in the middle, use hz = f1 * power(2.0, width / > 2.0). > > I wrote a little program to send a sine sweep through a filter and plot > the peak amplitude of the output as a function of frequency (works in > the Nyquist IDE, and since the output is a sound, I guess you run > something similar to this in Audacity: > > function test() > begin > ;; probe is a sinusoidal sweep at 1Hz/s > with probe = hzosc(pwl(0, 0, 1000, 1000, 1000, 0)), > ;; filt is a filtered probe > filt = eqband(probe, 200, 6.0, 2.0), > ;; out is the rms of the input scaled to get peak > out = rms(filt, 10) * sqrt(2.0) > return out > end > > exec splot(test(), 1000, 1000) >> Also, is there any sort of debugging tutorial, even if I have to use >> emacs or something. Even though my routine is fairly simple, I hate >> having no ability to peak at the values (after applied arithmetic) >> before they get used. > Maybe someone has a better answer for Audacitynyquist, but I use the > Nyquist IDE. Roger >> Thanks, >>  James > >  > Nokia and AT&T present the 2010 Calling All InnovatorsNorth America contest > Create new apps & games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes  $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokiadev2dev > _______________________________________________ > Audacitynyquist mailing list > Audacitynyquist@... > https://lists.sourceforge.net/lists/listinfo/audacitynyquist > 
From: Roger Dannenberg <rbd@cs...>  20101025 01:26:19

On 10/24/10 2:50 PM, James Shatto wrote: > eqband(signal, hz, gain, width) > > I'm trying to write an EQ routine for audacity and I'm having trouble > understanding the width parameter. I had thought that High Hz  Low > Hz over 2 is what should be width. But my routine doesn't work that > way when it uses that on the larger Hz values. But over 4 does seem > to work. I'd like to sort out why so I don't have any gap or overlap > in the EQ bands. I guess you know there will always be overlap. These are not "brick wall" filters. > When it does the EQ for the higher bands ~18kHz, it > basically nulls out the audio if /2 is used. > > 20000  16000 = 4000 > 4000/2 = 2000 = width? > or > 4000/4 = 1000 = width? > or > Some other factor I seem to not quite get yet. To be used like > (eqband s 18000 2.0 2000) > > Per the documentation: >  and width (a FLONUM) is the halfgain width in octaves  > > Could someone give me a humanesque interpretation of that phrase. Am > I supposed to make it a factor of the gain that I'm applying or > something? If so, what does that do to the gain value? The gain is measured in dB. The width is measured in octaves, e.g. if the width is 2, the range of frequencies affected by the filter is from hz/2 (an octave below) to hz*2 (an octave above). At these points (hz/2 and hz*2), the filter gain will be gain/2, measured in dB. To compute width, the octaves between f1 and f2, where f2 > f1, use log2(f2 / f1). log2(x) is not builtin, but log2(x) = log(x) / log(2.0). To hz, get the frequency in the middle, use hz = f1 * power(2.0, width / 2.0). I wrote a little program to send a sine sweep through a filter and plot the peak amplitude of the output as a function of frequency (works in the Nyquist IDE, and since the output is a sound, I guess you run something similar to this in Audacity: function test() begin ;; probe is a sinusoidal sweep at 1Hz/s with probe = hzosc(pwl(0, 0, 1000, 1000, 1000, 0)), ;; filt is a filtered probe filt = eqband(probe, 200, 6.0, 2.0), ;; out is the rms of the input scaled to get peak out = rms(filt, 10) * sqrt(2.0) return out end exec splot(test(), 1000, 1000) > Also, is there any sort of debugging tutorial, even if I have to use > emacs or something. Even though my routine is fairly simple, I hate > having no ability to peak at the values (after applied arithmetic) > before they get used. Maybe someone has a better answer for Audacitynyquist, but I use the Nyquist IDE. Roger > Thanks, >  James 