Add build script and document compilation process in history.md
This commit is contained in:
30
build.sh
Executable file
30
build.sh
Executable 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"
|
||||||
13
history.md
13
history.md
@@ -59,3 +59,16 @@ The project now features a high-performance, Apple Silicon-optimized pipeline th
|
|||||||
- Switched to `whisper-small-mlx` (multilingual).
|
- 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.
|
- **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.
|
- **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.
|
||||||
|
|||||||
Reference in New Issue
Block a user