# 音频素材来源与许可

`js/audio.js` 使用的录音。全部可在公开网站上再分发：CC0 / 公有领域，或 CC BY（需署名，见下）。
所有文件都经过 ffmpeg 处理：裁剪、转单声道（环境循环保留立体声）、重采样、响度归一（循环 -20 LUFS、警报 -18 LUFS、一次性声音峰值 -1 dBFS），编码为 MP3。
循环素材首尾做了等功率交叉淡化，两端还各留有一段“绕回”余量，用来抵消 MP3 编码延迟；无缝循环区间写在 `audio.js` 的 `CLIPS` 表里。
某个文件载入失败时，`audio.js` 会改用原来的合成声音。

| 文件 | 用途 | 时长 | 大小 | 来源 | 作者 | 许可 |
|---|---|---|---|---|---|---|
| sea.mp3 | 海浪（循环，立体声 32 kHz） | 42.5 s | 416 KB | [Beach sounds South Carolina.ogg](https://commons.wikimedia.org/wiki/File:Beach_sounds_South_Carolina.ogg)（截取 7–50.5 s） | Anthropic42 (en.wikipedia) | 公有领域 |
| roar.mp3 | 海啸水声（循环，代码里降调） | 21.0 s | 124 KB | [Ocean Waves on a Tropical Beach.ogg](https://commons.wikimedia.org/wiki/File:Ocean_Waves_on_a_Tropical_Beach.ogg)（截取 120–141.5 s） | Jarrod Stanley (J.D. Savanyu) | CC0 1.0 |
| fire.mp3 | 火（循环） | 29.0 s | 199 KB | [WWS Bonfireburning.ogg](https://commons.wikimedia.org/wiki/File:WWS_Bonfireburning.ogg)（截取 12–41.5 s） | Work With Sounds / Werstas | **CC BY 4.0** |
| crowd.mp3 | 人群嘈杂（循环，立体声） | 29.0 s | 227 KB | [360703 eguobyte large-crowd-medium-distance-stereo.wav](https://commons.wikimedia.org/wiki/File:360703_eguobyte_large-crowd-medium-distance-stereo.wav)（原载 freesound.org/s/360703） | eguobyte | CC0 1.0 |
| raid.mp3 | 防空警报（整段） | 74.5 s | 364 KB | [Civil-defense-siren-waver.ogg](https://commons.wikimedia.org/wiki/File:Civil-defense-siren-waver.ogg) | Techtonic | 公有领域 |
| siren2.mp3 | 救护车高低双音（循环） | 3.9 s | 24 KB | [WWS Fireenginesiren.ogg](https://commons.wikimedia.org/wiki/File:WWS_Fireenginesiren.ogg)（截取一个高低音周期） | Work With Sounds / Konrad Gutkowski | **CC BY 4.0** |
| wail.mp3 | 消防车电子警笛（循环） | 9.7 s | 57 KB | [Whelen.ogg](https://commons.wikimedia.org/wiki/File:Whelen.ogg)（截取 0.05–9.75 s） | Heggyhomolit | CC0 1.0 |
| boom.mp3 | 燃气爆炸 | 1.7 s | 21 KB | [2 High Quality Explosions](https://opengameart.org/content/2-high-quality-explosions)（explode.wav） | Michel Baradari (apollo-music.de) | **CC BY 3.0** |
| debris1.mp3, debris2.mp3 | 倒塌碎块（混音合成） | 3.6 s / 3.2 s | 36 KB / 32 KB | [Assorted gravel rock and stones.ogg](https://commons.wikimedia.org/wiki/File:Assorted_gravel_rock_and_stones.ogg)（截取 41–44.6 s、16.4–19.6 s），叠加 [75 CC0 breaking / falling / hit sfx](https://opengameart.org/content/75-cc0-breaking-falling-hit-sfx) 里的 rock_breaking / rock_falling / falling / breaking / wood_breaking | stephan (pdsounds.org)；rubberduck | 公有领域；CC0 1.0 |
| glass1.mp3 | 玻璃碎裂 | 1.3 s | 16 KB | [Glass Break](https://opengameart.org/content/glass-break) | Till Behrend | CC0 1.0 |
| glass2.mp3 | 玻璃碎裂（混音合成） | 1.6 s | 20 KB | [75 CC0 breaking / falling / hit sfx](https://opengameart.org/content/75-cc0-breaking-falling-hit-sfx)（glass_breaking_06 + glass_falling_02） | rubberduck | CC0 1.0 |

合计约 1.5 MB。

## 署名（CC BY 素材）

- “Bonfire burning” by Work With Sounds / Werstas, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)，经剪辑、混成单声道并做成循环。
- “Fire engine siren” by Work With Sounds / Konrad Gutkowski, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)，截取一个音调周期并做成循环。
- “Explosion” by Michel Baradari (apollo-music.de), [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)，混成单声道并重采样。

仍为实时合成、没有使用录音的声音：地鸣、物件磕碰、结构吱嘎、汽车报警器，以及爆炸 / 倒塌的低频冲击（与录音叠加）。
