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

Ubuntu 20 LTS环境下实现实时输入音频随机静音模拟弱网效果方案咨询

实时音频模拟弱网卡顿(随机静音)实现方案

你当前基于Ubuntu 20 LTS、PulseAudio + SoX的环境可直接使用以下两种方案,均支持保留音调偏移效果,输出路由逻辑和你原有流程完全一致,直接从「Monitor of Nullsink」取流即可。

方案一:Bash 脚本结合 SoX 实现(适配现有使用习惯)

先安装依赖工具:

sudo apt install sox pulseaudio-utils bc

编写执行脚本weaknet_audio.sh:

#!/bin/bash
while true; do
    # 随机正常播放时长:默认2-5秒,可自行修改计算式调整卡顿频率
    PLAY_DUR=$(echo "scale=2; $RANDOM/32767*3 + 2" | bc)
    # 随机静音时长:1-2秒,匹配需求
    MUTE_DUR=$(echo "scale=2; $RANDOM/32767*1 + 1" | bc)
    
    # 带音调偏移的正常音频输出
    sox -t pulseaudio default -t pulseaudio null trim 0 $PLAY_DUR pitch +1000 2>/dev/null
    # 静音时段输出
    sox -n -t pulseaudio null trim 0 $MUTE_DUR 2>/dev/null
done

运行方法:

chmod +x weaknet_audio.sh
./weaknet_audio.sh

方案二:FFmpeg 实现(切换无爆音、延迟更低)

FFmpeg自带音频滤镜可直接实现随机静音逻辑,稳定性更强,先安装FFmpeg:

sudo apt install ffmpeg

直接运行以下单命令即可:

ffmpeg -f pulse -i default -af "volume=enable='lt(random(0),0.2)':volume=0,aresample=async=1,pitch=+1000" -f pulse null -loglevel error

参数说明:

  • lt(random(0),0.2) 表示20%概率触发静音,修改0.2的数值即可调整卡顿出现的频率
  • 已内置pitch=+1000音调偏移参数,和你原有SoX效果一致

优化提示

  • 若出现音频延迟过高,可给SoX命令添加--buffer 256参数缩小缓存,或给FFmpeg命令添加-low_delay 1参数优化实时性
  • 需调整静音时长范围可直接修改对应参数的计算逻辑即可

内容的提问来源于stack exchange,提问作者Nobody

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:24:02