HighWayToHell - Tag - deadbeef
花园里, 篱笆下
2023-08-13T10:38:15+08:00
Druggo
urn:md5:79dfcacdbfd6434dfc57423d51240051
Dotclear
切换OSSv4
urn:md5:d76a0dc67dcb776c2c53d4740ec262c8
2013-11-16T22:27:00+08:00
2013-11-17T00:07:34+08:00
Druggo
计算机
alsaaudigy2deadbeefgentoolinuxossv4r1200t
<p>搬来和同事合租以后,终于可以无顾忌的开喇叭了,只是原来20块的便携音箱实在寒酸,就上网买了个漫步者R1200T,郁闷的是听起来感觉还是很山寨啊!想了一想,恐怕问题出在音频系统上,现在用的是默认的ALSA,早就耳闻音质不如OSS,可惜OSS已经被主流抛弃了,只能自己整一整了,不然这音箱就白换了。
网上转了一圈,发现OSS都停止开发好多年了,最新版是OSS v4.2 build 2008(好像开发者还在找工作中。。。),别忙着动手,先看看是不是支持我的声卡:创新Audigy2,源码里看支持列表devlists/Linux,果然有我这块古董啊 (从Oasis兄处购得,惭愧一直也没堪大用),马上下<a href="http://www.4front-tech.com/developer/sources/stable/gpl/oss-v4.2-build2008-src-gpl.tar.bz2" hreflang="en">代码</a>开搞,参考官方的<a href="http://www.opensound.com/wiki/index.php/Building_OSSv4_from_source" hreflang="en">编译指南</a>:</p>
<p>1.解压缩源码后,进去新建一个build目录:
<code>mkdir build && cd build</code></p>
<p>2.配置仅编译我声卡的驱动:
<code>../configure --only-drv=oss_sblive</code></p>
<p>3.编译:
<code>make build</code></p>
<p>4.切换成root,安装:
<code>make install</code></p>
<p>但是,编译内核模块的时候出错了,我的内核是3.11.6的,看来2008版还是没能跟上时代,如果是好东西,肯定还有别人用,上网找补丁吧,最后在OSS论坛里发现了宝,有哥们放出了<a href="https://github.com/etch-squeeze/oss-v4.2-build2008/archive/ender.zip" hreflang="en">打好补丁的包</a>。直接搞定!(最新的3.12内核也支持)</p>
<p>5.不出意外的话,现在可以用osstest程序测试一下了,我觉得声音好像动听多了,哈哈!
(注:安装成功还有一个前提,那就是原ALSA支持没有编入内核,必须是模块安装,否则OSS就无法卸载并替换ALSA了。)</p>
<p>6.把/etc/init.d/oss放入开机启动。
(开始放到default runlevel里,居然没有效果,可能是启动脚本不符合openrc的规范,暂时放/etc/local.d/oss.start里启动吧。)</p>
<p>测试完成后,给系统增加oss的USE,重新编译相关软件吧:我平时只用mplayer,改ao为oss即可。flash插件直接支持oss,不用动。
GNOME3的音量控制器刚好支持总音量调节,很好!如果不灵,可以用oss自带的ossmix(命令行版本)或ossxmix(gtk界面)。</p>
<p>听音测试后,明显感觉声场有了,音质比ALSA强多了啊!</p>
<p>顺便在OSS论坛翻了一下,还有可以改进的地方,在执行configure之前,把这个文件里的GRC_MAX_QUALITY=3改成6,然后ossmix把混音器的resampler质量设置到Production:(据说会有更好的音质,不过坛子里也有人说Production过头了,我等俗人,啥也不懂,就设置到低一档的High+吧)
<code>ossmix vmix0-src High+</code></p>
<p>再进一步逛,发现牛人说OSS软混音器GRC3重采用的算法很挫,不如直接把音源交给声卡播放好(oss提供的ossplay有个-R参数可以绕过软混音器),前提是你的声卡硬件支持播放文件的采样率,这个可以用ossinfo -v9查看,我声卡支持的是:
<code>Native sample rates (min - max): 8000 - 48000 (8000,11025,16000,22050,24000,32000,44100,48000)</code>
一般从CD音源出来的采样率都是44.1k,正好支持,放一个试试了:
<code>ossplay -v -R cd.wav</code>
嗯,自我感觉确实好听!</p>
<p>不过这么放音乐还是很麻烦,大多数歌曲都是mp3等压缩格式啊,ossplay只支持wav的样子。好说,牛人各种讨论,最后说有个俄罗斯的大神写了个很好的重采算法,音质碉堡了,就是不开源啊(可以联系原作者),只提供了一个deadbeef播放器<a href="http://druggo.org/tmp/Petrov_deadbeef_plugin_v0.9.tar.gz" hreflang="zh">插件</a>,直接放到deadbeef的插件目录里,看自带的howto设置一下就可以用了。</p>
<p>总之,自我感觉良好,音箱没白买啊!</p>
http://blog.druggo.org/post/2013/11/16/%E5%88%87%E6%8D%A2OSSv4#comment-form
http://blog.druggo.org/feed/atom/comments/249