声卡

Alsa 小结

天涯浪子 提交于 2019-12-04 03:40:25
ALSA小结,从网上转载的,不知道原来的地址了 关于alsa的总结: 一. alsa展现的三层结构: (1)audio interface: audio interface就是声卡,它含有hardware buffer,注意,这个hardware buffer是在声卡里面,不是内存。 (2)computer: 这个指的是计算机的内核和驱动(驱动由alsa提供),当(1)的audio interfacce引发中断,内核会捕捉到,再把处理移交alsa。 (3)application: 这个就是你写的程序,你开辟一个buffer,比如playback,就交给alsa来play。 在上面的框架下,流程如下: (1)playback: application开辟一个buffer,填上数据,调用alsa接口,alsa把buffer数据复制到其驱动的空间,再把数据交给 hardware buffer。 (2)record: 同playback,相似的。 二. 细节: 按照上面的流程,其中有许多细节我们可以加以控制,这里仅仅指出应用程序需要关心的: 2.1 操作的设备: 在alsa驱动这一层,目前为止,抽象出了4层设备,一是如hw:0,0,二是plughw:0,0,三是default:0,四是default。至于 一是清楚了,二和二以上可以做数据转换,以支持一个动态的范围

ALSA Timer

依然范特西╮ 提交于 2019-12-04 03:34:03
0. 前言 本文主要介绍alsa-timer相关代码的分析内容。 1. 介绍 官方文档可以参见下面的链接: ALSA Timer 官网上对Timer的介绍很简单,我根据自己的使用情况总结如下: Timer被设计为使用声卡内部的定时器,但是也可以被其它定时器驱动,比如内核中的 snd_timer.ko 就是一个基于系统定时器的Timer。 Timer使用循环Buffer来存储信息。 定时器最高精度是ns级,但实际的精度依赖于时钟源。 可以使用 NONBLOCK 或 BLOCK 的模式打开定时器。 如果需要查询Timer的状态,需要使用 timer_query 的接口。 我们后面主要是基于NONBLOCK模式进行分析。 2. Timer ID Timer ID主要由以下5个字段组成: 名称 值 说明 class 区分声卡类别 SNDRV_TIMER_CLASS_GLOBAL 全局声卡,也就是snd_timer.ko提供的默认Timer,只能有一个 SNDRV_TIMER_CLASS_CARD Card提供的声卡 SNDRV_TIMER_CLASS_PCM PCM提供的声卡 sclass 区分声卡子类 SNDRV_TIMER_SCLASS_APPLICATION 表明是应用程序使用 card 声卡ID - - device 区分时钟源 SNDRV_TIMER_GLOBAL_SYSTEM

【ALSA】关于alsa的总结

本秂侑毒 提交于 2019-12-04 03:32:22
一. alsa展现的三层结构: (1)audio interface: audio interface就是声卡,它含有hardware buffer,注意,这个hardware buffer是在声卡里面,不是内存。 (2)computer: 这个指的是计算机的内核和驱动(驱动由alsa提供),当(1)的audio interfacce引发中断,内核会捕捉到,再把处理移交alsa。 (3)application: 这个就是你写的程序,你开辟一个buffer,比如playback,就交给alsa来play。 在上面的框架下,流程如下: (1)playback: application开辟一个buffer,填上数据,调用alsa接口,alsa把buffer数据复制到其驱动的空间,再把数据交给 hardware buffer。 (2)record: 同playback,相似的。 二. 细节: 按照上面的流程,其中有许多细节我们可以加以控制,这里仅仅指出应用程序需要关心的: 1) 操作的设备: 在alsa驱动这一层,目前为止,抽象出了4层设备: 一是如hw:0,0,二是plughw:0,0,三是default:0,四是default至于 一是清楚了,二和二以上可以做数据转换,以支持一个动态的范围,比如你要播放7000hz的东西,那么就可以用二和二以上的。而你用7000hz作为参 数,去设置一

Windows上的音频采集技术(转)

