KX驱动几个基本插件简介

来源:百度文库 编辑:神马文学网 时间:2024/04/28 23:05:12
作者:kingcole fu
0 R1 N4 K  Q8 q$ P7 [  2006年12月
(未经本人同意请勿转载)
& Y  L1 ^* g: p. V. w
$ U# ~. I* l( }0 `, [       首先向大家说声不好意思,早前在坛里说过要写一篇关于KX的教程的,但由于工作繁忙,写写停停,终于无法完成下去,在此深感抱歉,还望大家多多包涵!现将前段时间写下的部分内容贴上来,供大家指正。

本文成文之初,本想以“教材”二字命题的,但随着文章的深入,越发觉得自己懂得的越是不足,实在不敢冠以“教材”二字。本文主要介绍几个常用插件的基本功能,没有什么技术含量,但希望通过这几个插件的简介加深大家对KX驱动的理解,为入门KX的网友提供一点参考资料,为高手们提供几段待指正的文字:lol:
本文插件以ProFx305里的插件为例,新版本可参考此例
1、  SRC
7 Q# z- M3 W) [& o/ f2 ?     SRC是KX的一个重要输入源插件,它负责选择和控制所有由windows进入声卡的音源(包括由子卡和外置盒输入的音源)。SRC里面有多路端口选择:FXBus0~31(SB为0~15)以及一些子卡和外置盒输入的音源。(图1.1)3 Y5 Z( m: C9 @& E! c7 p) X' [- J
9 f  z. L2 G2 h6 g" H* `
在一般应用时我们会发现在windows系统和大多数应用程序只映射出0/1、4/5、6/7、8/9、HQ(SB与A1没有HQ)这几个端口(图1.2),
: [- _% E- E: z0 P  p3 a3 b* A+ l0 R' y" w% X! g; D
其他的端口一般只在专业音频软件中才能见到。使用时应用程序的输出端口要与SRC所设置的输入端口一一对应才能正确发声的。如windows系统默认以FXBus 0/1输出的,那么DSP里必须有一个SRC设置成FXBus 0/1才能接受系统的声音并发送给后面的处理。一般我们会用不同端口来发不同的声音的,如系统用0/1、Foobar用4/5,那么DSP里就要调出两个SRC分别设置成0/1与4/5来管不同的声音。(图1.3)7 x  i! p9 b8 n6 F, w! o0 O/ e
8 w! {- _1 D9 r' q: M* u
在使用ASIO输出播放时,信号也是通过这个SRC进入DSP的,用法与上面在WDM下的基本一致,但有几点不同:1、ASIO一般可以获得更低的延时(这个对播放意义不大,对录音的作用后面会提到);2、ASIO的通道是独享的,一个端口同时只能有一个播放器用ASIO播放;3、ASIO同时只能在某一采样率下播放和录音,ASIO控制面板里有44.1、48、96k(括号后面的数字与通道数目有关,SB是44.1、48k)这些采样率选择(图1.4),0 C( m  q  D5 j& ]5 W( j2 e( y1 D7 W
: @/ ~5 v5 U+ x1 M9 |
96k我现在还不知怎用,播放可以用44.1、48k,录音只能用48k。如果设置成44.1k,那么播放器就只能播放采样率为44.1k的音频文件。$ ?; _; H) M. `* u
2、  K1LT、K2LT
; f) U1 R' |+ X( ]! v) C; R/ kK1LT、K2LT是重要的物理输出终端,它负责接收DSP最终的音频信号并将它发送到各个物理输出去。SB对应的是,A对应的是K2LT(图1.5),
6 E/ J3 g3 }7 w, ~) S4 S& C  x, {0 x2 x2 `
K2LT较 K1LT多一些输出。插件左边的端子以两个两个一组由上至下与插件界面的out1~7(8)一一对应,使用时可以根据自己的需要来设置。比如,有一个最终的信号你想它由后置输出发声,你可以将这个信号接到K1(2)LT的某对端子上(如第1对,out1),那么只需将对应的复选框设置成Rear Out就可以了(图1.6)。* a- x5 ^- m) @$ {( \
8 @; o1 p! b, D! y
K1(2)LT上有一个WinMM Recording的通道,它不是直接用于物理输出的,它是将DSP的信号通过PCI总线返送给系统的。在系统声音和音频设置录音设备的KX Wave…….0/1就是映射到这个WinMM Recording的一般我们要录音(ASIO录音除外)、UC等,就是通过这个WinMM Recording将外部声音(如MIC)或内部声音输送入系统的。使用时将需要录音(或MIC)的信号接到WinMM Recording上(图1.8),) M: a" R  _: a4 [7 F) ]8 x+ y

! X7 m, T1 |  f: E; o0 |+ e# ^0 U$ I2 ?: y" N3 Z1 c
% }7 F# N8 n+ z
将录音软件的录音设备或QQ语音的声音输入设置成KX Wave…….0/1就可以录音和聊天了(图1.9)。6 u  I$ j7 O  K
; k8 m$ Z7 A& ]9 s) S( a
6 C, U6 D/ {9 ^! z
[ 本帖最后由 kingcole 于 2007-1-19 19:59 编辑 ]
3、  ADC$ v, c0 e# D! ?* F# U
ADC是负责选择和控制卡板上外部输入音源的插件(line in、mic等,子卡和外置盒输入的音源在SRC上选择)。其原理图如下:(图1.10-1~2)。7 p4 m" _4 P0 g/ F
& g8 @* ]2 I' D4 C2 y- W
+ _! ^& }0 w7 y( f
5 p' S# t7 K/ k' G( K5 G
" v0 c' z  ^, h! f(以上原理图是根据ADC的使用功能推导出来的,不一定正确,请参阅具体的Datasheet。)3 K, e% ~. o" w+ \/ N
从ADC原理图可以看出,A系列有两个A/D模数转换器:ST的codec和飞利浦的UDA(1361T),一般来说使用UDA模数转换器品质要好点。在卡板上的多个模拟输入里,我们可以通过这个ADC插件来选择哪一个输入(或哪几个混合输入)以及由哪个A/D来进行模数转换。从硬件结构上看A系列的ADC是可以让不同的模拟输入信号分配到不同的A/D模数转换器上并同时使用的,实事上这便实现了真正的四声道输入了!(更高级的应用在后面的录音部分会提到)使用时,如果是A系列的,建议用UDA模数转换器,关闭ST的codec的模数转换器。比如:你有两个模拟信号要输入:一个是MIC、一个是电视卡的声音输入,电视卡的声音输入可以接到卡板里的四针插口AUX上,在ADC插件的界面里开启UDA按钮,点亮AUX与MIC按钮并调节他们的音量,左边的按钮与推子可以不用理。然后信号由插件下面的两个端口接出,如图(图1.11)
' d3 n2 ]* C; v1 Z. l$ m& J* f7 B9 z
SB系列只有一个A/D模数转换器:ST的codec,插件右侧也只有两个接线端子。从上面的原理图可以看出,SB系列由于硬件结构他们有一个特殊功能——硬件直接监听,声音进入声卡后直接从前置声道输出监听,这个过程是不经过DSP处理的,DSP只为ADC插件提供操作界面,只需要点亮LINE、CD、AUX、MIC这些按钮并调节上面的音量就可以直接由前置声道输出监听了(图1.12)。- @3 w- q# t0 {: U9 @
. M# G" s5 j8 N, L, H& E! Y
硬件设计上,ADC还有一个特殊性,当选择录音源为StMix或MoMix时,输入的信号会包含DSP里最终输送给Analog Front Out的信号的,这样如果我们在DSP里面将录音信号接到Analog Front Out的话就会产生严重的反馈,无法录音了。所以应尽量避免使用StMix和MoMix,使用时需要录那个声音就在复选框了选择那个音源。同样上面例子的情况,MIC与电视卡声音输入,如果电视卡声音不作录音的话则可将它设置成由前置声道输出直接监听,而录音源则选择为MIC,如图(图1.13)8 r' b$ L: r9 [$ o5 H
+ v9 Z8 ?$ V+ Z% f' Z
4、  ASIO; V. [+ C7 h0 r, P" k# d
ASIO是一个映射ASIO通道的插件,它负责将接到ASIO插件上的信号通过ASIO驱动输送给系统的(图1.14)。
% z6 U! c) T- w5 H$ `
f: o, b% R2 m# a4 p8 f一般这个插件只有用专业录音软件时才会用到。ASIO通道与上面提到的WinMM Recording通道的最大不同是,ASIO可提供多通道低延时录音,而WinMM Recording只有两通道(一个立体声)录音。ASIO插件没有调整界面,它左边的端子由上至下按顺序定义好了各个通道,将鼠标移到接线端子上便会出现提示。使用前一定要进去ASIO控制面板里设置好采样率,录音只能用48k(图1.15-1、2)。' ?& W! N8 y& ]& \3 k" |+ N' c
& j! j* k5 b; P
5 ~2 l! M! @- h( G4 k

; O0 t( N( v. u% {8 ?比如,有一信号接到了ASIO插件的第1、2个端子上(asio0/1),在录音软件里选择相应的录音设备(sam里的是“KX ASIO………..(1+2)”)(图1.16)。# x: W0 h" X# P- \
* k& u3 U8 K. K& |, F
不同录音软件显示有所不同,但一般是按顺序的。对于SB系列由于ASIO通道内部路由比较乱,而且不同型号之间也有所不同,所以建议使用asio 6或以上的通道。' ^; Q- a6 h- P- {5 U- U
5、  MX6' x1 c0 q, k( S( c: H
MX6是DSP里重要的枢纽插件,它负责对多组信号输入进行选择和音量调节并分配编组输出,实际上可以看作是一个调音台。MX6插件左边有6组输入,右边有4组输出,这些端子与界面对应关系如图(图1.17)。) O* D; F5 D: S7 t) L+ b. F/ c
0 Y" y; i% d5 b1 ^
6组输入中每一组都可分配到4个输出去,从插件右边的端子从上到下分别是:Mian、Rec、Send1、Send2,而从插件界面看右上到下数:第1行按钮是Rec、第2行按钮是Mian、 第3行按钮是通道激活开关、 第4行的推子是Send2、第5行的推子是Send1,每一个输入通道音量由最下面的一排推子控制。界面最右边的两条推子分别是控制Mian和Rec输出的总音量的,右上角的SWAP按钮是将Mian和Rec输出互换的,PFR按钮是旁路各路输入的音量控制直接将信号送到Mian和Rec输出总音量控制前的。此时,各路输入发送到Send1、Send2前音量控制仍起作用的。来看一个简单的配置,比如有3个输入:Foobar(用SRC 4/5端口)、系统(用SRC 0/1端口)、MIC输入,假设声卡是5.1输出的,你想听歌用后置输出、系统声音用前置输出、耳麦的耳机用中置输出。配置如下图(图1.18)。( t; s2 l" |6 E% [5 L, F( A
7 Z3 u7 O8 ]4 H3 U
如果想关掉麦克风,而转用耳麦的耳机来听歌,只需要调整一下MX6就可以了,其他插件的设置与硬件连接都不用改动(图1.19)。6 a. s6 c: c/ a+ l& o2 L
9 z: o4 s9 b+ D4
用了KX一年多了,给我最大的感觉就是“灵活”,那种灵活程度是你无法想象能从其他普通声卡中所能感受得到的,它丰富了我的想法,加深了我对音频的理解,只恨自己不是一名程序员,不懂编程自创插件,一直停留在表面,乐趣就少了很多了,但到现在似乎也别无所求了~~~~; r8 c; P  c/ C$ o( R" W
目前,SB是我的KX驱动本身好像没有硬解码AC-3和DTS的,或者是我还未研究到吧:p 不过用软件解码播AC-3和DTS的话,各个声道的分配是由KX路由器控制的,在默认状态下,SRC插件里的对应关系分别为:4/5对应左、右声道;6/7对应环绕后置左、右声到;8/9对应中置、低音。当然,这些对应关系是可以改变的,但建议不是KX的高阶用户不要随便去改变KX路由器的默认设置,路由器控制着KX驱动所有音频流的基层分配关系!调错了很可能没有了声音,切记!一般情况下我们用默认设置就行了。利用我上述的基本插件,播放AC-3和DTS的最简单的设置如下图,在相应的播放器选用DS来播放,端口选0/1或默认的那个就行了" ^' G" J; w% O* R9 H: A5 `
其实这个功能的设置是我以往每次更新KX配置都包含在里面的,大家都不问,我还以为大家都懂了:funk御用聊天声卡,我实在无法找到比这更实惠、更盏鬼的吹水声卡了6 u$ M- s( S1