Alot LabsBook the briefing
Products · ClipFarm

ClipFarm

ClipFarm scores a long recording by its own loudness and cuts the peaks into 9:16 clips. Each clip waits on disk for your review.

What it does

Scored by its own sound

It reads a loudness curve once a second and, on a live stream, the speed of the chat. Both are z-scored and blended, six parts sound to four parts chat.

Cut at the peaks

Peaks above a threshold, with overlaps removed, become clips. One pass crops each to 9:16 at 1080 by 1920, with a JSON score beside it.

A person between the stages

Three tools generate the audio, assemble the episode and cut the clips. A person passes the path from each stage to the next.

How a clip gets cut

The light runs a recorded episode, then a live one. Every step is signal processing, with no model in the loop.

How a clip gets cutliverecordednever on its ownA long recordingLoudness curveRMS, once a secondLive chat?Chat velocitymessages a secondScorez-scored, then blendedPeaksabove a thresholdCutone ffmpeg pass, 9:16A file on diskMP4 and a JSON scorePublish?You decidepublished stays 0

Core responsibilities

  1. Read the recording's own loudness

    It measures RMS once a second over the whole recording and z-scores it against the recording's own baseline. A quiet show and a loud one are judged on the same scale.

  2. Add the chat when it is live

    On a live stream, the chat's messages per second join the score, six parts sound to four parts chat. A recording is scored on sound alone.

  3. Keep the peaks apart

    Candidates above the threshold are ranked. Any within thirty seconds of a kept one is dropped, so two clips never cover the same moment.

  4. Cut once, to 9:16

    One pass takes the middle column of the frame at 1080 by 1920, from eight seconds before the peak to twenty after. It writes a JSON score beside the file.

  5. Stop at a file on disk

    The clip and its score land in a review folder, where a person watches each one and decides whether to publish. The pipeline has no publishing step.

ClipFarm in figures

  • 5episodes assembled to 1080p, 51 minutes in all, every one ownedread from the run's telemetry
  • 39:16 clips cut from one episode, each with its score beside itthe clips' JSON on disk
  • 30 sminimum gap between two clips, so no moment is cut twicethe scorer's defaults
  • 17tests on the scoring math, all offlinecounted in the repository

Counted in the repository, read from a run or set in the code. No figure is estimated.

ClipFarmBuilt

Why it is built this way

Rules written into the code, and what each one prevents.

Apply for a seat

No model in the loop

Scoring is signal processing throughout: loudness and chat velocity. Each highlight is a number, and the arithmetic behind it is in the repository.

Three tools, three hand-offs

Each stage is its own tool. A person passes the path from one to the next, so no stage runs ahead of a review.

Nothing publishes on its own

The clipper ends at an MP4 and a JSON score on disk. Posting is a later stage, opt-in per channel, that only a person can start.

The code behind ClipFarm

Three files from the repository, shown in turn. Select one to read it.

01def detect_highlights(02    audio_curve: list[tuple[float, float]],03    chat_curve: list[tuple[float, int]] | None,04    *,05    bin_seconds: float = 2.0,06    alpha: float = 0.6,07    beta: float = 0.4,08    min_score: float = 1.2,09    min_gap_seconds: float = 30.0,10    max_highlights: int | None = None,11) -> list[Highlight]:

Bring the workflow that keeps breaking.

Our engineers work through it with you in a free 45-minute briefing.