Re: Help/advice on RME cards and Linux ALSA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 29 Jan 2007, Sergei Steshenko wrote:

> On Sat, 27 Jan 2007 14:58:32 -0800 (PST)
> Bill Unruh <unruh@xxxxxxxxxxxxxx> wrote:
>
>> On Sun, 28 Jan 2007, Sergei Steshenko wrote:
>>
>>> On Sat, 27 Jan 2007 14:23:19 -0800 (PST)
>>> Bill Unruh <unruh@xxxxxxxxxxxxxx> wrote:
>>>
>>>> On Sat, 27 Jan 2007, Sergei Steshenko wrote:
>>>>
>>>>> On Sat, 27 Jan 2007 12:45:06 -0800 (PST)
>>>>> Bill Unruh <unruh@xxxxxxxxxxxxxx> wrote:
>>>>>
>>>>>> On Sat, 27 Jan 2007, Sergei Steshenko wrote:
>>>>>>
>>>>>>> On Sat, 27 Jan 2007 10:32:30 -0800
>>>>>>> "ronan mcallister" <bass.woofer@xxxxxxxxx> wrote:
>>>>>>>
>>>>>>>> Sergei,
>>>>>>>>
>>>>>>>> For the moment forgetting about the Xover's, how would I use ecasound or
>>>>>>>> another tool to implement an arbitrary EQ function with sliders / user
>>>>>>>> controls?  I've got JACK now running better (mainly a problem related to
>>>>>>>> configuration) and I'd like to have maybe a dozen or more bands of very LF
>>>>>>>> EQ (eg, fc: 5hz, 8hz, 12hz,.... 100hz) for subsonic equalization.
>>>>>>>>
>>>>>>>> So far it appears brutefir can do this but sans a GUI?  What plugin would I
>>>>>>>> need and is it extensible?
>>>>>>>>
>>>>>>>> should I start a new topic to discuss the IIR based EQ you hinted about?
>>>>>>>>
>>>>>>>> Thank you very much,
>>>>>>>> Ronan
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> Yes, please start a new topic about IIR vs FIR, but, anyway, if you
>>>>>>> want low latencies AND equalization at 5hz, 8hz, 12hz, forget about
>>>>>>> it - it's impossible physically/mathematically - regardless of OS
>>>>>>> and sound system, and regardless of digital/analog.
>>>>>>>
>>>>>>> I.e, you can either have
>>>>>>>
>>>>>>> low (latency/group delay) AND equalization only at high frequencies
>>>>>>
>>>>>> What? What are you trying to say here? Most equalizers are just
>>>>>> realisations of second order differential equations ( or fourth order) that
>>>>>> is why analog systems can create them. The behaviour at the next instant of
>>>>>> time depends only on the values of certain variables at this instant of
>>>>>> time. That is local and is locally simulatable digitally. There is no need
>>>>>> to wait for many periods of the signal.
>>>>>>
>>>>>> Thus if o_i is the ith output and f_i is the ith input
>>>>>>
>>>>>> o_i+1= ((1-a)o_i -2afi)/(1+a)
>>>>>> is a low pass single pole filter with the low passband frequency determined
>>>>>> by a.
>>>>>> Even a 12 pole filter can be done using only 13 immediate frequencies. and
>>>>>> you do not need to wait, you just save the last 12 in a buffer. Ie, this
>>>>>> filter has as latency only the time required to actually carry out the
>>>>>> calculation.
>>>>>>
>>>>>> You certainly would not impliment this by doing a Fourier transform.
>>>>>> Just as the analog filter does not do it by instituting a fourier
>>>>>> transform-- it impliments the filter by storing information in the charge
>>>>>> on capacitors, or currents in inductors and the next value of the output
>>>>>> depends only on the immediate values of those few variables.
>>>>>>
>>>>>> Now if your purpose is to do frequency shifting or resampling that is far
>>>>>> more difficult, because there things really are non-local in time.
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> OR
>>>>>>>
>>>>>>> big (latency/group delay) AND equalization also at low frequencies.
>>>>>>
>>>>>> Or low latency and equalisation at low frequencies.
>>>>>>
>>>>>>>
>>>>>>> Regards,
>>>>>>>  Sergei.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>> Bill,
>>>>>
>>>>> think of:
>>>>>
>>>>> 1) relationship between Q factor of on oscillating loop and its
>>>>> ability to react to quickly changing envelope;
>>>>
>>>> It does not matter. The response of the loop is completely local in time.
>>>> The next instant's voltage output of the oscillator is simply determined by
>>>> the charge on the capacitor and the current through the
>>>> inductor/resistor. This purely local intereaction is what gives the system
>>>> its memory. Otherwise analog filters would not work either-- suffereing
>>>> from huge latencies.
>>>>
>>>>>
>>>>> 2) (non-equal for different frequencies in IIR/analog equalizer)
>>>>> group delay;
>>>>
>>>> Again, it does not matter.
>>>> These all arise purely from the local in time equations of motion, which
>>>> can be modeled by purely local equations for the digital stream (ie
>>>> depending only on a few buffer values which are updated at each time step , and the input value
>>>> now.
>>>>
>>>>>
>>>>> 3) possible pulse smudging in case of non-equal group delay.
>>>>>
>>>>> If Ronan opens the new thread, we'll discuss it all there.
>>>>>
>>>>> Regards,
>>>>>  Sergei.
>>>>>
>>>>>
>>>>
>>>
>>> You may tell me is much as you can it doesn't matter.
>>>
>>> I did build an IIR bands per octave high Q (1/6 of octave can be
>>> suppressed by 30db) equalizer, and it works, just the difference
>>> in group delay is so big that drums + percussions don't sound
>>> naturally - the low frequency component comes much later than
>>> the high frequency one.
>>>
>>> Bill, again, have a look at Q <-> F <-> group delay <-> what
>>> we, humans, hear.
>>>
>>> Think of the whole thing differently - who what smallest time you
>>> have to observe a signal to understand that it has a 1Hz component ?
>>>
>>> The answer is 1 second.
>>
>> No. No human ear can detect 1 Hz-- 20 Hz is the minimum, but will accept
>> your point that the an analog equaliser at low frequencies can start
>> messing with the timing of the low frequency signals. This has nothing to
>> do with latency, or with locality, and it has nothing to do with digital
>> processing.
>>>
>
> I said "observe", not "hear". I am saying that to roughly estimate that
> a signal contains a 1Hz spectral component one has to observe it (with
> his/her eyes, or scope, supersensitive to infra low frequencies ears) for
> at least one second.

