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

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}
(1) 

2002 
_{Jan}
(2) 
_{Feb}
(2) 
_{Mar}

_{Apr}

_{May}

_{Jun}
(89) 
_{Jul}
(79) 
_{Aug}
(65) 
_{Sep}
(82) 
_{Oct}
(55) 
_{Nov}
(125) 
_{Dec}
(118) 
2003 
_{Jan}
(170) 
_{Feb}
(129) 
_{Mar}
(133) 
_{Apr}
(148) 
_{May}
(168) 
_{Jun}
(84) 
_{Jul}
(61) 
_{Aug}
(138) 
_{Sep}
(74) 
_{Oct}
(233) 
_{Nov}
(163) 
_{Dec}
(74) 
2004 
_{Jan}
(121) 
_{Feb}
(155) 
_{Mar}
(205) 
_{Apr}
(119) 
_{May}
(202) 
_{Jun}
(187) 
_{Jul}
(312) 
_{Aug}
(615) 
_{Sep}
(580) 
_{Oct}
(641) 
_{Nov}
(432) 
_{Dec}
(377) 
2005 
_{Jan}
(471) 
_{Feb}
(280) 
_{Mar}
(414) 
_{Apr}
(337) 
_{May}
(207) 
_{Jun}
(247) 
_{Jul}
(264) 
_{Aug}
(445) 
_{Sep}
(202) 
_{Oct}
(321) 
_{Nov}
(338) 
_{Dec}
(194) 
2006 
_{Jan}
(281) 
_{Feb}
(238) 
_{Mar}
(251) 
_{Apr}
(265) 
_{May}
(230) 
_{Jun}
(170) 
_{Jul}
(79) 
_{Aug}
(207) 
_{Sep}
(257) 
_{Oct}
(260) 
_{Nov}
(59) 
_{Dec}
(116) 
2007 
_{Jan}
(411) 
_{Feb}
(430) 
_{Mar}
(224) 
_{Apr}
(104) 
_{May}
(131) 
_{Jun}
(182) 
_{Jul}
(180) 
_{Aug}
(123) 
_{Sep}
(98) 
_{Oct}
(92) 
_{Nov}
(112) 
_{Dec}
(92) 
2008 
_{Jan}
(293) 
_{Feb}
(147) 
_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}
(188) 
_{Sep}
(95) 
_{Oct}
(87) 
_{Nov}
(85) 
_{Dec}
(148) 
2009 
_{Jan}
(159) 
_{Feb}
(166) 
_{Mar}
(197) 
_{Apr}
(207) 
_{May}
(172) 
_{Jun}
(279) 
_{Jul}
(229) 
_{Aug}
(146) 
_{Sep}
(176) 
_{Oct}
(87) 
_{Nov}
(141) 
_{Dec}
(102) 
2010 
_{Jan}
(139) 
_{Feb}
(103) 
_{Mar}
(155) 
_{Apr}
(76) 
_{May}
(42) 
_{Jun}
(51) 
_{Jul}
(80) 
_{Aug}
(55) 
_{Sep}
(117) 
_{Oct}
(106) 
_{Nov}
(91) 
_{Dec}
(33) 
2011 
_{Jan}
(105) 
_{Feb}
(201) 
_{Mar}
(52) 
_{Apr}
(58) 
_{May}
(38) 
_{Jun}
(51) 
_{Jul}
(16) 
_{Aug}
(33) 
_{Sep}
(16) 
_{Oct}
(65) 
_{Nov}
(103) 
_{Dec}
(21) 
2012 
_{Jan}
(51) 
_{Feb}
(74) 
_{Mar}
(61) 
_{Apr}
(32) 
_{May}
(79) 
_{Jun}
(29) 
_{Jul}
(7) 
_{Aug}
(58) 
_{Sep}
(5) 
_{Oct}
(35) 
_{Nov}
(59) 
_{Dec}
(26) 
2013 
_{Jan}
(61) 
_{Feb}
(40) 
_{Mar}
(11) 
_{Apr}
(37) 
_{May}
(28) 
_{Jun}
(28) 
_{Jul}
(54) 
_{Aug}
(66) 
_{Sep}
(61) 
_{Oct}
(46) 
_{Nov}
(112) 
_{Dec}
(58) 
2014 
_{Jan}
(103) 
_{Feb}
(37) 
_{Mar}
(41) 
_{Apr}
(26) 
_{May}
(24) 
_{Jun}
(4) 
_{Jul}
(12) 
_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 







