You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian/Linux系统下同时录制音频输入输出且避免麦克风回输的命令行方案咨询

Debian/Linux系统下同时录制音频输入输出且避免麦克风回输的命令行方案咨询

嘿,这个需求我之前帮朋友解决过,Linux下用PulseAudio的命令行工具就能搞定,完全不需要图形界面,还能快速切换状态,分轨录制和恢复都很方便,给你一步步说:

核心思路

Linux桌面环境基本都用PulseAudio,我们可以直接利用它的设备监控和独立捕获能力,既实现麦克风输入、系统输出的分轨录制,又能确保麦克风声音不会回传到扬声器——毕竟默认情况下,麦克风的音频只会被捕获,不会主动路由到播放设备,天然避免回输。

第一步:确认你的音频设备

先得搞清楚系统里的输出监控源(对应系统声音)和麦克风输入源,打开终端跑这两个命令:

  • 查看系统输出的监控源(用来录系统声音):
    pactl list sources short | grep monitor
    
    你会得到类似alsa_output.pci-0000_00_1b.0.analog-stereo.monitor这样的字符串,记下来,后面叫它SYSTEM_MONITOR_SOURCE
  • 查看麦克风输入源:
    pactl list sources short | grep input
    
    得到类似alsa_input.pci-0000_00_1b.0.analog-stereo的字符串,记为MIC_SOURCE

第二步:分轨录制音频

我们可以用parec(PulseAudio的录制工具)配合ffmpeg或者sox来生成标准的WAV文件,两个录制任务可以后台并行运行:

  • 录制系统输出到单独文件:
    ffmpeg -f pulse -i SYSTEM_MONITOR_SOURCE system_output.wav &
    
  • 同时录制麦克风输入到另一个文件:
    ffmpeg -f pulse -i MIC_SOURCE mic_input.wav &
    
    (如果没装ffmpeg,用sox也可以:parec -d SYSTEM_MONITOR_SOURCE | sox -t raw -r 44100 -s -L -b 16 -c 2 - system_output.wav &,麦克风同理)

这时候你正常用电脑就行,系统声音和麦克风都会被分别录到两个文件里,而且你完全听不到麦克风的回声——因为我们没把麦克风的音频路由到扬声器。

第三步:停止录制并快速恢复

录制完成后,只要终止后台的录制进程就行:

  • 如果你是用&把进程放后台的,可以用kill %1 %2(%1是第一个后台任务,%2是第二个,对应上面两个录制命令)
  • 也可以直接杀相关进程,比如:
    pkill ffmpeg
    
    (如果用的是sox+parec,就跑pkill parec)

因为我们没修改任何系统默认的音频路由设置,终止进程后,音频系统就自动回到正常状态了,完全不需要额外的恢复步骤。

进阶:用虚拟设备实现更灵活的控制

如果你需要更复杂的路由(比如要监听部分音频但不回输),还可以创建一个虚拟sink来中转:

  1. 加载虚拟sink:
    pactl load-module module-null-sink sink_name=VirtualRecSink sink_properties=device.description="Virtual_Recording_Sink"
    
  2. 把系统输出转发到虚拟sink(不影响你正常听声音):
    pactl load-module module-loopback source=SYSTEM_MONITOR_SOURCE sink=VirtualRecSink
    
  3. 把麦克风转发到虚拟sink(但不会到你的扬声器):
    pactl load-module module-loopback source=MIC_SOURCE sink=VirtualRecSink
    
  4. 录制虚拟sink的监控源(这样可以录混合后的音频,或者你还是可以分开录原来的两个源):
    ffmpeg -f pulse -i VirtualRecSink.monitor combined_audio.wav &
    
  5. 恢复正常状态时,卸载加载的模块就行:
    pactl unload-module module-null-sink
    pactl unload-module module-loopback
    

这个方案完全是命令行驱动,比Windows的Voicemeeter更轻量,而且完全符合你的需求。

备注:内容来源于stack exchange,提问作者primuspaul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 12:58:06