I'm really late on this one, but I finally looked at the linked
waveforms. Here is what I see.
Ignoring push-pull crossover distortion, there are basically two kinds
of distortion happening. There are two stages to the amplification, a
pre-amp and an output amp. The pre-amp provides soft clipping of the
input signal, generating harmonics of the input signal. As the input
level is increased, the pre-amp output looks more like a square wave but
with rounded edges. The pre-amp is outputting at its maximum voltage
(saturation). The output amp sees this square wave as a dc step input.
The output circuit is under damped, meaning that its step response will
include ringing. The frequency of the ringing is related to the design
of the output circuitry and has nothing to do with the frequency of the
input signal, since the output amp sees its input as dc. The degree of
clipping from the pre-amp determines how long the output amp sees its
input as a step, and determines how long the output signal contains the
ringing. The output amp is not operating at maximum output voltage.
This is what allows the overshoot and undershoot spikes in the ringing
to pass unclipped. For even more distortion the output amp could be
biased to clip the overshoot portion of the ringing.
This pseudo-knowledge comes from a distant dream of having studied
impulse, step, and ramp responses of analog circuits 20+ years ago.
Tom
Apologies taking time to package this up. The patches included are
tested against 2.4.19 or later.
This patch fixes a few bugs and implements full n-channel support of
greater-than-stereo USB audio devices, such as the emagic emi 2|6. I
also opted to make the minor extention to OSS to define 24 and 32 bit
AFMT modes, and the patch includes this. It does not break any
existing OSS compatability, and unaware apps can continue to be
unaware. The modified audio.c will build without the OSS extentions
to soundcard.h.
As suggested, I didn't bother with OSS mixer extentions. The device I
care about most doesn't expose a per-channel mixer feature regardless.
Also, I was wrong: 2.5's audio.c is different, but the differences
appear to be for the sake of keeping up with other changes to USB
support. I did not attempt to apply the included patch to 2.5's
audio.c, but I'd give it even odds with sufficient fuzz.
Monty
Reiner wrote:
>> - there's patch for PD that provides JACK-support
>> ->
>> http://sourceforge.net/mailarchive/message.php?msg_id=1169519
>Actually, this is no longer current. Check the pd list archive for
>newer approaches to pd jackification. Personally, I now use Günther
>Geiger's patch applied to pd 0.35 and it works quite well. Together
>with the plugin~ object for LADSPA plugins the patched pd can be used
>as effect rack for ardour.
This would make an excellent quicktoot.
If you have the time to send me a brain dump I will happily format it.
Please consider the benefits that this would provide to pd, ardour and
Linux audio users.
--
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.comHttp://www.djcj.org - The Linux Audio Users guide
========================================
"Um...symbol_get and symbol_put... They're
kindof like does anyone remember like get_symbol
and put_symbol I think we used to have..."
- Rusty Russell in his talk on the module subsystem
Hi,
I am a musician and also a programmer. I have many years experience of
coding but not in the audio field. Any tuts around? How do I get into
it?
Cheers for any info.
-Lea.
>> You can calculate your tranformation for the input signal S(x_i) once
>> And the same transformation for S(x_i)+1 again.
>
>Won't that just give you the gradient at point x_i, ie. d/dt(S)?
yes.
>We are talking about frequency domain aliasing here,
oh yeah i see. sorry.
> which is when you
>generate partials that would be above the nyquist frequencyi, so they get
>reflected down into low frequencies. It is not directly related to the
>differential of the signal, though a high differential is often indicative
>of an aliasing problem.
>
>Typically you prevent audio aliasing by generating the waveform in a way
>so that it contains no partials above nyquist, or by generating it at a
>sufficiently high sample rate that there are none, then decimating down.
but you can do the pretty same trick for the frequencies:
take two different numbers with no common divisors
(or just a pair of prime numbers) as sampling rates
and see how the output signal changes.
The difference give you some linear combination of aliased frequencies.
__________________________________________________
Do you Yahoo!?
Y! Web Hosting - Let the expert host your web site
http://webhosting.yahoo.com/
>> my feeling is that oversampling alone will not do, although
>> you're probably right in that it will get rid of most of
>> the aliasing.
>
>Its how most people tackle to problem. I think I can get the valve cheap
>enough that it will be practical.
I'm not really familiar with what are the techniques of anialiasing
in use. But I can see the following way.
You can calculate your tranformation for the input signal S(x_i) once
And the same transformation for S(x_i)+1 again.
I mean two similar input signals differing in one bit of value.
So when you have two output saignals you can calculate
the error due to aliasing: abs( F(S(x_i)) - F(S(x_i)+1) )
And apply some techniques to eliminate this aliasing
ranging from qubic splines to plain dithering applied to
the output signal.
It seems to me that this is much better than oversampling.
Especially for nonlinear transformations.
(Or is it just a trivial thing and it doesnt work and
this is not what you discuss?)
nikodimka
>
>> i'm thinking about how to apply the technique to produce
>> square clipping, or better a [0 .. 1] range of clipping,
>> but the integration approach is awkward.
>
>I doubt that the electronics ever produces hard square clips.
__________________________________________________
Do you Yahoo!?
Y! Web Hosting - Let the expert host your web site
http://webhosting.yahoo.com/
>Well, I just added myself and discovered the first problem -
>you can't change anything after you hit that final submit :-\
>I can guarantee that I will be relocating in the next
>4 months.
No worries. I/we'll have it more configurable by then.
>also, I didn't realize that the "Company Name" is necessary
>to get the web URL to show up.
I haven't taken this scenario into account. I'll look at fixing it. The
data is still available I just have to add an if statement. Actually I'm
surprised it didn't show up on the preview.
>Good idea, I think.
Thanks. This is definitely a work in progress.
--
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.comHttp://www.djcj.org - The Linux Audio Users guide
========================================
"Um...symbol_get and symbol_put... They're
kindof like does anyone remember like get_symbol
and put_symbol I think we used to have..."
- Rusty Russell in his talk on the module subsystem
> this is what's on the page:
>Creative Labs | Soundblaster Live Platinum | EMU10K1 | Install |
>(4)[A][B]
> bottom of the page:
>
>(4) Hardware mixing supported
>
>...
>
>NOTE: Just because an I/O is listed does NOT mean it is guaranteed to
>be supported. Please check the mailing
>list archives before making purchase decisions based on requirements
>forIEC958 or ADAT I/O.
>[A] IEC958 RCA Input
>[B] IEC958 RCA Output
>which does not have a lot of informational value (I know what it does
>not mean but what does it mean?) and it definitely does not imply
there >is a problem of getting the docs to support certain functionality.
Hmm. It has a certain informational value although I will concede that
when I started getting into alsa these comments were cryptic for me
then. They assume a certain level of knowledge is known when referring
to the notes.
I'll try to think of a way to word it for users who may not have the
requisite knowledge.
Apart from that at the top of the page it's explicitely stated that some
companies have not provided the required docs to enable support for a
device. I have always noticed those comments however it may just be my
angle on things. I have made some changes to the matrix to be more
obvious that even if we have the docs we may not have all the necessary
parts. Although I would've thought that most people already know that
about Linux hardware support.
As you know the known bugs section in the driver notes gives explicit
information about things that we know do not work. I'll look making a
form for adding specifically to this file.
I would like to do that and also make it easier for people to post info
about supported devices. I have most of the work done but not finished
yet. As it is I currently stay up to 6:00 in the morning many nights of
the month. I'm lucky though as I only have to work 16 hours a week in my
paying job. I could be working many more hours but have made the
decision to sacrifice some of my current earnings in order to build
Boost Hardware and DJCJ. Along the way I have also picked up the alsa
website :)
--
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.comHttp://www.djcj.org - The Linux Audio Users guide
========================================
"Um...symbol_get and symbol_put... They're
kindof like does anyone remember like get_symbol
and put_symbol I think we used to have..."
- Rusty Russell in his talk on the module subsystem
I'm pleased to anounce that a database for people willing to provide
Tech Suppport to their local community has been setup. The service is
free of charge and hosted at
http://www.djcj.org/
The purpose of this database is to promote the professional arm of the
Linux Audio Developers community. It is intended to be of use to
potential clients who may be interested in getting a Linux Audio system
working but don't have the time or background knowledge to do the
installation or system maintainance?
The people and businesses presented in the database are not endorsed or
guaranteed by DJCJ.org but they are active members of the Linux Audio
Community. Payment for services received is encouraged. Rates are
decided by the parties involved.
This is intended to be a database for professional tech support. Please
let people know about it so that we can show the world we are more than
just a bunch of amateurs hacking in our spare time.
The database currently provides a very simple interface for adding your
contact details and there is also a contact form provided for potential
clients to easily get hold of you. Special thanks to Steve Harris and
Antti Boman for assistance with the internal code. It is guaranteed that
the interface will become much more user configurable over time.
Any feedback is welcome and appreciated.
--
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.comHttp://www.djcj.org - The Linux Audio Users guide
========================================
"Um...symbol_get and symbol_put... They're
kindof like does anyone remember like get_symbol
and put_symbol I think we used to have..."
- Rusty Russell in his talk on the module subsystem