- 注册时间
- 2012-7-22
- 最后登录
- 2018-11-30
- 阅读权限
- 200
- 积分
- 791
- 帖子
- 735
- 精华
- 4
- UID
- 2
  
|
从存储器上的二进制文件,到声卡发出声音,这其中有一个数据流动转换的过程。不管声卡的界面是PCI还是PCI-E,或者是USB的,它们的工作流程基本一样。本篇着重讲讲声卡的工作流程。3 O6 W0 `7 |6 F9 i( y- c
& }( N7 E- O7 Y8 S+ h; u* {模拟输出
8 q2 ?1 `% |# r/ Y& U y5 m/ a! [1 L5 a! C! E
5 O6 V, L2 e4 V
声卡模拟输出流程示意图
# Y. i. H4 q" K+ W0 F+ C2 A( F( E4 q( B/ I+ G: r0 u& F
模拟在港台称为类比。模拟输出是我们使用得最多的输出方式,相比数字输出方式,它无需外接任何解码设备就能完成声音的输出。系统通过系统总线(例如PCI)传送数据到主芯片(I/O控制器或者音频控制器),然后输出数字信号到Codec或者DAC进行数字信号到模拟的转换,再通过声卡上的模拟输出插座输出。/ N/ X% g: A8 [& t$ Z4 v
整个过程为,总线->主芯片->Codec或DAC->输出。在最后一个环节,会有运放参与其中的工作,对信号进行放大,但这个环节,并不是一定需要的。
, Q ?3 y" B7 Q0 o, Y/ c* a" e$ M8 y* N3 t% x1 n
8 g# Z) E4 w+ Q8 \- S6 a- F6 k
0 w2 n- D! M/ q数字输出
5 \" C7 o" q( h9 P. t3 }% n7 | , c- c: y b+ t J$ S+ f% Z6 I1 D
声卡数字输出示意图
( H+ j0 N) n) P- l4 E) {! {' v+ K7 c9 \8 B9 |! R- I1 D
相对模拟输出方式,数字输出少了一个数字信号到模拟的转换过程,直接由声卡的光纤或者同轴输出端子和外置DAC通讯,数字模拟信号的转换过程交给了外置组件。7 e9 G3 y6 c, S, B: \$ f
% ~4 P" C% r; i \& G: {) J7 j ~
9 m/ X; x4 t/ S; N* h, I% d4 v7 A模拟输入) v! i& [) v) J, j" m: O5 }
; F; {1 ~+ H l5 a0 ~
3 d" ?$ D: }9 [, z 声卡模拟输入流程示意图 x' D& V4 r* S( S
插上麦克风录歌就是一种单纯的模拟信号输入的过程。在这个过程中,Codec和在输出的任务不一样,而是完全相反的,麦克风只能提供模拟信号,要被主芯片接受必须经过模拟信号到数字信号的转换,这个转换过程被称为ADC(注:ADC在用于硬件名称时,是指的模拟数字信号转换器),主芯片接受信号后传递给系统总线。Codec在此流程中担当的工作也可被专用的ADC芯片取代。
* r& n6 s' r# v, v: p5 T
) s& Z. g7 B. Y; _4 Z数字输入+ P- C M9 m9 M( w/ E2 t: O3 e0 G. K
- V4 g4 g& w7 c0 r+ z- E/ O; v

) l9 I2 M+ r9 B8 E" X3 D% G 声卡数字输入流程示意图
0 i1 j0 y1 f$ b/ r/ ^5 W. q& M) s9 L. T例如要录取MD的音乐节目,就需要使用到数字输入方式。在某些录音棚中,会有外置的ADC与声卡相连,此时录音,声卡也需要用到数字输入方式。数字输入的流程很简单,将输入的信号变成文件保存,其关键流程就是经过主芯片的转换并传送到系统总线。
/ t( e+ ^2 t. L6 t8 X$ s5 X
* A8 l' f4 j8 g# N* ~回放方式
2 e3 D& d: I" {, \) \# e
) H! b8 v" F1 O S, A! q+ v 声卡回路方式的流程示意图3 q( e: ^4 M7 ]4 g2 N. Q
D7 e9 l4 P$ F# w2 L7 O7 e: m使用一根双3.5mm头的线材将声卡的模拟输出和模拟输入(Line in)连接起来的方式被成为回路,主要用于测试声卡的一些指标,可以看成是模拟输出加模拟输入的流程集合,这种方式不具备实用价值,除了测试之外没有人会这么用。这种流程太长,双3.5mm头的线材的质量会严重影响测试结果,其实很难测试到声卡的真实表现。
5 C8 X( A: m5 d! m$ |( z( [' z; ?; j; n+ u1 A5 m# t
内录! |" ` }. K8 R: ~- G# Z
. C* @$ h- h$ T6 s! k# z2 Q0 a% ?
声卡内录方式的流程示意图
: ~1 x- j# K$ I& v# K; \+ O$ m+ S9 `0 m( d
+ l! \# _0 B3 E9 m7 D ^! w" M
/ d: D( G5 J! z# I$ B9 X
捕捉当前播放的数字信号的过程通常被成为内录,内录常常使用于测试,用于检测声卡的数字信号处理质量相当好用。在日常应用中,也可能用到内录,例如你录制实时播放的数字电台节目,就需要用到内录。- L+ a" S% T. b$ U# S: n
/ ^1 B2 F$ j8 R9 j, o, X; k! x
+ g A' E7 B+ Q: ZUSB声卡的模拟输出& V4 ~+ D6 r# V/ o# P, u: V% m
) g" a8 R6 X3 ] @/ r; _
USB声卡模拟输出示意图
) y0 ~: @4 B; [- b5 z9 g7 t' b" H! }9 o; g1 S/ N! \
其实与内置声卡相比,外置的USB声卡在模拟输出时,其工作流程也大同小异,只不过是总线由PCI或者PCI-E变成了USB,其他流程完全一致。同样是经过主芯片到Codec或DAC后输出。也有少量的火线声卡,其工作方式同样与内置声卡相似,总线不同罢了。- x/ Q9 _* y+ h: `$ j% A5 }
以上讲述的几个例子都是基本的流程,在不同的主芯片内部,进行数据处理时,其内部流程也会有所不同。
8 y7 B; s4 }, \2 z% t$ j+ A. i; t o; L% m+ r C
6 C1 {# S$ q2 ?2 z主芯片内部的流程
& ~: Q$ a' ~: r/ B/ s. {# q# _ : ?8 q8 K& b4 m9 H. e, |9 g
音频加速器和纯I/O控制器的工作流程对比示意图. e8 W* B; ~+ A2 p, ]
7 h7 {+ [8 W8 I% h) N! A. z0 B! L& s( |( I! [1 o/ q5 m1 a
在《声卡入门·2009版 元件篇·认识主芯片》[作者: 夏昆冈 ] 一文中我们说到,主芯片又分音频加速器和I/O控制器两类,音频加速器集成了I/O控制器和DSP,这也导致了它们内部的信号流程会有所不同。I/O控制器很简单,就是输出和输出,而音频处理器的内部流程可能更为复杂,信号可能经过内部的DSP,也可能不经过,这需要看不同场合下声卡驱动的设定。在很多时候,不能依靠简单的硬件来区别其工作流程,因为软件可以让CPU来模拟DSP的工作,即便使用的是基于纯I/O控制器的声卡,它在打游戏的时候,其输出流程中一样会出现一个基于CPU模拟的DSP模块。
! P( M1 f$ p# H3 @; ^# Q$ q8 v, i, }: f' u( V: J
媒体播放器位于流程的什么位置? \2 s+ }. k# [" o+ r% p+ ?
$ Y( T6 T5 S; S3 I( Y声音的输出,不能单纯依赖硬件得以实现,其中播放器是非常重要的一个环节,但这个环节,有位于整个流程的什么位置?
) d' L# b# _7 a% U9 w) m
9 ^2 C6 W i; n( p9 H7 n! }* G播放器到声卡示意图+ C& i+ Q) f6 W+ I" d
: u O: H$ s$ g: T. c- g, K% ?( F' N% u+ y' Q- l8 F$ j- F
- P, m5 C) i, ]. P/ V+ B" ~这个环节位于输入到声卡之前。播放器读取存储器上的文件,并进行解码,然后输出到设定的声卡。在这之后,声音的处理均与播放器无关。
) t: j' h% K: s/ h* U+ b播放器的DSP 插件,又位于流程的什么位置?
: t9 g' y2 @- S% B
$ v* h% O9 S! }8 R: _Foobar2000音频播放器的工作流程示意图" @. @& x. e8 `! e5 Z; T
& U$ i& [* r9 m2 \$ u
+ R! I4 e3 c/ d6 Y# u6 q 以Foobar2000为例,在其读入存储器文件数据后并完成解码后会直接输出,如果加载了DSP插件,就会多一次处理。假设你使用的是X-Fi声卡并开启了环境音效,使用Foobar2000也开启了某个DSP插件,此时,你听到声音,是经过2次DSP处理过的,一次处理,是对输入声卡之前的信号进行处理,即Foobar2000的DSP处理,另外一次就是来自声卡主芯片内部的处理。1 X: c U# s: B9 U+ @) `- e9 A
流程暂且讲到这里,下一篇重点是一个与流程密切相关的环节,SRC。* l5 i0 Y4 ?3 k5 s* P
- i1 j8 ?6 D- c1 a
仅供学习交流之用,版权归原作者公司所有,
; r8 _& h' u q- \6 g" j不可用于商业盈利用途,否则一切后果自行承担!
8 q( y5 P' L1 N7 h) P: I3 r
4 ~3 ]% F- [" p0 `) w
& G1 ?7 ?0 x& y! p X3 ^
1 | ^$ Q0 q1 J- N; r* K4 R% J$ r# w7 s: x% Z; _1 Y
d2 {" N' r4 A |
|