当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-12 19:44 

注册: 2008-04-27 1:10
帖子: 473
地址: http://blogs.gnome.org/happyaron/
送出感谢: 0 次
接收感谢: 2
首先介绍下背景,Linux 音频系统非常不完全简史:
    1. OSS3 是 Linux 内核中比较老的声音系统,目前已逐渐废弃
    2. OSS4 开发的时候是闭源软件,所以 2002 年 ALSA 被用来替代 OSS3 作为 Linux 内核中的声音构架
    3. 2007 年的时候 4Front Technologies 发布了 GPL 版本的 OSS4,此时 ALSA 已成气候

关于 ALSA,OSS4,PulseAudio 和 Jack 一知半解版介绍(Esd 等就此省略一万字):
    1. ALSA 目前是 Linux 内核上标准的音频框架,但是仅支持 Linux 系统,没有软件混响。对各种设备的支持非常全面。
    2. OSS4 由于错过时机而没能成为官方内核的一部分,但是它的跨平台性远好于 ALSA,支持 Windows、BSD 和许多 UNIX,其 API 据说也更适合开发。OSS4 有实时、低延时的特性,支持软件混响,所有操作在内核层实现。但是对 USB 设备的支持明显薄弱许多。
    3. PulseAudio 是为 POSIX 兼容环境设计的一个声音代理程序,内置软件混响。PulseAudio 可以将程序对声音系统的请求代理到 ALSA、OSS 等多种后端,甚至可以通过网络传输这些讯息。
    4. Jack 是一个专业级的声音服务系统,跨平台性强,其表现对内核的实时性要求较 PulseAudio 高一些,在一般的操作系统上 Jack 没有前者流行,今天我们不折腾这个。

Ubuntu 默认使用 ALSA 作为底层声音驱动,程序则与 PulseAudio 交互,这是一个很不错的方案。然而作者偶尔会遇到 ALSA 被独占其他软件无法发声的问题,才随着 #ubuntu-cn 上的 OSS4 热潮赶了把时髦。

换 OSS4 是要折腾的,折腾就是有风险的,以下为折腾的理由:
    1. 默认的 ALSA 在你的电脑上不能正常工作
    2. 纯粹喜欢 OSS4,不喜欢 ALSA
    3. 想要跟风折腾

换 OSS4 带来的具体好处:
    1. 某些情况下音质更好
    2. 低延迟,低 CPU 占用
    3. 自带软件混响
    4. 文档更全面

换 OSS4 带来的具体坏处:
    1. 有些硬件不被支持
    2. 对 midi 支持很差
    3. USB 声音设备支持仍处于试验性阶段
    4. 自己折腾可能会把系统声音系统搞跨

开始说安装 OSS4 的具体方法。

方法一
到 OSS4 官方网站下载免费商业版, 下载页面
选择相应的版本,比如 Linux 2.6 (x86) (DEB),点 Submit 获得下载链接。注意这个版本按许可证仅可以使用一年。
得到 deb 文件后双击安装(或者 sudo dpkg -i oss-linux*.deb)。

方法二
Ubuntu 10.10 可以直接从软件仓库安装版本略旧的 OSS4:
代码:
sudo apt-get install oss4-base oss4-dkms oss4-gtk

Ubuntu 10.04 和 11.04 不可以使用这个方法,10.04 仓库中的 oss4-dkms 存在打包问题无法正确构建内核模块,11.04 因为内核新(linux >= 2.6.36)而 oss4 版本太老而无法成功构建内核模块。

方法三
如果你像我一样喜欢开源版,又喜欢折腾,那么我们一起来编译最新版的。
首先安装 mercurial 以便取回最新版代码:
代码:
sudo apt-get install mercurial

取出代码:
代码:
cd ~
hg clone http://opensound.hg.sourceforge.net:8000/hgroot/opensound/opensound oss-devel

创建编译目录,OSS4 需要在空目录编译:
代码:
cd ~/
sudo rm -rf oss42build
mkdir oss42build

