在群里发现了一个有意思又“无聊”的开源项目,迫不及待分享给大家。相信大家都经历过在公共场合听到有人大声喧哗或者大声外放音乐、视频的情况,针对这种不文明行为,愿意出手制止的人寥寥无几。于是当时在孟买机场侯机的作者忍不了,礼貌上前提醒,但被无视。因此萌生开发这个工具的想法,且借助 Claude 仅通过一次提示就生成了可运行的版本。应用会采集周围环境的音频,延迟约 2 秒后播放回去。开发者虽非神经科学专业,无法精准解释背后的原理,但推测与 “听觉反馈循环”、“认知失调”相关,实际效果是能让喧哗的人主动安静下来。应用最初命名为 “make-it-stop”,后来发现还有人开发了类似工具并命名为 STFU(更贴合用途),于是借鉴了这个名字。项目基于 Web Audio API 构建,仅包含基础的网页文件(index.html),无复杂工程结构。且项目开源,允许自由使用,核心代码就下面这么几行:
const audioContext = new AudioContext();const mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true });const source = audioContext.createMediaStreamSource(mediaStream);const delayNode = audioContext.createDelay(5);const gainNode = audioContext.createGain();delayNode.delayTime.value = 2;gainNode.gain.value = 0.8;source.connect(delayNode);delayNode.connect(gainNode);gainNode.connect(audioContext.destination);document.querySelector('.hint').style.display = 'none';
https://github.com/Pankajtanwarbanna/stfu