alsaloop 简述

Alsaloop for PCM loopback. 它可以构建A声卡录音 B声卡播放。Alsaloop 支持任意声卡,自适应时钟同步,自适应重采样;还支持 mixer controls重定向。同时支持任意声卡间的路由,可实现边录边播功能。


文章目录

  • alsaloop 简述
  • 1 alsaloop 简单应用
    • 1.1 alsaloop 边录边播
    • 1.2 alsaloop 命令
  • 总结

1 alsaloop 简单应用

1.1 alsaloop 边录边播

  1. 声卡1录音,声卡0播放
alsaloop -C hw:1,0 -P hw:0,0 -t 10000 -A 3 -S 1 -b -v

2)声卡rockchiprk809co的设备1录音,设备0播放

arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: rockchiprk809co [rockchip,rk809-codec], device 0: fe410000.i2s-rk817-hifi rk817-hifi-0 [fe410000.i2s-rk817-hifi rk817-hifi-0]Subdevices: 1/1Subdevice #0: subdevice #0
card 0: rockchiprk809co [rockchip,rk809-codec], device 1: fe420000.i2s-bt-sco-pcm bt-sco-pcm-1 [fe420000.i2s-bt-sco-pcm bt-sco-pcm-1]Subdevices: 1/1Subdevice #0: subdevice #0

录音命令如下

alsaloop -C hw:0,1 -P hw:0,0 -t 10000 -A 3 -S 1 -b -v
Scheduler set to Round Robin with priority 99
Hardware PCM card 0 'rockchip,rk809-codec' device 0 subdevice 0
Its setup is:stream       : PLAYBACKaccess       : RW_INTERLEAVEDformat       : S16_LEsubformat    : STDchannels     : 2rate         : 48000exact rate   : 48000 (48000/1)msbits       : 16buffer_size  : 1920period_size  : 240period_time  : 5000tstamp_mode  : NONEtstamp_type  : MONOTONICperiod_step  : 1avail_min    : 1444period_event : 0start_threshold  : 2147483647stop_threshold   : 1920silence_threshold: 0silence_size : 0boundary     : 2013265920appl_ptr     : 0hw_ptr       : 0
Hardware PCM card 0 'rockchip,rk809-codec' device 1 subdevice 0
Its setup is:stream       : CAPTUREaccess       : RW_INTERLEAVEDformat       : S16_LEsubformat    : STDchannels     : 2rate         : 8000exact rate   : 8000 (8000/1)msbits       : 16buffer_size  : 320period_size  : 40period_time  : 5000tstamp_mode  : NONEtstamp_type  : MONOTONICperiod_step  : 1avail_min    : 40period_event : 0start_threshold  : 2147483647stop_threshold   : 320silence_threshold: 0silence_size : 0boundary     : 1342177280appl_ptr     : 0hw_ptr       : 0
Latency 480 frames, 10000.000us, 10.000000ms (100.0000Hz)
playback hw:0,0/capture hw:0,1 sync type: SIMPLE
New pitch for playback hw:0,0/capture hw:0,1: 1.00000000 (min/max samples = 0/0)
  1. arecord+aplay实现边录边播
arecord -D hw:0,0 --period-size=1024 --buffer-size=4096 -r 48000 -c 2 -f s16_le
-t raw | aplay -D hw:1,0 --period-size=1024 --buffer-size=4096 -r 48000 -c 2 -f
s16_le -t raw

1.2 alsaloop 命令

Usage: alsaloop [OPTION]...-h,--help      help
-g,--config    configuration file (one line = one job specified)
-d,--daemonize daemonize the main process and use syslog for errors
-P,--pdevice   playback device
-C,--cdevice   capture device
-X,--pctl      playback ctl device
-Y,--cctl      capture ctl device
-l,--latency   requested latency in frames
-t,--tlatency  requested latency in usec (1/1000000sec)
-f,--format    sample format
-c,--channels  channels
-r,--rate      rate
-n,--resample  resample in alsa-lib
-A,--samplerate use converter (0=sincbest,1=sincmedium,2=sincfastest,3=zerohold,4=linear)
-B,--buffer    buffer size in frames
-E,--period    period size in frames
-s,--seconds   duration of loop in seconds
-b,--nblock    non-block mode (very early process wakeup)
-S,--sync      sync mode(0=none,1=simple,2=captshift,3=playshift,4=samplerate,5=auto)
-a,--slave     stream parameters slave mode (0=auto, 1=on, 2=off)
-T,--thread    thread number (-1 = create unique)
-m,--mixer      redirect mixer, argument is:SRC_SLAVE_ID(PLAYBACK)[@DST_SLAVE_ID(CAPTURE)]
-O,--ossmixer   rescan and redirect oss mixer, argument is:ALSA_ID@OSS_ID  (for example: "Master@VOLUME")
-e,--effect    apply an effect (bandpass filter sweep)
-v,--verbose   verbose mode (more -v means more verbose)
-w,--workaround use workaround (serialopen)
-U,--xrun      xrun profiling
-W,--wake      process wake timeout in ms
-z,--syslog    use syslog for errorsRecognized sample formats are: S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAETip #1 (usable 500ms latency, good CPU usage, superb xrun prevention):alsaloop -t 500000
Tip #2 (superb 1ms latency, but heavy CPU usage):alsaloop -t 1000

