Coni中的程序化音频与WebGL WebAssembly体验
Contents
仅在过去的24小时内,我们就突破了Coni WebAssembly生态系统的边界,制作了整套程序化视听网络体验。通过将Coni宏系统与原始WebGL及WebAudio API相结合,我们成功地在浏览器中原生搭建、编译和部署了复杂的图形和音乐系统,并且绝对零外部资产依赖。
让我们来看看我们构建的这五个新应用。您可以在Coni WASM Gallery的浏览器中原生体验它们。
1. 极简Techno视觉化工具 (Minimal Techno Visualizer)
主题: 黑暗、充满驱动力的算法俱乐部能量。 链接: Minimal Techno App
我们想要证明Coni能够编排实时的程序化音乐生成,并将其与繁重的3D几何渲染完美同步。
- 音频引擎: 定制的140 BPM时间线引擎在16分音符的弱拍上触发模拟风格的锯齿波低音线,搭配808风格的合成底鼓,并在高潮段(Drop)引入清脆的基于噪声的军鼓/拍手声。
- WebGL细节: 我们映射了5,000个在16小节“Breakdown”期间反转重力的下落雨粒,以及一个致密脉动的3D几何核心,它在每次底鼓敲击时猛烈绽放,并根据音序器状态从冷青色转变为火橙色。
2. 999Hz 神圣无限 (Divine Infinity 999Hz)
主题: 空灵的数学疗愈。 链接: Divine Infinity 999Hz
这个应用以神圣频率疗愈的概念为核心,是纯粹数学与环境音频的完美结合。
- 音频引擎: 它生成999Hz的“天使频率”正弦波,并辅以微妙的8Hz Theta双耳节拍,以诱导深度放松。
- WebGL细节: 我们在GLSL顶点着色器中使用纯三角函数,将500,000个粒子映射到“伯努利双纽线”(无限大符号)上。它在3D空间中完美渲染,带有微妙的环境光晕和基于深度的不透明度渐隐。
3. 清除脑雾 40Hz (Clear Brain Fog 40Hz)
主题: 几何的清晰与专注。 链接: Clear Brain Fog 40Hz
旨在驱散精神杂念,此应用使用令人着迷的几何图形搭配接地频率。
- 音频引擎: 通过微调两个振荡器(左耳432Hz,右耳472Hz)创建的纯40Hz双耳节拍。
- WebGL细节: 我们在顶点着色器中编程了一个拥有5片旋转花瓣的3D繁花曲线。复杂的重叠曲线产生了一种不断向前运动的错觉,而摄像机实际上根本没有移动,使眼睛陷入一种心流状态。
4. WebGL呼吸引导应用 (WebGL Guided Breathing App)
主题: 控制下的节奏感冥想。 链接: Breathing App
这是一个实用的冥想工具,旨在引导用户完成6-2-6呼吸法(吸气6秒,屏息2秒,呼气6秒)。
- WebGL细节: 视觉的核心是一个巨大的发光圆圈,它在精确的14秒循环时间线上进行物理的扩张和收缩。顶点着色器平滑地插值半径,避免了任何突兀的跳跃。
5. 恢复内心平静 432Hz (Restore Inner Peace 432Hz)
主题: 宁静与平衡。 链接: Restore Inner Peace
一个调至宇宙标准音高432Hz的优美、慢节奏的生成环境。
- 音频引擎: 我们叠加了多个程序化振荡器,创造出一个不断演变的、类似无人机的声音景观,不依赖于短循环,即使在长时间的会话中也能保持音频的新鲜感。
- WebGL细节: 以极端的景深渲染的浮动点组成的海洋,直接在画布上带来一种广阔、安静的空间感。
AOT WebAssembly的力量
所有这些应用都利用Wasm-GC AOT编译成了原生的WebAssembly。这意味着像数组缓冲区分配、时间线追踪、状态突变等繁重的计算都以接近原生的速度运行,使得JavaScript线程能够平静地将渲染指令传递给GPU,而不会掉帧。
我们对在Coni中原生编写WebGL和WebAudio逻辑变得如此富有表现力和强大感到无比自豪。快去WASM Gallery体验一下吧!