# Scripts in meetings/lib/

**Scripts used by the executable scripts, providing basic configuration information.**

#### **Script**: `meetings/lib/paths.sh`

Creates:

- Session Directory
- Session Files  
    - `audio.wav`
    - `<span class="s1">transcript.txt</span>`
    - `meta.env`
- Timestamps (ISO)

and

- Provides path information for all scripts

```bash
#!/usr/bin/env bash
set -euo pipefail

BASE="$HOME/meetings/recordings"
mkdir -p "$BASE"

# ISO-like stamp with seconds
ISO_STAMP="$(date +%Y-%m-%dT%H%M%S)"

SESSION="$BASE/$ISO_STAMP"
i=0
while [[ -e "$SESSION" ]]; do
  i=$((i + 1))
  SESSION="$BASE/${ISO_STAMP}_$i"
done

mkdir -p "$SESSION"

AUDIO="$SESSION/audio.wav"
TRANSCRIPT="$SESSION/transcript.txt"
META="$SESSION/meta.env"
CURRENT="$BASE/.current"
```

#### **Script**: `meetings/lib/whisper.sh`

Contains:

- the path to the local `whisper.cpp` installation
- the language model used (currently `ggml-tiny.en.bin`)
- ASR (Automatic Speech Recognition) parameter used

```bash
#!/usr/bin/env bash

# whisper.cpp streaming binary
WHISPER="$HOME/whisper.cpp/build/bin/whisper-stream"

# Models
MODEL_EN="$HOME/whisper.cpp/models/ggml-tiny.en.bin"
MODEL_MULTI="$HOME/whisper.cpp/models/ggml-base.bin"

# Threading (Raspberry Pi 500 defaults)
INFER_THREADS=4
MEL_THREADS=16

# whisper.sh — Streaming / context parameters
STREAM_OPTS=(
  -c 1
  --keep-context
  --step 8000
  --length 12000
  --keep 800
)
# Thread options
THREAD_OPTS=(
  -t "$INFER_THREADS"
  -mt "$MEL_THREADS"
)
```