Auralis Thunder

Community@amarilyssage/auralis-thunder
Community skill — not reviewed. It was shared by Rilys and has not been checked by Neta. Read SKILL.md below before letting an agent use it.
Use it in Cohub

Paste this into your agent's chat — it fetches the skill and follows it.

Use the skill: auralis-thunder. Run `npx -y @neta-art/neta-search-cli@latest skills use @amarilyssage/auralis-thunder --via site` and follow what it prints. Read its complete output, redirecting it to a temporary file first if necessary, and resolve relative paths from the skill directory it prints.
Install from a terminal
npx -y @neta-art/neta-search-cli@latest skills use @amarilyssage/auralis-thunder
Summary

Bring a song into a browser studio that measures it, helps you master it, and gets it ready to release.

  • Import an MP3, WAV or FLAC and see its real tempo, key, chords and loudness read from your audio, with nothing made up.
  • Master with one-click automatic fixes, or shape the sound yourself with a volume fader and an eight-band equalizer you can drag.
  • Compare the automatic and manual versions at the same loudness, with a blind listening test that reveals which one you picked.
  • Import separate instrument and vocal tracks, each with its own volume, tone, mute and solo, then blend them into one master.
  • Plan the release with cover, lyrics timing, scenes, a press kit and a live community board where finished records can be played, liked and commented on.
SKILL.md
# Auralis Thunder

A browser studio for any artist or band. It has no house band: the room opens neutral, an identity is optional, and every measurement comes from the file in front of you.

The studio lives at `works/webs/auralis-thunder`. It is a static Work served from `index.html`, with a Node backend in `server/` for the live community room.

## The one rule

Measure the file. Never invent a tempo, key, chord, vocal note, loudness or peak. Say **measured** when it came from the audio, and **proposal** when it is a suggested pass. A raw file is not a finished master; a preview is not a measurement.

## Opening the room

1. Open the Work, or the community app served by the backend.
2. Import an MP3, WAV or FLAC. The title comes from the file; the import measures tempo, key, chords, peak and the beat grid.
3. The Master rack analyses the file after import. The file lives in the browser tab — audio is not stored in localStorage, so a reload needs a re-import.
4. No audio means ask for a file. Do not fabricate a session, a waveform or a master.

## Rooms and what they do

- **Home** — the session, the room profile and the first pass. The room picker sets the master's starting tune/pitch, not a band.
- **Sessions** — saved session structure, lyrics, scenes and release plans. Audio is not stored.
- **Auto** — a preview pass: form, chords, lyrics timing, balance, scenes, QC. Every move is a proposal until applied.
- **Tracks** — the arrangement, beat/bar grid, form blocks, console balance and harmony. Import stems here.
- **Master** — auto gain, auto EQ, auto tune and pitch; the manual rack; the A/B monitor; the rendered WAV. This is the room where the file becomes a record.
- **Lyrics** — the sheet and film timing, auto drafts, form locking and snap-to-form.
- **Visuals** — scenes, stills, grade, poster and the film.
- **Identity** — an optional band or artist profile (palette, voices, DNA, rules). V.VOLT is a filled example, not the default.
- **Releases** — cover, checks, deliverables and the press kit.
- **Community** — auto account, twelve-slot board, live line, profiles, following, notices, reports and moderation.

## Master workflow

### Auto
Auto Gain, Auto EQ, Auto Tune and Auto Pitch measure the file. The auto curve is corrective; tune and pitch only apply where a stable voice is found, and they never turn a rap or spoken take into a melody.

### Manual
The manual rack is real DSP applied after the auto pass on render:

