alsa专题

ALSA 用例配置

ALSA 用例配置。参考 ALSA 用例配置 来了解更详细信息。 ALSA 用例配置 用例配置文件使用 配置文件 语法来定义静态配置树。该树在运行时根据配置树中的条件和动态变量进行评估(修改)。使用 用例接口 API 解析结果并将其导出到应用程序。 配置目录和主文件名查找 查找路径在 ucm.conf 文件中描述。配置结构看起来像下面这样: UseCasePath.path1 {Dire

利用ALSA插件将5.1通道音频通过2通道立体声卡播放的配置(.asoundrc配置文件)

网上查了很多资料都没有这方面的说明,最后看官方插件配置文档根据个人理解写的心得: (1)先来看看route插件说明:   这个插件可以转换channels和改变音量。配置说明如下: pcm.name { type route # Route & Volume conversion PCM slave STR # Slave name # or slave { # Slave def

linux驱动:音频驱动(七)交叉编译alsa库及工具集alsa-utils

0、编译时用到的库 libunistring0_0.9.3-5_i386.deb libgettextpo0_0.18.1.1-5ubuntu3_i386.deb gettext_0.18.1.1-5ubuntu3_i386.deb 1、下载源码 alsa-lib-1.0.27.tar.bz2 alsa-utils-1.0.27.2.tar.bz2 一、交叉编译alsa lib

【Linux】alsa-utils工具包alsactl、alsamixer、amixer、aplay、arecord等

1、alsamixer 查看、设置音量 alsamixer是Linux 音频架构ALSA中的Alsa工具的其中一个,用于配置音频的各个参数。alsamixer是基于文本下的图形界面的,可以通过键盘的上下键,左右键等,很方便地设置需要的音量,开关某个switch(开关)等等操作。 安装方法:sudo apt install alsa-utils 2、amixer 查看、设置音量 安装方法:s

Linux系统上C++使用alsa库播放声音文件

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、命令行1.ffmpeg2.aplay 二、代码实现总结 前言 平常读麦克风的场景居多,有时候也需要播放一个声音文件,这里就介绍怎么处理。 一、命令行 1.ffmpeg ffmpeg -i <filename.wav> -f alsa default 2.aplay ap

嵌入式Linux开发实操(十八):Linux音频ALSA开发

应用程序程序员应该使用库API,而不是内核API。alsa库提供了内核API 100%的功能,但增加了可用性方面的主要改进,使应用程序代码更简单、更美观。未来的修复程序或兼容性代码可能会放在库代码中,而不是放在内核驱动程序中。 使用ALSA API和libasound进行简单的声音播放: /*Simple sound playback using ALSA API and libaso

零基础入门多媒体音频(5)-alsa(1)

alsa是音频最重要的框架,没有之一。接下来一个月时间在总结工作知识的主线上。单开个音频支线讲解alsa。说实话,alsa这块我也不是很精通。只在过去的项目中增加 一路substream实现低延时。我打算从下面四个方面去学习alsa。 1.alsa官网。网址如下,大家也可以学习后在评论里 交流,互相进步。如果想偷懒也可以直接看我的总结。 https://www.alsa-project.org/w

ROS fatal error: alsa/asoundlib.h: 没有那个文件或目录

Ubuntu18.04 + ROS melodic用catkin_make编译robot_voice,报错内容如下, Scanning dependencies of target iat_publish[ 12%] Building CXX object robot_voice/CMakeFiles/iat_publish.dir/src/iat_publish.cpp.o[ 25%] B

《Linux内核编程》第二章:ALSA驱动

本文基于mstar801平台Linux2.6.35.11内核。 一、ALSA驱动创建声卡过程 1.创建声卡   snd_card_create(Linux2.6.30及以后api),snd_card_new(Linux2.6.30以前api)。     说明:第一步要创建声卡 2.创建pcm设备,并加入声卡   int snd_pcm_new(struct snd_card *card,

Alsa驱动移植

作者:程姚根,华清远见嵌入式学院讲师。 一. 下载alsa所需要的库和测试alsa的测试工具,此次使使用的是alsa-lib-1.0.24.1.tar.bz2、alsa-utils-1.0.24.2.tar.bz2。 二. 默认情况下内核已经支持alsa驱动,保险情况下先去确认一下,如下图: Device Drivers --->             Sound card support

Linux系统下安装alsa-lib-1.1.8

前言 本文介绍如何在Linux系统下安装最新版本的alsa音频驱动。 alsa-lib 下载地址 2019年2月8日,当前alsa-lib最新版本为1.1.8. alsa-lib-1.1.8 下载地址:ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.1.8.tar.bz2 或是到官网找到最新版本的下载下来:http://www.alsa-proje

用ALSA驱动声卡流程详解

用ALSA驱动声卡流程详解 作者:北南南北 来自:LinuxSir.Org 提要:目前大多数发行版都已经支持主流声卡,声卡的驱动无非是用ALSA;本文主要讲述声卡驱动的流程;目的是帮助遇到声卡的驱动问题的弟兄来弄清楚解决问题的流程;只要流程明白了,解决问题是没有太大的困难; 一、什么是ALSA ; Advanced Linux Sound Architecture 的简

alsa音频采集和播放

http://blog.csdn.net/liu_xiao_cheng/article/details/43017245 Alsa音频采集 #include <stdio.h> #include <malloc.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <getopt.h> #includ

利用ALSA库进行音频重采样

http://blog.csdn.net/mantis_1984/article/details/52839589 一、ALSA介绍: 1、简介: 高级Linux声音体系(英语:Advanced LinuxSound Architecture,缩写为ALSA)是Linux内核中,为声卡提供的驱动组件,以替代原先的OSS(开放声音系统)。 一部分的目的是支持声卡的自动配置,以及完

【Linux音频】Alsa音频编程【精华】

https://www.cnblogs.com/lifan3a/articles/5481993.html 样本长度(sample):样本是记录音频数据最基本的单位,常见的有8位和16位。 通道数(channel):该参数为1表示单声道,2则是立体声。 桢(frame):桢记录了一个声音单元,其长度为样本长度与通道数的乘积。 采样率(rate):每秒钟采样次数,该次数是针对桢而言。 周期(

Linux ALSA 音频系统:逻辑设备篇

https://blog.csdn.net/zyuanyun/article/details/59180272#t6 6. 声卡和 PCM 设备的建立过程 前面几章分析了 Codec、Platform、Machine 驱动的组成部分及其注册过程,这三者都是物理设备相关的,大家应该对音频物理链路有了一定的认知。接着分析音频驱动的中间层,由于这些并不是真正的物理设备,故我们称之为逻辑设备。 PC

android系统中ALSA架构audio -EPIPE错误分析及对策

使用ALSA架构的驱动程序,在实际开发使用过程中,比较常见的错误有-EPIPE,也就是-32?为什么会出现呢?肯定是系统内部不和谐了!EPIPE的错误在播放时出现就是因为驱动buffer没有数据可以丢给codec所致,通俗一点就是上层给下面喂数据的速度慢了,下面饿晕了,所以抱怨你上层慢啊,给你一个-EPIPE错误出来,自己去找原因。在录音的时候,出现EPIPE也是有原因的,ALSA的驱动也

ALSA 驱动安装方法

ALSA 驱动安装方法 ALSA 驱动下载: 去http://www.alsa-project.org/main/index.php/Main_Page 下载:        alsa-driver-xxxxxx        alsa-lib-xxxxxx        alsa-ultis-xxxxxx 即driver, lib, ultis包,后面的xxxxxx是具体的版本号,我

Android ALSA porting to smartq7

1. system/core/init/device.c加上一段代碼以創建/dev/snd: ......        } else if(!strncmp(uevent->subsystem, "mtd", 3)) {            base = "/dev/mtd/";            mkdir(base, 0755);        } else if(!strncmp(u

alsa lib arm编译

//加载环境变量 设置交叉编译工具链export PATH=$PATH:...../sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi///配置./configure --host=arm-poky-linux-gnueabi --target=arm-poky-linux-gnueabi CC="arm-poky-linu

ALSA学习(4)——Control设备的创建

参考博客: https://blog.csdn.net/DroidPhone/article/details/6409983 (下面的内容基本是原博主的内容,我只是修改了一些格式之类的) 文章目录 一、Control接口二、Controls的定义三、Control的名字四、访问标志(ACCESS Flags)五、回调函数5.1 info回调函数5.2 get回调函数5.3 put回调函数 六

汽车IVI中控开发入门及进阶(十一):ALSA音频

前言   汽车中控也被称为车机、车载多媒体、车载娱乐等,其中音频视频是非常重要的部分,音频比如播放各种格式的音乐文件、播放蓝牙接口的音乐、播放U盘或TF卡中的音频文件,如果有视频文件也可以放出音频,看起来很简单,在windows下音乐播放器很多,直接打开文件就能播放各种各样的音频文件了,那么在嵌入式linux下呢?有下面这样一些工具就可以直接操作audio音频/视频文件。 pw-play au

ALSA驱动asoc框架之Codec

一、Nau8810芯片系统框架图 由系统框架图可以看出,输入端为差分MIC输入,输出端可以为MOUT或Speaker。Codec对外硬件接口通过Audio I/O和Digital I/O,其中Audio I/O一般传输的是音频信号为I2S或PCM,Digital I/O为控制信号一般为I2C。 芯片引脚分布如下: 二、Codec注册 static struct i2c_driver na

汽车IVI中控开发入门及进阶(十一):ALSA音频

前言   汽车中控也被称为车机、车载多媒体、车载娱乐等,其中音频视频是非常重要的部分,音频比如播放各种格式的音乐文件、播放蓝牙接口的音乐、播放U盘或TF卡中的音频文件,如果有视频文件也可以放出音频,看起来很简单,在windows下音乐播放器很多,直接打开文件就能播放各种各样的音频文件了,那么在嵌入式linux下呢?有下面这样一些工具就可以直接操作audio音频/视频文件。 pw-play au

ALSA Compress-Offload API

概述 从 ALSA API 的早期开始,它就被定义为支持 PCM,或考虑到了 IEC61937 等固定比特率的载荷。参数和返回值以帧计算是常态,这使得扩展已有的 API 以支持压缩数据流充满挑战。 最近这些年,音频数字信号处理器 (DSP) 常常被集成进片上系统 (SoC) 设计中,且 DSPs 也常被集成进音频编解码器 (这里的音频编解码器与 AAC 之类的音频数据压缩方案不同,它是指主要用

ALSA Compress-Offload API

概述 从 ALSA API 的早期开始,它就被定义为支持 PCM,或考虑到了 IEC61937 等固定比特率的载荷。参数和返回值以帧计算是常态,这使得扩展已有的 API 以支持压缩数据流充满挑战。 最近这些年,音频数字信号处理器 (DSP) 常常被集成进片上系统 (SoC) 设计中,且 DSPs 也常被集成进音频编解码器 (这里的音频编解码器与 AAC 之类的音频数据压缩方案不同,它是指主要用