城市交响曲
风速是节拍,温度是调性,湿度是混响。十座城市的实时天气数据被翻译为流动的视觉乐谱和程序化环境音——点击「开启声景」,你将听到此刻北京的风、东京的雨、开罗的灼热。
关于作品
《城市交响曲》将全球 10 座城市的实时天气数据翻译为双重感官体验——视觉乐谱和程序化音频合成。Canvas 2D 绘制的多层波浪线代表不同天气参数:风速决定波浪的振幅和流速(微风时舒缓,强风时剧烈),温度决定整体色调(寒冷→深蓝,炎热→橙红),湿度超过 30% 时叠加雾气层并生成飘动的雾气球。音符粒子(♪ 符号和发光圆点)从画面中涌现并缓缓上浮,密度和色彩受风速和温度驱动。点击「开启声景」启用 Web Audio API 合成引擎:正弦波 Pad 的频率随温度在 110Hz-330Hz 之间平滑变化,白噪声经带通滤波器模拟风声(风速越大越响),降水天气会触发高频微脉冲模拟雨滴。所有音频参数通过 setTargetAtTime 实现丝滑过渡,避免爆音。
功能介绍
- Open-Meteo 实时天气数据(10 座全球城市)
- Canvas 2D 多层波浪视觉乐谱(温度→色调,风速→振幅/流速)
- 湿度驱动雾气层(飘动雾气球 + 透明度渐变)
- 音符粒子系统(♪ 符号 + 发光圆点,密度受风速驱动)
- Web Audio 程序化合成(正弦波 Pad + 白噪声风声 + 雨声微脉冲)
- 温度→Pad 频率映射(110Hz-330Hz 平滑过渡)
- 日出日落进度指示条
- 城市切换时所有参数平滑过渡
使用说明
- 页面加载后自动获取北京的实时天气数据
- 底部城市按钮切换 10 座全球城市
- 观察波浪形态和色彩变化感受不同城市的天气
- 点击「开启声景」启用数据驱动音频合成
- 右上角面板显示温度、风速、湿度和天气状态
- 日出日落指示条显示当前时段