如何在带麦克风的扬声器中听到我的声音?

Mar*_*tin 140 sound microphone audio-jack

我有一个 USB 麦克风,我可以在 Skype 上聊天、录制声音等。但是我怎样才能做到这一点,当我的麦克风打开时我可以说话?无需先录制我的声音然后再播放,即可在扬声器中现场聆听?我需要哪些应用程序或在哪里可以启用此选项?

我正在运行 Ubuntu 10.10

Cha*_*tha 195

这是我在 Ubuntu 12.04 上使用 Pulse Audio 测试过的解决方案。

  • 安装 PulseAudio 音量控制 ( pavucontrol):

    sudo apt install pavucontrol
    
    Run Code Online (Sandbox Code Playgroud)
  • 现在我们将您的麦克风路由到您的扬声器。通过运行以下命令来执行此操作:

    pactl load-module module-loopback latency_msec=1
    
    Run Code Online (Sandbox Code Playgroud)
  • 在 pavucontrol 的 Recording 选项卡上,您可以显示所有流(底部的组合框),然后配置哪个麦克风(如果您有多个)应该回送到内置模拟立体声中

要停止它运行,请运行:

pactl unload-module module-loopback
Run Code Online (Sandbox Code Playgroud)

  • 该解决方案工作正常,但如何撤消此设置? (8认同)
  • 要撤消它,请参阅此 [答案](http://askubuntu.com/questions/355082/pulseaudio-loopback-unload-audio-output-devices)。 (5认同)
  • 当我这样做时,扬声器会发出声音,但它只是静态的,如果我对着麦克风说话,则没有声音。有任何想法吗?我在 14.04 (3认同)
  • 它仍然会产生略微明显的滞后,这在演奏乐器时很烦人。有什么办法可以避免吗? (3认同)
  • 延迟会破坏播放.. 尝试用它唱歌:\ (2认同)
  • 或者,不注销:`pactl unload-module module-loopback` (2认同)
  • @DanielVartanov:为了显着减少延迟,使用支持实时的内核并配置pulseaudio以实时优先级和较低的`nice`值运行(我有`nice-level = -19`、`realtime-scheduling = yes`和` realtime-priority = 97`,以及 `rlimit-nice = 39` 和 `rlimit-rtprio = 98`,在 `/etc/default/pulse.pa` 中)。为此,您还需要配置限制(在`/etc/systemd/system.conf.d/limits.conf` 中)。对于“realtime”组(我是其中的用户),我有“DefaultLimitNICE=-19”和“DefaultLimitRTPRIO=98”。它工作得很好。 (2认同)

Ant*_*sta 57

简单的解决方案

只需使用:

arecord -f cd - | aplay -
Run Code Online (Sandbox Code Playgroud)

如果您想在保存时播放:

arecord -f cd - | tee output.wav | aplay -
Run Code Online (Sandbox Code Playgroud)

  • 这将有助于延迟:`arecord --buffer-time=1 - | aplay --buffer-time=1 -` (11认同)
  • 不幸的是,使用此解决方案,播放延迟很严重 (8认同)
  • 1ms 的缓冲时间将会导致欠载。我建议至少 20 毫秒 - 如果不使用实时内核,则设为 40 毫秒。 (3认同)
  • 1ms 导致较低的格式,这对我来说可以强制特定的格式和采样率: `arecord -r 192000 -f s16_le --buffer-time=1 - | aplay --buffer-time=1 -` (3认同)
  • 录制媒体的好方法!你也可以听它,所以它不那么痛苦!不过,问题是,如果我连接了多个麦克风,我将如何处理这个问题(如何选择一个而不是另一个)? (2认同)

小智 34

  1. 首先安装PulseAudio Volume Control/pavucontrol。

    通过软件管理器安装。

    或者在终端中运行以下命令:

    sudo apt-get install pavucontrol
    
    Run Code Online (Sandbox Code Playgroud)
  2. 要启动 Mic to Speaker 工作,请在终端中运行以下命令。

    pactl load-module module-loopback latency_msec=1
    
    Run Code Online (Sandbox Code Playgroud)
  3. 要停止相同的操作,请在终端中运行以下命令。

    pactl unload-module $(pactl list short modules | awk '$2 =="module-loopback" { print $1 }' - )
    
    Run Code Online (Sandbox Code Playgroud)

  • 此解决方案不适用于 Dell Inspiron 7720 上的 Ubuntu Budgie 18.04(内核 4.20.17) (2认同)

Rub*_*zzo 25

你可以用jackd和来做qjackctl

该程序jackd是 Linux 的音频声音服务器守护进程,它的对应物qjackctl是一个简单的用户界面,可让您处理 JACK 音频服务器。由此,您可以虚拟地将麦克风的输出连接到扬声器。

您可以使用以下命令从终端安装它们:

sudo apt-get install jackd qjackctl
Run Code Online (Sandbox Code Playgroud)

安装后,运行qjackctl提到的连接将如下图所示。

qjackctl 应用程序在行动

请注意,我是一名专业的音频编辑器,我每周都会使用它录制会话。

哈。

  • 如果那里没有任何连接,我该怎么办......我没有那个系统 - 捕获 - 播放的东西......那里什么都没有...... (6认同)
  • @MartinZeltin:对我来说这是因为 jack 服务器没有启动。单击“消息”按钮并在日志中查找该错误。为了解决这个问题,我打开了“设置”,然后转到“其他”选项卡并勾选“在应用程序启动时启动 JACK 音频服务器”。然后我关闭了 qjackctl 并重新打开它。在那之后,我可以确切地看到上图中的内容 (3认同)

Jon*_*ley 21

我已将其他人的答案打包到“听”中,这是一个 Bash 脚本。运行它以收听您的麦克风输入。它永远沉睡。杀死它(例如 Ctrl-C)以停止收听。

#!/usr/bin/env bash

# Directs audio input (e.g. mic) to audio output (e.g. speakers),
# then sleeps forever. Stops audio redirection when it is killed.
# So, for example, plug your phone into the PC's mic, run 'listen',
# and listen to phone audio through your computer's speakers.
#
# Requires:
# sudo apt-get install pactl

set -e

module=$(pactl load-module module-loopback latency_msec=10)

function cleanup {
  pactl unload-module $module
}

trap cleanup EXIT

sleep infinity
Run Code Online (Sandbox Code Playgroud)


Luc*_*ate 8

如果您使用 gnome,则只是 2018 年的更新。您可以使用 gnome 扩展来实现这一点。这是链接,以防有人想尝试https://extensions.gnome.org/extension/954/pulseaudio-loopback-device/