The GoGospelNow Translator uses three background technologies:
- Python (version 3.11 or higher) - the programming language
- Docker - runs the text-to-speech service
- Ollama - runs the AI translation models
This guide will walk you through installing everything step-by-step. Choose your operating system below and follow ALL the steps in order:
After installation, see Running the Translator to start using the program.
Follow these steps in order. Do not skip any steps.
-
Open Command Prompt or PowerShell:
- Press
Windows Key + R - Type
cmdand press Enter
- Press
-
Check if Python is installed:
python --version -
If you see "Python 3.11" or higher (like 3.12, 3.13), you're good! Skip to Step 2.
-
If you see a version lower than 3.11 OR get an error, you need to install Python:
- Go to https://www.python.org/downloads/
- Click the yellow "Download Python" button (get the latest version)
- Run the installer
β οΈ IMPORTANT: Check the box "Add Python to PATH" at the bottom of the installer- Click "Install Now"
- After installation, close and reopen Command Prompt
- Verify:
python --versionshould now show 3.11 or higher
- Go to https://www.docker.com/products/docker-desktop/
- Click "Download for Windows"
- Run the installer (Docker Desktop Installer.exe)
- Follow the installation wizard (use default settings)
- Restart your computer when prompted
- After restart, launch Docker Desktop from the Start menu
- Wait for Docker to start (you'll see a green icon in the system tray)
β Verify Docker is working:
docker --versionYou should see something like "Docker version 24.x.x"
- Go to https://ollama.com/download
- Click "Download for Windows"
- Run the installer (OllamaSetup.exe)
- Follow the installation wizard
- Ollama will start automatically after installation
β Verify Ollama is working:
ollama --versionYou should see the Ollama version number.
-
Check if Git is already installed:
git --version -
If you get an error, install Git:
- Go to https://git-scm.com/downloads
- Click "Download for Windows"
- Run the installer
- Use all default settings (just keep clicking "Next")
- After installation, close and reopen Command Prompt
-
Open Command Prompt or PowerShell
-
Navigate to where you want to install (for example, your Documents folder):
cd Documents
-
Download the program:
git clone https://github.com/kenschultz64/gogospelnow.git
-
Go into the program folder:
cd gogospelnow
β Verify: You should see the program files:
dir-
Make sure you're in the gogospelnow folder (from Step 5)
-
Create a virtual environment:
python -m venv venv -
Activate the virtual environment:
venv\Scripts\activate
β
Verify: Your command prompt should now show (venv) at the beginning of the line.
-
Download ffmpeg-release-full.7z (the first link under "release builds")
-
Extract the downloaded file:
- Right-click the file
- Choose "Extract All" (or use 7-Zip if you have it)
-
Rename the extracted folder to just
ffmpeg -
Move the
ffmpegfolder toC:\(so the path isC:\ffmpeg) -
Add FFmpeg to your system PATH:
- Press
Windows Keyand type "environment variables" - Click "Edit the system environment variables"
- Click "Environment Variables" button
- Under "System variables", find and select "Path"
- Click "Edit"
- Click "New"
- Type:
C:\ffmpeg\bin - Click "OK" on all windows
- Close and reopen Command Prompt
- Press
β Verify FFmpeg is working:
ffmpeg -version-
Make sure your virtual environment is activated (you should see
(venv)in your prompt) -
If not activated, run:
venv\Scripts\activate -
Install required Python packages:
pip install -r requirements.txtThis will take a few minutes. Wait for it to complete.
β Verify: No error messages should appear. Check installed packages:
pip listChoose ONE of these commands based on your computer:
If you have a gaming computer with an NVIDIA graphics card:
docker run -d --gpus all --restart unless-stopped --name kokoro-gpu -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpuIf you have a regular computer (no gaming graphics card):
docker run -d --restart unless-stopped --name kokoro-cpu -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpuThis will download and start the text-to-speech service. It may take several minutes the first time.
β Verify it's running:
docker psYou should see a container named "kokoro-cpu" or "kokoro-gpu" running.
You need at least one translation model. For most computers, start with a smaller model:
Recommended for most computers (choose ONE):
ollama pull gemma3n:e2bOther options (you can install multiple):
ollama pull llama3.2:3b-instruct-q4_K_Mollama pull granite3.3:2bEach model will take several minutes to download.
β Verify your models are installed:
ollama listYou should see your downloaded models listed.
-
Make sure your virtual environment is activated (you should see
(venv)) -
If not, activate it:
venv\Scripts\activate -
Start the translator:
python main.py
-
Keep this Command Prompt window open! The program needs it to stay running.
-
Open your web browser (Chrome recommended) and go to:
http://localhost:7860
β Verify: You should see the GoGospelNow translator interface in your browser.
- For future use: After you've verified everything works, you can use the shortcut:
- Double-click
launch.batin the gogospelnow folder
- Double-click
Follow these steps in order. Do not skip any steps.
-
Open Terminal:
- Press
Command + Space - Type "Terminal" and press Enter
- Press
-
Check if Python 3.11 or higher is installed:
python3 --version
-
If you see "Python 3.11" or higher (like 3.12, 3.13), you're good! Skip to Step 2.
-
If you see a version lower than 3.11, you need to install a newer version:
- Go to https://www.python.org/downloads/
- Click the yellow "Download Python" button (get the latest version)
- Open the downloaded .pkg file
- Follow the installation wizard
- After installation, close and reopen Terminal
- Verify:
python3 --versionshould now show 3.11 or higher
Homebrew makes it easy to install software on Mac.
-
Check if Homebrew is already installed:
brew --version
-
If you get an error, install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"- Press Enter when prompted
- Enter your Mac password when asked (you won't see it as you type)
- Wait for installation to complete (may take several minutes)
β Verify Homebrew is installed:
brew --version- Go to https://www.docker.com/products/docker-desktop/
- Click "Download for Mac"
- Choose the correct version for your Mac:
- Apple Silicon (M1, M2, M3 chips) - newer Macs
- Intel Chip - older Macs
- Choose the correct version for your Mac:
- Open the downloaded .dmg file
- Drag Docker to your Applications folder
- Open Docker from Applications
- Follow the setup wizard
- Enter your Mac password when prompted
- Wait for Docker to start (you'll see a whale icon in the menu bar)
β Verify Docker is working:
docker --version- Go to https://ollama.com/download
- Click "Download for macOS"
- Open the downloaded file
- Drag Ollama to your Applications folder
- Open Ollama from Applications
- Ollama will appear in your menu bar (top of screen)
β Verify Ollama is working:
ollama --versionGit is usually pre-installed on macOS, but let's check:
-
Check if Git is installed:
git --version
-
If you get an error, macOS will prompt you to install Command Line Tools. Click "Install" and follow the prompts.
-
In Terminal, navigate to where you want to install (for example, your Documents folder):
cd ~/Documents
-
Download the program:
git clone https://github.com/kenschultz64/gogospelnow.git
-
Go into the program folder:
cd gogospelnow
β Verify: You should see the program files:
ls-
Make sure you're in the gogospelnow folder (from Step 6)
-
Create a virtual environment:
python3 -m venv venv
-
Activate the virtual environment:
source venv/bin/activate
β
Verify: Your terminal prompt should now show (venv) at the beginning.
- Install audio and GUI packages:
This will take several minutes.
brew install ffmpeg portaudio libsndfile python-tk@3.11
β Verify installations:
ffmpeg -versionpython3 -m tkinterA small window should appear (you can close it).
-
Make sure your virtual environment is activated (you should see
(venv)in your prompt) -
If not activated, run:
source venv/bin/activate -
Install required Python packages:
pip install -r requirements.txt
This will take a few minutes. Wait for it to complete.
β Verify: No error messages should appear. Check installed packages:
pip listChoose ONE of these commands based on your Mac:
If you have an Apple Silicon Mac (M1, M2, M3) or Intel Mac with dedicated graphics:
docker run -d --gpus all --restart unless-stopped --name kokoro-gpu -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpuIf you have an older Intel Mac:
docker run -d --restart unless-stopped --name kokoro-cpu -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpuThis will download and start the text-to-speech service. It may take several minutes the first time.
β Verify it's running:
docker psYou should see a container named "kokoro-cpu" or "kokoro-gpu" running.
You need at least one translation model. For most computers, start with a smaller model:
Recommended for most computers (choose ONE):
ollama pull gemma3n:e2bOther options (you can install multiple):
ollama pull llama3.2:3b-instruct-q4_K_Mollama pull granite3.3:2bEach model will take several minutes to download.
β Verify your models are installed:
ollama listYou should see your downloaded models listed.
-
Make sure your virtual environment is activated (you should see
(venv)) -
If not, activate it:
source venv/bin/activate -
Start the translator:
python main.py
-
Keep this Terminal window open! The program needs it to stay running.
-
Open your web browser (Chrome recommended) and go to:
http://localhost:7860
β Verify: You should see the GoGospelNow translator interface in your browser.
- For future use: After you've verified everything works, you can use the shortcut:
- In Terminal, navigate to the gogospelnow folder
- Run:
./start_translator.sh
Follow these steps in order. Do not skip any steps.
-
Open Terminal (usually Ctrl+Alt+T)
-
Check if Python 3.11 or higher is installed:
python3 --version
-
If you see "Python 3.11" or higher (like 3.12, 3.13), you're good! Skip to Step 2.
-
If you see a version lower than 3.11, install a newer version:
For Ubuntu/Debian:
sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.11 python3.11-venv python3.11-dev
For Fedora/RHEL:
sudo dnf install python3.11 python3.11-devel
For Arch Linux:
sudo pacman -S python
β
Verify: python3.11 --version should show 3.11 or higher
For Ubuntu/Debian:
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USERFor Fedora/RHEL:
sudo dnf install docker
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USERFor Arch Linux:
sudo pacman -S docker
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USERImportant: After running these commands, log out and log back in for the docker group changes to take effect.
β Verify Docker is working:
docker --version-
Download and install Ollama:
curl -fsSL https://ollama.com/install.sh | sh -
Start Ollama service:
sudo systemctl start ollama sudo systemctl enable ollama
β Verify Ollama is working:
ollama --version-
Check if Git is installed:
git --version
-
If you get an error, install Git:
For Ubuntu/Debian:
sudo apt install git
For Fedora/RHEL:
sudo dnf install git
For Arch Linux:
sudo pacman -S git
-
Navigate to where you want to install (for example, your home folder):
cd ~
-
Download the program:
git clone https://github.com/kenschultz64/gogospelnow.git
-
Go into the program folder:
cd gogospelnow
β Verify: You should see the program files:
ls-
Make sure you're in the gogospelnow folder (from Step 5)
-
Create a virtual environment:
python3 -m venv venv
(If you installed Python 3.11 specifically, use:
python3.11 -m venv venv) -
Activate the virtual environment:
source venv/bin/activate
β
Verify: Your terminal prompt should now show (venv) at the beginning.
For Ubuntu/Debian:
sudo apt update
sudo apt install ffmpeg portaudio19-dev libsndfile1 python3-tkFor Fedora/RHEL:
sudo dnf install ffmpeg portaudio-devel libsndfile python3-tkinterFor Arch Linux:
sudo pacman -S ffmpeg portaudio libsndfile tkβ Verify installations:
ffmpeg -versionpython3 -m tkinterA small window should appear (you can close it).
-
Make sure your virtual environment is activated (you should see
(venv)in your prompt) -
If not activated, run:
source venv/bin/activate -
Install required Python packages:
pip install -r requirements.txt
This will take a few minutes. Wait for it to complete.
β Verify: No error messages should appear. Check installed packages:
pip listChoose ONE of these commands based on your computer:
If you have an NVIDIA graphics card with CUDA support:
docker run -d --gpus all --restart unless-stopped --name kokoro-gpu -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpuIf you have a regular computer (no gaming graphics card):
docker run -d --restart unless-stopped --name kokoro-cpu -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpuThis will download and start the text-to-speech service. It may take several minutes the first time.
β Verify it's running:
docker psYou should see a container named "kokoro-cpu" or "kokoro-gpu" running.
You need at least one translation model. For most computers, start with a smaller model:
Recommended for most computers (choose ONE):
ollama pull gemma3n:e2bOther options (you can install multiple):
ollama pull llama3.2:3b-instruct-q4_K_Mollama pull granite3.3:2bEach model will take several minutes to download.
β Verify your models are installed:
ollama listYou should see your downloaded models listed.
-
Make sure your virtual environment is activated (you should see
(venv)) -
If not, activate it:
source venv/bin/activate -
Start the translator:
python main.py
-
Keep this Terminal window open! The program needs it to stay running.
-
Open your web browser (Chrome recommended) and go to:
http://localhost:7860
β Verify: You should see the GoGospelNow translator interface in your browser.
- For future use: After you've verified everything works, you can use the shortcut:
- In Terminal, navigate to the gogospelnow folder
- Run:
./start_translator.sh
After you've completed the installation for your operating system:
Windows:
- Double-click
launch.batin the gogospelnow folder - OR open Command Prompt, navigate to the folder, and run:
python main.py
macOS/Linux:
- Open Terminal, navigate to the gogospelnow folder
- Run:
./start_translator.sh - OR run:
python main.py
- Keep the terminal/command prompt window open while using the program
- Open your web browser and go to: http://localhost:7860
- The translator interface will load
- Select your translation model from the dropdown
- Choose your source and target languages
- Click "Start" to begin translating
- Transcription: Faster-Whisper with configurable selectable models.
- Translation: Local LLM via Ollama API so you can use the latest open-source models as they are released.
- TTS:
- Local: Kokoro FastAPI server supporting 9 languages (American/British English, Spanish, French, Italian, Brazilian Portuguese, Japanese, Chinese, and Hindi).
- Cloud: Google Cloud TTS supporting 30+ languages (requires API key).
- Secondary Output Monitor: Dedicated translation display window that can be moved to any connected monitor.
- Smart Monitor Selection: Monitors are numbered left-to-right (Monitor 1, Monitor 2, etc.) for intuitive selection.
- Custom Window Sizes: Set custom Width Γ Height for the display window, or use preset resolutions.
- Worship-Friendly Close Button: Subtle close button that's nearly invisible (appears on hover). Press Escape key to close.
- Hotkey Support: Press 'M' to cycle through monitors, Escape to close.
- Cross-Platform: Works on Windows, macOS, and Linux.
- Performance Tuning: Manual control over all timing and VAD parameters via sliders.
- Expanded API Support: Integrate with major cloud AI providers including OpenAI, Groq, xAI (Grok), Mistral, and Custom OpenAI (compatible endpoints), in addition to local Ollama models.
- History: Translation history logging.
- Offline Capable: Works completely locally (Internet required only for setup and Google Cloud TTS).
- Universal Translator (Reverse Translation): Can translate from any of the ~86 supported source languages back into English, allowing English speakers to understand foreign-language sermons.
You can configure the translator to use cloud-based LLMs for potentially higher quality or faster translations. This requires API keys from the respective providers.
- Open the Settings Tab in the application interface.
- Enter your API Keys for the services you wish to use:
- OpenAI:
https://platform.openai.com/api-keys - Groq:
https://console.groq.com/keys - Grok (xAI):
https://console.x.ai/ - Mistral:
https://console.mistral.ai/api-keys - Custom OpenAI: Enter your custom Base URL and API Key.
- OpenAI:
- Click "Save Server Settings".
- Select the Provider in the main "Speech Translator" tab using the "Translation Provider" dropdown.
If you want to use Google Cloud Text-to-Speech voices in addition to the local Kokoro voices, you'll need to set up a Google Cloud API key. This is optional - the translator works perfectly with just the local Kokoro voices.
- Go to the Google Cloud Console
- Create a new project or select an existing one
- Enable the "Cloud Text-to-Speech API" for your project
- Go to "APIs & Services" β "Credentials"
- Click "Create Credentials" β "API Key"
- Copy your API key (it will look like:
AIzaSyC...)
IMPORTANT: Never hardcode your API key in files that might be shared or committed to version control. Use environment variables instead.
-
Open Command Prompt or PowerShell
-
Set the environment variable for the current session:
$env:GOOGLE_API_KEY="your-api-key-here"
-
To make it permanent (persists after reboot):
setx GOOGLE_API_KEY "your-api-key-here"Then close and reopen your terminal.
-
Verify it's set:
echo $env:GOOGLE_API_KEY
-
Open Terminal
-
Edit your shell configuration file:
- For bash:
nano ~/.bashrcornano ~/.bash_profile - For zsh (default on newer macOS):
nano ~/.zshrc
- For bash:
-
Add this line at the end of the file:
export GOOGLE_API_KEY="your-api-key-here"
-
Save and exit (Ctrl+X, then Y, then Enter in nano)
-
Reload your configuration:
source ~/.bashrc # or ~/.zshrc or ~/.bash_profile
-
Verify it's set:
echo $GOOGLE_API_KEY
Once the environment variable is set:
- Restart the translator application
- The program will automatically detect and use your Google API key
- You'll now have access to Google Cloud voices in addition to Kokoro voices
Security Note: The API key is stored as an environment variable on your computer only. It's never saved in the program files or shared publicly.
You can customize the instructions given to the AI translator to change the tone, style, or specific requirements of the translation. This is useful for:
- Giving the translation a specific "persona" (e.g., "Translate for a theology student")
- Using a specific dialect or vocabulary
- Adding constraints (e.g., "Keep sentences short")
- Go to the Settings tab.
- Scroll to the Server Settings section.
- Find the System Prompt Template text box.
- Edit the text to your liking.
- Caution: Only modify this if the default translation style isn't meeting your needs.
- Backup: Copy and paste the current prompt into a text file before changing it, so you can easily revert if the new prompt causes issues.
- You MUST use the placeholders
{source_lang}and{target_lang}in your prompt so the system can insert the correct languages. - Default Prompt:
You are a professional translator. Translate the following text from {source_lang} to {target_lang}. Provide ONLY the translation, without any explanations, notes, or extra text.
GoGospelNow includes a mobile listener feature that allows congregation members to view translations and hear audio on their own phones.
- Start the GoGospelNow translator on your computer
- Look for the Mobile Listener URL displayed in the header (e.g.,
192.168.1.50:8000) - Share this URL with your congregation
- Members open the URL in their phone's browser (Chrome or Safari)
- Tap "Start Listening" to begin receiving translations
For a consistent connection, we recommend setting a static IP on the translator computer so the URL never changes.
- Navigate to the
scriptsfolder - Double-click
set_static_ip_windows.bat - Click Yes if prompted to run as Administrator
- Follow the on-screen prompts
- Open Settings β Network & Internet β Wi-Fi (or Ethernet)
- Click on your connected network
- Click Edit under "IP assignment"
- Change from "Automatic (DHCP)" to Manual
- Toggle IPv4 to On
- Fill in:
- IP address: Choose one (e.g.,
192.168.1.100) - Subnet prefix length:
24 - Gateway: Your router's IP (usually
192.168.1.1) - Preferred DNS:
8.8.8.8
- IP address: Choose one (e.g.,
- Click Save
- Open Terminal
- Run:
sudo ./scripts/set_static_ip_mac.sh - Follow the prompts
- Open System Preferences β Network
- Select your connection (Wi-Fi or Ethernet)
- Click Advanced β TCP/IP tab
- Change "Configure IPv4" to Manually
- Fill in:
- IPv4 Address: Choose one (e.g.,
192.168.1.100) - Subnet Mask:
255.255.255.0 - Router: Your router's IP (usually
192.168.1.1)
- IPv4 Address: Choose one (e.g.,
- Click OK β Apply
Using Script (Recommended):
- Open Terminal
- Run:
sudo ./scripts/set_static_ip_linux.sh
Using NetworkManager (GUI):
- Click the network icon β Settings (or Connection Settings)
- Select your connection β click the gear icon
- Go to IPv4 tab
- Change Method to Manual
- Add an address:
- Address:
192.168.1.100 - Netmask:
255.255.255.0 - Gateway:
192.168.1.1
- Address:
- Save and reconnect
Using command line (nmcli manually):
# List connections
nmcli con show
# Set static IP (replace "Wired connection 1" with your connection name)
sudo nmcli con mod "Wired connection 1" ipv4.addresses 192.168.1.100/24
sudo nmcli con mod "Wired connection 1" ipv4.gateway 192.168.1.1
sudo nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8"
sudo nmcli con mod "Wired connection 1" ipv4.method manual
# Restart connection
sudo nmcli con down "Wired connection 1" && sudo nmcli con up "Wired connection 1"Android phones aggressively turn off the screen to save battery. For long services (40+ minutes), the listener page cannot reliably keep the screen on via JavaScript.
Solution: Use the native Android App (see below) which has guaranteed screen-on functionality.
The GoGospelNow Mobile Listener allows congregation members to receive real-time translations on their phones. The translation text and audio are streamed directly to their devices.
- The translator server runs on port 8000
- The IP address is shown in the main app header (e.g.,
192.168.1.22:8000) - Phones connect to this address via WiFi
- They receive live translation text and audio
The native Android app provides:
- β Guaranteed screen-on - Screen stays active for the entire service
- β Saves server address - No need to re-enter each time
- β Audio playback - Auto-plays translated audio
- β Offline capable - Works on local network only
Installation:
- Download
GoGospelNow-Listener.apkfrom your church website or file share - Enable "Install from unknown sources" when prompted
- Install and open the app
- Enter the server IP address (shown on the translator computer)
- Tap "Connect & Start Listening"
Building the APK (for developers):
- The source code is in
listener-app/directory - Open
listener-app/android/in Android Studio - Build β Assemble app
- APK is at
listener-app/android/app/build/outputs/apk/debug/app-debug.apk
iOS users use the web-based listener:
- Open Safari on the iPhone/iPad
- Go to
http://[SERVER-IP]:8000- uselistener-standalone.htmlhosted on your website - Enter the server IP address
- Tap "Connect & Start Listening"
- (Optional) Tap Share β "Add to Home Screen" for app-like experience
Note: iOS's Screen Time settings may need adjustment for long services.
| Congregation Size | Network Recommendation |
|---|---|
| Up to 50 phones | Standard WiFi router |
| 50-150 phones | Dual-band router or 2 access points |
| 150-300 phones | Business-grade WiFi (Ubiquiti, etc.) |
| 300+ phones | Multiple access points + Gigabit backbone |
Bandwidth per phone: ~30-50 kbps (very low)
The listener app works alongside NDI video and other network traffic without issues.
GoGospelNow can run completely offline with no internet connection. This is perfect for:
- Mission trips without internet
- Remote locations
- Maximum privacy (nothing leaves the building)
-
Use local models only:
- Whisper (local) for transcription
- Ollama with downloaded models for translation
- Kokoro for TTS
-
Connect all devices to the same router (no internet required)
-
Phones connect via WiFi to the router
[Computer] ββ [Local Router] ββ [Phones on WiFi]
β β
(Ethernet) (No Internet)
All translation happens locally. The phones only need to reach the server on the local network.
Note translation audio should be isolated from the microphone or the program will loop back trying to interpret again what has been translated. Suggested use would be using an aux send to the computer's input for the mic signal. Then use another aux send to output audio to a transmitter to send the translated audio to individual receivers with headphones. Also could be used with Bluetooth headphones depending on the distance and devices needed.
For more detailed information, please refer to these additional guides:
- FAQ - Frequently asked questions about battery usage, network capacity, and troubleshooting
- TTS Supported Languages - Complete list of Kokoro and Google Cloud Text-to-Speech voices
- Hardware Recommendations - Specific settings for Mac M4, Ryzen, and Intel CPUs
- Performance Tuning Guide - Optimize the translator for your computer's hardware
- Application Settings - Detailed guide to every adjustable setting
- Tuning Guide - Advanced configuration and settings
- Security Setup - Best practices for securing your installation
- Roadmap - Future plans and upcoming features
- Updates - Changelog and version history
- Third Party Licenses - Open source licenses and attributions



