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 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.
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:
- A drag handle on the far left (the entire left edge of the row is a grab target).
- The paragraph index number.
- The paragraph text.
- A vertical column divider that you can drag to make the text column wider or narrower.
- 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.
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 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.
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:
- The row turns red.
- A blocking dialog appears: "Permanently delete this audio and its text? This cannot be undone."
- Cancel restores the row. Confirm removes the row permanently.
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 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.
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.
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.
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.
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:
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.
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.
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
| Control | Where it is | What 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. |