首页 > 其他分享 >音频---alsa和tinyalsa使用说明

音频---alsa和tinyalsa使用说明

时间:2024-07-02 16:52:49浏览次数:15  
标签:Intel min tinyalsa --- HDA max device alsa

目录

alsa和tinyalsa使用说明

ALSA (Advanced Linux Sound Architecture)

  • 即高级 Linux 声音架构,是一个开源项目,
    在 Linux 操作系统上提供了对音频和 MIDI 的支持。它涵盖了用户空间和内核空间对
    音频设备的操作接口,通过应用层使用 alsa-lib 可以实现对音频设备的控制。

TinyAlsa

  • 是 Android 推出的一个精简的 ALSA 库。它的主要优势在于代码精简,易于阅读和理解,在资源有限的嵌入式系统中是一种理想的音频解决方案。

一.alsa

1.确定是否安装alsa驱动

  • 如果有/proc/asound/cards路径,说明 ALSA 驱动已经使用上,

2.查看声卡设备:

cat /proc/asound/cards
 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xf2520000 irq 17

其中HDA-Intel表示设备名字,0为设备节点。

3.查看录音和播音设备信息

arecord查看录音设备,aplay查看播音设备

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: HDA Generic [HDA Generic]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
aplay 查看 speaker (output device) :

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: HDA Generic [HDA Generic]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 3: INTEL HDMI [INTEL HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

4.录音和播放

  • 录音10s arecord -d 10 /tmp/t.wav
  • 播放录音 aplay /tmp/t.wav

二.tinyalsa使用说明

tinyalsa包含这几个工具:tinycap、tinyhostless、tinymix、tinypcminfo、tinyplay
tinypcminfo可以用来查看pcm通道相关信息。

1.tinypcminfo查看pcm通道的相关信息:

xxxx:/storage/emulated/0/Music # tinypcminfo -D /proc/asound/cards
Info for card 0, device 0:
 
PCM out:
      Access:	0x000009
   Format[0]:	0x000ccc
   Format[1]:	00000000
 Format Name:	S16_LE, S16_BE, S24_LE, S24_BE, S32_LE, S32_BE
   Subformat:	0x000001
        Rate:	min=8000Hz	max=192000Hz
    Channels:	min=1		max=2
 Sample bits:	min=16		max=32
 Period size:	min=0		max=24576
Period count:	min=1		max=16
 
PCM in:
cannot open device '/dev/snd/pcmC0D0c'
Device does not exist.

也可以直接带上声卡和设备信息来查看:

:/ # tinypcminfo -D 0 -d 0                                                     
Info for card 0, device 0:
 
PCM out:
      Access:   0x000009
   Format[0]:   0x000ccc
   Format[1]:   00000000
 Format Name:   S16_LE, S16_BE, S24_LE, S24_BE, S32_LE, S32_BE
   Subformat:   0x000001
        Rate:   min=8000Hz      max=192000Hz
    Channels:   min=1           max=2
 Sample bits:   min=16          max=32
 Period size:   min=0           max=24576
Period count:   min=1           max=16
 
PCM in:
cannot open device '/dev/snd/pcmC0D0c'
Device does not exist.

从输出获得的信息中可以知道PCM的采样率,通道个数,采样点数等信息。

2.tinyplay

tinyplay只能播放wav格式的音频文件,如:
tinyplay 48000_2ch_16bit.wav

3.tinycap录音

录音1分钟:tinycap /sdcard/456.wav -d 1

标签:Intel,min,tinyalsa,---,HDA,max,device,alsa
From: https://www.cnblogs.com/linxisuo/p/18280173

相关文章

  • 27-String类
    String字符串是常量,创建之后不可改变字符串字面值存储在字符串池中,可以共享Strings="hello";产生一个对象,字符串池中存储Strings=newString("hello");//产生两个对象,堆、池各存储一个Stringname="hello";//"hello"常量存储在字符常量池中。name在栈......
  • 打包警告:chunk common [mini-css-extract-plugin]Conflicting order between:
    1.问题webpage5打包告警:chunkcommon[mini-css-extract-plugin]Conflictingorderbetween:2.解决方案:-vue.config.js配置//vue.config.jsmodule.exports={//...,css:{extract:{ignoreOrder:true},}};或者:调整组件引入的顺序3.......
  • MOTOROLA MVME-5100 单板计算机
    配置:(类似于 MVME5106-1141)•MPC755处理器:400MHz•1MB二级缓存•内存:128MBSDRAM•1MB闪存,通过两个32引脚PLCC/CLCC插座•16MB表面贴装闪存•Scanbe前面板手柄 特征:MPC7410、MPC750或MPC755微处理器,带32KBL1缓存100MHz前端总线32/64位PMC......
  • 2024年华为OD机试真题-分披萨-C++-OD统一考试(C卷D卷)
    2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集) 题目描述:“吃货”和“馋嘴”两人到披萨店点了一份铁盘(圆形)披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数扇形小块。但是粗心服务员将披萨切成了每块大小都完全不同奇数块,且肉眼能分辨出大小......
  • A LLM-based Controllable, Scalable, Human-Involved User Simulator Framework for
    目录概CSHI(Controllable,Scalable,andHuman-Involved)代码ZhuL.,HuangX.andSangJ.Allm-basedcontrollable,scalable,human-involvedusersimulatorframeworkforconversationalrecommendersystems.2024.概作者利用LLM进行用户模拟,虽然是复杂了一点......
  • 远程调用--RestTemplet
    服务拆分后,服务之间的远程过程调用称RPC;Spring给我们提供了一个RestTemplate的API,可以方便的实现Http请求的发送。利用RestTemplate发送http请求与前端ajax发送请求非常相似,都包含四部分信息:①请求方式②请求路径③请求参数④返回值类型项目:1.注册:(启动类也是配......
  • Johnson-Lindenstrauss Lemma 随即投影
    michael 作者忘忧草不是大佬。我感觉我说的挺具体的了,一共就两行代码,一行构建随机矩阵,一行做矩阵乘法。你会python的话可以这么写:g_matrix=numpy.random.normal(size=(n,m))output=numpy.matmul(input,g_matrix)2021-12-08​回复​1mic......
  • Next Terminal 一款简单开源轻量级堡垒机,Next Terminal使用详解-(值得收藏)
    1.安装部署:NextTerminal一款简单开源轻量级堡垒机,宝塔Docker安装部署教程一、NextTerminal介绍前沿:NextTerminal是一款开源的轻量级堡垒机与交互审计系统,旨在提供一个集中的、安全的远程访问解决方案,适用于管理不同协议下的服务器与设备。它通过一个统一的Web界......
  • 宝塔安装部署 ModstartCMS 一款开源内容管理系统的CMS-(值得收藏)
    一、ModstartCMS的简介ModStartCMS是一款基于Laravel框架的开源内容管理系统(CMS),它设计的目标是为了简化Web应用程序的开发流程。这个系统强调模块化开发,提供了丰富的模块和模板库,使得开发者能够迅速搭建功能全面的网站或后台管理系统。ModStart遵循Apache2.0开源协议,不仅......
  • 23- Redis 主从复制是怎么实现的?
    之前介绍过AOF和RDB,这两个持久化技术保证了即使在服务器重启的情况下也不会丢失数据(或少量丢失)。不过,由于数据都是存储在一台服务器上,如果出事就完犊子了,比如:如果服务器发生了宕机,由于数据恢复是需要时间的,那么这个期间是无法服务新的请求的;如果这台服务器的硬盘出现了......