Add build script and document compilation process in history.md

This commit is contained in:
Adolfo Reyna
2026-02-26 21:55:33 -05:00
parent ac1582b6cd
commit 1b6f58a28e
2 changed files with 43 additions and 0 deletions

30
build.sh Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/bash
# Build Script for whisper-transcribe
# This script bundles the project into a single executable for Apple Silicon.
echo "--- Starting Build Process ---"
# Ensure PyInstaller is installed
if ! command -v pyinstaller &> /dev/null
then
echo "PyInstaller not found. Installing..."
pip install pyinstaller
fi
# Run PyInstaller
# --onefile: Bundle into a single executable
# --collect-all: Ensure all sub-dependencies of heavy libraries are included
# --hidden-import: Explicitly include libraries that might be missed by static analysis
pyinstaller --onefile
--name whisper-transcribe
--collect-all mlx_whisper
--collect-all transformers
--collect-all silero_vad
--collect-all torch
--hidden-import=sacremoses
--hidden-import=joblib
transcribe.py
echo "--- Build Complete ---"
echo "Binary location: dist/whisper-transcribe"

View File

@@ -59,3 +59,16 @@ The project now features a high-performance, Apple Silicon-optimized pipeline th
- Switched to `whisper-small-mlx` (multilingual).
- **Hub-and-Spoke Model:** If a non-English language is detected, Whisper's `task="translate"` is used to create an English "bridge" text, which is then fed into the specialized MarianMT models.
- **Outcome:** Full support for multilingual input with centralized translation.
## Phase 8: Compilation to Binary
- **Goal:** Distribute the script as a single, standalone executable for macOS terminal.
- **Tool:** `PyInstaller`.
- **Process:**
- Used `--onefile` to bundle the entire Python runtime and its heavy dependencies (Torch, MLX, Transformers).
- Excluded build artifacts (`build/`, `dist/`, `.spec`) from the repository.
- **Build Script:**
```bash
chmod +x build.sh
./build.sh
```
- **Outcome:** A standalone `whisper-transcribe` binary in the `dist/` directory.