DTSCDSpdif源码输出功放解码KMP+FooBar篇.docx

上传人:b****5 文档编号:7645246 上传时间:2023-01-25 格式:DOCX 页数:13 大小:393.66KB
下载 相关 举报
DTSCDSpdif源码输出功放解码KMP+FooBar篇.docx_第1页
第1页 / 共13页
DTSCDSpdif源码输出功放解码KMP+FooBar篇.docx_第2页
第2页 / 共13页
DTSCDSpdif源码输出功放解码KMP+FooBar篇.docx_第3页
第3页 / 共13页
DTSCDSpdif源码输出功放解码KMP+FooBar篇.docx_第4页
第4页 / 共13页
DTSCDSpdif源码输出功放解码KMP+FooBar篇.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

DTSCDSpdif源码输出功放解码KMP+FooBar篇.docx

《DTSCDSpdif源码输出功放解码KMP+FooBar篇.docx》由会员分享,可在线阅读,更多相关《DTSCDSpdif源码输出功放解码KMP+FooBar篇.docx(13页珍藏版)》请在冰豆网上搜索。

DTSCDSpdif源码输出功放解码KMP+FooBar篇.docx

DTSCDSpdif源码输出功放解码KMP+FooBar篇

DTS-CD日益成为新的关注要点,也许传统发烧友对“数字”始终不屑一顾,甚至很多人坚决认为数字传输也存在音质差异,但是这都不能否认大批DTS-CD成为资源热点,VeryCD上大量的DTS-CD可谓天籁,例如维也纳金色大厅内的五大音乐家(贝多芬、莫扎特、柴可夫斯基、巴赫、约翰施特劳斯)作品演奏、莎拉布莱曼的专辑都是好东东,不找个好办法原汁原味地享受一番,岂不是浪费。

  但是,DTS-CD的解码问题一直被关注,也是困扰已久的问题。

本文不探讨模拟解码输出给音箱的方式,这太简单了,本文主要关注如何通过Kmplayer实现源码输出DTS-CD给功放解码,至于使用FooBar2000实现源码输出DTS-CD给功放解码,在我另一篇博文中,请到Http:

//

    另外,备注一下,对于非DTS的普通APE,不论是否先提取WAV,如何源码输出WAV让功放解码,这个本文无法解决。

 

  这里首先说一点,如果阁下的声卡是AC97的,那就可以打住,不用往下看了,Ac97不支持44K采样率,打死都出不来SPdif源码输出,除非你愿意用Foobar的44K转48K再输出,声音会快1.2倍……

    板载声卡里,除了Ac97,至于其他的板载声卡——近年流行的HDAudio,倒是没有问题。

  这里先说说源码输出的实现与否判断标准:

    

(1)功放上一般会显示输入信号,PCM的话就失败了,必须显示DTS。

就算是显示杜比也失败。

    

(2)源码输出是把信号给功放处理,本机此时操作系统、软件的音量调节失效,软件的EQ混音失效。

如果你本机还能调整音量,那么失败。

     反之,成功。

 

操作系统基本设置:

  要源码输出,首先得Spdif或者同轴输出,一般声卡为SPDIF光纤输出,在XP里把SPDIF的勾打上就行了,在Vista里将SPDIF设备设置为默认输出设备即可。

  OK,操作系统设置先这样,更复杂的等会讲。

 

Kmplayer软件设置:

  其实,这并不是什么大的难题,之前在其他论坛上,曾经就看到有人实现了,并贴过这样的帖子,但是大批跟贴者痛批帖子教程不灵,发贴者也很委屈。

  设置很简单,我这里再复述一次:

  

(1)KMplayer设置内部音频解码器,点击“取消全部”,会剩下几个,无所谓,不管他。

      

 

  

(2)在外部音频解码器中,将DTS设置为AC3滤镜

       

     (3)按C,进入AC3滤镜设置,逐项设置如下:

          主体,设置启用SPDIF,输出方式就选ASIS无转换,不要胡乱把DTS音源的声道数胡乱转换,其他没有什么可选的了。

            

       混音、放大没什么可选,因为是源码输出交给功放去处理,这里的设置都没用,也最好不要乱选。

