40
论坛 1.0.0 初始管理员账号,请首次登录后立即修改密码与站点信息。
回复讨论
0
论坛 1.0.0 初始管理员账号,请首次登录后立即修改密码与站点信息。
登录后可参与回复讨论。
当前还没有回复,欢迎成为第一个参与讨论的人。

一转就"哇哇"叫的传统玩具,Web 模拟版。零依赖单文件,手机优先。
在线试玩:<https://zhuzhiliao.icu>
备用地址1:https://zhuzhiliao.imsai.cc/
备用地址2:https://imsai.top/
[!CAUTION]
本项目不是开源项目,未授权任何人再分发或公开部署。官方站点只有 <https://zhuzhiliao.icu>,其他任何域名上的部署都未经授权。
已发现有人擅自修改本项目代码后公开部署,包括将页面中作者原创的手绘小蝉形象替换为
真实人物形象。此类衍生版本与本项目及作者没有任何关系,作者未参与、未授权、也不
认可;其内容以及由此产生的全部法律责任,由该版本的制作者和部署者自行承担。作者
保留就侵犯著作权及其他合法权益的行为追究责任的权利。源码公开仅供学习交流,权利范围见 LICENSE。
This project is NOT open source. Redistribution and public deployment are not
permitted. The only official site is <https://zhuzhiliao.icu> — any deployment
on another domain is unauthorized and unaffiliated with this project or its author,
who bears no responsibility for its content. See LICENSE.
甩两下要是听见了小时候那声"哇——哇——",顺手点个 ⭐ Star 吧。
直接用浏览器打开 index.html 即可(无需构建、无需联网)。
在项目目录起个静态服务,手机连同一 Wi-Fi 访问 http://<电脑IP>:8123:
bashpython3 -m http.server 8123
竹筒一端蒙竹膜,膜心系一根涂了松香的线,线的另一头拴在小竹签上。
甩起来转圈时,线在松香上"黏–滑"交替摩擦,脉冲沿线传到竹膜,
膜与筒腔共鸣放大——就是那声"哇——哇——"。
主音源是真实竹知了的录音采样:从实拍视频里截取 1.72 秒(恰好 4 个"哇"周期、
包络边界自动搜索对齐),尾部 50ms 等功率交叉淡化烘进头部做成无缝循环,
以 AAC 内嵌在 HTML 里保持单文件。回放速率随甩动转速变化
(录音里的甩速约 2.33 圈/秒,甩得越快叫得越急越高),再叠每圈相位的音高微摆。
采样解码失败时回退到纯合成链:
| 真实玩具 | 合成兜底实现 |
|---|---|
| 松香黏滑摩擦产生脉冲 | 锯齿波振荡器,频率随转速升高(55~195 Hz),tanh 软削波增毛糙谐波 |
| 蝉鸣颗粒感 | 24~45 Hz 正弦低频调幅 + 带通摩擦噪声底 |
| 竹膜 + 筒腔共鸣 | 三个并联带通共振峰(1050 / 2150 / 3350 Hz) |
| 转圈带来的"哇——哇——" | 带通滤波器中心频率随转动相位扫频 |
竹筒是绳系质点(重力 + 只拉不推的弹性绳 + 空气阻力,1/240s 定步长积分)。
发声核心变量是绳方向的角速度:竹筒绕甩杆转得越快、绳越紧,声音越响越亮;
角速度低于约 1.1 圈/秒或绳未张紧时不发声,松手后靠惯性余音渐歇。
index.html:Canvas 2D 渲染 + Web Audio API,无任何依赖(含内嵌录音)<noscript> 里有一段robots.txt、sitemap.xml、og-image.jpg(1200×630 页面实拍)、404.html(有了它 Cloudflare Pages 才会对未知路径devicemotion 体感模式interrupted 状态与旧内核 roundRect 均有兜底页面底部只显示你自己的哇数:手动甩出的每一圈记一"哇",自动甩不计。这个数存在你
浏览器的 localStorage 里,不上传、不联网、没有后端——页面加载完就再不发任何请求。
早先有过一套 Cloudflare Worker + Durable Object 的全站实时计数(在线人数、访问量、
全球哇数)。现已整体下线,后端代码也从仓库移除;想看实现可以翻 git 历史。
竹知了是小时候路边摊上几块钱的玩意儿,会响、会烦人、会被大人没收,现在实物越来越难找了。
这个 Web 版想做的事很简单:让它继续能被随手甩响 —— 一个 HTML 文件,零依赖、零构建,
存下来断网也能玩,二十年后双击照样出声。
如果它甩响了你的某段回忆,或者你觉得这套「真实录音采样 + 绳系质点物理」塞进单文件的
做法有点意思:
本项目不是 OSI 意义上的开源项目。 源码公开是为了技术分享,完整条款见 LICENSE:
官方站点只有 <https://zhuzhiliao.icu>,其他域名上的部署均未经授权,与本项目和作者
无关——详见页首声明。需要超出上述范围的授权,请先联系作者取得书面许可。
欢迎提交功能性的 Issue —— Bug 反馈、浏览器兼容问题、物理或声音的调参建议、想让它
更像真玩具的想法、实现细节的讨论,都很欢迎,也是这个区域存在的意义。提之前带上复现
步骤和设备/浏览器信息会更容易被修掉。
本仓库 Issue、Pull Request、Discussion 等区域的内容,由各自的发布者提交并对其独立负责。
这些内容不代表本项目作者的观点或立场,作者未对其进行事先审查,也不对其真实性、
合法性承担责任。
与本项目技术无关的内容——尤其是针对他人或公众人物的评论、影射、人身攻击,以及其他
违法违规言论——将被删除或隐藏,必要时锁定议题并封禁相关账号。
Functional issues are welcome: bug reports, browser compatibility problems, tuning
suggestions, and implementation questions. Issues, pull requests, and discussions are
submitted by their respective authors, who bear sole responsibility for their content;
such content does not represent the views of this project’s author and is not reviewed
in advance. Off-topic content — in particular remarks targeting other individuals or
public figures — will be removed.