当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 16 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-29 23:54 

注册: 2008-06-28 6:14
帖子: 247
送出感谢: 1
接收感谢: 5
linux系统默认的驱动是alsa,在应用程序和alsa之间还夹杂着pulseaudio这一层。虽然能发声,但声音音质就是不清澈。从2008年来一直用linux,每次都忍受不了alsa的音质,都将驱动更换到oss4。oss4的音质和alsa的音质是天壤之别,让我20块钱买的es1370古董声卡以及板载的alc889a声卡发出的声音比window下的还要好。基本上我听歌曲都是在linux下听。oss4的声音特点是清澈、无渲染味,声音很自然舒服,能将声音乐器的细节分辨得很清楚,特别是听无损音乐的时候,那是一种享受。
方法:

git clone git://git.code.sf.net/p/opensound/git
cd git
mkdir build
cd build
../configure --config-midi=YES
make
make installload-module module-oss device="/dev/dsp" sink_name=output source_name=input mmap=0
重启后ok。

为了让使用alsa的应用程序正常出声,需要编辑 /etc/asound.conf,让alsa应用程序通过oss驱动。


pcm.oss {
type oss
device /dev/dsp
}

pcm.!default {
type oss
device /dev/dsp
}

ctl.oss {
type oss
device /dev/mixer
}

ctl.!default {
type oss
device /dev/mixer
}



但是oss4驱动有个缺点,不支持休眠。我写了个脚本 文件 ,命名为: 06oss ,放在/etc/pm/sleep.d/ 目录下,并赋予执行权限。这样子能够休眠后能正常发声,但是占用声卡的程序睡眠(休眠)时会被杀死。
我经常听音乐,所以我希望混音采样率为44100。
可以用命令 vmixctl rate 44100 /dev/dsp 来设置。也可将命令放到/usr/lib/oss/soundon.user中,并赋予文件可执行权限。为了让使用alsa的应用程序也使用44100采样率,可以修改/usr/share/alsa/alsa.conf文件,将defaults.pcm.dmix.rate 48000 改为: defaults.pcm.dmix.rate 44100。


使用pulseaudio的发行版,如果想继续使用pulseaudio,需要修改/etc/pulse/default.pa的配置文件,并设置一行:
load-module module-oss device="/dev/dsp" sink_name=output source_name=input mmap=0。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-30 1:05 

注册: 2007-01-14 16:23
帖子: 4255
送出感谢: 0 次
接收感谢: 107
我其实就是想知道,你们怎么听出音染的……我不是玄学党 :em20


_________________
#include <stdio.h>
void main()
{
double world;
unsigned letter;
short stay;
long memories;
printf("I miss you.\n");
}


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-30 13:12 

注册: 2008-06-28 6:14
帖子: 247
送出感谢: 1
接收感谢: 5
同样的设备同样的耳机和音箱,一听就区分出来了。alsa对于某些音乐的细节甚至表现不出,而oss4口水声都表现得很好。特别是用原生支持oss4的播放器,那很明显。我用重新编译启用oss4输出的audacious来播放。gstreamer增加oss4模块输出。alsa的音质明显浑浊干涩,在同样音量下,oss4明显比alsaoss4清澈,音场宽广洪亮,人声清晰,细节分辨性好。去掉pulseaudio,直接启用alsa,音质比pulseaudio好,但启用oss4后音质更好。在听无损音乐时,就能体会出来了。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-30 13:25 

注册: 2008-06-28 6:14
帖子: 247
送出感谢: 1
接收感谢: 5
对用systemd的用户,我写个脚本,放到/usr/lib/systemd/system-sleep目录下,也可以正常休眠,但同样需要杀死占用声卡的进程。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-30 13:25 

注册: 2008-06-28 6:14
帖子: 247
送出感谢: 1
接收感谢: 5
#!/bin/sh
# resume oss4 sound system
PATH=/usr/bin/:/bin:/sbin:/usr/sbin:$PATH

. /usr/lib64/pm-utils/functions
#. "${PM_FUNCTIONS}" || . "${FUNCTIONS}"
case "$1" in
post)
#if alsa driver in use, we just leave
OSSMODULES=`/sbin/lsmod |grep ^oss|cut -d' ' -f1 |sed '{:q;N;s/\n/ /g;t q}'`

