HarborFM

Segments

Guides for building an episode from segments: recording, uploading, library inserts, editing, markers, and rendering the final episode.

Recording Segments

You can record new audio directly in the browser and add it as a segment in the episode editor.

How to Record

  1. Open the episode editor and use Record new section.
  2. When the recorder is ready, click Record and speak (or produce audio). Your browser will request microphone access if needed.
  3. Click Stop when finished.
  4. You can play back the recording, try again (discard and re-record), or add it to the list to keep it as a segment.

The new segment is appended to the segment list. You can reorder it, trim it, or run other segment tools (remove silence, transcript, etc.) as needed.

Tips

  • Use a quiet environment and a decent microphone for better quality.
  • After adding, use Trim, split, and silence to remove long pauses or mistakes at the start/end.
  • If your instance has group calls (WebRTC) enabled, you can also record remote guests; see Group calls.

Troubleshooting

  • No record button or permission denied - Allow microphone access in the browser. HTTPS is usually required for microphone access (except localhost).
  • Recording fails or is empty - Check that the correct microphone is selected in the browser or OS, and that nothing else is exclusively using it.

See Also

Uploading and Library Inserts

Besides recording, you can add segments by uploading an audio file for this episode or by inserting a clip from your library (intros, outros, bumpers).

Uploading an Audio File

  1. In the episode editor, use upload / insert from file.
  2. Choose an audio file from your device. Supported formats typically include common formats (e.g. MP3, WAV, M4A); see the app or main README for limits and formats.
  3. The file is uploaded and added as a segment. You can then reorder, trim, split, or remove silence as with any segment.

Uploaded episode audio counts against the podcast owner's storage limit.

Inserting from the Library

  1. In the episode editor, use Insert from library.
  2. A list of your library assets is shown. You can also upload new files to the library from this screen if the UI allows.
  3. Click the clip you want to use. It's added as a segment in the current episode.

Library assets are reusable across episodes; they're stored once in your library. See Managing your library.

See Also

Trim, Split, and Silence

You can refine segments by trimming the start and end, splitting them, removing long silence, and applying noise suppression.

Trimming

  • Trim start/end - Adjust the start and end points of a segment so only the desired portion is used in the final episode. The waveform view helps you set boundaries.
  • Use the segment's trim controls and drag handles to define the in/out points. Trim handles can reach the end of the audio; right-click the waveform to cycle between pan and trim modes.

Splitting

  • Split - Split one segment into two at a chosen point. Useful to remove a middle section or to reorder part of the segment as a separate segment.
  • Place the playhead where you want the cut, then apply Split.

Segment Split (Markers)

Segment Split cuts at a chosen time and adjusts later markers (chapters/soundbites) so they stay aligned after the cut.

Remove Silence

  • Add Silence Trims - Auto-detect long silence (e.g. 1s+) and add non-destructive trim ranges with a buffer.
  • Server Remove Silence - Server-side silence removal from the Functions tab (threshold may be fixed or configurable depending on the instance).

Noise Suppression

  • Noise suppression - If available, applies processing to reduce background noise. Use it when the segment has constant hum or hiss; avoid over-processing speech.

After any of these steps, the segment list updates. You can continue to reorder segments and then build the final episode. See Making the final episode.

See Also

Chapters and Soundbites

Markers on the segment or final waveform control chapters and soundbites in the rendered episode and public player.

Marker Types

Each segment marker can be:

  • None - Visual marker only
  • Chapter - Becomes an episode chapter (title/color); shown in the editor, feed, and embed; chapters.json and RSS <podcast:chapters> when chapters exist
  • Soundbite - Clip of 15–120 seconds; RSS emits <podcast:soundbite> when the episode has a public URL; listeners can play soundbites on the public episode page

Add Chapter / Soundbite defaults to the playhead. Cancel prompts on unsaved chapter/soundbite edits. You can also edit soundbites on the final waveform and download a clip from the export UI.

View Chapters / Soundbites

The Final Episode box includes collapsible Chapters and Soundbites cards: add, edit, delete, seek/play, and (for soundbites) play with auto-advance.

Segment Audio EQ

In the segment editor you can apply a per-segment equalizer. Use the Audio button (to the right of Zoom Out) to open the EQ panel. Low, Mids, and High sliders each range from -20 to +20 dB. You get a live Web Audio preview while adjusting. Apply stores the EQ for that segment until you Save the episode; Cancel reverts. The same EQ is applied when rendering the final episode (via ffmpeg). Playback in the segment list uses the saved EQ when present.

Enabling and Disabling Segments

Owners, admins, editors, and managers can exclude a segment from the final episode. On the episode details page, use the Eye button to the right of the segment editor (Scissors) button: click to disable the segment, click again to re-enable. Disabled segments appear as a black row with an EyeOff icon. They are omitted when you build the final episode. If all segments are disabled, Build Final Episode is disabled.

Transcripts and LLM

When your instance has Whisper ASR and optionally LLM helpers configured, you can generate transcripts for segments and ask an LLM for tips or feedback.

Generating a Transcript

  1. In the episode editor, select or open a segment that has audio (recorded or uploaded).
  2. Use Generate Transcript (shown when a transcript provider is configured). Otherwise you can upload SRT.
  3. When the transcript is ready, you can view and edit it (SRT-style timings). Soft-delete in the transcript editor adds trim ranges; trimmed entries can be restored. Save persists trim ranges.
  4. Long self-hosted Whisper jobs use an extended HTTP timeout so they are less likely to fail while ASR is still running.

Transcripts are useful for accessibility, show notes, and for using the LLM helper. The public episode player can open a seekable cue list when a transcript is available.

Asking an LLM About a Segment

If the instance has LLM integration (e.g. Ollama or OpenAI) configured:

  1. Ensure the segment has a transcript (generate one as above).
  2. Use the Ask tab about the segment (e.g. tips, summarise, suggest questions). Trimmed transcript text is excluded from LLM context.
  3. Enter your question or choose a preset. The LLM responds based on the segment's transcript; the answer renders in a read-only field so copy selects only the answer.
  4. Use the response for editing ideas, show notes, or follow-up questions.

Exact prompts and models depend on instance configuration; see Settings (admin) for LLM options.

See Also

Making the Final Episode

When you've added and arranged all segments, render the episode into a single audio file with Build Final Episode. After a successful build, the control is labeled Final Episode.

What Happens

  1. In the episode editor, open the Final Episode box and click Build Final Episode.
  2. The server concatenates all enabled segments in order (using ffmpeg) and applies the instance's default output settings (e.g. mono/stereo, format). Output options are configured in Settings > Final Episode Output.
  3. When the render finishes, the final audio file is associated with the episode. You can download it from the editor. Chapters and soundbites stay editable on the final waveform.
  4. If you change segments or order later, build again to generate a new version.

Output Settings

Mono vs stereo, bitrate, and other output options are set at the instance level in Settings > Final Episode Output. Change them there if you want future renders to use different defaults.

After Rendering

  • Publish - Use the publishing panel (Publish/Scheduled stay disabled until a final build exists). See Publishing and status.
  • Podcast delivery - If you've configured export (S3, FTP, etc.) on the show, deploy so the updated feed and audio (and chapters.json when present) are pushed to your remote. See Export and delivery.
  • Video - When allowed, generate video from the final audio. See Episodes: Video generation.
  • Download - Use the download option to get the file for manual upload to another platform.

Rate Limiting

The server may rate-limit how often you can run a final build per user (e.g. once per minute). If the button is disabled or you see an error, wait a moment and try again.

See Also