aboutsummaryrefslogtreecommitdiffstats
path: root/transcribe
blob: 289bcd289ddf917d9995b9ae47512e674d98ae73 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/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