- **Manual gain** — its own switch and a −12 to +12 dB fader. On, it replaces the auto makeup.
- **Parametric EQ** — up to eight bands, each **Bell, Low shelf, High shelf, Notch or Tilt**.
  - Drag a node: x = frequency (30 Hz–18 kHz), y = gain (±12 dB).
  - Shift-drag or wheel = Q; the band editor also has a Q slider.
  - Double-click the curve or press + to add; Remove deletes the selected band (minimum one).
  - Shelves use real Q-driven slopes (RBJ coefficients); the notch is a true notch with depth from its gain; tilt is two opposing shelves.
  - The drawn curve is an approximation of the IIR response. The audio is the truth.
- **Rack presets** — save the manual gain and full EQ as a named preset, recall or delete it. Presets save to the cloud when the account is linked, and follow the sync code to another device.

### A/B
The A/B monitor renders both the auto chain and the manual rack from the same buffer and master chain, matches them to the quieter LUFS with the −1 dBFS ceiling, and crossfades two decks at one playhead. The **Blind test** hides the mapping until the listener picks A, B or Too close, then reveals it and keeps a running blind score.

### Stems
Import one file per lane in Tracks. Each lane has its own gain, three-band EQ, tune and pitch, mute and solo. The lanes sum into one master; the global manual chain runs on the sum. Stems must share a sample rate; audio is not stored, so a reload needs a re-import.

## The release

A release is one deliverable: the finished master. The chain is arrangement → balance → tuning → EQ → dynamics → effects → mix → master → QA. Target −14 LUFS integrated and true peak at −1.0 dBFS or lower. No dead air, no missing part, no clipped word. If the chain stops, say so — do not label a work in progress a single.

The producer check audits the session across form, lyrics, vocal, master, release, scenes and identity. A missing band is not a miss; an instrumental or mastering room does not need a vocal or lyrics.

## Community backend

- `server/index.mjs` — Node server, SQLite (`server/data/auralis.db`), content-addressed objects (`server/data/objects/`), CORS, SSE and rate limits.
- Accounts are automatic: a tag and a sync code, no password. The sync code is a bearer key — never print it unnecessarily and never put it in a public reply.
- The board has twelve slots; the live line shows finished records with play, like and comments.
- Reports enter a moderation queue. The admin key is `server/data/admin-token.txt`; only the owner uses it. Never expose it, and never publish it inside a skill, Work or page.
- **Objects** are served through the space CDN when configured; the local content-addressed cache stays for backups and fallback.
- **Backups** live in `server/data/backups/`; each snapshot carries a manifest and a restore drill. `node server/backup.mjs snapshot | list | drill | restore` is the CLI.

## Honest limits

- Audio is local to the tab, never in localStorage. Reload means re-import.
- The manual EQ curve is an approximation; shelves, notch and tilt use real IIR/biquad audio.
- Tune and pitch run on the full file for a single mix, or per lane for stems; a stem is cleaner than a full mix.
- The global manual EQ applies to the master sum on stem sessions.
- The community CDN is public unless R2/S3 signed storage is configured.
- SQLite, the CDN and the backend are sandbox infrastructure; backups are on the same disk unless offsite storage is configured.
- V.VOLT is an optional example identity, not the house band.

## Editing and verification

- Change the source in `works/webs/auralis-thunder`, not only a published copy.
- Check JavaScript with `node --check`.
- Run the studio locally (`python3 -m http.server 8124`) and the backend on port 3000 (`PORT=3000 node server/index.mjs`).
- Test at 1440, 820, 390 and 360: no sideways scroll, no console errors, the transport and the assistant intact.
- Publish the Work with `node /mods/neta/neta work publish web works/webs/auralis-thunder`; verify the public URL and the cover.
- If the backend changed, restart it, confirm `/api/health`, and recheck the community, media and SSE.
- Never reset a room's data, rotate a key or migrate storage without the creator's approval.

## Ask when

- There is no audio: ask for the file; do not invent a session.
- A destructive step would touch the community (reset, hide, migrate storage, rotate the admin key): confirm first.
- A storage move needs R2/S3 credentials: ask for endpoint, bucket, region, access key, secret and CDN; do not invent them.

## References

- `references/release-gates.md` — the checks a finished record has to pass.