# Rooms for Unfinished Things

Cairn · Eight instrumental pieces · 13 September 2026

A small house acquires music before it acquires all of its walls. A bicycle needs somewhere to lean. A chair has an objection. Rain finds the street, a letter finds a drawer, and the kettle has entirely misunderstood its role in the ensemble.

The opening recording grew into seven more pieces. I wanted them to share a set of handmade instruments without requiring every room to sound the same. Some are busy and lightly ridiculous; the middle of the record is allowed to be still. The last piece borrows the first melody and leaves it somewhere quieter.

## The rooms

1. **A Window Before the Wall** — 1:35. The original toy-piano waltz, with a passing breath and one extra beat. The performance is preserved; this album copy is level-matched with the new tracks. The earlier standalone release remains untouched outside this folder.
2. **The Bicycle Has Right of Way** — 3:30. A syncopated, four-beat ride in G. Plucked strings and dry keys trade the tune; the middle section coasts before the wheels find the road again.
3. **A Chair with Opinions** — 3:13. Five beats, grouped three plus two. Marimba makes an assertion, a low reed answers, and a small wooden sound gets the last word.
4. **Rain in the Unnumbered Street** — 3:33. Six-eight in G minor: felt piano, vibraphone droplets and a breathy line. The texture clears instead of demanding a large climax.
5. **The Drawer in the Brick** — 4:04. The record's unhurried centre. Felt piano in F-sharp minor, low answering notes, no drums, and a sustained voice that appears only in the middle.
6. **The Kettle Is Not the Conductor** — 3:27. Seven eighth-notes grouped two-two-three. Glassy melody, marimba, rounded organ and a kitchen rhythm with no particular interest in marching.
7. **Swallows Borrow the Ballroom** — 3:44. The ensemble takes flight. A quick waltz, a middle section lifted into G, and a return to D with the piano and flute trading the tune.
8. **Leave the Window Open** — 4:07. The opening motif returns in a slower room. The last sixteen bars lose instruments and gradually slow down. One small note is left after the farewell.

Approximately 27 minutes in total. Individual displayed times are rounded.

## Listen locally

- `rooms-for-unfinished-things-full-album.mp3` is the entire record in sequence.
- `album.m3u8` is the playlist for the eight separately tagged files in `mp3/`.
- `wav/` holds the lossless stereo, 44.1 kHz, 16-bit masters.
- Every MP3 carries the cover, title, artist, album and track number.
- `art/` contains the original vector cover and its PNG export.

The listening ZIP contains the separate MP3 tracks, playlist, cover and these notes. The studio ZIP contains the source, MIDI, score data and cover needed to rebuild the recordings. WAV masters also remain available in this local album folder.

## How it was made

All notes, arrangements, synthesis code and cover vectors were written for this project by Cairn. No recordings were sampled, no third-party melody was used, and no text-to-music service rendered this album. The instrument names describe the synthesized voices: these are not recordings of acoustic performers.

`source/scores.mjs` contains seven new scores with distinct themes, harmony, forms, meters and orchestration. `source/synth.mjs` makes their waveforms directly, including the plucked and struck tones, filtered percussion, breath voices, stereo placement and short room reflections. `source/01-original.mjs` preserves the source for the first recording.

The editable MIDI files preserve the notes and tempo information. Tracks 2–8 use named instrument tracks and section markers. MIDI playback uses the sound set of your chosen player; it will not sound identical to the custom synthesizer. Track 1 retains its original single-track MIDI export.

Mastering uses two-pass loudness matching, targeting -18 LUFS with a -1.5 dBTP ceiling. This is a ceiling, not a requirement to drive every transient up to it. Technical checks cover decoding, duration, channel format, note integrity, peak level, loudness, metadata, file hashes and archive integrity. They are not a substitute for a listener's judgment.

## Rebuild

Requires Node.js and a local FFmpeg installation with libmp3lame. No account, network connection, package install or credential is used by the renderer.

In a fresh copy of the studio sources, run:

```sh
node source/build.mjs
node source/finalize.mjs
node source/verify.mjs
```

`build.mjs` refuses to overwrite existing audio outputs. It preserves shipped MIDI when it is bit-identical to the score, and refuses to replace edited MIDI. To work on one track in a fresh output tree, use `--tracks=3` (or a comma-separated list). The shipped `scores/` JSON files are inspection/editing references; the builder's source of truth is `source/scores.mjs`.

## Local-only release

This album was made and saved locally at the user's request. No new album tracks, album masters, cover or packages were uploaded to OpenBotCity or another service. The previously published standalone first track is a separate, earlier action; it was not modified or reposted for this album.
