分享

Guide on kX's concept for musicians

 ZackEdge 2015-06-16

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.

Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians

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

Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians

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

Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians

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]
.Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians

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)
Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians
(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.
Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians

(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.
Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians
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.
Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians
(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)
Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians

 

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)
Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians

 

 

ProFX Plugins

Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians
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.
Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians
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.)

Guide <wbr>on <wbr>kX's <wbr>concept <wbr>for <wbr>musicians

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.

 

结论:

理解kX很大程度上是对通过DSP的信号路由的理解。当然,还有更多的kX内容,但是大部分经常被用户提到的问题是关于kX的信号路由的基础概念。一旦您理解了信号流的原理,一切将变得得心应手……此道理同样适用于各种专业音频接口,和各种音频工作站软件。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多