编译并安装,假设你的主目录是 /home/aron:
代码:
cd oss42build/
NO_WARNING_CHECKS=yes /home/aron/oss-devel/configure --enable-libsalsa=NO
make
sudo make deb
sudo dpkg -i oss*.deb


安装结束,如果没有遇到错误接下来开始配置:

引用:
尽管 OSS4 内建了软件混响,我还是没有删除 PulseAudio,因为 Ubuntu 的桌面环境很多部件仅设置了 PulseAudio 后端。我不想一一折腾,而只是尽量让程序使用 OSS4,毕竟主要的播放器等都支持自定义音频输出。如果你也这样想,照下面做;如果你不想,跳过这段。


A. 修改 PulseAudio 设置使其默认使用 OSS4 输出:
代码:
gksu gedit /etc/pulse/default.pa

添加一行:
代码:
load-module module-oss device=”/dev/dsp” sink_name=output source_name=input mmap=0


B. 配置 gstreamer 使用 OSS4 作为后端:
安装 gstreamer0.10-plugins-bad
代码:
sudo apt-get install gstreamer0.10-plugins-bad

运行命令:
代码:
gstreamer-properties

将输入和输出均设置为 OSS。

C. 设置 libasound 将传递给 ALSA 的声音请求转至给 OSS4:
代码:
gksu gedit /etc/asound.conf

添加以下内容:
代码:
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
}


D. 配置启动时默认启用 OSS4 而非 ALSA:
代码:
sudo dpkg-reconfigure linux-sound-base

选择 OSS 而非 ALSA 或 default。

然后重启电脑,系统级配置基本完成。然后可以给支持自定义音频系统的软件配置成使用 OSS4,比如 Audacious,Wine,Audacity,VLC, (s)mplayer,clementine。

引用:
如果你想删除 PulseAudio,也有办法,但是不保证所有程序都能正确输出声音。首先是按照前一种配置方法里的 B、C、D 调整设置,然后按照 E 和 F 对 PulseAudio 开刀。


E. 使用 GStreamer 接管 GNOME 声音系统,安装为 GStreamer 后端编译的 libcanberra(有危险,慎重!):
代码:
sudo add-apt-repository ppa:dtl131/ppa
sudo apt-get update
sudo apt-get purge pulseaudio
sudo apt-get upgrade


F. 配置 Rhythmbox 等程序使用 Gstreamer (没错,还需要配置)
运行:
代码:
gconf-editor

找到 system/gstreamer/0.10/audio/default,将其中所有仍被设置为 pulsesink 的键(如 musicaudiosink 和 chataudiosink)都改为 osssink。
系统默认的音量控制插件会失效,因为它是基于 PulseAudio 的,可以在面板上单击右键,添加一个 GNOME 的声音控制。

然后重启,应该绝大部分声音系统都没有问题了。可能存在的问题:
    1.Flash,需要安装 flashplugin-nonfree-extrasound 来获得支持 oss4 的 libflashsupport。
    2.Firefox,xulrunner 无法编译成同时支持 Alsa 和 OSS4,所以HTML5音视频可能有问题。

FAQ
1. 声音输入不能用,或者有噪音
运行命令:
代码:
ossxmix

在显示的界面里把 pink 下拉菜单中选成 input,勾选界面里所有的 input-mix 和 input-mix-mute,然后在 pink 处拖动滑块减小音量,一般以 80% 上下为宜,否则会有噪音。

2. 如何查看是否已经加载了 OSS4 内核模块,以及我的声卡用了什么模块?
运行命令:
代码:
lsmod | grep -i oss

比如我是 HD Audio,输出如下:
引用:
oss_usb 104136 1
oss_hdaudio 144219 3
osscore 545146 2 oss_usb,oss_hdaudio


3. 如何查看我的声卡型号?
代码:
lspci | grep -i audio


4. 64 位系统能用吗?
能,没问题。

5. KDE4 用 Phonon,能用吗?
Phonon 默认应该可以直接检测到 OSS4。KDE 4.0.x 用 Xine 后端时可能无法使用。

