Setup Whisper

Shell Script Uploaded Feb 16, 2026 by pagetelegram 2 views 2.35 KB
BASH Scripts
SH setup_whisper.sh
#!/bin/bash
# Setup script for OpenAI Whisper - run this once to install

# 1. Clean up any broken installs
source "$HOME/.venvs/whisper-venv/bin/activate" 2>/dev/null || python3 -m venv "$HOME/.venvs/whisper-venv"
source "$HOME/.venvs/whisper-venv/bin/activate"
pip uninstall -y faster-whisper av torch torchaudio 2>/dev/null || true

# 2. Install openai-whisper
echo "Installing openai-whisper..."
pip install --no-cache-dir openai-whisper

# 3. Create the whisp CLI tool
mkdir -p "$HOME/.local/bin"
cat > "$HOME/.local/bin/whisp" << 'EOF'
#!/bin/bash
source "$HOME/.venvs/whisper-venv/bin/activate"
FILE="$1"
MODEL="${2:-medium}"
BASE="${FILE%.mp3}"
TXT="$BASE.txt"
SRT="$BASE.srt"

if [ -z "$FILE" ]; then
    echo "Usage: whisp <audio-file> [model]"
    echo "  model: tiny, base, small, medium (default), large"
    exit 1
fi

if [ ! -f "$FILE" ]; then
    echo "Error: File '$FILE' not found"
    exit 1
fi

echo "Transcribing '$FILE' with model '$MODEL'..."

python3 - "$FILE" "$MODEL" "$TXT" "$SRT" <<'PY'
import sys, os
import whisper
from datetime import timedelta

audio_file, model_name, txt_path, srt_path = sys.argv[1:]

model = whisper.load_model(model_name)
result = model.transcribe(audio_file, verbose=True, language=None)

print(f"\nDetected language: {result['language']}")

# Write plain text
with open(txt_path, "w", encoding="utf-8") as txt:
    txt.write(result["text"])

# Write SRT
with open(srt_path, "w", encoding="utf-8") as srt:
    for i, segment in enumerate(result["segments"], 1):
        start = str(timedelta(seconds=int(segment['start']))).split('.')[0]
        end = str(timedelta(seconds=int(segment['end']))).split('.')[0]
        srt.write(f"{i}\n")
        srt.write(f"{start} --> {end}\n")
        srt.write(f"{segment['text'].strip()}\n\n")

print(f"\nDone → {os.path.basename(txt_path)} + {os.path.basename(srt_path)}")
PY

echo -e "\033[0;32mFinished:\033[0m $TXT  $SRT"
EOF

chmod +x "$HOME/.local/bin/whisp"

deactivate

echo ""
echo "=========================================="
echo "Installation complete!"
echo "=========================================="
echo ""
echo "Usage: whisp <audio-file> [model]"
echo "Example: whisp \"Alex Newman.mp3\" medium"
echo ""
echo "Available models:"
echo "  - tiny   (fast, less accurate)"
echo "  - base"
echo "  - small"
echo "  - medium (default, good balance)"
echo "  - large  (slow, most accurate)"
echo ""
Download SH

← Back to SH