LTC Audio

Generate and receive SMPTE Linear Timecode via audio. Route LTC to any audio output or receive from any audio input.

Overview

LTC (Linear Timecode) encodes SMPTE timecode as an audio signal. BPTimecode can:

  • Generate LTC — Output timecode audio to any audio device
  • Receive LTC — Decode timecode from any audio input
  • Generate LTC files — Create WAV files with embedded timecode

🌐 Web UI

Configure LTC Output

  1. Go to Settings → Audio
  2. Select your LTC Output Device
  3. Set output Level (-20 to 0 dBFS)
  4. Navigate to Routing and route a slot to ltc:default

Configure LTC Input

  1. Go to Settings → Audio
  2. Select your LTC Input Device
  3. The decoded timecode appears as an input source in routing

⌨️ CLI

List Audio Devices

bptimecode audio list

Configure LTC Output

bptimecode audio set-output --device "Built-in Audio" --level -12

Configure LTC Input

bptimecode audio set-input --device "USB Audio Interface"

Generate LTC File

bptimecode ltc generate \
  --start 01:00:00:00 \
  --duration 01:00:00:00 \
  --framerate 29.97df \
  --output timecode.wav

Route Slot to LTC

bptimecode route create --source slot:1 --dest ltc:default

🔌 HTTP API

Endpoints

MethodEndpointDescription
GET/api/v1/audio/devicesList audio devices
GET/api/v1/ltc/statusLTC input/output status
PUT/api/v1/ltc/outputConfigure LTC output
PUT/api/v1/ltc/inputConfigure LTC input

Get LTC Status

curl http://localhost:5050/api/v1/ltc/status

Configure Output

curl -X PUT http://localhost:5050/api/v1/ltc/output \
  -H "Content-Type: application/json" \
  -d {"device": "Built-in Audio", "level": -12, "enabled": true}

📡 OSC

Addresses

AddressArgsDescription
/bptimecode/ltc/output/enableint (0/1)Enable/disable LTC output
/bptimecode/ltc/output/levelfloatSet output level (dBFS)
/bptimecode/ltc/input/enableint (0/1)Enable/disable LTC input

Examples

# Enable LTC output
oscsend localhost 5051 /bptimecode/ltc/output/enable i 1

# Set output level to -12 dBFS
oscsend localhost 5051 /bptimecode/ltc/output/level f -12