6. 用什么调节音量?
如果保留了 PulseAuido,则使用它的程序可以用原来的音量控制,如果是用 Gstreamer,则可以使用 GNOME 的音量控制程序。
当然,也可以直接使用 ossxmix 工具调整,或者例如 xfce-oss、kmix 这样的工具。

不想用 OSS4 了,怎么复原?
我针对上面的 A B C D E F 分别说需要的操作。

A. 恢复 PulseAudio 默认的硬件检测
代码:
gksu gedit /etc/pulse/default.pa

删除添加的行。

B. 配置 gstreamer 使用 PulseAudio 作为后端
运行命令:
代码:
gstreamer-properties

将输入和输出均设置为 PulseAuido。
如果你不想要 gstreamer0.10-plugins-bad,可以删除它:
代码:
sudo apt-get purge gstreamer0.10-plugins-bad


C. 设置 libasound 使用 ALSA:
删除 /etc/asound.conf 中增加的所有行。如果你开始折腾 OSS4 之前没有对它做过修改,直接删除就行:
代码:
sudo rm /etc/asound.conf


D. 配置启动时默认启用 ALSA:
代码:
sudo dpkg-reconfigure linux-sound-base

选择 ALSA。

E. 换回支持 Gstreamer 和 PulseAudio 的 libcanberra 后端:
安装必须的软件:
代码:
sudo apt-get install pulseaudio indicator-sound libcanberra-pulse libcanberra-gstreamer pulseaudio-esound-compat pulseaudio-module-bluetooth pulseaudio-module-gconf pulseaudio-module-x11 ppa-purge

删除添加的 PPA:
代码:
sudo ppa-purge ppa:dtl131/ppa
sudo apt-get update

如果还不能正常,就手工降级所有相关软件包(是挺恶心的,但是没别的办法),可以在新立得里用“本地的或陈旧的”过滤器帮你确定是哪些包。

F. 配置 Rhythmbox 等程序使用 PulseAudio
运行:
代码:
gconf-editor

找到 system/gstreamer/0.10/audio/default,将其中所有仍被设置为 osssink 的键都改为 pulsesink。

然后把所有前面修改过使用 OSS4 的程序都换回使用 PulseAudio,重启系统。

有用的资料,非常值得看:
1. 为常见应用程序配置 OSS4:Configuring Applications for OSSv4
2. 故障处理:OSSv4 Troubleshooting
3. Archlinux Wiki 上的 OSS 页面:英文 中文


_________________
I will always return.


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-12 19:54 
头像

注册: 2008-11-21 20:26
帖子: 36913
送出感谢: 1
接收感谢: 36
老小终于写完了 :em11


_________________
讨厌我的人可以试着点一下
浏览全部ubuntu技巧


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-12 20:34 
头像

注册: 2008-04-26 12:41
帖子: 11000
送出感谢: 11
接收感谢: 38
:em11 :em11 :em11


