録音バッジ ローカル文字起こし・話者分離 — デプロイガイド

プリセット

Clip + reComputer

Recordings sync from the Clip to a reComputer, are transcribed and split by speaker on the host, and are shown on a local web page.

DevicePurpose
reSpeaker ClipWearable recording
reComputer J40 (Jetson Orin NX, JetPack 6.2) or reComputer RK3576 (8 GB)Syncs recordings, transcribes them, serves the results page

What you'll get:

  • A results page in the browser with timestamped transcripts and speaker labels
  • An HTTP API to upload recordings or fetch transcripts
  • MQTT messages that announce each finished transcript
  • Optional AI summaries for each transcript

Requirements: Bluetooth on the host · Free disk: 15 GB on Jetson, 5 GB on RK3576 · Internet access for the first deploy

1

Deploy the transcription service

Install the transcription service on the reComputer and register your Clip.

デプロイ方法

Deploy from this computer to a reComputer J40 over SSH.

前提条件
  • The host is a Jetson Orin NX module running JetPack 6.2; any other module or version stops the deploy at the start with a message
  • The host has at least 15 GB of free disk and internet access
  • The Clip has been unbound from the phone app
配線
  1. Power the reComputer J40 and connect it to the same network as this computer
  2. Charge the Clip and place it next to the host
  3. Enter the host IP, SSH username and password
  4. Enter the Clip name: "Clip" plus the four characters printed on the Clip, e.g. Clip 7036; the phone app shows the same name
  5. Turn on "Faster sync over Wi-Fi" and "AI summary (optional)" if you need them, then click Deploy
入力が必要な項目(SenseCraft Solution アプリで入力)
  • Clip name*

    "Clip" plus the four characters printed on the Clip; the phone app shows the same name.

  • Clip Bluetooth address (optional)

    Leave empty and the host finds the Clip by its name. Fill it in only when several Clips are near the host.

  • Display name (optional)

    Shown next to each recording on the results page, e.g. who wears the Clip or where it is used. Defaults to the Clip name.

  • Recording language*既定値 auto
    4 件の選択肢
    • · Detect automatically
    • · Chinese
    • · English
    • · Japanese

    Used for recordings synced from the Clip and for WAV files uploaded on the results page.

  • Wireless interface for the Clip*既定値 wlan0

    wlan0 is the built-in Wi-Fi; keep it when the host is on Ethernet. When the host uses its built-in Wi-Fi for the network, plug in a USB Wi-Fi adapter and enter its name (run ip link on the host to list interfaces).

  • API key (optional)

    Protects the results page and the HTTP API. Leave empty to generate one on the first deploy and keep it on later deploys; it is shown at the end of the deploy log.

  • Service address*

    Address of the AI chat service, with or without /v1.

  • Model name*
  • Service key

    Leave empty if the service needs no key.

既定値のある残り 2 項目
  • Faster sync over Wi-Fi既定値 false

    Off, recordings sync over Bluetooth. On, the host also joins the Clip's own hotspot to download large recordings faster; that needs a wireless interface the host does not use for its network connection.

  • AI summary (optional)既定値 false

    Adds a short summary to each transcript. Needs an AI chat service that accepts the OpenAI API format, in the cloud or on your own network. With a cloud service, transcript text is sent to it; recordings stay on the host.

トラブルシューティング
IssueSolution
Jetson module or JetPack mismatchThis target supports Jetson Orin NX with JetPack 6.2 only; for an RK3576 host choose an RK3576 target
Not enough disk spaceFree up at least 15 GB on the host
Model download fails or is slowCheck the host's internet access and deploy again; a completed download is kept
Clip name format errorUse the form Clip 7036: Clip, a space, and the four characters
AI summary is missing the service addressFill in the service address and model name, or turn AI summary off
Port 8631, 8621, 8622 or 1883 in useStop the other service using that port on the host and deploy again
デプロイ後

The first deploy downloads the speech models (about 1.8 GB) and starts the services; how long it takes depends on your network speed. Then:

  1. Find the API key at the end of the deploy log and keep it
  2. Open http://<host-ip>:8631/ in your browser and enter the API key
2

Check the service

Confirm the transcription service is ready.

配線
  1. Enter the host IP (localhost when you deployed on this computer)
  2. Click Check; HTTP 200 means the service is ready
トラブルシューティング
IssueSolution
Returns 503Speech recognition is still loading; wait a few minutes and try again
Connection refusedCheck the host IP, then run docker ps on the host to see whether the services are running
No new recordings on the results pageCheck that the Clip is charged, within Bluetooth range of the host, and not bound to the phone app
Several Clips nearby and the wrong one connectsFill in "Clip Bluetooth address (optional)" in Step 1 and deploy again
Sync fails after turning on Wi-Fi syncMake sure the wireless interface you entered is not the one the host uses for its network; without a spare interface, turn Wi-Fi sync off and use Bluetooth only
No summary is generatedCheck the AI service address, model name and key; very short recordings get no summary
デプロイ後

The transcription service is running on your reComputer.

Initial Setup

  1. Open http://<host-ip>:8631/ in your browser and enter the API key shown at the end of the deploy log
  2. If you lose the API key, run sudo cat /opt/clip-private-transcription/config/api_key on the host
  3. To change the Clip, Wi-Fi sync or AI summary settings, edit them in Step 1 and deploy again; leave the API key empty to keep the current one
  4. Changes saved in the results page's Settings panel are stored in the data volume (/var/lib/clip-pt/settings.override.yaml), survive restarts and redeploys, and take priority over the Step 1 values for the same fields. To go back to the Step 1 values, run sudo docker exec $(sudo docker ps -qf label=com.docker.compose.service=clip-pt) rm /var/lib/clip-pt/settings.override.yaml and restart the service

Quick Verification

  1. Record about 30 seconds of conversation on the Clip and put it back next to the host
  2. Once it has synced, a new transcript appears on the results page with timestamps and speaker labels

Without a Clip at hand, upload a 16 kHz mono WAV recording instead:

curl -H "Authorization: Bearer <API key>" -F file=@sample.wav http://<host-ip>:8631/v1/transcribe

Subscribe to finished-transcript messages: mosquitto_sub -h <host-ip> -t 'clip-pt/+/transcript/+/ready'