if [ "A$OSSMODULES" != "A" ] ; then
/usr/lib/oss/scripts/killprocs.sh
rmmod $OSSMODULES
/usr/lib/oss/scripts/killprocs.sh
rmmod $OSSMODULES
modprobe -a $OSSMODULES
fi
service oss restart
savemixer -L
#重新设置音量
#/usr/bin/osssetup
echo
;;
pre)
#service pulseaudio stop
#service esd stop
OSSMODULES=`/sbin/lsmod |grep ^oss|cut -d' ' -f1 |sed '{:q;N;s/\n/ /g;t q}'`
if [ "A$OSSMODULES" != "A" ] ; then
/usr/sbin/savemixer
/usr/lib/oss/scripts/killprocs.sh
service oss stop
/usr/lib/oss/scripts/killprocs.sh
rmmod -a $OSSMODULES
rmmod -a $OSSMODULES
rmmod -a $OSSMODULES
fi
echo
;;
*) exit $NA
;;
esac


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-30 14:49 
头像

注册: 2006-02-10 16:36
帖子: 2810
系统: Xubuntu14.04/Deepin
送出感谢: 15
接收感谢: 28
看起来好复杂的样子,能不能直接使用apt从软件源中安装oss4驱动。我看有oss4-base,oss4-dev,oss4-gtk,oss4-dkms,oss4-source等软件包。


_________________
友帮拓,真难听。有没有接触官方的老大?给改了吧!
一直想找一个在linux下的Visual FoxPro/access桌面数据库。MUIBase还算是最相近的。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-31 12:22 
头像

注册: 2007-12-07 12:49
帖子: 1044
地址: Tree New Bee
系统: winnux10
送出感谢: 2
接收感谢: 15
这贴必须顶,详情看我签名


_________________
本人在此论坛仅负责吐槽,问题急需解决请支付宝转账5毛至{我的id@qq.com},将会竭诚为您服务

linux常见问题处理指南

1. 视频播放有问题->卸载gstreamer
2. 音频播放有问题->卸载pulseaudio
3. 远程播放有问题->卸载avahi
4. 系统全都有问题->卸载systemd

⇩自由网络⇩
https://github.com/nyfair/freeweb


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-31 14:54 

注册: 2008-06-28 6:14
帖子: 247
送出感谢: 1
接收感谢: 5
百草谷居士 写道:
看起来好复杂的样子,能不能直接使用apt从软件源中安装oss4驱动。我看有oss4-base,oss4-dev,oss4-gtk,oss4-dkms,oss4-source等软件包。

可以。不过不知道系统自带的oss4能不能正常编译内核模块。


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-31 20:51 

注册: 2009-07-13 21:54
帖子: 547
送出感谢: 10
接收感谢: 9
还有这事?为什么各大发行版没用oss呢?
------------------
http://www.opensound.com/forum/viewtopic.php?t=5191


_________________
南无阿弥陀佛


最后由 lord007 编辑于 2015-07-31 21:34,总共编辑了 1 次

页首
 用户资料  
 
10 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-31 20:57 
头像

注册: 2011-09-13 10:31
帖子: 157
送出感谢: 1
接收感谢: 17
引用:
WARNING:Canonical/Ubuntu has chosen to disable OSS support in their kernels and ignore any bugs filed against OSS4 packages. If you're considering using OSS4, you should probably use another Linux distro like Arch Linux. This page remains for historical/reference reasons.

https://help.ubuntu.com/community/OpenSound


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-31 21:48 

注册: 2009-07-13 21:54
帖子: 547
送出感谢: 10
接收感谢: 9
shimingzhou 写道:
百草谷居士 写道:
看起来好复杂的样子,能不能直接使用apt从软件源中安装oss4驱动。我看有oss4-base,oss4-dev,oss4-gtk,oss4-dkms,oss4-source等软件包。

可以。不过不知道系统自带的oss4能不能正常编译内核模块。