It is certainly true that a bandpass filter rings. Not sure I would call
that a delay.  If I hit a bell, is the sound that comes out a "delay" on
the hit. I suppose you could say that.

>
>>> Have you ever conducted laboratory work on how signals propagate
>>> through oscillating loops ?
>>
>> Sure. It is a standard undergraduate experiment.
>>
>>>
>>> Have you observed the delay in envelopes ?
>>
>> The "delay" occurs at the edges of the bandpass (for a bandpass filter)--
>> ie places wheer the phase of the filter changes rapidly.  So what you would
>> really like are low phase shift filter designs.
>
> The delay also occurs in band pass filters (oscillating loops) which
> by construction are HPF + LPF, and the bigger the Q factor is, the bigger
> the delay is.
>
>>
>>>
>>> Do you agree at all agree that we can have good resolution either
>>> in frequency or in time domain, but not both ?
>>
>> ?? No idea what this has to do with the question at hand.
>> He wants a filter design to alter the frequency response at the ultra low
>> bass frequencies. Why he would want that I have no idea. But, assuming he
>> can do this with an analog equaliser board, he can also do it with a
>> digital one, with minimal  extra latency. Whether he really wants to do that or
>> whether it is a good idea I have no comments on.
>
> To be able to arbitrarily form response at low frequencies Ronan needs
> narrow band bandpass filters, i.e. for, say, 10Hz with 1Hz -3db level
> Ronan needs a BPF with Q factor 10, which will have group delay of
> about 1 second (roughly), which is as bad (at these frequencies) as
> 1 second latency.

But this is true always. And I assume that the reason he needs to form the
response is to make up for deficiencies ( in the room, the speaker,
whatever) that already have that ringing in them. And if the ringing of the
filter is out of phase with that of say the speaker, then the two will
cancel.

I have however no idea whatsoever why he wants what he claims he wants.
What I was responding to was his desire to replace analog circuits with
digital Linux driven filters. I assume he already has low frequency narrow
band filters that he wants to replace ( or maybe avoid buying). Any
comments you make about the digital is equally true for his analog system.
Thus IF he want those kinds of specs for his analog system, then the
digital system will give them to him as well. It is not latency. it is the
natural response of the system, analog or digital. Latency is the delay in
the digital processing of signals, which is completely irrelevant at low
frequencies.

So, can he replace his analog filter board with a digital one. I would
worry about this at high frequencies when the latency-- the time between
reading a word from the sound card input to that byte or anything affected
by that byte  being delivered to the output of the soundcard-- becomes a
worry. The argument that the ear cannot tell if something comes in 1/100
of a sec late is a reasonable one to say one should not have to worry about
the latency. I am not sure it is right, but it could be.

But latency at 10-100 Hz is completely irrelevant.

(Note if you know the signal you can tell its frequency in far less than
one cycle. If I hand you a sine wave with infinite precision you can tell
its frequency in an arbitrarily short time.) If you have an unkown signal
shape, then its period is both hard to define and to measure in less than a
period.




>
>>
>>>
>>>
>>>
>>> Regards,
>>>  Sergei.
>>>
>>>
>>
>
> Regards,
>  Sergei.
>

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux