尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A free browser tool that makes printable acoustic diffuser tiles (quadratic residue diffusers) sized to your 3D printer. Pick a series, a wall and your printer bed, check each tile in 3D and download print-ready STL files.
Use it online: https://chronosauros.github.io/diffuser-generator/
The generator was built with AI assistance and the tiles have not been measured. The maths follows Cox and D'Antonio, but I would like people who know acoustics to check it. If you see a mistake or a better way, open an issue or start a discussion.
One HTML file, index.html, that opens from disk or any static host. It loads manifold-3d 3.5.3 and three.js 0.160.0
from the jsDelivr CDN, so it needs a connection the first time.
The maths, the sizing rules, the wall orders and the open questions are written up in docs/how-it-works.md. In short:
index.html - the whole app. Its geometry core, <script id="diffuser-core">, and the bass trap cores,
<script id="bass-physics"> and <script id="bass-geometry">, have no DOM and also run in Node.reference/ - the Python reference implementation: formulas, tile geometry, the far-field model and the layout
optimiser. The generator is a port of it.scripts/ - the equality tests, the fixtures made by the Python code, and the data behind the print estimate.checks/ - independent checks: published recipes through the core, the Fourier model against theory, and the 2D
BEM simulation with its code, raw data and figures (checks/README.md).docs/how-it-works.md - the maths and the design rules; docs/bem-check.md - the BEM results;
docs/bass-traps.md - the bass trap model, its numbers and its limits.CONTRACT.md - what the JavaScript core must match.With Node.js 18 or newer, npm install and npm test run the equality tests: the JavaScript tiles against the Python
reference STL files for all 29 reference tiles and for random parameter sets (heights within 0.01 mm, bounding box
within 0.01 mm, volume within 0.1 %, one closed shell). They do not cover real browser rendering.
To change the geometry, change reference/ and the core in index.html together, regenerate the fixtures with
python scripts/reference.py and run npm test. Python setup: reference/README.md. The print
time and filament fit in scripts/calibration/ was made from Bambu Studio slices; calibrate.py documents how, but
needs the slicer setup it was made with.
Contributions: CONTRIBUTING.md.
The generator and the Python reference are licensed under the GNU General Public License v3.0 (LICENSE). You may use, change and share them, also commercially, as long as anything you distribute that is based on them stays under GPL-3.0 with its source. The ready-made tile files published on Printables have their own licence, CC BY-NC-SA 4.0, stated on the model page. The embedded Geom font is under the SIL Open Font License 1.1.
Set in Geom, copyright 2022 The Geom Project Authors (https://github.com/ThanosPoulakidas/Geom), SIL Open Font License
1.1 (https://openfontlicense.org); the font is embedded in index.html. Geometry with
manifold-3d, preview with three.js. Formulas after
T. J. Cox and P. D'Antonio, Acoustic Absorbers and Diffusers, 3rd ed., CRC Press, 2016. The frequency band is
design intent, calculated from the shape of the tiles, not a measurement.
Made by Soundblooms.