总结

知识要分享,做个合格的搬运工。

Linux 音频回环播放(alsaloop)相关推荐

  1. linux 增加回环设备,linux命令练习:mount fdisk swap dd创建本地回环设备

    练习一 1.创建一个1G的分区,文件系统为ext4,卷标为MYDATA,块大小为1024,预留管理空间为磁盘 分区的3%,要求开机后制动挂载至/data目录,并且自动挂载的设备要使用卷标进行引用. f ...

  2. linux lo回环接口与127.0.0.1

    问题: ping 127.0.0.1失败 127.0.0.1是本机ip,在做某一相验证是,用到redis-server,启动后使用redis-cli发现无法连接到本机的redis服务. 通过ifcon ...

  3. linux lo回环服务名称是什么,什么叫 lo 回环? ESTABLISHED及RELATED?[已经解决]

    问题一: 在 iptables 里,我们.会这样设定: -A INPUT -i lo -j ACCE.PT电脑 我现在不能.理解 lo 是什么意思,从网络上的资料来看,我大概理解如下,不.知对不对?? ...

  4. linux umount swap,挂载、卸载、free查看内存情况、创建交换分区、回环设备、dd命令、自动挂载、fuser...

    挂载.卸载 分区.格式化创建了文件系统后就可以挂载了 挂载:将新的文件系统关联至当前根文件系统 卸载:将某文件系统与当前根文件系统的关联关系移除 mount挂载 使用方法: mount 设备 挂载点 ...

  5. Linux中的lo回环接口详细介绍

    1.linux的网络接口之扫盲 (1)网络接口的命名 这里并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的.例如: eth0: ethernet的简写,一般用于以太网接口. wifi0: ...

  6. TX2/Linux下can总线的接收与发送详解!(回环测试)

    https://blog.csdn.net/hhlenergystory/article/details/81976069 TX2具有两个can设备,分别为can0和can1.这两个can设备自带ca ...

  7. linux中的lo介绍及作用(回环接口 回环IP)

    Linux回环IP地址lo的作用https://www.cnblogs.com/ArcherWuAIot/p/16359864.html 1.什么是LO接口? 在LINUX系统中,除了网络接口eth0 ...

  8. Linux中的lo回环接口

    引言----------------------------- 我们在Linux执行ifconfig指令时会发现显示两个设备的信息,一般来说,一个是网卡eth0,一个就是lo,具体系统可能会有差别.我 ...

  9. linux回环网卡,Linux回环网卡驱动设计

    回环网卡驱动 1.回环网卡和普通网卡的区别是他是虚拟的不是实际的物理网卡,它相当于把普通网卡的发送端和接收端短接在一起. 2.在内核源代码里的回环网卡程序(drivers/net/loopback.c ...

最新文章

  1. python入门有基础-python入门基础
  2. Educational Codeforces Round 11A. Co-prime Array 数学
  3. table导出Excel
  4. Apache Maven 使用 profile 和 filtering 实现多种环境下的资源配置管理
  5. 奇迹世界服务器不响应,sun-奇迹世界 目前常见问题解决方法
  6. android list 替换元素_Python数据结构(一)List使用(大厂面试解答)
  7. 视频测试序列的下载地址
  8. C1. 组队活动 Small(BNUOJ)
  9. linux buffer cache 过高_怎么理解内存中的Buffer和Cache?
  10. 如何使用JdbcTemplate实现数据的增删改查?
  11. 【docker】3-配置阿里云加速
  12. LPDDR4X与LPDDR4 区别 <转>
  13. 2116: 简简单单的数学题(快速幂||爆longlong处理)
  14. matlab解薛定谔方程,定态薛定谔方程的MATLAB求解(一).doc
  15. linux下如何给home目录分配空间,Linux 分配/home的磁盘空间给根目录
  16. CentOS-6.3安装配置JDK-7 - Constantin - 博客园
  17. 中国天气网 天气预报API 国家气象局 根据城市名称抓取城市ID,XML格式、JSON格式、图片代码
  18. labview信号频域分析算法
  19. es报Unexpected character (‘ï‘ (code 239)): was expecting comma to separate Object entries解决方法
  20. 【论文翻译】EIDETIC 3D LSTM: A MODEL FOR VIDEO PREDICTION AND BEYOND

热门文章

  1. 成都奔驰改装改装通风座椅 蔚一车改
  2. post发送请求工具类
  3. 反编译pbd文件中的dw,利用pb本身的功能
  4. oSIP协议栈(及eXoSIP、Ortp等)使用入门(转)
  5. 数据采集--实现串口数据的上传
  6. Win10无法封装 sysprep was not able to…
  7. H.264视频编码推荐的分辨率和码率配置表
  8. vue中使用file-saver插件导出文件(表格,图片,word文档等)
  9. 专访“澳洲中本聪”:我打算用钱摧毁比特大陆
  10. linux rootkit手动排查,Linux Rootkit如何避开内核检测的