SPDIF选项重点关注:

        

        输出方式不要动,这里和最初设置是自动关联变化的。

        SPDIF传输对象全部勾选上。

        SPDIF/DTS模式,选“自动”。

我在平时看MKV高清时都选填补,但发现如果在放Dts-CD时不选自动,会偶尔出现问题,建议选择“自动”

        SPDIF/DTS转换,选择“不转换”

        SPDIF选项中,除了“输出SPDIF为PCM”外全部勾上,这条绝对不能勾,因为本来要源码输出DTS,如果输出成PCM那还玩什么?

至于限定采样率要求全部勾选,这个很重要,因为很多声卡只支持48KHZ的,还要靠各类设置解决,这里多勾选没问题,因此全部勾选。

        DirectShow选项中,最重要的是一定勾选“SPDIF模式中禁止PCM输出”,原因和上面一样。

     

       系统设置如下:

       

        Ac3filter解码对象全选。

        解码器优先级设置为Ac3fliter,但此处可能会无法设置,要其他设置好关闭后重新进入,才能设置,有时甚至重新进入发现这项已经设置好了。

        默认音频渲染器使用DirectSound。

        directshow选项和上面一致,此处不要动。

       

        Ok,Kmplayer设置到此为止,此时,无论是播放DTS的高清电影文件,还是把DTS-CD的MDS、MDF用Daemontools加载后“播放CD”,功放上都能显示DTS了,大功告成。

        看到这里,可能有人要开骂了,老子已经这样设置了,干嘛还不行?

要么功放还是显示PCM、要么沙沙的没声音。

        OK,如果出现这样的情况,请继续往下看。

 

操作系统高级设置:

  首先看看这时都还不成功的情况:

    第一种情况,功放还是显示PCM,这证明是没有实现源码输出,现在是PC解码,只把PCM2声道模拟信号给了功放,功放只起到了一个放大作用。

Ok,这种情况相对好解决,请仔细核对我上面的Kmplayer设置,最笨的办法是照着我的截图一个个设置,如果还不行,请说出你的配置、软件版本、具体情况,留言看我能不能解决。

 

  第二种情况,功放显示DTS了,证明源码输出成功了,可是音箱只有沙沙的噪音,这个问题,90%以上是由输出采样频率引起的。

  采样频率,很多人总搞不清和重采样的区别,很多人一听我讲采样频率,就以为我也要走重采样的取巧路径。

  因为网上有很多教程,大家搞不定DTS-CD的源码输出,就干脆取个巧,用AC3滤镜将DTS音频信号重采样编码成640KB,AC3输出给功放解码,功放认为这是AC3信号,因此就识别为杜比信号。

这样虽然是数字输出给功放解码,但是中间转换了几次,1536K全码DTS变成了640K的AC3,可谓损失惨重,这种亏我是不吃的。

 

  OK,言归正传,之所以说到采样频率,是因为它对我们源码输出的影响很大。

DTS-CD如果源码输出,必定要求声卡以采样率44.1KHZSpdif输出,但是,请仔细检查,你现在声卡的设置是44KHz吗?

     因为44Khz是CD音质,48Khz是DVD音质,因此许多操作系统声卡默认设置是48Khz,甚至不支持设置到44Khz。

     对于不支持设置到44Khz的,只能默哀了。

     对于支持的,请麻烦你,在你右下角系统托盘的声卡图标里,设置声卡采样率为44.1Khz。

Ok,这样DTS-CD再播放,沙沙声没有,天籁出来了。

可惜,有个麻烦,看MKV高清时,是48Khz的采样率,请再调回去。

 有没更好的办法?

  好在Vista是个好同志,他充分挖掘了声卡的特性,在他WDM的声卡驱动力,就能让大部分声卡实现44K、48Khz的自动切换。

听我慢慢道来:

    打开控制面板,选择声音,在SPDIF设备上点属性:

    

    进入SPDIF设备的属性页,进行设置:

    

  

     此处请务必注意,在上图中,不要自作主张地勾选任何一个选项。

上图中解码格式有“DTS、Dolby、WMA”三个选项,采样频率有“44K、48K”两个选项,对于全部5个选项,请逐一选中,并点击右边对应的“测试”,如果该项测试时声音正确,并在系统询问你声音是否正确时回答“是”,系统会自动勾选上它。

    上图就是我测试的结果,我声卡支持DTS、Dolby传输解码、支持44和48Khz采样频率。

    OK,按照测试结果勾选上,如果你能勾选上我这4个,那就没问题了。

