#!/usr/bin/env bash export TRANSCRIBE_MODEL=${TRANSCRIBE_MODEL:-turbo} if [[ $# -lt 2 ]] ; then echo "$(basename $0) RECORDER_DIR OUTPUT_DIR" >&2 exit 1 fi export TRANSCRIBE_DIR=$1 export TRANSCRIBE_OUT=$2 set -e function run_transcription { INPATH="${1}" REL_PATH=$(realpath --relative-to "${TRANSCRIBE_DIR}" $(dirname "${INPATH}")) OUT_DIR_PATH="${TRANSCRIBE_OUT}/${REL_PATH}" set -x mkdir -p "${OUT_DIR_PATH}" whisper --model "${TRANSCRIBE_MODEL}" \ --output_dir "${OUT_DIR_PATH}" \ --output_format txt \ --task transcribe \ --language en \ "${INPATH}" rm "${INPATH}" } export -f run_transcription find ${TRANSCRIBE_DIR} -type l,f \ -\( -name '*.wav' -o -name '*.mp3' -\) \ -exec bash -c 'run_transcription "$0"' {} \;