1
(3) 
2
(6) 
3
(7) 
4
(8) 
5
(4) 
6
(28) 
7
(14) 
8
(5) 
9

10
(2) 
11
(3) 
12
(14) 
13
(7) 
14
(5) 
15
(4) 
16
(5) 
17
(5) 
18
(9) 
19
(5) 
20

21

22
(5) 
23
(31) 
24
(10) 
25
(8) 
26
(28) 
27
(27) 
28
(10) 
29
(3) 
30
(9) 






From: Gary Nelson <gnelson@qu...>  20060401 21:58:14

David, Butterworth filters are realizable filters that can be made with operational amplifiers, resistors, capacitors, and perhaps inductors. The term "realizable" means that they cannot have an output before an input is applied. Such filters can also be implemented in DSP using Infinite Impulse Response (IIR) methods. On the face of it, we might think that only realizable filters would be of interest. But, in the world of DSP, we can introduce delay and create filters that would be nonrealizable in the physical world of opamps and capacitors. Such nonrealizable filters are called Finite Impulse Response (FIR) filters. One question is, "What is an Impulse response?" Let's see if we can answer that and a address few other important concepts. To start, let's rewind a bit and see if we can deal with some of the underlying issues that are mathematical, but can be understood conceptually without dealing with the actual integrals and subscripted variables. A basic tool in audio engineering is frequency analysis. The mathematical tool is called the Fourier Transform which is implemented in DSP as the Discrete Fourier Transform (DFT) or Fast Fourier Transform (FFT). Suppose we do a few mental experiments to see what the Fourier Transform does in the analog world. Imagine a "Black Box" with an audio input and an audio output. Imagine that we have a perfect pure tone generator. Pure tones are mathematically called sinusoids, or sine waves. ===START SIDEBAR on PURE TONES===== Take a piece of paper and draw a horizontal axis and a vertical axis that cross in the middle of the page. For the sake of discussion, we can imagine that there are four Quadrants  call the NorthEast quadrant the FIRST QUADRANT, the NorthWest quadrant will be the SECOND QUADRANT, SouthWest will be the THIRD Quadrant, and SouthEast will be the FOURTH QUADRANT. Put the point of a pencil anyplace in the FIRST QUADRANT. You can tell me where you put the pencil as in the game of battleship by measuring a distance along the horizontal and a distance up the vertical. Now, put the pencil point in the second quadrant and observe that the horizontal measurement is NEGATIVE (e.g., 2 inches). In the third quadrant both Horizontal and vertical measurements are negative; Fourth Quadrant has Horizontal positive and vertical negative. Imagine a game of battleship. If I put a battleship at (1,1) I put it 1 unit to the right and one unit up. We call this representation Rectangular Coordinates. Notice that you could also tell me where you put the pencil by measuring the distance from the origin to the pencil plus the counterclockwise angle from the horizontal axis to the radius. If my battleship were at (1,1), it would also be at (1.4, 45 degrees) in POLAR Coordinates. OK, now we have a new vocabulary and we can discuss pure tones or sine waves. Put a tack at the crossing point of the horizontal and vertical axes. Call that point the ORIGIN. Attach one end of a piece of string to a pencil and attach the other end to the tack at the ORIGIN. Use a loop so it can turn freely around the tack. Adjust the length of the string to be ONE arbitrary unit. Now put the pencil on the Horizontal Axis with the string tight, keep the string taut and move it around to create a circle going counter clockwise. As you move the pencil counterclockwise, call the angle by some obscure Greek letter like THETA. You are drawing a UNIT CIRCLE, a circle with a radius of ONE. For any angle THETA, the horizontal component is called the COSINE of THETA while the vertical component is called the SINE of THETA. Observe that you can trace out a circle by going around counterclockwise 360 degrees and then you start over. Every time we go around the circle the SINE and COSINE components repeat  they are PERIODIC meaning they repeat over and over, one period for each rotation around the circle. When THETA is ZERO degrees, COSINE(THETA) = 1 and SINE(THETA)=0. When THETA =90 degrees, COSINE(THETA)=0, SINE(THETA)=1. When THETA = 45 degrees, COS(THETA) = SIN(THETA) = .707. Here is why we introduced the concept of quadrants earlier. When THETA is in the second quadrant, like THETA = 135 degrees, COS(THETA) = .707, SIN(THETA) = +.707. Imagine that you are plotting COS(THETA) for THETA from 0 to 360 degrees  one full time around the circle. Visualize that COS(THETA) starts at +1, goes to zero at THETA=90, goes to 1 and THETA=180, goes back to 0 at THETA = 270 degrees, and returns to +1 at THETA =360. Do the same thing for SIN(THETA). SIN(0) = 0, SIN(90)=1, SIN(180)=0, SIN(270)=1. Notice that if we delay the COS by 90 degrees, it is the same as the SIN. COS(THETA+90) = SIN(THETA) ===ASIDE=== If we dust off the Theorem of Pythagoras, we might recall that for a right triangle (one angle of 90 degrees), (LongSide)^2 = (Side1)^2 + (Side2)^2. With our unit circle, we get (COS(Theta))^2 + (SIN(Theta))^2 = 1 Amazing... ===End ASIDE=== Now, imagine that you spin the pencil around the ORIGIN once per second or one cycle per second. The horizontal component is the cosine of one cycle per second, and the vertical component occurs 90 degrees later. That is, the SINE of 1 cycle per second is delayed by 90 degrees compared to the cosine. In audio, FREQUENCY is the number of times per second we go around the circle. AMPLITUDE is the length of the string. PHASE is the angle between the horizontal axis and the string. Note that you could add another pencil and string to make another pure tone that could be simultaneously going around the circle at the same or different FREQUENCY. If two pencils were going around at the same frequency, we could measure the difference in angle between them. That angle is the PHASE difference or DIFFERENTIAL PHASE between two otherwise identical tones. Also not that the AMPLITUDE of the two tones could be different and that would not alter the DIFFERENTIAL PHASE. Now, if we change the length of the string from 1 to A, the SINE and COSINE change to A*COSINE and A*SINE. A is the AMPLITUDE of our signal. One more bit of background. Recall that the circumference of a circle is 2*PI*Radius. The distance traveled by the pencil point around our UNIT circle is 2*PI per 360 degrees of rotation. So, in engineering lingo, I would refer to a pure tone as a function of time (t) in mathematical terms as PureTone(t) = A*cosine(2*PI*F*t) where t is simply time in seconds and F is the FREQUENCY of the tone in cycles per second, and the 2*PI accounts for the rotations around our circle. PI = 3.14159.... ===END SIDEBAR on PURE TONES===== Back to the Black Box with an INPUT and an OUTPUT. Let's take a cable from our pure tone generator and hook it to the input. Let's get a 2 channel OSCILLOSCOPE and hook Channel 1 to the INPUT and Channel 2 to the OUTPUT. Let's set the amplitude of the PURE TONE to 1 volt and the frequency to 1 Hertz (Hertz = cycles per second). Now let's measure the output voltage (Channel 2) and make a graph with frequency as the horizontal axis and voltage as the vertical axis. If we slowly sweep the TONE GENERATOR from 1Hz to 20kHz and measure the output voltage (use Channel1 to keep the input at 1 volt), the plot of output amplitude versus frequency we get the TRANSFER FUNCTION of our BLACK BOX  almost. Most of the time we ignore PHASE but the complete TRANSFER FUNCTION requires that we also measure the phase difference between input and output including how many times around the circle we must go to get from input to output  the delay may be several cycles or just a part of a cycle. Since we are doing this in imagination space, imagine that we can measure the phase angle between input and output and we plot that as a function of frequency on our graph. Now we have both the AMPLITUDE and the PHASE spectra. Together, this pair of graphs depict the TRANSFER FUNCTION of our Black Box. ===SIDEBAR on Slope=== We need another term, SLOPE. Imagine you are riding in a car in the mountains and someone asks, "What does that sign mean?" The sign says 6% downgrade next 10 miles. You answer, "It means that we will go down 6 feet for every 100 feet of horizontal motion. It means that the slope of the road is .06. SLOPE = RISE/RUN. Downhill implies negative slope, uphill means positive slope. Remember: SLOPE = RISE/RUN Return to our unit circle; RISE = SIN(THETA); RUN = COS(THETA) SLOPE = RISE/RUN => SLOPE(THETA) = SIN(THETA)/COS(THETA) = TANGENT(THETA) Thus, the Tangent of THETA is the same as the SLOPE. Salt this away for later. It is useful in changing from rectangular to polar coordinates, and that is necessary when we express a spectrum as AMPLITUDE(F) and PHASE(F).... Example: at what angle is the roadway if the grade is 6%? TAN(roadway_angle) = .06 Roadway_angle = ArcTan(.06) = 3.4 degrees Verify using EXCEL spreadsheet DEGREES(ATAN(.06)) ===END SIDEBAR==== You can imagine that we can measure the slope of our phase vs frequency plot, or at least approximate it by measuring some change in phase (DeltaPhase) for a small change in frequency (DeltaFrequency), ie SLOPE_of_Phase ~ DeltaPhase / DeltaFrequency . What are the units of this slope of phase spectrum? Let's see, phase has the units of degrees, and frequency has units of cycles per second. But a cycle is 360 degrees, so we have degrees / (degrees/second) or SECONDS. The slope of our Phase Spectrum is called GROUP DELAY. It is measured in seconds. It is the transit time of each pure tone as it goes through the box. An ideal audio box would always have a constant group delay  all frequency components would transit the box in the same amount of time. Realizable boxes cannot achieve that  Group Delay is always different for different frequencies. ===SIDEBAR on TRANSFER FUNCTION and IMPULSE RESPONSE We now know that the Transfer Function of our Black Box is a frequency domain representation with AMPLITUDE vs Frequency and PHASE vs Frequency parts. We often ignore the phase part as in the PLOT SPECTRUM function in Audacity, but it is always there in the shadows. If we unhook our tone generator and replace it with a pulse generator we can measure the response of our box to pulse inputs. Let's make the pulses very narrow and set the Pulse Repetition Frequency (how many pulses per second) low enough so that the box output settles out to zero before another pulse is applied. The wiggly response we obtain on Channel 2 of our oscilloscope is the IMPULSE RESPONSE of the box. In the world of pure math, a UNIT Impulse has an area of ONE  the narrower it gets, the taller is must become. In the practical world, the pulse can only be as tall as the dynamic range of the box will allow  we can't drive the box into saturation or all this theory goes out the window. The mental model we did by sweeping the tone generator is a close approximation to what the Fourier Transform does mathematically. The Fourier Transform sweeps a COSINE and a SINE and measures the result of each  2 numbers for each frequency, a cosine part and a sine part. We can use these pairs to determine amplitude and phase at each frequency. That is, the Fourier Transform generates results in Rectangular Coordinates and we convert them to Amplitude and Phase or polar coordinates. The Fourier Transform of the Impulse Response is the Transfer Function. The Inverse Fourier Transform of the Transfer Function is the Impulse Response. The Impulse Response is the TIME DOMAIN representation of everything we can know about our box. The TRANSFER FUNCTION is the FREQUENCY DOMAIN representation of exactly the same information. All these concepts assume that the boxes are ideal, they are LINEAR. We use that term in audio all the time, and it has a very specific meaning. It means that if we put a signal S1 into a box and get an output O1, and insert a second input S2 to get an output O2, that applying the sum of S1+S2 to the input yields O1+O2 at the output. That is the definition of a LINEAR SYSTEM. Nonlinearities result in various distortions like Harmonic and Intermodulation but that is for later. All this frequency and impulse stuff assumes linearity. (The math for nonlinear analysis is messy and complex and it is much more fun to ignore it.) Thus, when we talk about FINITE or INFINITE IMPUSLE RESPONSE filters, we are describing the TIME DOMAIN representation of the TRANSFER FUNCTION of the filter. We want to know where the filter rolls off and how fast  that is frequency domain verbage. If we take the Inverse Fourier Transform of our filter shape, we get its Impulse Response. We will usually implement our filters in the time domain. Stock market analysts sometimes show a "moving average" of some stock price vs time. If we average 10 days of data to get a number, then move the window to the right one day and do the 10day average again, and continue moving the window to the right one day at a time, we have implemented a simple FIR filter whose impulse response is (.1,.1,.1,.1,.1,.1,.1,.1,.1,.1). The 10 numbers are called the tapweights. FIRs are sometimes called tapped delay line filters. The delay issue is this. We have to have 10 days of data before we can get an average, so maybe we have to pad 9 days of imaginary zeros to the left before the real data start, line up our filter and get a result for day 1 (with 9 padded zeros), right shift to include 2 real days, and so on until at day 10, the result is the average of today and the 9 previous days' data. ===End SIDEBAR==== BUT, in the world of DSP, we can introduce some fixed delay using memory and can use nonrealizable Finite Impulse Response (FIR) filters that actually have Linear Phase or constant Group Delay or Group Delay Deviation = 0. Butterworth filters are excellent realizable filters, but they can never be as good as a "nonrealizable" FIR filter. That is one of the real gifts of DSP  we can do things that simply cannot be done with real world components. Butterworth filters can be implemented with real components, opamps, resistors, capacitors. A DSP Butterworth filter implements the math of its real world counterpart and inherits its limitations as well. One issue with realizable filters in DSP, is that they use Infinite Impulse Response methods that have stability problems when implemented with Integer arithmetic. I imagine that we use Floating Point Math in all our plugins, so that is probably not an issue, but it is important to know. FIR filters never have stability problems. Let me know if this is helpful. And ask whatever questions come up. Best regards Gary Nelson Original Message From: audacityusersadmin@... [mailto:audacityusersadmin@...] On Behalf Of David R. Sky Sent: Friday, March 31, 2006 11:57 PM To: audacityusers@... Subject: Re: [Audacityusers] AKM semitutorial Hi Rich, You wrote: A good lowpass filter is definitely the > ticket; it's not clear that Audacity provides one at the moment, What do you mean specifically by a "good" lowpass filter? The builtin lowpass filter is built around a 1pole Butterworth lowpass filter, the Nyquist lp filter. But if you want lowpass filters with steeper and steeper cutoff slopes, there are lowpass2, lowpass4, lowpass6 and lowpass8, each with increasingly steep cutoff slopes. The format is the same for 2 to 8  select audio in Audacity, open effects menu, click on Nyquist prompt and type into the edit field something like: (lowpass2 s 15000) for mono audio or (vector (lowpass2 (aref s 0) 15000) (lowpass2 (aref s 1) 15000)) for stereo audio. 's' is understood by Audacity to be the audio you have selected, and in this case 15000 is the cutoff frequency, 15khz. Regarding what Gary mentioned previously (was it phase delay?), I don't know about these filters nor how to test for same. David  This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.asus.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642  Mailing list: Audacityusers@... To UNSUBSCRIBE, use the form at the bottom of this web page: https://lists.sourceforge.net/lists/listinfo/audacityusers 
From: David R. Sky <davidsky@sh...>  20060401 07:57:27

