veket官方网站论坛

veket

 找回密码
 要注册
搜索
查看: 10353|回复: 9

万能声卡驱动(Alsa)alsa声卡驱动

[复制链接]
发表于 2009-4-20 09:06 | 显示全部楼层 |阅读模式
veket的声卡设置
http://www.lucky8k.com/thread-63147-1-3.html

ALSA,即Advanced Linux Sound Architecture。它是一款优秀的声卡驱动,能驱动大部分的声卡,而且支持多音频流,支持多声卡等等。使我们能在veket下享受到美妙的音乐。

ALSA
  ALSA (Advanced Linux Sound Architecture(高级Linux声音体系)的缩写)是为声卡提供驱动的Linux内核组件,以替代原先的OSS(开放声音系统)。一部分的目的是支持声卡的自动配置,以及完美的处理系统中的多个声音设备,这些目的大多都已达到。另一个声音框架JACK使用 ALSA 提供低延迟的专业级音频编辑和混音能力。
  Jaroslav Kysela过去是这个项目的领导者,这个项目开始于为1998年Gravis Ultrasound所开发的驱动,它一直作为一个单独的软件包开发,直到2002年他被引进入 linux内核的开发版本 (2.5.4-2.5.5)1。从2.6 版本开始ALSA成为Linux内核中默认的标准音频驱动程序集,OSS则被标记为废弃。
  ALSA是一个完全开放源代码的音频驱动程序集,除了像OSS那样提供了一组内核驱动程序模块之外,ALSA还专门为简化应用程序的编写提供了相应的函数库,与OSS提供的基于ioctl的原始编程接口相比,ALSA函数库使用起来要更加方便一些。利用该函数库,开发人员可以方便快捷的开发出自己的应用程序,细节则留给函数库内部处理。当然 ALSA也提供了类似于OSS的系统接口,不过ALSA的开发者建议应用程序开发者使用音频函数库而不是驱动程序的API。
  Linux中ALSA的主要文件:
  include/sound/driver.h
  sound/core/*.c
  注:OSS(Open Sound System)是Linux中的另外一个音频驱动程序框架。


veket的声卡设置
http://www.lucky8k.com/thread-63147-1-3.html
 楼主| 发表于 2009-4-20 09:08 | 显示全部楼层

对Linux操作系统alsa架构的介绍

ALSA标准是一个先进的linux声音体系。它包含内核驱动集合,API库和工具对Linux声音进行支持。ALSA包含一系列内核驱动对不同的声卡进行支持,还提供了libasound的API库。用这些进行写程序不需要打开设备等操作,所以编程人员在写程序的时候不会被底层的东西困扰。与此相反OSS/Free 驱动在内核层次调用,需要指定设备名和调用ioctl。为提供向后兼容, ALSA 提供内核模块模仿 OSS/Free 驱动,所以大多数的程序不需要改动。 ALSA 拥有调用插件的能力对新设备提供扩展,包括那些用软件模拟出来的虚拟设备。 ALSA还提供一组命令行工具包括mixer, sound file player和工具控制一些特别的声卡的特别的作用。
ALSA API被主要分为以下几种接口:
    控制接口     :提供灵活的方式管理注册的声卡和对存在的声卡进行查询。
    Stream 接口 :提供管理数字音频的捕捉和回放。
    原始 MIDI 接口:支持MIDI(Musical Instrument Digital Interface),一种标准电子音乐指令集。 这些API提供访问声卡上的MIDI总线。这些原始借口直接工作在The MIDI事件上,程序员只需要管理协议和时间。
    记时接口: 为支持声音的同步事件提供访问声卡上的定时器。
    音序器接口:一个比原始MIDI接口高级的MIDI编程和声音同步高层接口。它可以处理很多的MIDI协议和定时器。
    混音器接口:控制发送信号和控制声音大小的声卡上的设备。
    声卡的缓存和数据的传输:
一块声卡有一个声卡内存用来存储记录的样本。当它被写满时就产生中断。内核驱动就使用DMA将数据传输到内存中。同样地,当在播放时就将内存中的声音样本使用DMA传到声卡的内存中!声卡的缓存是环状的,这里只讨论应用程序中的内存结构:ALSA将数据分成连续的片段然后传到按单元片段传输。
    典型的声音程序结构:
    open interface for capture or playback
    set hardware parameters
    (access mode, data format, channels, rate, etc.)
    while there is data to be processed:
    read PCM data (capture)
    or write PCM data (playback)
    close interface
 楼主| 发表于 2009-4-20 09:10 | 显示全部楼层
再给多一次连接,因为作为日常使用的我们只需要关心一下应用:
veket的声卡设置
http://www.lucky8k.com/thread-63147-1-3.html
发表于 2009-4-20 09:14 | 显示全部楼层
需要设置?我都用无声的……
 楼主| 发表于 2009-4-20 09:15 | 显示全部楼层
您需要登录后才可以回帖 登录 | 要注册

本版积分规则

QQ|手机版|Archiver|veket官方网站论坛,veketx官方网站论坛,微器人 ( 粤ICP备 11052856 )

GMT+8, 2025-5-9 20:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表