Arc documentation
Opening a REAPER project in Arc
Arc reads a REAPER .RPP and writes its own document. Most of a session crosses exactly. This is what does not, why, and what to do about it. Every figure here was measured off REAPER renders rather than read off a menu.
A conversion reports all of this as it runs, track by track. This page is the reasoning behind it.
Arc pans at constant power. REAPER does not.
Arc uses one pan law everywhere a pan appears — on a track, on a folder, on a clip. The image lands where the tangent law puts it, and the level does not move: a source measures the same loudness at every pan position. Hard left and hard right are 3.01 dB up on the channel that is left, because all of the source's energy is in one loudspeaker instead of split between two.
That is not a stylistic choice. Two loudspeakers playing the same signal into a room sum acoustically at +3 dB, not +6, and ITU-R BS.1770 — the loudness standard every delivery is judged by — weights left and right equally and sums their squares. Constant power is the only law under which panning does not move the meter.
REAPER uses two other laws, and neither is that one:
| REAPER | Arc | |
|---|---|---|
| Track pan | A cosine / sine pair on a scale running 1.0 at hard pan to √2 at centre — constant power nowhere, a balance nowhere | Constant power |
| Take pan | A plain balance: the far side comes down, the near side is left alone | Constant power |
| Pan envelope | Adds to the knob, with the envelope's sign inverted | Replaces the knob |
The pan numbers themselves cross unchanged, so what you hear is:
- A track panned between centre and hard over images very close to where it did. At half pan REAPER puts 7.66 dB between the channels and Arc puts 8.72. Its level is steadier than the session's was, because REAPER's own curve sags about half a decibel across the sweep.
- A hard-panned take pan arrives 3.01 dB louder than it was. Where those are the two legs of a stereo pair kept as two mono files, that is the whole pair 3 dB up — and one fader on the track puts it back.
- A pan envelope crosses as the pan REAPER plays, not as the numbers the file stores. Arc does the arithmetic at conversion time.
Centre and hard over are the two positions every pan law agrees on. A session panned only to those places is unaffected by any of this.
A time-stretched clip crosses, and is resynthesised rather than copied
REAPER plays a clip at a rate of its own, and Arc now does too. The rate comes across as a property of the clip, so it stays something you can change afterwards rather than something baked into a new file. Whether the pitch travels with the speed comes across with it: leave it behind and the clip holds its key, take it along and the clip is a tape machine.
Holding the key means rebuilding the sound rather than copying it, so a stretched clip will not null against REAPER's own stretcher. What it will do is measured: the length is exact to the sample, a tone holds its pitch to under a cent between rates of 0.63 and 1.28, and the level does not move. A crossfade that involves a stretched clip is left at equal power, because a join is solved on the samples in the file and those are no longer the samples you hear.
Two parts of REAPER's stretching have no equivalent in Arc yet: transposing a clip by a number of semitones, and stretch markers, which pull the timing about inside a single clip rather than setting one rate over it. Those clips come across without that part, counted in the report and carrying a line in the document saying what was left behind — which is better than holding a whole session back over one clip, and three of the sessions here would have been held back by exactly one.
Things that cross, but not intact
| What | What happens |
|---|---|
| A plugin Arc cannot host | Stops the conversion by name. Convert the raw session without effects, or proceed without those plugins, once you have read the list. |
| A missing audio file | Stops the conversion by name. A document that renders while quietly missing a microphone is the worse outcome. |
| A take summed to mono | Refused: Arc's channel selection chooses channels rather than summing them. |
| Track width | Crosses as a width slot at the head of the chain. A negative width is a left–right channel swap, which Arc has no equivalent for; the width crosses and the swap is named. |
| Dual pan | No per-channel pan in Arc. Both values are named and dropped. |
| Polarity invert | Crosses as a polarity slot at the very head of the chain. |
| Fade shapes | The nearest curve Arc draws, named in the report with how far off it is. |
| Fade lengths | REAPER stores a typed length and an automatic one and plays the automatic; that is the one that crosses. |
| A clip with several takes | The first take crosses, and the report says so. |
| A repeated passage | Folded into a repeat rather than copied. One session went from 50,348 clips to 8,664, and renders identically. |
After a conversion
- Read the report. Everything above that applied to your session is in it, by track name.
- Check the document for its own problems before listening to anything.
- Render it and listen. A conversion is a claim about a session, and the render is the only thing that tests it.
- Where a pair kept as two mono files sits 3 dB hot, one fader on its track is the fix.