A newbie guide on kX's concept or "How to setup
your own DSP" - for musicians
I wrote this guide with musicians in mind for two reasons;
- they are kX's original user target group.
- they are more likely to run into problems then the average
soundcard user as we will see later on.
So this guide will not deal with Multimedia applications like AC3,
3Daudio, DvD, Home theater, Gaming etc.
Also, it's my believe that it's better to learn how to make your
own DSP setups then sharing 'pre-made DSP setups'.
For simplicities sake I will make some simplified hard statements
on a 'need to know basis' without bothering you with
exceptions, bits&bytes, hex numbers and all the
other tiny details.
So it does not pretend to be technicly accurate to the "bit" nor to
be an in depth technical discourse in DSP programming.
You are a musician who wants to make music and not become a
DSP-programmer. Right?
Ok, here we go, but first;
-Why is kX so complex and hard to
understand?
Firstly, kX-drivers and software (as opposed to CL drivers), turn
your CL card into a small recording studio
packed with hardware effects, mixers, endless signal routing
possibilities, multi-channel playback/recording and more.
Cool,.. but as always, the more options we have, the more
complicated things get!
Secondly, kX and your soundcard is really all about one thing; the
DSP..!
Since most people get a heart attack just by reading that word, the
DSP section is kinda tucked away
in kX's menu and "hidden" by kX Mixer and its default DSP
configuration.
While 'kX Mixer + default DSP setup' is great for *Generic
Basic Multimedia Soundcard operation*,
it is quite useless for more dedicated tasks such as our Musical
Applications require.
Although well meant, kX Mixer with it's 5 pages containing over 60
sliders and knobs, can lead
new users to believe that there are totaly different things going
on in operating kX, which is not the case.
A new user can easily get stuck for days trying to figure out those
60 sliders
just to find out they were looking at the wrong place and still
don't have kX working their way.
Needless to say that this can cause quite some confusion.
Actualy, there is only one major thing to deal with in kX,
and that is the DSP..!
No reason to get a heart attack. It all just sounds harder than it
really is.
You do not have to program your own DSP effects or be a programmer
at all to operate the DSP.
(Programming a DSP-plugin is something different then using a
DSP-plugin)
All you have to do is placing 'ready to use' DSP-plugins in the DSP
window and draw some blue wires between them.
-So we don't need kX Mixer at all?
Hardly. While most sliders in kX Mixer control some level of the
default DSP setup, which we won't use,
there are a few settings in kX Mixer we occassionaly may have to
use. More on that later.
The big idea hear is *not* using kX Mixer, or at least as little as
possible.
That is exactly what experienced kX users do, they hardly touch kX
Mixer simply because there is little reason to do so!
Almost everything done in the 'kX Mixer' can also be done
right away in the DSP..! Better, easier and more
flexibel.
You will find that, once understood, it's much easier to work
solely in the DSP window and never have to touch kX Mixer.
-Then why is there a kX Mixer if we dont use
it?
Together with it's default DSP setup, it has to be there to provide
Generic Basic Multimedia soundcard Mixer functionality
for the average user. kX driver package can not be distributed with
an empty DSP of course,..hence the default DSP setup:)
Most parts of kX Mixer form merely an extra 'shell' to control the
default DSP configuration for generic soundcard usage.
So it is supposed to make things easier for the average user who
does not have to go into the DSP window,
but it sure can make things more confusing for a novice kX
power(musician)user who *has* to use the DSP window.
Well, no harm done. Let's make it less confusing:
Open the DSP window and Clear it.
Now open kX Mixer, check it's pages and you'll see that most
sliders are gone.
Good, we got rid of them, we don't use them anyway so we don't have
to study them. Forget them:)
From now on, that big (currently empty) blue DSP window is were you
will do 95% of kX operations.
The EMU10Kx DSP chip
Some background info;
The emu10kx DSP (Digital Signal Proccesor) chip is in fact a tiny
computer that procceses audio data in 'near Real Time'.
Once initiated by your PC it does it's job(s) all by itself thereby
relieving the CPU of your PC.
Just like any other computer the DSP needs programs to run which
are called Microcode.
kX driver package comes with so called 'DSP Plugins' that contain
ready to use Microcode.
These DSP plugins are not only typical audio procceses like Reverb,
Chorus, Flanger, Compressors etc.,
but also Mixers and Signal Routers as we will see
soon.
As I already mentioned, kX and your CL card is all about this
DSP chip.
In fact, the DSP chip with a few surrounding components practicly
make up the whole soundcard.
Make no mistake, from a user point of view, almost everything kX
does is about initializing and controlling this DSP chip.
Whenever you change something in kX, you actualy alter the
behaviour of this DSP chip or
one of it's surrounding components.
The most important "Rule" to realize and remember;
"..Everything goes through the
DSP..."
Fig.1. Simplified Creative soundcard
As you can see in Fig.1, there is no signal path around the DSP
chip..!!
Thus every audio signal has to go in or out the DSP sooner or
later, one way or another.
Some examples;
-If we want to record from Line-In, that signal has to go through
the DSP first before it even reaches our PC to get recorded.
-If we want to hear audio playback from a MediaPlayer or Audio
Sequencer, that signal has to go through the DSP first before
it even reaches the D/A converters and finaly our speakers.
It's obvious that if the DSP is not properly setup, those signals
will never reach their destinations!
Knowing all this, it becomes clear that understanding and operating
the DSP is the only way to fully exploit kX's potential,
and to have kX working your way.
I/O Plug-ins:
Most newbies think that the DSP is only about FX-plugins like
Reverb, Chorus, Compressors etc.
Wrong. The DSP's primary task is Signal
Routing..!!
Take a look at Fig.1 again and follow all signal flow arrows and
you'll see that *Everything goes through the DSP*,
and that the DSP acts like a Traffic Agent regulating all the audio
signals going in and out our Computer/soundcard.
Well, the so called I/O plugins take care of that Signal Routing
and are therefore the first and most important DSP-plugins.
They also seem to be the hardest to understand and operate for
newbies.
Btw; I/O stands for Input/Output. Makes sense doesn't it?
Ok, let's have a look at all those different types of audio signals
going in and out your
soundcard/PC and how they enter or
exit the DSP via those I/O plugins.
1.External input signals;
- analog AC97 signals like Mic, Line-In, Aux etc.
- analog (to digital) I2S signals (if you have a Live Drive)
- digital signals like SPDIF
These signals are coming from the *Physical* Inputs of your
soundcard.
For example, if you want to record from Line-In, Mic or
SPDIF.
These signals enter the DSP by uploading either
[Prolog] or [Src]
.
2.Internal "input"(playback) signals;
-Wave/PCM playback
-MIDI Synth (SoundFont) playback
-ASIO playback
-AC3 playback
These signals are coming from (are generated by) your PC.
For example, if you playback your sequencer, mediaplayer,
etc.
It's easy to remember them as 'Playback' signals.
These signals enter the DSP by uploading either
[FXBus] or [Src].
Which playback signal appears at what FXBus output is determined by
the kX Router applet. (discussed later)
(Note: Picture may vary for different card types)
3.External outputs;
-Analog Rear Out
-Analog Front Out
-Analog Center/LFE
-Headphones Out
-SPDIF Out
-Digital Front, Rear, Center and LFE Out
These are the *Physical* Outputs of your soundcard,
so this is where you hook up your speaker system, headphones
etc.
You can access these outputs by uploading [Epilog]
or [k1lt/k2lt].
4.Internal Recording "outputs";
-WINMM recording "output" (1 stereo pair)
-ASIO recording "outputs" (16 mono/ 8 stereo)
These are the "Outputs" (weird hu?) from which your PC Records
signals coming from the DSP..!!
You can find these outputs on [Epilog] or
[k1lt/k2lt + Asio].
It may seem strange to find these recording "outputs" on the same
Epilog which takes care
of the Physical outputs of the card, but one could say that Epilog
carries all DSP Output signals.
(Note: The naming convention of 'inputs' and 'outputs' can be
confusing at start,
but it just depends from which end of the audio chain you look at a
certain 'port')
Ok, those were all the signal types going in and out your
PC/soundcard.
The I/O Plugins route these signals In or Out the DSP and
are therefore the corner stones of kX's DSP concept!
Let's summerize them;
-[Prolog] - External Physical input signals:
Prolog routes ALL real physical input signals into the DSP.
-[FXBus] -Internal "input" Playback signals:
FXBus routes ALL types of playback signals into the DSP.
-[Epilog] - External Physical outputs + Internal
Recording "outputs":
Epilog routes signals out of the DSP into the real physical outputs
of your soundcard,
and/or into the PC for recording.
If you understand point 1 to 4 and that *everything goes through
the DSP*,
you should now be able to;
- locate every output
- locate every input
- patch any signal to wherever you want
- run any signal through any DSP effect(s)
- record any signal any way you want
- monitor (hear) any signal any way you want.
The next picture shows the Basic principle of a kX DSP setup.
You can clearly see the I/O plugins FXbus, Prolog and Epilog and
their I/O functions.
Note that the XRouting plugin is never used and that the only "real
FX-plugin" here
is a simple 'Stereo Mix' DSP-plugin.
Let's see if we can find back the signals we've talked about
earlier;
1. External Inputs:
Yes, Prolog is loaded and it's AC97 "output" is wired to WINMM for
recording
and to a mixer for monitoring.
2.Internal "input"(playback) signals:
Yes, FXBus is loaded and it's Wave0/1 output pair is wired to the
mixer for playback.
3.External outputs:
Yes, Epilog is loaded and it's 'Analog Front/Rear' output gets
signal from the output of the mixer
so we actualy can hear sound coming out from our speaker
system.
4.Internal Recording "outputs":
Yes, Epilog is loaded and it's WINMM Recording "Output" gets
signal from the AC97 source (Line-In, Mic etc.) provided by
Prolog.
Now; with this simple setup you can record and monitor from an
external analog source like Line-In or Mic,
while playing back a previous recording. This is called 'full
duplex recording' and forms the basis of all
commonly used Audio Sequencers from Cakewalk to Cubase.
Here we record to WINMM, but in case of an ASIO capable Sequencer
just move the bleu wires to
one of the 16 ASIO Recording "outputs" instead.
Believe it or not, setting up your own DSP is not going to be any
harder then this example!
Other stuff you need to
know Although we
try to work solely in the DSP window, there are some kX DSP related
settings
we unfortunatly have to operate outside the DSP window.
1. As you know by now, the FXbus routes (carries)
all Playback signals coming from your
computer into the DSP. However;
which playback signal is mapped to what FXBus output number is
determined by the kX Router applet.
You can open this applet by right clicking on the
FXbus->Tweak, or via kX's tray menu.
(Note; picture may vary for different card types)
The two numbers above the yellow text indicate/determine to which
FXBus output numbers
a certain playback signal is mapped.
For now the default mapping should be fine, so at this stage you
can use kX Router to
find out where a particulair playback signal appears at the
FXBus.
Note that different playback signal types can be mapped to the same
FXBus output numbers.
For example; by default, Synth (MIDI SoundFont) playback is mapped
to FXbus 2/3, as is ASIO 2/3 playback.
They are mixed together by the driver in software and thus will
enter/appear in the DSP as a combined (mixed) signal.
You can change this of course.
There's more to tell about FXBus, but for now this will
do.
2. As you know by now, Epilog carries all
physical output signals.
It happens to be that kX Mixer can literly Swap Analog Rear
Output with Analog Front Output on
Epilog!
This has caused, God knows how many, user posts who did not hear
any sound coming out of their speakers.
So make sure your Epilog wiring corresponds with kX Mixer settings
(see pic), and with the output you actualy plugged your speakers
in.
(Note: This does not apply to the ProFX
plugins)
3. As you know by now, Prolog carries all
physical inputs signals into the DSP.
The AC97 is one of them. This device converts Analog input signals
like;
Line-In, Mic, CD, AUX etc. into one Digital signal, and feeds it
via Prolog into the DSP.
Unfortunatly, we have to go into kX Mixer again to select which
Analog source the AC97 device
will convert. That source will then become available in the DSP at
Prolog.
(Note: This does not apply to the ProFX
plugins)
ProFX Plugins
The ProFX plugins are alternative I/O Plugins wich can replace
FXBus, Prolog and Epilog.
They are specialy written to avoid kX Mixer user actions and to
save precious DSP resources.
If you have build the previous DSP setup you may have noticed that
a lot of sliders have returned
in kX Mixer by (re)loading Prolog and Epilog. Our initial goal was
to get rid of those sliders.
So the ProFX plugins have the next "advantages";
1. They do not add any sliders to kX Mixer, nor do they rely on kX
Mixer.
2. ProFX plugins use less DSP resources.
3. Wiring the DSP is easier.
4. You only load the parts you need, saving precious DSP resources
and keep things clearer.
For example;
- if you don't use ASIO, you now have the choice not to load it's
DSP Microcode part.
- if you only Record from Line-In, there is no need to load the
whole [Prolog]. One [Src] will do
just that.
4. Signal Sources of an [Src] can be changed 'on
the fly' without rewiring and/or going to kX Mixer AC97 page.
5. Outputs on [kxlt] can also be changed 'on the
fly' without rewiring and/or going to kX Mixer page.
The ProFX Plugins are;
-[Src] -replaces both Prolog and FXBus (btw; 'Src'
stands for 'Source', not sample rate converter)
-[kxlt] - replaces all Physical
outputs and WINMM Rec on Epilog
-[Asio] - replaces the ASIO recording Outputs on
Epilog
Next is the same DSP setup as the previous one, but now using ProFX
plugins.
The only functional difference is that I wired the Analog Line-In
to
both WINMM as well as ASIO Recording just to have
[Asio] wired to something.
This ProFX setup uses a fraction of the DSP resources used by the
previous setup,
and avoids kX Mixer actions completly.
Doubleclicking on a ProFX Plugin opens it Input (source) or Output
(destination) dialog.
As you can see in the next picture, it's easy to pick any Input
type or Output from the dropdown menus.
This is the same setup as above only now with Dialogs opened.
(Note: The ASIO plugin has no Dialog.)
It might be clear that the ProFX plugins give a more " What You See
Is What You Hear" kind of operation.
Unlike the standard I/O plugins you don't have to go to kX Mixer
pages to set AC97 or whatever.
Everything is done * from the DSP window*..!.
Some notes about using the ProFX plugins;
-You don't have to use them. Prolog, FXbus and Epilog work just
fine.
-You can use a combination of non-identical I/O functional
plugins.
That is; you can use [Src] with Epilog, but not [kxlt/Asio]
together with Epilog.
-On some of the latest CL card models [kxlt] may not (yet) work
properly.
-Wiring a [Scr] directly to [kxlt] or [Asio] *can* lead to
unpredictable behaviour. (although this is rarely reported).
(Max. M, kX's no.1 DSP guru, has written an in-depth explanation on
"naked I/O DSP registers" for those who are interrested)
Conclusion;
Understanding kX is all about understanding Signal Routing through
the DSP.
Of course,.. there is more to kX, but most frequently asked user
questions are related
to Signal Routing which is the basis of kX's concept.
結(jié)論:
理解kX很大程度上是對(duì)通過DSP的信號(hào)路由的理解,。當(dāng)然,,還有更多的kX內(nèi)容,,但是大部分經(jīng)常被用戶提到的問題是關(guān)于kX的信號(hào)路由的基礎(chǔ)概念,。一旦您理解了信號(hào)流的原理,,一切將變得得心應(yīng)手……此道理同樣適用于各種專業(yè)音頻接口,,和各種音頻工作站軟件,。
|