Free guide and practice pack. The program is supplied separately in the complete BragiWave bundle. The inner-ZIP instructions below refer to that bundle. Previously obtained copies retain their original rights.
01 / Get ready
From ZIP to a saved project
This is a silent synthetic exercise. Your own project needs its own contract and a listening pass.
Extract twice
Extract this guide bundle, then extract program/bragiwave-preview-20260929.zip. In the inner folder, keep app/lib beside the four app/*.lua scripts.
Register one action
In REAPER 7, open Actions → Show action list → New action → Load ReaScript. Select app/bragiwave_panel.lua. The other three scripts are optional direct actions.
Set the WAV format
Open REAPER’s Render dialog and select WAV, 24-bit PCM, stereo for this demo. Close it with those settings retained. BragiWave sets render bounds and sample rate for the run, but does not select bit depth or the WAV format.
Keep the project in its own folder. The example contract uses a render output folder beside the saved project. Start with that folder empty; Preflight may create it if it does not exist.
02 / Make the example
Three regions, one contract
The file here is already named exactly as BragiWave expects. It is byte-for-byte equivalent to the demo contract inside the program.
Create and save the regions
In a new REAPER project, create three regions with the names and time bounds below. Save the project as
bragiwave-demo.RPPin a new folder. The project may contain silence for this structural check.Place the contract beside the project
Copy bragiwave.contract.json into that project folder. The resulting layout should be:
bragiwave-demo/ ├── bragiwave-demo.RPP └── bragiwave.contract.json (BragiWave creates render/ and bragiwave-reports/ as needed)Run, confirm, inspect
Open the BragiWave panel action. Select Preflight; resolve any listed errors. Then select Render & Verify and confirm the render. Read the panel verdict and the report in
bragiwave-reports/.
The source region list is also in regions.csv.
03 / Read the outcome
What a pass looks like
The table gives the exact synthetic target, so the result stays readable on a phone. It is an expectation, not a live check of your files.
| Region and WAV | Start → end | Expected frames, including 0.25 s tail |
|---|---|---|
| sfx_ui_click_01.wav | 0.00 → 0.50 s | 36,000 |
| sfx_ui_back_01.wav | 1.00 → 1.75 s | 48,000 |
| sfx_ui_confirm_01.wav | 2.50 → 2.90 s | 31,200 |

Swipe the image horizontally on a narrow screen. The accessible table above holds the same file targets.
Find the report: bragiwave-reports/bragiwave-latest.txt is the readable summary; the matching .json is for diffing or attaching. Preflight writes no report. Render & Verify records a pre-render snapshot for freshness; Verify only checks existing files without proving freshness.
04 / Recover
If you do not get PASS
Read the issue code and affected file in the report, fix the cause, then use a clean output folder for the next render.
Preflight says the project is unsaved or dirty
Save the project after making or moving regions, then run Preflight again. The demo contract expects the three names and bounds shown above.
The contract is missing or invalid
Check that bragiwave.contract.json is beside bragiwave-demo.RPP and is valid JSON. Use Reload contract after editing it. Keep the original demo contract available for comparison.
The output folder is occupied, or a WAV is unexpected
Move the previous files out of render/, leaving it empty, then run Render & Verify again. BragiWave refuses an occupied output for this contract so an older render cannot masquerade as fresh.
A file has the wrong format or frame count
For format failures, select WAV and 24-bit PCM stereo in REAPER’s Render dialog and rerun from an empty output folder. For frame failures, compare the region start and end with the table above and check the issue in the text report.
You switched REAPER project tabs
The panel reloads the newly active project first. Check its contract and output rows, then select your command again.
Scope
What this check establishes
BragiWave checks expected filenames, file count, WAV structure, PCM geometry and frame counts against the contract. It does not inspect samples or listen. Loudness, clipping, silence, phase, tails and creative quality still need your own listening and acceptance pass.
REAPER is licensed separately. The program was checked with REAPER 7.80 on Linux using synthetic material; macOS, real projects and audio devices remain unverified. Work on a copy of a project. The inner program retains its original preview permissions and license notices; the guide bundle does not add activation or change those rights.
For installation details and report definitions, read app/README.md and app/docs/CONTRACT.md in the inner ZIP. To remove the program, delete its Scripts folder and remove its actions from REAPER’s action list; reports in project folders remain.