Hi Rich, You wrote: A good lowpass filter is definitely the > ticket; it's not clear that Audacity provides one at the moment, What do you mean specifically by a "good" lowpass filter? The builtin lowpass filter is built around a 1pole Butterworth lowpass filter, the Nyquist lp filter. But if you want lowpass filters with steeper and steeper cutoff slopes, there are lowpass2, lowpass4, lowpass6 and lowpass8, each with increasingly steep cutoff slopes. The format is the same for 2 to 8  select audio in Audacity, open effects menu, click on Nyquist prompt and type into the edit field something like: (lowpass2 s 15000) for mono audio or (vector (lowpass2 (aref s 0) 15000) (lowpass2 (aref s 1) 15000)) for stereo audio. 's' is understood by Audacity to be the audio you have selected, and in this case 15000 is the cutoff frequency, 15khz. Regarding what Gary mentioned previously (was it phase delay?), I don't know about these filters nor how to test for same. David 
From: Rich <blueshar@pa...>  20060401 01:32:56

Moon and Gary have given some of the most informed and educational responses I've read on this list in a very long time  they are definitely ones for the archive (or the FAQs)! I thought I was reasonably knowledgeable but I was proven wrong: Gary, thanks again for the education in digital recording theory  it was fantastic. I wanted to reemphasize that Audacity's builtin noise reduction filter will destroy nearly all of the quality you seek to preserve by using a high sampling rate and sample size. A good lowpass filter is definitely the ticket; it's not clear that Audacity provides one at the moment, which is why it might be advisable (if you can spare the disk space) to preserve the original ".aup" transfer as a master, to which you can return later as technology improves. I also have to give a big thumbs up and applause to anyone endorsing the "try it first and listen" school of problem solving. So many people try to solve theoretical Audacity problems by asking questions of this list in advance  not itself a problem mind you  that would be far better answered by first TRYING it with a small, short sample of source material, and then LISTENING. My experience with Audacity has been that all my theoretical understanding was a good foundation, but when I actually DID it on a small sample, lots of little solvable problems appeared that I was glad to have encountered prior to embarking on a large, timeconsuming project. For example, I discovered that my 96KHz recordings, when exported to a .WAV format, would not burn to CD and produce listenable sound. I had to redo my recordings at 88.2KHz, which worked fine. While I'm sure that is a limitation of my CD burning software, I could not have anticipated that problem in advance. So always, always, always try a small sample, try all the variables, go through the complete cycle (i.e., if it sounds good in Audacity, don't assume it will automatically sound good on CD orMP3) ... and then LISTEN and trust your ears! Rich  Original Message  From: "Gary Nelson" <gnelson@...> To: <audacityusers@...> Sent: Friday, March 31, 2006 2:08 PM Subject: RE: [Audacityusers] AKM semitutorial > Here is a useful piece of propaganda from one of the top sources of analog > to digital converters. They are promoting their own products of course, but > the issues they discuss are relevant. > > For example, they mention that FIR (Finite Impulse Response) filters are > phase linear. That is precisely why we want to use FIR filters in our > Audacity plugins. They also describe the characteristic as Group Delay > Deviation. If we plot the phase response of a filter vs frequency, FIR > filters show a straight line with some constant slope. The slope of phase > is called Group Delay. Thus, a FIR filter has constant Group Delay = the > transit time through the filter. Other common filters have Group Delay that > is different for different frequencies, ie, Group Delay Variation > 0. FIR > filter have Group Delay Variation = 0. > > Also note that they claim that cymbals have lots of energy above 20Khz. The > analog LPrecord audio buffs have long claimed that CDs do not sound as good > as LPs. There are several good reasons to believe them. In my opinion, > 24bit converters with 96k or 192k sampling rates largely put an end to that > debate. [except for SACD promoters] > > > http://www.akm.com/AppsNotes/2005%20Web%20Guide.pdf > > > > > >  > This SF.Net email is sponsored by xPML, a groundbreaking scripting language > that extends applications into web and mobile media. Attend the live webcast > and join the prime developer group breaking into this new coding territory! > http://sel.asus.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 >  > Mailing list: Audacityusers@... > To UNSUBSCRIBE, use the form at the bottom of this web page: > https://lists.sourceforge.net/lists/listinfo/audacityusers 