VoiceOverAndOver / Documentation / Editor screen

Editor screen

The Editor is where you spend most of your time. Each paragraph in your script is one row. Each row has the text on the left, audio controls on the right, and a vertical waveform between them once the row has been recorded. Everything is per-row: record, re-record, crop, gain, reorder, insert, delete. The rest of the take is never touched.

The Editor on a fresh project
The Editor on a fresh project. One empty row per paragraph from your script.

The header strip

The top of the Editor has three things:

  • Back button - returns to the Projects screen. Your work is saved as you go, so this is non-destructive.
  • The project title, in large type. This is the name you gave the project on the New Project screen.
  • The Merge button on the right side. This is your gateway to the Merge and Export screen. It only enables when every paragraph in the project has a recording.
The Editor header with the Merge button enabled and disabled
The Merge button enabled (every paragraph recorded) versus disabled (some still missing audio).

Anatomy of a row

Every row is the same width, takes the full width of the window, and has these horizontal regions, left to right:

  1. A drag handle on the far left (the entire left edge of the row is a grab target).
  2. The paragraph index number.
  3. The paragraph text.
  4. A vertical column divider that you can drag to make the text column wider or narrower.
  5. The audio area, which contains either a Record button (if not yet recorded) or the gain slider plus the waveform plus the control strip (if recorded).

Rows also have a vertical resize pull on their bottom edge so you can make any row taller and see a fatter waveform.

Empty state (not yet recorded)

An empty row has the paragraph text on the left and one big green Record button on the right. Click it to start recording that paragraph. If this is the first recording on the machine, your OS will ask for microphone permission first - see Getting started for the prompt.

Recording state

While a row is recording it shows a red Stop button and a live elapsed-time counter (mm:ss). The button text on the row you started will say "Stop"; the other rows are not disabled - in principle you could start another recording on a different row, but it is almost always what you want to finish the current one first.

A row mid-recording
A row mid-recording with the red Stop button and the live elapsed-time counter.

Click Stop to finish. The row immediately swaps into the recorded state with the rendered waveform.

Recorded state

This is the main state of the Editor and has the most going on. Reading left to right:

A recorded paragraph row
A recorded paragraph row showing the gain slider, rainbow waveform, duration chip, and the full control strip.
  • A vertical gain slider on the left of the waveform area (0 to +10 dB).
  • The waveform, with vertical color bands - blue at the center, cyan, green, yellow, and red toward the hottest peaks. The bands make horizontal loudness easy to compare between rows visually.
  • A horizontal control strip below the waveform with these buttons: Play, Re-record, Import..., Reset crop (only visible when a crop is active), duration chip, Insert New Item (far right), Delete (far right).

Play

Plays the recorded take. Click again to pause. Click anywhere on the waveform to seek.

Re-record

Discards the current take and starts a new recording on the same row. Your other paragraphs are not affected. Tooltip wording: "Replace this take."

Import...

Opens a file picker so you can substitute an external audio file for the recording on this row. The app transcodes the file to WebM/Opus mono 48 kHz (matching the in-app recording format) so the merge step works the same way no matter where the take came from. Common input formats (wav, mp3, m4a, aac, ogg, flac) all work.

Crop (the handles on the waveform)

Hover over either end of the waveform to expose a crop handle. Drag it inward to trim silence (or breath, or a hard consonant) off the start or the end of the take. The cropped region is shown dimmed. Crop is non-destructive: the original audio is preserved on disk, and the crop just controls what the merge uses.

A row in crop-edit mode
Crop handles dragged inward from both ends of the waveform.

Reset crop

This button only appears when a row has an active crop. Click it to undo the crop and play back the full original take.

Duration chip

Shows the duration of the recorded take in mm:ss format. If a crop is active, this is the effective duration after the crop, not the raw duration.

Insert New Item

The plus icon on the far right of a recorded row adds a brand-new empty paragraph immediately after this one. The text field of the new row is empty - click it and type, or paste in. The new row comes up in empty state with a Record button.

Delete

The trash icon on the far right deletes both the recording AND the paragraph text from the project. The flow is the same protective two-step as the Projects screen Delete:

  1. The row turns red.
  2. A blocking dialog appears: "Permanently delete this audio and its text? This cannot be undone."
  3. Cancel restores the row. Confirm removes the row permanently.
