思索网:WWW.4SO.NET
网站首页
设为首页
加入收藏
社区论坛
联系我们
网站地图
发现个人价值
提高企业内涵
一切源于思索
首页
企业之家
公关文秘
免费论文
网上办公指南
操作系统
多媒体应用
现代教学
下载中心
专题报道
推荐文章
评论
English Article
IT资讯
网页设计
网站运营
编程开发
平面设计
网络安全
工具下载
站内搜索
最新文章
热门文章
论坛
栏目列表
Windows XP
win9x
Windows NT/2000
Windows 2003
Longhorn
Windows应用
Linux
首页
>
操作系统
>
Linux
> 聆听自由的声音----Linux下声卡驱动软件ALSA的安装与配置
聆听自由的声音----Linux下声卡驱动软件ALSA的安装与配置
日期:
2006-06-12 00:41:28
来源:
网络转载
请您记住思索网的网址:
http://www.4so.net
[加入收藏夹]
几年以来,尽管Linux凭借开放、自由的特性和强大的性能,在全球
服务器
市场上所向披靡,占据越来越多的市场份额,但是若作为桌面软件,Linux的多媒体特性一直不能让人非常满意。比如,Linux系统自带的声卡驱动程序能够支持的声卡很少。绝大多数市场上流行的声卡产品都难以得到系统的支持。
这种情况正在迅速转变。许多厂商看到大势所趋,积极参加驱动程序的开发工作。一些组织和个人也开始一展身手,做了很多有益的探索。
今天介绍的这套软件是一套声卡驱动程序包---ALSA, 全称是Advanced Linux Sound Architecture。它是GNU大旗下的软件之一。顾名思义,它可以在Linux下面驱动声卡设备。
它可以支持大多数流行的声卡。模块化架构。支持全双工,数字音频等声卡特性。
在
http://www.alsa-project.org
所属的FTP站点可以下载最新的软件包。如果你有兴趣和足够的能力,也可以加入开发队伍。向全世界展现聪明才智。
下面详细介绍ALSA的全部安装配置过程和注意事项,还会给出支持的声卡列表。
安装前请你对照列表,检查自己的声卡是否被支持。以免白忙一场。
一:硬件及其软件环境要求。
作者的硬件环境:赛扬366 CPU/微星6199va主板/128MB kingmax内存/10.2GB金钻2硬盘/8X CDROM/WINFast L2300显卡/雅马哈724芯片的声卡
硬盘分区和操作系统软件:Windows98 Windows2000 BluePoint1.0(蓝点中文Linux,与Redhat 完全兼容)。使用LILO启动器。
ALSA对Linux软件环境的要求:没有要求特别的Linux版本,但是要求内核版本在2.2.x之上。如果你的Linux系统内核低于此版本,请重新编译新的核心。BluePoint1.0的内核版本是2.2.13。
二:下载软件。
ALSA目前最新版本是0.5.9b,文件全名是alsa-driver-0.5.9b.tar.bz2。采用的新的bz2压缩格式,占用空间更小。除了它之外,正常操作还需要下面的软件包:
alsa-utils-0.5.9a.tar.bz2----------实用程序包
alsa-lib-0.5.9.tar.bz2-------------编译实用程序需要的库文件
如果你是使用Windows操作系统下载的软件,那么需要把它拷贝到Linux系统里面。
首先请使用root用户登录并开始安装过程。
1:在Linux里面装载含有此文件的Windows分区,
输入命令:
“mount -t vfat /dev/hadx /win98 ”其中hdax中的“x”是Win98硬盘分区号码。如果对此有任何疑问,请请教其他熟悉的朋友。
2:进入下载的目录,把alsa-driver-0.5.9b.tar.bz2和其它两个文件拷贝到一子目录中,
输入命令:
“cp alsa-driver-0.5.9* /root”
3:解压缩文件。
输入命令:
“bzip2 -dv alsa-driver-0.5.9b.tar.bz2”
此时用“ls”命令查看,当前目录里面只有alsa-driver-0.5.9b.tar,说明bzip压缩已经解除。
输入命令:
“tar vfx alsa-driver-0.5.9b.tar”
程序自动生成一个名为---alsa-driver-0.5.9b的子目录。
对其它两个软件包重复此步骤,解开压缩。使用“ls”命令查看,就会发现相应的目录了。
如果你对命令行不够熟悉,可以查看帮助信息和书籍。也可以启动X-Window窗口环境,在文件管理程序里面选择相应压缩文件,然后在文件菜单里面选择解压缩命令就可以了。
三:安装驱动文件。
1:打开内核中的声卡支持。
绝大多数情况下,此步骤可以忽略,因为基本所有Linux发行版本内核默认状态都是支持声卡设备的。
2:运行脚本。
输入命令:
“./configure”
如果你的声卡属于ISA即插即用类型,请输入下面的命令:
“./configure --with-isapnp=yes”
输入命令:
“make install”
注意此步骤操作时间较长,请耐心等候。如果一切正常,程序最后会提示模块编译成功!并且警告声卡默认的状态是静音,需要使用“amixer”等实用程序调节音量。
“amixer”等命令正是alsa-utils-0.5.9a.tar.bz2附带的,需要编译才能使用。
如果make命令不能执行,那么你需要找出Linux安装盘,把有关开发编译的文件包安装进系统。具体操作请参考软件手册。
输入命令:
“./snddevices”
脚本程序会在“/dev“目录自动创建有关声卡设备。
四:安装库文件和实用程序。
由于“amixer”等程序需要找到对应的库文件才能编译,所以需要首先安装alsa-lib-0.5.9.tar.bz2。
进入相应的子目录alsa-lib-0.5.9,
输入命令:
“./configure”
输入命令:
“make install”
这两步做好后,回到上层目录,进入alsa-utils-0.5.9a子目录,
输入命令:
“./configure”
输入命令:
“make install”
注意,如果上面步骤中“./configure”出错,恐怕你需要使用“-prefix”参数来指定路径。
如:在安装库文件时尝试使用“./configure -prefix=/usr/include/linux”
在安装实用程序时尝试“./configure -prefix=/usr/include/sys”
五:编辑/etc/modules.conf文件。
这一步恐怕是最困难的一步了。不过下面给出范例,一般只要按照各自系统情况改动就可以了。
1:建立modules.conf文件。
因为系统里面有一个演示文件,所以只要复制一份,重新修改即可
输入命令:
“cp modules.conf.sample modules.conf”
2:修改modules.conf。
使用任何一种文本编辑器,如VI,打开此文件,在最下面加入下列内容:
“
#ALSA portion
alias char-major-116 snd
#注释:ALSA使用的主设备号码
alias snd-card-0 snd-card-ymfpci
#snd-card-0是系统里面第一个声卡设备,如果系统有两个以上声卡,
#可以使用snd-card-1 snd-card-2等方法映射
# snd-card-ymfpci是声卡设备名称.
#OSS /free portion----因为ALSA需要内核中OSS SoundCore和其它设备的支持
alias char-major-14 soundcore
#系统中soundcore的主设备号码
alias sound-slot-0 snd-card-0
#第一个声卡对应的插槽
#下面是声卡驱动模块,sound-service-0指第一块声卡,如果系统里面只有一块,原封不动#拷贝即可.否则按照此格式加入其它声卡驱动模块
#card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
#ISA声卡还需要指定IRQ/IO地址,因为市场上已经很少,在此不再探讨。有需要可以查
#看此软件的相关说明。
”
六:系统测试和声卡设备调整。
1:编辑好/etc/modules.conf文件后,需要使用系统程序测试模块是否可以正常加载。
输入命令:
“modprobe snd-card-ymfpci”
系统直接进入提示符状态,表明加载正常。不过,如果你搞不清到底加载什么模块,可以去/lib/modules/2.2.13/misc下面去查看,可加载声卡模块都在里面。凭借模块名字就可以知道自己需要什么文件了。
2:调节音量。
输入命令:
“amixer”
命令提示如下:
“
Capabilities: volume Channels: Front-Left Front-Right Limits: min = 0, max = 16383 Front-Left: 0 [0%] [on] [---] Front-Right: 0 [0%] [on] [---] Group ‘ADC Record‘,0 Capabilities: volume Channels: Front-Left Front-Right Limits: min = 0, max = 16383 Front-Left: 0 [0%] [on] [---] Front-Right: 0 [0%] [on] [---] Group ‘Capture Volume‘,0 Capabilities: volume Channels: Front-Left Front-Right Limits: min = 0, max = 16383 Front-Left: 0 [0%] [on] [---] Front-Right: 0 [0%] [on] [---] Group ‘Input Gain‘,0 Capabilities: volume mute jointly-mute Channels: Front-Left Front-Right Limits: min = 0, max = 15 Front-Left: 0 [0%] [mute] [---] Front-Right: 0 [0%] [mute] [---] Group ‘Master Mono‘,0 Capabilities: volume mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 0 [0%] [mute] [---] Front-Right: 0 [0%] [mute] [---] Group ‘Master‘,0 Capabilities: volume mute jointly-mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 0 [0%] [mute] [---] Front-Right: 0 [0%] [mute] [---] Group ‘Aux‘,0 Capabilities: volume mute jointly-mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 0 [0%] [mute] [---] Front-Right: 0 [0%] [mute] [---] Group ‘Video‘,0 Capabilities: volume mute jointly-mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 0 [0%] [mute] [---] Front-Right: 0 [0%] [mute] [---] Group ‘CD‘,0 Capabilities: volume mute jointly-mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 0 [0%] [mute] [---] Front-Right: 0 [0%] [mute] [---] Group ‘Line‘,0 Capabilities: volume mute jointly-mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 0 [0%] [mute] [---] Front-Right: 0 [0%] [mute] [---] Group ‘MIC‘,0 Capabilities: volume mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 0 [0%] [mute] [capture] Front-Right: 0 [0%] [mute] [capture] Group ‘Phone‘,0 Capabilities: volume mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 0 [0%] [mute] [---] Front-Right: 0 [0%] [mute] [---] Group ‘PC Speaker‘,0 Capabilities: volume mute Channels: Front-Left Front-Right Limits: min = 0, max = 15 Front-Left: 0 [0%] [mute] [---] Front-Right: 0 [0%] [mute] [---] Group ‘PCM‘,0 Capabilities: volume mute jointly-mute Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 0 [0%] [mute] [---] Front-Right: 0 [0%] [mute] [---]
”
这表明声卡驱动默认状态是静音,所以需要使用程序调节合适的音量。
本来使用“amixer”命令可以手工指定参数,进行音量调整。不过,为了不至于把跟随此文一直到现在,大脑可能一直糊里糊涂的朋友们吓跑,可以尝试使用下面的办法,非常方便。
输入命令:
“alsamixer”
你是否看到一个图形界面?按F1可以察看帮助信息。注意每个竖条都代表你的声卡特性。使用 上下左右 光标键,可以很容易的调节每种特性的音量。上下光标调数量,比如,我把他们都调到了“74”,左右光标切换竖条。调好之后,按“ESC”键退出。
再输入命令:
“amixer“ “Group ‘SPDIF Record‘,0 Capabilities: volume Channels: Front-Left Front-Right Limits: min = 0, max = 16383 Front-Left: 12136 [74%] [on] [---] Front-Right: 12136 [74%] [on] [---] Group ‘ADC Record‘,0 Capabilities: volume Channels: Front-Left Front-Right Limits: min = 0, max = 16383 Front-Left: 12136 [74%] [on] [---] Front-Right: 12136 [74%] [on] [---] Group ‘Capture Volume‘,0 Capabilities: volume Channels: Front-Left Front-Right Limits: min = 0, max = 16383 Front-Left: 12136 [74%] [on] [---] Front-Right: 12136 [74%] [on] [---] Group ‘Input Gain‘,0 Capabilities: volume mute jointly-mute Channels: Front-Left Front-Right Limits: min = 0, max = 15 Front-Left: 11 [73%] [mute] [---] Front-Right: 11 [73%] [mute] [---] Group ‘Master Mono‘,0 Capabilities: volume mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 23 [74%] [mute] [---] Front-Right: 23 [74%] [mute] [---] Group ‘Master‘,0 Capabilities: volume mute jointly-mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 23 [74%] [mute] [---] Front-Right: 23 [74%] [mute] [---] Group ‘Aux‘,0 Capabilities: volume mute jointly-mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 23 [74%] [mute] [---] Front-Right: 23 [74%] [mute] [---] Group ‘Video‘,0 Capabilities: volume mute jointly-mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 23 [74%] [mute] [---] Front-Right: 23 [74%] [mute] [---] Group ‘CD‘,0 Capabilities: volume mute jointly-mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 23 [74%] [mute] [---] Front-Right: 23 [74%] [mute] [---] Group ‘Line‘,0 Capabilities: volume mute jointly-mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 23 [74%] [mute] [---] Front-Right: 23 [74%] [mute] [---] Group ‘MIC‘,0 Capabilities: volume mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 23 [74%] [mute] [capture] Front-Right: 23 [74%] [mute] [capture] Group ‘Phone‘,0 Capabilities: volume mute capture exclusive-capture Capture exclusive group: 1 Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 23 [74%] [mute] [---] Front-Right: 23 [74%] [mute] [---] Group ‘PC Speaker‘,0 Capabilities: volume mute Channels: Front-Left Front-Right Limits: min = 0, max = 15 Front-Left: 11 [73%] [mute] [---] Front-Right: 11 [73%] [mute] [---] Group ‘PCM‘,0 Capabilities: volume mute jointly-mute Channels: Front-Left Front-Right Limits: min = 0, max = 31 Front-Left: 23 [74%] [mute] [---] Front-Right: 23 [74%] [mute] [---]”
你会发现你的调整已经起作用了。
3:存储配置参数。
因为刚才的调整不是永久性的,下次重新启动时,又成了静音状态。所以,需要把参数存储起来。
输入命令:
“
alsactl store
”
程序自动的建立了配置文件---“/etc/asound.conf“。如果对修改后的配置不满意,可以使用:
“alsactl restore”恢复。
七:聆听自由的声音。
到此,所有的安装过程全部结束了。由于每个人的系统配置各异,所以作者无法预料到所有的情况。有任何问题请平心静气,仔细研究、思考。解决不了欢迎上网讨论。要知道,这样你的Linux使用水平会迅速提高。一步到位的安装虽然简单,但是少了DIY的乐趣。
感谢你有如此耐心,现在启动X Window,打开MP3播放器,尽情享受美妙音乐的乐趣吧!
作者:TopMan
2000/8/31
附录:支持的声卡列表
1:声卡列表:
==========================================================
声卡类型: AMD InterWave 声卡类型: Gravis UltraSound Plug & Play 声卡类型: Dynasonic 3-D 声卡类型: STB Sound Rage 32 声卡类型: UltraSound 32-Pro (STB) 声卡类型: MED3210 声卡类型: Gravis UltraSound MAX 声卡类型: Gravis UltraSound Extreme 声卡类型: Gravis UltraSound Classic/ACE 声卡类型: ESS AudioDrive ESx688 声卡类型: SoundBlaster 1.0/2.0/Pro 声卡类型: SoundBlaster 16/AWE 声卡类型: Yamaha OPL3-SA2/SA3 声卡类型: Yamaha PCI YMF72x, YMF74x & YMF75x 声卡类型: OAK Mozart 声卡类型: S3 SonicVibes PCI 声卡类型: Schubert 32 PCI (PINE) 声卡类型: Ensoniq AudioPCI (ES1370,ES1371) 声卡类型: SoundBlaster PCI 64 声卡类型: SoundBlaster PCI 128 声卡类型: Cirrus Logic / Crystal Semiconductors CS4232/CS4232A 声卡类型: Cirrus Logic / Crystal Semiconductors CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 声卡类型: Turtle Beach Malibu 声卡类型: Cirrus Logic / Crystal Semiconductors CS4610/CS4612/CS4615/CS4280 声卡类型: ESS Solo-1 ES1938 声卡类型: ESS ES18XX 声卡类型: OPTi 82C9xx 声卡类型: Audio 16 Pro EPC-SOUN9301 (82C930 based) 声卡类型: ExpertColor MED-3931 v2.0 (82C931 based) 声卡类型: ExpertMedia Sound 16 MED-1600 (82C928 based - AD1848) 声卡类型: Mozart S601206-G (OTI601 based - CS4231) 声卡类型: Sound Player S-928 (82C928 based - AD1848) 声卡类型: Trident 4DWave DX/NX 声卡类型: Best Union Miss Melody 4DWave PCI 声卡类型: HIS 4DWave PCI 声卡类型: Warpspeed ONSpeed 4DWave PCI 声卡类型: AzTech PCI 64-Q3D 声卡类型: Addonics SV 750 声卡类型: CHIC True Sound 4Dwave 声卡类型: Shark Predator4D-PCI 声卡类型: Jaton SonicWave 4D 声卡类型: Hoontech SoundTrack Digital 4DWave NX 声卡类型: ForteMedia FM801 声卡类型: DT-0398 声卡类型: SGI Indy (HAL2) 声卡类型: Turtle Beach WaveFront 声卡类型: Tropez Plus (Tropez ) 声卡类型: Tropez 声卡类型: Maui (models with CS4232; others use OPTi 16 which is not handled) 声卡类型: C-Media CMI8330 声卡类型: C-Media CMI8338/8738 声卡类型: Avance Logic ALS100/ALS120 声卡类型: Diamond Technologies DT-0197H 声卡类型: Aztech Sound Galaxy 声卡类型: MOTU MidiTimePiece AV multiport MIDI interface 声卡类型: EMU10K1 声卡类型: Sound Blaster Live! 声卡类型: Sound Blaster PCI 512 声卡类型: E-mu APS 声卡类型: RME Digi9652 (Hammerfall, Hammerfall light) 声卡类型: Intel i810/i820/i830/i840/MX440 声卡类型: ESS Maestro 1/2/2E 声卡类型: VIA 82C686A (South Bridge)
如果你的声卡不再此列,请下载最新版本的软件。
来源:ENET
本文地址:
http://www.4so.net/system/linux/61237.html
将本页加入收藏夹
将地址复制到剪贴板发送给好友
若发现本文有误或版权问题点击这里
热门信息
相关文章
[
Linux
]
wget的常见用法
[
Linux
]
/dev/null丟失后
[
Linux
]
自认为最简单的中文latex配置,3
[
Linux
]
介绍一个apt系统的小技巧
[
Linux
]
好用的工具checkinstall
[
Linux
]
关于如何设置sources.list,大家一
[
Linux
]
关于如何设置sources.list
[
Linux
]
关于debian汉化的一点补充
[
Linux
]
告诉大家一个非常好的工具--nets
[
Linux
]
《Debian服务器设置入门》系列教
怎样聆听别人讲话
怎样聆听别人讲话
面试礼仪:面试中的聆听礼仪
怎样聆听别人讲话
顶尖领导力:积极聆听与问题解决
顶尖领导力:积极聆听与问题解决
职场聆听技巧--沟通高手
待人技巧(5)——如何巧妙地聆听别人
文章评论
收藏本文
打印本文
关闭窗口