Church Translate, as it runs at the campuses
Live sermon translation into 100+ languages, running entirely on one Mac per campus: audio in, voice detection, Whisper on the GPU, NLLB-200 in its own process, and a built-in web server the congregation reads from on their phones. No audio leaves the building. This is the source only. What used to sit beside it — 14 GB of speech and translation models, 8 GB of voice bundles, 6 GB of natural voices, the Electron caches, and the app data holding the operator PIN and every service transcript — is machine state and downloaded assets, and stays in the NAS backup where it belongs. The vendored node, cloudflared and Windows ffmpeg binaries are out too (533 MB, re-fetched for packaging); the browser-side runtime beside them is kept, so a checkout still serves the congregation page. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# Setting it up at a campus
|
||||
|
||||
Once per Mac. Most of the time is the app downloading its models.
|
||||
|
||||
There is no server to deploy, nothing to configure on a NAS, and no address to
|
||||
type in. The app carries everything.
|
||||
|
||||
---
|
||||
|
||||
## 1. Install the app
|
||||
|
||||
Copy **Church Translate.app** to `/Applications` on the campus Mac and open it.
|
||||
|
||||
Two things happen on a first run and never again:
|
||||
|
||||
- **macOS asks for microphone access.** Click Allow. Without it the app can see
|
||||
audio devices but hears silence from all of them.
|
||||
- **It downloads about 1.5 GB of models.** Leave it running; the progress bar is
|
||||
approximate because Hugging Face does not send a size for every file. After
|
||||
this, opening the app takes seconds.
|
||||
|
||||
The box at the top turns blue and says **Ready** when it is done.
|
||||
|
||||
> The app is unsigned, so the first open needs **right-click → Open** rather
|
||||
> than a double-click. macOS only asks once.
|
||||
|
||||
## 2. Point it at the pastor's microphone
|
||||
|
||||
**Sermon audio → Input device.** Dante Virtual Soundcard, Waves SoundGrid and a
|
||||
console USB feed all appear here as ordinary inputs — see [AUDIO.md](AUDIO.md).
|
||||
|
||||
Watch the meter while someone talks. Speech should push the bar past the notch
|
||||
and turn it green; room noise between sentences should sit below it. The
|
||||
**Sensitivity** slider moves the notch.
|
||||
|
||||
## 3. Tell the congregation where to go
|
||||
|
||||
The **What the congregation opens** panel shows every address this Mac can be
|
||||
reached at. If the Mac is on more than one network, click the address that is on
|
||||
the same network as people's phones — the QR code follows your choice.
|
||||
|
||||
Then: **Printable poster** → print it → put it where people sit.
|
||||
|
||||
## 4. Add the Stream Deck button
|
||||
|
||||
One Generic HTTP action. See [COMPANION.md](COMPANION.md).
|
||||
|
||||
## 5. Before you announce it
|
||||
|
||||
- Press **START TRANSLATING** on the operator page and talk into the mic. Watch
|
||||
the words appear under *What it is hearing* in the app. If those words are
|
||||
right, everything downstream is right.
|
||||
- Scan the QR with your own phone, pick a language, confirm captions arrive.
|
||||
- Tap the speaker icon and confirm your phone reads them aloud.
|
||||
- Add anything it mishears to **Corrections** — your pastor's name, your church's
|
||||
name, the book of Habakkuk.
|
||||
|
||||
---
|
||||
|
||||
## Where things live
|
||||
|
||||
| | |
|
||||
| --- | --- |
|
||||
| The app | `/Applications/Church Translate.app` |
|
||||
| Config, PIN, transcripts | `~/Library/Application Support/Church Translate/data/` |
|
||||
| Model weights (~7 GB) | `~/Library/Application Support/Church Translate Models/` |
|
||||
| Opens at login | `~/Library/LaunchAgents/org.waterschurch.translate.plist` |
|
||||
|
||||
To stop it opening at login:
|
||||
|
||||
```bash
|
||||
launchctl unload ~/Library/LaunchAgents/org.waterschurch.translate.plist
|
||||
```
|
||||
|
||||
## Another campus
|
||||
|
||||
Copy the same `.app` across and repeat. Each campus is completely independent —
|
||||
its own settings, its own PIN, its own transcripts. Nothing syncs and nothing
|
||||
depends on anything else being up.
|
||||
|
||||
The models download again on each new Mac. If bandwidth is tight, copy
|
||||
`~/Library/Application Support/Church Translate Models/` across by hand and the
|
||||
app will use it as-is.
|
||||
|
||||
## What it costs per campus
|
||||
|
||||
Nothing recurring. Dante Virtual Soundcard is about $50 once, and only if you go
|
||||
the Dante route — Waves SoundGrid and a console USB feed cost nothing.
|
||||
Reference in New Issue
Block a user