_________________
[新手必读]wubi安装常见问题(FAQ)
[分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
kde下唯美的暗黑内透主题(无需编译)
无穷老机上的Trinity Desktop Environment


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-12 20:40 
头像

注册: 2008-03-28 20:52
帖子: 1470
系统: QNX
送出感谢: 12
接收感谢: 2
代表ee掩面路过~


_________________
missing is i missing you...


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-12 20:42 
头像

注册: 2007-05-06 2:46
帖子: 15634
送出感谢: 0 次
接收感谢: 2
呃,神是写过教案

结局很凄惨的
:em06


_________________
وإذا كان هذا لا يحصل أكثر من 100 ملاحظات ، انا ذاهب الى غضب


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-12 20:44 
头像

注册: 2005-10-01 21:38
帖子: 964
地址: 湖南邵东流光岭
送出感谢: 0 次
接收感谢: 0 次
感谢一个 :em11 ,我的alsa非常好,暂时还是不用。


_________________
小江恩的博客
http://gann.blog.ifeng.com/


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-12 20:47 

注册: 2010-01-13 23:26
帖子: 3173
送出感谢: 0 次
接收感谢: 12
mising 写道:
代表ee掩面路过~

hcym 写道:
呃,神是写过教案

结局很凄惨的
:em06


ee 咋了?? :em23


_________________
Here I am.
Ubuntu 桌面培训 - 全中文官方文档,含汉化截图,提供PDF


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-12 20:51 

注册: 2010-07-19 21:41
帖子: 22323
系统: OS X
送出感谢: 8
接收感谢: 42
rediscover 写道:
mising 写道:
代表ee掩面路过~

hcym 写道:
呃,神是写过教案

结局很凄惨的
:em06


ee 咋了?? :em23

viewtopic.php?f=77&t=316675
:em09


_________________
NO DO NO DIE
http://a/%%30%30


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-12 21:05 
头像

注册: 2009-01-06 15:18
帖子: 13005
地址: 人间
送出感谢: 1
接收感谢: 24
:em06


_________________
“有一种被人抛诸脑后的过去,包含一些不该遗忘的点点滴滴。欢笑之余,我将故旧拾起,才刹见自己的薄情。人世间似乎存在着某种公平,每个人都曾被抛掷在他人的遗忘中;而今你所有哽咽难宣的话语,也正是你曾为人所期盼,却永远听不见的字句。” —赫曼 赫塞


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-12 21:08 

注册: 2010-01-13 23:26
帖子: 3173
送出感谢: 0 次
接收感谢: 12
jtshs256 写道:
rediscover 写道:
mising 写道:
代表ee掩面路过~

hcym 写道:
呃,神是写过教案

结局很凄惨的
:em06


ee 咋了?? :em23

viewtopic.php?f=77&t=316675
:em09

:em05


_________________
Here I am.
Ubuntu 桌面培训 - 全中文官方文档,含汉化截图,提供PDF


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-23 13:06 
头像

注册: 2010-10-28 10:17
帖子: 82
送出感谢: 1
接收感谢: 1
换成oss4后UrbanTerror没声音咋办


_________________
『学而不思则罔,思而不学则殆』
linux 群自由之风 『137378234』


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-23 13:31 
头像

注册: 2010-10-28 10:17
帖子: 82
送出感谢: 1
接收感谢: 1
解决了装了两个插件后有声音了


_________________
『学而不思则罔,思而不学则殆』
linux 群自由之风 『137378234』


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-23 14:26 
头像

注册: 2009-10-08 11:15
帖子: 8428
地址: 大城市铁岭
送出感谢: 0 次
接收感谢: 9
谁听出区别了,有明显提高,我就折腾 :em04


_________________
我们是命运的妓女,它把我们都嫖了

N卡驱动:http://www.nvidia.cn/Download/index.aspx?lang=cn
极品飞车:http://www.geforce.cn/optimize/optimal-game-settings/need-for-speed-shift-geforce-gts-450-ops
孤岛危机优化设置:http://www.geforce.cn/optimize/optimal-game-settings/crysis-geforce-gtx-450-ops
:cp /etc/skel/.bashrc ~/
PS1="\[\e]2;\u@\H \w\a\e[32;1m\]\T$\[\e[0m\] "
http://cdimage.ubuntu.com/
http://releases.ubuntu.com/


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2011-02-27 20:45 

注册: 2010-01-13 23:26
帖子: 3173
送出感谢: 0 次
接收感谢: 12
黄美姬 写道:
谁听出区别了,有明显提高,我就折腾 :em04

我这里主要解决了偶尔的独占问题。


_________________
Here I am.
Ubuntu 桌面培训 - 全中文官方文档,含汉化截图,提供PDF


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 教程:在 Ubuntu 上换用 OSS4 声音系统
帖子发表于 : 2013-09-08 16:36 

注册: 2013-09-08 16:26
帖子: 1
系统: Ubuntu 13.04
送出感谢: 0 次
接收感谢: 0 次
我在Ubuntu 13.04按照lz的步骤,最后不仅没换成oss,连alsa也永不了
取消设置、卸载oss后,现在没办法通过系统的音量设置界面来提调整音量了,系统自带的录音工具也用不了了
系统音量设置界面的 输入音量/输出音量 的滚动条都是灰色的
现在怎么设置才能恢复呢,求大神指点啊


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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