Small tools. One-time purchases. Real examples and setup guides. Try the available previews before buying.

Perunlight Corp

LoopRill · Worked example

Prepare three aligned game-music loop stems

Turn aligned PCM music bounces into equal-length WAV stems, with a release-tail fold and a Calm–Active listening preview.

By Perunlight · AI-assisted. Original demonstration files; sample results checked against the downloadable files. Published .

Begin with bounces from the same starting point

The original example has three layers: Bed, Pulse and Spark. Each source starts at the same musical zero point. The phrase is eight bars at 120 BPM in 4/4, followed by one second of release tail. These are stereo PCM WAV files at 48,000 Hz.

8 bars × 4 beats × 60 / 120 = 16 seconds
16 seconds × 48,000 = 768,000 loop frames
1 second of tail = 48,000 frames
Source range including the tail: 816,000 frames

A sample frame contains one sample for every channel. Keep start and end positions identical across the layers. Matching file names alone cannot show that the bounces are aligned.

Harbor Signal loaded in the running app, with the shared loop span, tail gains and state levels.
Harbor Signal loaded in the running app, with the shared loop span, tail gains and state levels. View full size

Put the release tail under the opening

Choose a shared range beginning at frame 0 and ending just before frame 768,000. The tail begins at that end boundary and lasts 48,000 frames. LoopRill mixes the selected tail into the opening of each layer with a linear fade. The loop stays 768,000 frames long.

Listen across the wrap. A supplied tail can preserve reverb or note release, but folding cannot fix every musical edit. A rhythm hit inside the tail, a badly chosen endpoint or a discontinuity may still sound wrong. Use the waveform and your ears; warnings are only prompts to inspect.

Compare two layer mixes at the same position

The Calm mix can use the bed alone; the Active mix can add pulse and spark. A shared headroom reduction preserves the layers’ relative levels and makes room for their combination. Check the displayed reduction if the result sounds quieter than the sources.

The reference preview follows three complete loops: Calm, a transition to Active, then a transition back to Calm. With the 16-second example, it is 48 seconds long. The default transition is half a second. This file demonstrates the proposed blend; it does not install music logic in a game engine.

Hand over the loops and the choices behind them

  • Confirm every loop WAV has the same rate, channel count and 768,000 frames.
  • Listen to each layer on its own and to the Calm/Active preview.
  • Keep the manifest with frame positions, tail settings, shared gain and output hashes.
  • Save the editable settings and retain the original source WAVs for reopening.
  • Tell the programmer how the two mixes should behave; engine implementation is a separate task.

The export is 16-bit PCM WAV. The tool accepts supported 16- or 24-bit PCM sources but does not resample them, detect tempo or certify a seamless musical result.

The app at a narrow 390-pixel viewport. Desktop Chrome on Linux is the tested working environment.
The app at a narrow 390-pixel viewport. Desktop Chrome on Linux is the tested working environment. View full size

Check the handoff independently

Each loop: 768,000 / 48,000 = 16 seconds
Reference preview: 3 × 768,000 = 2,304,000 frames
2,304,000 / 48,000 = 48 seconds
Tail folding changes opening samples, not the loop frame count.

Expected result: three equally long stems and a 48-second reference preview, with the same shared boundaries recorded in the manifest.

Perunlight product

Prepare your own aligned music loops

Turn aligned PCM music bounces into equal-length WAV stems, with a release-tail fold and a Calm–Active listening preview.

LoopRill · $19 onceRead the illustrated guide

The free pack contains the complete original audio example and expected outputs. The paid ZIP adds the editor for your own matching WAV sources. Desktop Chrome on Linux is the tested environment.