。_饼干妹妹 提交于 2019-12-04 00:27:35
转自: http://shanewfx.github.io/blog/2013/08/14/caprure-audio-on-windows/ 前一段时间接到一个任务,需要采集到声卡的输出信号,以便与麦克风的输入信号进行混音。 之前一直没有研究过音频的相关技术,这次就顺便抽出一点时间去了解了一下Windows上采集音频的相关技术。 对于音频处理的技术,主要有如下几种: 采集麦克风输入 采集声卡输出 将音频数据送入声卡进行播放 对多路音频输入进行混音处理 1.Windows上音频处理的API 在Windows操作系统上,常用的音频处理技术主要包括:Wave系列API函数、DirectSound、Core Audio。 其中,Core Audio只可以在Vista以上(包括Vista)的操作系统中才能使用,主要用来取代Wave系列API函数和DirectSound。 Core Audio实现的功能也比较强大,能实现对麦克风的采集、声卡输出的采集、控制声音的播放。 而Wave系列的API函数主要是用来实现对麦克风输入的采集(使用WaveIn系列API函数)和控制声音的播放(使用后WaveOut系列函数)。 DirectSound能够实现的功能估计和Wave系列API差不多,可能会更强一些(由于没有使用过DirectSound,不太肯定!)。 为了实现采集模块对操作系统的兼容性更好

计算机硬件-网卡声卡

对着背影说爱祢 提交于 2019-12-04 00:06:34
计算机硬件-网卡声卡 网卡介绍 声卡介绍 网卡介绍 网卡又叫网络接口卡,是计算机联网的设备。之前一直是独立存在的,后来被主板商集成在主板上。目前集成的网卡基本上都是10/100/1000M自适应网卡。 网卡分为有线网卡和无线网卡两种。 无线网卡遵循了IEEE802.11ac、a、b、g、n标准,标准不同速度不同,标准之间是向下兼容的。 不同标准的无线网卡速度 11Mbps ( 802.11b ) 22Mbps ( 802.11 Super b ) 54Mbps ( 802.11g / 802.11a ) 108Mbps ( 802.11 Super G ) 125Mbps ( 802.11 High Speed - G ) 300Mbps ( 802.11n ) 声卡介绍 声卡 (Sound Card)也叫音频卡:声卡是多媒体技术中最基本的组成部分,是实现声波/数字信号相互转换的一种硬件。 声卡的基本功能是把来自话筒、磁带、光盘的原始声音信号加以转换,输出到耳机、扬声器、扩音机、录音机等声响设备,或通过音乐设备数字接口(MIDI)使乐器发出美妙的声音。 现在电脑声卡基本上是集成在主板上的,除非特殊需要采购专业声卡,比如唱歌、影视频处理等。 来源: https://www.cnblogs.com/fengpiaoluoye/p/11824681.html

将usb 声卡集成到android4.0上

元气小坏坏 提交于 2019-12-04 00:01:50
1. 任务分解 1.1 android 使用了tinyalsa库,看了一下代码,这个库实在功能太弱,google总是放弃稳定的好用的东西不用,自己乱搞,或许是因为licence的问题?于是第一个子任务是将原来android 2.3.3上的alsa库移植上来。 1.2 内核要打开配置,至少把UAC打开 1.3 找一个usb声卡,淘宝上7块钱就能买到,真他妈便宜,不知道这些人怎么挣钱的! 1.4 使用编译出来的alsa库进行测试,验证可正常使用 1.5 使用android自带的tinyalsa进行播放测试,因为android的HAL层是调用这个库的,所以这个还非测试不可 1.6 修改audio_hw(android声音的HAL层)代码,将UAC声卡接入到android4.0中去 1.7 使用android自带的Music.apk,SoundRecorder.apk进行最后测试,我想这两个过了其它软件应该没问题了吧 2. 各子任务的具体实施 2.1 移植alsa库 将原来android2.3.3/external/alsa-lib,android2.3.3/external/alsa-utils 这两个库cp到 android4.0/external/中 直接编译生成 相应的alsa_aplay,alsa_amixer,alsa_ctl,并cp到目标板子上,