系统自带的还是比较新的,OSS v4.2 build 2010
https://launchpad.net/ubuntu/vivid/+sou ... +changelog
不知道系统自带的装好后,还要不要配置这么多?


_________________
南无阿弥陀佛


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-31 22:17 

注册: 2007-01-14 16:23
帖子: 4255
送出感谢: 0 次
接收感谢: 107
lord007 写道:
还有这事?为什么各大发行版没用oss呢?
------------------
http://www.opensound.com/forum/viewtopic.php?t=5191

这是历史问题,oss是很早的时候被剥离的,因为,据说那时候OSS要玩闭源,然后后来才有了alsa


_________________
#include <stdio.h>
void main()
{
double world;
unsigned letter;
short stay;
long memories;
printf("I miss you.\n");
}


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-31 22:26 

注册: 2008-06-28 6:14
帖子: 247
送出感谢: 1
接收感谢: 5
lord007 写道:
shimingzhou 写道:
百草谷居士 写道:
看起来好复杂的样子,能不能直接使用apt从软件源中安装oss4驱动。我看有oss4-base,oss4-dev,oss4-gtk,oss4-dkms,oss4-source等软件包。

可以。不过不知道系统自带的oss4能不能正常编译内核模块。

系统自带的还是比较新的,OSS v4.2 build 2010
https://launchpad.net/ubuntu/vivid/+sou ... +changelog
不知道系统自带的装好后,还要不要配置这么多?

还是要配置一下的,估计可以看网络oss4 配置的arch 文档。写得很详细。


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-07-31 23:09 

注册: 2009-07-13 21:54
帖子: 547
送出感谢: 10
接收感谢: 9
搜到教学区有个详细介绍贴:教程:在 Ubuntu 上换用 OSS4 声音系统
不过帖子较老,有些步骤都做不了了。比如装完 gstreamer0.10-plugins-bad,没有 gstreamer-properties 命令可以运行
------------------------------------------------
在 ubuntu-gnome 15.04 上折腾完了。大致步骤如下: :em11

1. 安装 oss4-base oss4-dkms oss4-gtk pm-utils
2. 音频配置如楼主
3. 加入 audio 用户组
4. 睡眠支持,略做修改:
$ cat /lib/systemd/system-sleep/06oss4.sh
#!/bin/sh
# resume oss4 sound system
PATH=/usr/bin/:/bin:/sbin:/usr/sbin:$PATH

# need package "pm-utils"
. /usr/lib/pm-utils/functions
#. "${PM_FUNCTIONS}" || . "${FUNCTIONS}"
killprocs() {
fuser -k /dev/mixer* /dev/dsp* /dev/sequencer /dev/midi* 2>/dev/null
}

case "$1" in
post)
#if alsa driver in use, we just leave
OSSMODULES=`/sbin/lsmod |grep ^oss|cut -d' ' -f1 |sed '{:q;N;s/\n/ /g;t q}'`

if [ "A$OSSMODULES" != "A" ] ; then
killprocs
rmmod $OSSMODULES
killprocs
rmmod $OSSMODULES
modprobe -a $OSSMODULES
fi
service oss4-base restart
#重新设置音量
savemixer -L
;;
pre)
OSSMODULES=`/sbin/lsmod |grep ^oss|cut -d' ' -f1 |sed '{:q;N;s/\n/ /g;t q}'`
if [ "A$OSSMODULES" != "A" ] ; then
/usr/sbin/savemixer
killprocs
service oss4-base stop
killprocs
rmmod -a $OSSMODULES
rmmod -a $OSSMODULES
rmmod -a $OSSMODULES
fi
echo
;;
*) exit $NA
;;
esac


_________________
南无阿弥陀佛


最后由 lord007 编辑于 2015-08-01 9:49,总共编辑了 2 次

页首
 用户资料  
 
15 楼 
 文章标题 : Re: 改用oss4声卡驱动 让linux上有天籁之音
帖子发表于 : 2015-08-01 1:18 
头像

注册: 2005-08-14 19:53
帖子: 4002
送出感谢: 1
接收感谢: 2
下意识看了看发帖日期。。。结果还是最近的。

很早见过类似的帖子惹


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 16 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译