有没有办法即时调节我的声音?

eli*_*eac 21 sound microphone mumble

我需要一种方法来即时调节我的声音(降低或提高音调等,以保护隐私),以便在 Mumble、TeamSpeak 和其他此类程序中使用。在 Linux/Ubuntu 下有什么办法可以做到这一点吗?

我在 Windows 下找到了几个可能的程序,如果有必要,我可以在 VirtualBox/Wine 下运行 Mumble、TeamSpeak 等以及一个调制器,但我更喜欢使用 Linux,尽管我还没有找到任何本机在我的快速谷歌搜索中可以做到这一点的 Linux 程序。

fal*_*ner 29

  1. 安装一些必要的软件:

    sudo apt-get install sox libsox-fmt-pulse pavucontrol
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在pulseaudio中做一个空接收器:

    pactl load-module module-null-sink
    
    Run Code Online (Sandbox Code Playgroud)
  3. sox从默认录制设备(默认源)开始录制并输出到空接收器:

    sox -t pulseaudio default -t pulseaudio null pitch -800
    
    Run Code Online (Sandbox Code Playgroud)

    (如果不希望从默认源记录,相应地改变上面的命令。)该-800在上述命令是所希望的桨距变化,随着你想你可以修改该值,例如-300+200+500等。sox除了可以应用于音频的音高变化之外,还有一些其他“效果”,您可能需要在man sox.

  4. 启动您的捕获程序(Skype、Teamspeak 等)。

  5. 开始pavucontrol

  6. 当您捕获程序尝试捕获时,它会显示在pavucontrol“录制”选项卡下。将其录制源从默认更改为Monitor of Null Output

    pavucontrol 设置

  7. 检查结果,它应该工作。

笔记:

  1. 如果您编辑/etc/pulse/default.pa文件并将以下行添加到该文件的末尾,您可以使pulseaudio自动加载空接收器:

    load-module module-null-sink
    
    Run Code Online (Sandbox Code Playgroud)
  2. 您所做的更改pavucontrol将被记住,因此下次您开始捕获程序时,它会自动尝试从空接收器进行记录。如果这对您来说不合适,那么只需在pavucontrol需要时将源更改回默认值即可。

  3. 如果您更喜欢终端方式:pavucontrol如果您在PULSE_SOURCE正确设置变量的情况下启动您的程序,您可以在终端中为您的捕获程序设置录制源(不使用)。例如,从空接收器的监视器源启动 Skype 录音:

    PULSE_SOURCE=null.monitor skype
    
    Run Code Online (Sandbox Code Playgroud)
  4. 改变声音的音调不会给你很好的隐私:

    • 如果另一端了解您,了解您真实的声音,那么您将不得不大量改变音高,因此对于另一端而言,您改变了声音是显而易见的。如果他愿意,他可以捕捉你改变的声音并改变音调。或者另一端可能会出于明显的原因忽略/拒绝您的电话。
    • 如果另一端不知道你的真实声音,那么......在这种情况下,改变你的声音并没有真正的好处,因为他们甚至不知道真实的声音。
    • 如果您试图防止有人拦截您的声音、中间人攻击等,那么这些恶意人员很可能已经足够了解,可以从您对它所做的几乎任何修改中恢复您的真实声音用这么简单的软件。
    • 此外,对于上述所有情况:当你说话时,不仅仅是你的声音可以识别你的身份,还有你说话的方式、你的口音、你使用的单词和短语等。
    • 如果您想要一种更安全的语音通信方式,您可能需要使用文本转语音引擎将您的输入转换为语音。这是一种更安全的方式。(当然,如果无法输入您的消息,例如在多人游戏中,这可能是不可能的。)

尽管如此,这种方法提供了更好的隐私,而不是根本没有隐私。用改变的声音愚弄一些朋友也很有趣。

  • 不幸的是,它还增加了一个延迟,随着时间的推移似乎会急剧增加 (2认同)