UID483455
威望23
金钱293975
交易诚信度0
主题50
帖子5285
注册时间2008-4-7
最后登录2017-10-26
高级会员
   
交易诚信度0
注册时间2008-4-7
|
马上注册 家电论坛,众多有奖活动等你来参与!
您需要 登录 才可以下载或查看,没有账号?注册
x
1. 在主机的RAM中开辟一个FIFOBuffer1,FIFOBuffer2;
2. 从硬盘读取APE、FLAC到FIFOBuffer1,至少要预读3秒钟的文件;
3. CPU从FIFOBuffer1读取数据,经运算解压后,把数据存入FIFOBuffer2;
4. 声卡通过DMA把FIFOBuffer2的数据读到声卡自带的缓存SoundFIFOBuffer中;
5. 声卡的控制芯片按自身携带的高精度时钟以精确的节拍把SoundFIFOBuffer的数据通过光纤或同轴传输到外置的DAC上。
[s:14] [s:97] [s:30]
如果是WAV文件,不需要FIFOBuffer1,直接读到FIFOBuffer2即可。声卡的精度取决于它的晶振及供电电路,1~4产生的抖动在第5步的时候花为乌有。现在的低端的数字声卡是不会自带缓存的,但是Window 是支持把内存划分一部分作为声卡缓存的,这时的DMA控制请求/应答产生的Jitter会有一些影响的。 这时PC机的Jitter大还是天价转盘的Jitter大还不好说。
[s:98] [s:8] [s:8] [s:8]
第5步是天价转盘也要作的事,比拼的就是时钟的处理能力了。1~4,是一般的程序员都能想出的解决方案,所以我丝毫不怀疑foobar2000,说不定人家的解决方法更高明。唯一遗憾的是低端数字声卡不带RAM,高端专业数字声卡有也未必。
[s:14] [s:14] [s:14] |
|