这个问题是关于将音频数据解析为麦克风输入。
我想要如何使用它?
因为我是哑巴,所以我希望能够使用 TTS 数据,例如:
espeak-ng "Hello World" --stdout | some-magical-program
允许我使用文本输入来讲话,而不需要他们每次都检查文本聊天。
答案1
笔记:这是更新版本U&L 的答案pLumo 链接至。
PulseAudio 可以将音频重定向到应用程序,就好像声音来自麦克风一样。幸运的是,这也可以通过 GUI 来实现。
先决条件:
如果您的计算机上尚未安装 PulseAudio Control ( pavucontrol
),则需要安装它。可以通过终端进行安装,如下所示:
sudo apt install pavucontrol
配置 PulseAudio:
打开 PulseAudio 控制:
单击“输入设备”选项卡,然后从底部过滤器中选择“监视器”:
点击“录制”选项卡。你可能会看到列表是空的:
现在到了将音频重定向到应用程序的部分。为此,我们必须有正在使用麦克风的东西。为了举个例子,我将使用在浏览器中进行的视频通话,但这也适用于任何可以使用麦克风的应用程序,从 Audacity 到 OBS 到 Zoom。
从您想要通信的应用程序开始通话。在此过程中,您的麦克风可以静音。
PulseAudio Control 中的“录音”选项卡现在将显示正在使用麦克风的应用程序: 笔记:“静音”下方的栏现在将移动,以指示正在拾取声音。
将“来自”选择从当前麦克风更改为“内置模拟立体声监听器”。这在您的系统上可能名称略有不同,但值将以“监听器...”开头:
使用
espeak-ng
(或任何其他应用程序)发送声音:espeak-ng "Here we have a basic message that will be heard locally as well as over the call."
今天早些时候通话时确认工作正常。
如果您使用
pico2wave
,则需要运行两个命令才能使其工作:pico2wave -w out.wav -l en-US "Here is another basic message that will be heard locally as well as over the call."; aplay out.wav
须知事项:
- 当此机制处于活动状态时,来自计算机的所有声音都会通过通话发送,因此通话中的人员将能清晰地听到任何通知铃声
- 在通话过程中使用静音按钮似乎完全符合预期,这可以解决上一点造成的干扰问题
- 运行时,硬件麦克风不会处于活动状态,因此人们不会听到你咳嗽、打字或喝咖啡的声音