Skip to main content

Scripts in meetings/lib/

Scripts to be used by the executable scripts. 

Scriptmeetings/lib/paths.sh

Creates: 

  • Session Directory
  • Session Files 
    • audio.wav

    • transcript.txt

    • meta.env

  • Timestamps (ISO)

and

  • Provides path information for all scripts
#!/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-base.tiny.en.bin
  • ASR parameter used
#!/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"
)