Linux ALSA驱动框架(一)--ALSA架构简介--声卡的创建

匿名 (未验证) 提交于 2019-12-02 21:59:42
(1)ALSA简介 (1) (2) alsa驱动框架核心层给我们干的活:创建声卡设备的控制接口和PCM设备 snd_soc_init()---> platform_driver_register(&soc_driver)---> soc_probe()---> snd_soc_register_card(card)--->注册自己的声卡设备 snd_soc_instantiate_card(card)---> { } (3) 在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。 (4) 字符设备 C0D0代表的是声卡0中的设备0,pcmC0D0c最后一个c代表capture,pcmC0D0p最后一个p代表playback,这些都是alsa-driver中的命名规则。 (5) sound/core/sound.c alsa_sound_init (void) { register_chrdev snd_fops } snd_open (6) 谁调用snd_register_device_for_dev()(两路调用) 一路:声卡设备的控制接口 另一路:声卡设备的数据接口 声卡设备的控制接口 sound/core/control.c 创建一个snd

机箱-网卡-声卡-显示器

淺唱寂寞╮ 提交于 2019-11-29 22:10:38
机箱-网卡-声卡-显示器 机箱电源 机箱选购参考 1)抗静电 2)机箱质量 3)机箱散热 4)机箱质量不易变形(否者辉损坏主板) 5)机箱空间能满足扩展需求 6)注意支持的主板 机箱分类 1.E-ATX加大型 2.ATX标准型 3.M-ATX紧凑型 4.MINI mini型 电源 电源是计算机的心脏部件。电源工作的稳定直接决定了电脑的稳定,所以在选购电源时,建议大家不要选购杂牌,一定选择正规的大厂品牌,同时要考虑电源的功率,要为后续升级硬件预留空间。 注意 手工操作硬件的时候要先把人体的静电释放 电源选购 1)品牌 2)提供的电源接口 3)电源功率 电源天梯图 http://power.zol.com.cn/soc/ 网卡 主板有集成 目前集成的网卡基本上都是10/100/1000M自适应网卡。 网卡分为有线网卡和无线网卡两种。 无线网卡遵循了IEEE802.11ac、a、b、g、n标准,标准不同速度不同,标准之间是向下兼容的。 不同标准的无线网卡速度 11Mbps(802.11b) 22Mbps(802.11 Super b) 54Mbps(802.11g/802.11a) 108Mbps(802.11 Super G) 125Mbps(802.11 High Speed-G) 300Mbps(802.11n) 声卡 主板有集成 显示器 有钱就买好的 选购指标 分辨率 帧率 来源

alsa总结

旧城冷巷雨未停 提交于 2019-11-26 02:41:24
alsa工具集 aplay,arecord 用于播放和录制音频等, 支持RAW PCM、WAVE、AU、VOC文件类型; 用于操作PCM接口。 查看声卡设备和PCM设备。 aplay -l arecord -l alsamixer,amixer alsamixer是Linux音频框架ALSA工具之一,用于配置音频各个参数; alsamixer是基于文本图形界面的,可以在终端中显示,通过键盘的上下键,左右键等实现音量设置,开关操作等。 amixer,是alsamixer的文本模式,即命令行模式,以命令行的形式去配置声卡的各个选项,比如选择音频输入通道是Mic输入,还是Line输入。 alsactl 控制ALSA声卡驱动的高级设置; 用于操作控制器(Control)接口。 查看alsa版本 alsactl -v 设备接口 在ALSA中, 声卡硬件对应于Card, ALSA可支持多达八个声卡. 声卡包含多个设备(Device), 设备从0开始标识; 设备(Device)有不同的类型(Type), 如播放(Playback)、录制(Capture)、控制器(control)、定时器(timer)、序列器(sequencer), 当没有指定设备时, 默认的设备号为0。 设备可能包含多个子设备(SubDevice), 子设备也是从0开始标识; 一个子设备代表了设备的声音通道(???some