Delete confirmation on a paragraph row
A row in the red pre-delete state behind the blocking confirm dialog.

The vertical gain slider

The gain slider is the narrow vertical track on the left of every recorded waveform. It boosts that one paragraph's volume by 0 to +10 dB. While you drag it, a small +N.N readout chip appears next to the slider so you can see the value. Release the mouse and the value is saved.

The vertical gain slider with the dB readout
Close-up of the vertical gain slider on the left of a recorded waveform with the +N.N dB readout chip visible.

The gain is applied at merge time by the audio engine. The waveform you see in the Editor updates its visual bar height to give you a rough preview, but the actual sample-level boost happens when you Export.

Why is the slider only positive?

The gain slider is for boosting quiet takes to match the louder ones, not for cutting hot takes. If a take is hot, re-record it. The slider's 0..+10 dB range is by design - going higher invites clipping, and going below 0 is the wrong tool for "this is too loud".

Per-row vertical resize

Every row has a thin "pull" handle on its bottom edge. Click and drag it to make the row taller - the waveform scales to fill the new height. Useful when you are working on a long take and want a bigger canvas for the crop or to see fine peaks.

A row being vertically resized
A row being vertically resized via the bottom-edge pull handle.

Row heights are per-row and remembered between sessions. Minimum row height is 60 px; maximum is 600 px.

Column resizer (text vs. audio)

Between the text column and the audio column there is a vertical divider. Drag it left or right to give one side more space. Useful when your script has long paragraphs that wrap inconveniently in the default width.

Dragging the text/audio column divider
The vertical divider between the text column and the audio column being dragged.

The column widths are remembered between sessions. Below 720 px window width the two columns automatically stack vertically and the resizer is hidden.

Drag to reorder

The far left edge of every row is a grab target. Click and hold, then drag the row up or down. A drop indicator shows where the row will land. Release to drop it there.

A row being dragged to a new position
A row being dragged via the left-edge handle with the drop target highlighted.

The new order is what the Merge screen will use - the audio is stitched in the order the rows appear on screen, not the order they were originally recorded.

Insert and delete (the far-right buttons)

The two small icons on the far right of every recorded row, mentioned above, deserve a side-by-side mention:

The Insert and Delete buttons at the end of a row
The far-right end of a row showing the Insert New Item and Delete buttons together.

Insert adds an empty row right below the current one - good for adding a forgotten line of script mid-recording without re-doing the whole project. Delete removes the current row permanently.

Why are these only on recorded rows?

Insert and Delete only appear once a row has at least one recording. A brand-new project starts out as all-empty rows; until at least one of them is recorded, the Insert and Delete buttons are hidden. (Empty rows do not have an audio file to delete, and they cannot be "between" anything yet.)

Errors on a row

If something goes wrong with a specific paragraph - microphone permission was denied, the audio file could not be saved, an import failed - the row shows a short error message inline. Most of the time this means clicking Re-record (or Import again) is enough; if the error keeps coming back, see Troubleshooting.

A row showing a microphone error
The per-row inline error that appears when microphone access is blocked or no input device is available.

Saving

You do not save manually. Every recording, every crop, every gain change, every reorder, and every text edit is saved to disk as it happens. Closing the app, navigating Back, or even crashing leaves the project in a consistent state on next launch.

Reference: per-row controls

ControlWhere it isWhat it does
Record Audio area, empty rows Starts recording this paragraph.
Stop Audio area, recording rows Ends the current recording and renders the waveform.
Play Control strip Plays the take. Click again to pause. Click the waveform to seek.
Re-record Control strip Replaces the current take with a fresh recording.
Import... Control strip Substitutes an external audio file for the recording on this row.
Crop handles Waveform edges Drag inward to trim silence or noise off either end.
Reset crop Control strip (when active) Removes any active crop.
Gain slider Left of the waveform Boost this paragraph by 0..+10 dB at merge time.
Duration chip Control strip Shows the take length, accounting for any active crop.
Insert New Item Control strip, far right Adds a new empty paragraph after this one.
Delete Control strip, far right Permanently removes this row (with red confirm).
Drag handle Left edge of row Click and drag the row to a new position.
Row resize pull Bottom edge of row Drag down to make the row (and its waveform) taller.
Column resizer Between text and audio Drag to rebalance text vs audio column widths.