Linux 音频回环播放(alsaloop)
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录音,声卡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)
- 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)相关推荐
- linux 增加回环设备,linux命令练习:mount fdisk swap dd创建本地回环设备
练习一 1.创建一个1G的分区,文件系统为ext4,卷标为MYDATA,块大小为1024,预留管理空间为磁盘 分区的3%,要求开机后制动挂载至/data目录,并且自动挂载的设备要使用卷标进行引用. f ...
- linux lo回环接口与127.0.0.1
问题: ping 127.0.0.1失败 127.0.0.1是本机ip,在做某一相验证是,用到redis-server,启动后使用redis-cli发现无法连接到本机的redis服务. 通过ifcon ...
- linux lo回环服务名称是什么,什么叫 lo 回环? ESTABLISHED及RELATED?[已经解决]
问题一: 在 iptables 里,我们.会这样设定: -A INPUT -i lo -j ACCE.PT电脑 我现在不能.理解 lo 是什么意思,从网络上的资料来看,我大概理解如下,不.知对不对?? ...
- linux umount swap,挂载、卸载、free查看内存情况、创建交换分区、回环设备、dd命令、自动挂载、fuser...
挂载.卸载 分区.格式化创建了文件系统后就可以挂载了 挂载:将新的文件系统关联至当前根文件系统 卸载:将某文件系统与当前根文件系统的关联关系移除 mount挂载 使用方法: mount 设备 挂载点 ...
- Linux中的lo回环接口详细介绍
1.linux的网络接口之扫盲 (1)网络接口的命名 这里并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的.例如: eth0: ethernet的简写,一般用于以太网接口. wifi0: ...
- TX2/Linux下can总线的接收与发送详解!(回环测试)
https://blog.csdn.net/hhlenergystory/article/details/81976069 TX2具有两个can设备,分别为can0和can1.这两个can设备自带ca ...
- linux中的lo介绍及作用(回环接口 回环IP)
Linux回环IP地址lo的作用https://www.cnblogs.com/ArcherWuAIot/p/16359864.html 1.什么是LO接口? 在LINUX系统中,除了网络接口eth0 ...
- Linux中的lo回环接口
引言----------------------------- 我们在Linux执行ifconfig指令时会发现显示两个设备的信息,一般来说,一个是网卡eth0,一个就是lo,具体系统可能会有差别.我 ...
- linux回环网卡,Linux回环网卡驱动设计
回环网卡驱动 1.回环网卡和普通网卡的区别是他是虚拟的不是实际的物理网卡,它相当于把普通网卡的发送端和接收端短接在一起. 2.在内核源代码里的回环网卡程序(drivers/net/loopback.c ...
最新文章
- python入门有基础-python入门基础
- Educational Codeforces Round 11A. Co-prime Array 数学
- table导出Excel
- Apache Maven 使用 profile 和 filtering 实现多种环境下的资源配置管理
- 奇迹世界服务器不响应,sun-奇迹世界 目前常见问题解决方法
- android list 替换元素_Python数据结构(一)List使用(大厂面试解答)
- 视频测试序列的下载地址
- C1. 组队活动 Small(BNUOJ)
- linux buffer cache 过高_怎么理解内存中的Buffer和Cache?
- 如何使用JdbcTemplate实现数据的增删改查?
- 【docker】3-配置阿里云加速
- LPDDR4X与LPDDR4 区别 <转>
- 2116: 简简单单的数学题(快速幂||爆longlong处理)
- matlab解薛定谔方程,定态薛定谔方程的MATLAB求解(一).doc
- linux下如何给home目录分配空间,Linux 分配/home的磁盘空间给根目录
- CentOS-6.3安装配置JDK-7 - Constantin - 博客园
- 中国天气网 天气预报API 国家气象局 根据城市名称抓取城市ID,XML格式、JSON格式、图片代码
- labview信号频域分析算法
- es报Unexpected character (‘ï‘ (code 239)): was expecting comma to separate Object entries解决方法
- 【论文翻译】EIDETIC 3D LSTM: A MODEL FOR VIDEO PREDICTION AND BEYOND
热门文章
- 成都奔驰改装改装通风座椅 蔚一车改
- post发送请求工具类
- 反编译pbd文件中的dw,利用pb本身的功能
- oSIP协议栈(及eXoSIP、Ortp等)使用入门(转)
- 数据采集--实现串口数据的上传
- Win10无法封装 sysprep was not able to…
- H.264视频编码推荐的分辨率和码率配置表
- vue中使用file-saver插件导出文件(表格,图片,word文档等)
- 专访“澳洲中本聪”:我打算用钱摧毁比特大陆
- linux rootkit手动排查,Linux Rootkit如何避开内核检测的