用于将程序的声音录制到麦克风的脚本

时间:2013-10-07 14:04:26

标签: shell audio pulseaudio

我想创建一个shell脚本来记录程序的声音,并将其作为linux上的麦克风条目。

例如,我正在youtube上听音乐,我希望将音乐发送到我的Skype对话而不是我的声音。

最后但并非最不重要,我知道如何使用pavucontrol,我必须转到“录制”并切换“记录流”,但我想从命令行执行完全相同的操作,并且不使用gui。

我试过了:

pactl load-module module-loopback source=1 sink=2

(其中1是我的桌面声音,2是模拟立体声双工(但它还包括我的输入顶部的正常声音....)并且它不能按预期工作。我不知道该怎么做做。

由于

1 个答案:

答案 0 :(得分:1)

module-loopback只能用于将源短接到接收器。 (即麦克风到扬声器。)您在pavucontrol中找到的开关可以通过命令行访问

 pactl move-source-output <source output> <source>

您可以通过

获取源输出ID
pactl list source-outputs
当程序正在录制时

,以及使用

的源列表
pactl list sources

您还可以按名称提供来源,例如combined.monitor

我只是尝试了mplayer和大胆,发现了两个陷阱:

  • 如果显示器是立体声,而您的默认信号源是单声道,则应用程序可能不是 喜欢被改变。您可以使用 module-remap-source 解决此问题:将显示器重新映射到一个单声道通道并将源输出移动到 新创建的重映射源。
  • 在此之前,您可能需要在pavucontrol中取消静音监视器设备。来自 命令行可以使用pactl set-source-mute完成。 (见man pactl