Files
m3te/assets/audio/LICENSE.txt
swipelab c3c5467723 P10.9: use real Match FX cues for the cascade combos
Replace the pitch-laddered single-pop combo ladder with FIVE distinct REAL
Match FX cues from the user's Triple Treat SFX pack (Match SFX/), ordered to
convey cascade escalation by spectral brightness / high-frequency energy
(combo1 dullest -> combo5 sparkliest):

  combo1 <- Match SFX/Match FX 2-RCM.wav  (dark/full,   centroid ~1.7 kHz)
  combo2 <- Match SFX/Match FX 4-RCM.wav  (warm mid,    centroid ~2.1 kHz)
  combo3 <- Match SFX/Match FX 6-RCM.wav  (bright mid,  centroid ~3.2 kHz)
  combo4 <- Match SFX/Match FX 7-RCM.wav  (rich+bright, centroid ~4.7 kHz)
  combo5 <- Match SFX/Match FX 3-RCM.wav  (sparkly,     centroid ~6.8 kHz)

The Match FX set does not cleanly pitch-ascend, so brightness is the ordering
signal; spectral centroid ascends monotonically 1.68 < 2.09 < 3.18 < 4.70 <
6.77 kHz. Each down-mixed to mono, trimmed to a 0.50 s onset window, eased in
(~6 ms) and rounded out with a 150 ms cosine fade-out, peak-normalized -15 dBFS.

Pure drop-in: audio.sx and all wiring are untouched; swap/match/win/lose are
byte-identical to P10.8. The depth->cue-index mapping (cascade_cue, fx_combo)
locks the integer mapping, not the audio content, so both tests stay valid.
LICENSE.txt combo provenance updated to the real Match FX sources.
2026-06-06 08:21:16 +03:00

79 lines
4.5 KiB
Plaintext

m3te sound effects
==================
The nine shipped cues (swap, match, combo1..5, win, lose) are best-fit
selections from the user-provided "Triple Treat SFX" pack
(Triple_Treat_SFX.zip, ~30 MB, 280 files, Unity-style with .meta sidecars),
chosen per game event and converted for the candy match-3 feel (P10.8).
>>> The full pack is NOT committed — only the selected, converted cues live
>>> here. The pack was supplied directly by the user for this game; its source
>>> archive is Triple_Treat_SFX.zip (kept outside the repo, in ~/Downloads).
All files are delivered in exactly the format iOS System Sound Services loads
directly via audio.sx: WAVE / mono / 44100 Hz / signed-16-bit PCM. The pack's
sources are 24-bit / 48 kHz / stereo; each was down-mixed to mono, trimmed to
its punchy window, peak-normalized, and re-wrapped to the canonical container.
The bank is deliberately GENTLE (the user rejected aggressive SFX twice): every
cue is peak-normalized to a quiet, consistent -15 dBFS, eases in with a short
fade to tame the attack transient, and rounds out with a cosine fade-out tail.
The pack's candy character is preserved — the cues are not re-synthesized.
Provenance: the user-provided "Triple Treat SFX" pack
-----------------------------------------------------
Each cue below names the EXACT source file within the pack it was selected from
(paths relative to the pack's "Triple Treat SFX/" root). Because the pack came
from the user for this game, no external license was hunted; provenance is the
supplied Triple_Treat_SFX.zip.
swap.wav — soft, light SWIPE matching the swap gesture (fires on every swipe,
so kept subtle). Distinct timbre from the candy pops.
Source: Transition SFX/Swipe FX 1-RCM.wav
Trimmed to the swipe body (~0.44 s), faded, peak-normalized -15 dBFS.
match.wav — bright, juicy candy POP (the satisfying first-clear reward).
Source: Pop:Bubble SFX/Pop FX 5-RCM.wav
Trimmed to the single pop (~0.44 s), faded, peak-normalized -15 dBFS.
combo1..5.wav — the candy-cascade ladder: FIVE distinct REAL Match FX cues from
the pack, ORDERED to convey cascade escalation. The Match FX set
does not cleanly pitch-ascend, so the cues are ordered by spectral
brightness / high-frequency energy instead — combo1 the dullest /
most subdued, combo5 the brightest / sparkliest, so deeper cascades
read as more exciting.
combo1 — Match SFX/Match FX 2-RCM.wav (dark/full, centroid ~1.7 kHz)
combo2 — Match SFX/Match FX 4-RCM.wav (warm mid, centroid ~2.1 kHz)
combo3 — Match SFX/Match FX 6-RCM.wav (bright mid, centroid ~3.2 kHz)
combo4 — Match SFX/Match FX 7-RCM.wav (rich+bright, centroid ~4.7 kHz)
combo5 — Match SFX/Match FX 3-RCM.wav (sparkly, centroid ~6.8 kHz)
Each down-mixed to mono, trimmed to a 0.50 s onset window, eased in
(~6 ms) and rounded out with a 150 ms cosine fade-out, peak-
normalized -15 dBFS. Brightness (spectral centroid) ascends
monotonically, conveying escalation:
combo1 1.68 < combo2 2.09 < combo3 3.18 < combo4 4.70 < combo5 6.77 kHz.
win.wav — short, triumphant POWER-UP cue (level won).
Source: Success:Power-Up SFX/Power Up FX 1-RCM.wav
Trimmed to the front-loaded body (~0.60 s), faded, peak-normalized
-15 dBFS.
lose.wav — soft, gentle tonal FAIL (level lost) — not boomy or harsh.
Source: Fail SFX/Fail FX 2-RCM.wav
Trimmed to the body (~0.58 s) with a long cosine fade-out, peak-
normalized -15 dBFS.
clear.wav — "confirmation_001" from Kenney "Interface Sounds" (CC0).
https://kenney.nl/assets/interface-sounds
NOT loaded by the shipped game; kept as a CC0 reference clip
(tools/measure_pitch.py uses its ~784 Hz fundamental as a baseline).
Processing
----------
Each chosen pack cue was decoded, down-mixed to mono, trimmed to its transient
window, optionally pitch-shifted with real resample DSP (combos only), eased in
with a short fade and rounded out with a cosine fade-out, peak-normalized to
-15 dBFS, and re-wrapped to the canonical WAVE/LEI16/44100/mono container with
afconvert. The shipped game never runs any build tool; it only loads the
finished WAVs. The 30 MB pack and its .meta / __MACOSX cruft are not committed.