#!/bin/sh # Transcribe an audio file using OpenAI/GGML Whisper.cpp. set -e model="${XDG_DATA_HOME}/whisper/models/ggml-large-v3-turbo.bin" transcribe() { echo "Transcribing '$1'" >&2 whisper-cli --language English -m "$model" --threads $(nproc) -osrt "$1" } ext="${1##*.}" if [ ! "$ext" = "wav" ]; then wav=".${1}.wav" echo "Converting to wav '$1' -> '$wav'" >&2 ffmpeg -i "$1" -ar 16k -ac 1 -c:a pcm_s16le "$wav" transcribe "$wav" rm "$wav" else transcribe "$1" fi