要知道,我的播放设备不过是华硕A8JA笔记本,声卡是集成声卡而已(好在有SPDIF光纤输出,而数字输出和声卡好坏无关)。

   最后一步,高级设置。

其实在我的经验里,这里不管设置44还是48,系统播放48K的电影和44k的DTS-CD都行,居然没影响,不过还是说说这里,如果哪位兄弟遇到只能支持一样的尴尬情况,就到这里来调整:

   

  

   Ok,大功告成!

这下,无论是DTS电影、DTS-CD,都能畅通无阻了!

天籁之音从此不再有障碍!

DTS-CD Spdif源码输出功放解码——FooBar篇(原创)

在我另外一篇博文《DTS-CD Spdif源码输出功放解码——KMP篇》中,源码输出DTS-CD给功放解码的办法,包括Kmplayer的设置、操作系统的设置,都已经讲的很详细了。

考虑到许多听音乐的朋友对Foobar2000更有兴趣,因此这里再探讨一下FooBar2000源码输出的办法。

  虽然我认为都是数字输出,这种场景下,用所谓高音质的FooBar实在和Kmp没啥区别,但是套句某FooBar版主的话“用Foobar2K听音乐的优点在于不仅音质好,也节省CPU、内存资源,同样,显得你是个有品味的技术型人士”,因此我们还是认真探讨一下Foobar的实现方式。

 

  老规矩,还是说一下本文解决的技术问题和前提条件:

  

(1)于非DTS的普通APE,不论是否先提取WAV,如何源码输出WAV让功放解码,这个本文无法解决。

    

(2)这里首先说一点,如果阁下的声卡是AC97的,那就可以打住,不用往下看了,Ac97不支持44K采样率,打死都出不来SPdif源码输出,除非你愿意用Foobar的44K转48K再输出,声音会快1.2倍……;至于其他的板载声卡,近年流行的HDAudio,倒是没有问题。

 

  操作系统基础设置和高级设置,我在这里就不说了,请参考《DTS-CD Spdif源码输出功放解码——KMP篇》(

 

 

FooBar2000设置

  (1)安装Foobar后,请务必不要胡乱安装插件,包括Ac3、Dts插件什么的,我们都不需要,再确认一下,我们是把DTS源码输出给功放,你安装本机解码用的DTS插件干什么呢?

         我们需要安装的插件有2个,把这2个Dll放到Foobar目录下的components目录中。

         第一是spdif插件,靠他spdif输出。

foo_spdif.dll

         第二是wasapi输出插件,输出也靠他。

foo_out_wasapi.dll

 

  (2)插件放到components目录后,启动Foorbar2000就会自动调用,我们有2个地方需要修改:

        首先,修改Spdif选项(这个要加入了spdif插件才会出现)。

请注意,2个enable都要勾选上,至于用Waveout输出还是directsound输出,我测试了都OK,建议用后者。

对于那个允许playback44kto48K,这个选项就是前面提到的,如果声卡无法44K输出,就重采样成48K输出,这样带来问题第一有轻微失真,第二造成声音加快1.2倍(这个无法接受),建议不选。

        

       第二个需要设置的,是输出,这就是全局输出设置。

这里什么都不需要勾选,也不要胡乱把输出从16位改高。

需要注意的是,此处一定要下拉选择WSAAPI对应的SPDIF输出设备。

在没安装WASAPI插件前,是没这个设备的,使用本机SPDIF输出,只能是立体声PCM,不能实现DTS-CD源码输出,所以这就是一定要安装WASAPI插件的原因。

可能有些朋友要问,为什么不用ASIO插件,因为我在Vista-32位操作系统上使用时,提示不能创建ASIO驱动,而WASAPI用起来运行良好。

       

       Ok,设置到此结束。

       使用虚拟光驱Daemontools加载下载的DTS-CD(格式可能是MDF、Nrg、ISO等),再用Foobar播放音频CD(虚拟光驱),声音就直出功放解码了。

       如果按照以上设置还不行,那么问题必定在于44KB和48KB操作系统设置,请仔细查看KMP篇里的操作系统设置。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1