Installation Guide
Download HTK from htk.rocks/download, then follow the steps for your platform below.
Windows Installation
HTK runs as a standalone .exe — no Python required. You just need to install two free external tools first.
FFmpeg handles all audio and video processing. Open a terminal (Command Prompt or PowerShell) and run:
winget install Gyan.FFmpeg
If you don't have winget, download FFmpeg manually from
gyan.dev/ffmpeg/builds
— grab the release full build, extract it (e.g. to C:\ffmpeg), and add the bin folder to your system PATH.
Node.js is needed for YouTube video downloads. Install it with:
winget install OpenJS.NodeJS.LTS
Or download the LTS installer from nodejs.org.
Open a new terminal window and run:
ffmpeg -version node --version
Both should print version info. If either says "not recognized", restart your terminal or check your PATH.
Double-click HTK.exe. On first launch it creates its data folders automatically.
macOS Installation
HTK comes as a standard .app bundle. Install two dependencies via Homebrew and you're ready.
If you don't already have Homebrew, open Terminal and paste:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install ffmpeg node
ffmpeg -version node --version
Move HTK.app to your Applications folder and double-click it.
xattr -cr /Applications/HTK.app
Raspberry Pi Installation
Tested on Raspberry Pi 5 with Raspberry Pi OS Trixie (64-bit). HTK ships as a standalone binary — no Python, venv, or pip required. You just need a handful of system libraries.
HTK bundles Python and its Python packages, but still needs a few shared libraries from the OS (FFmpeg for media decoding, Qt/X11 libraries for the UI, Node.js for yt-dlp). Copy-paste this block into a terminal:
sudo apt update
sudo apt install -y \
ffmpeg nodejs \
libasound2 libportaudio2 \
libegl1 libgl1 libglib2.0-0 libfontconfig1 libdbus-1-3 \
libxkbcommon0 libxkbcommon-x11-0 \
libxcb-xinerama0 libxcb-cursor0 \
libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 \
libxcb-render-util0 libxcb-shape0 libxcb-xfixes0
Optionally, remove the Wayland on-screen keyboard — it pops up over text fields and gets in the way on a KJ rig:
sudo apt remove --purge -y squeekboard
Grab the Raspberry Pi build from the download page and extract it wherever you want HTK to live (e.g. your home directory):
unzip htk_*_rpi.zip cd HTK
./HTK
On first launch HTK creates its data folders (downloads/, library/, banners/, logs/) next to the executable.
.desktop entry automatically on first launch — it writes ~/.local/share/applications/htk.desktop (so the taskbar and task switcher show the real icon instead of a generic genie lamp) and a double-click shortcut at ~/Desktop/HTK.desktop. Both entries point at wherever you extracted HTK. If you later move the HTK folder, just launch from the new location once — HTK detects the stale path and rewrites both entries.
Troubleshooting
"ffmpeg not found" or audio doesn't play
Make sure ffmpeg and ffprobe are on your system PATH. Open a terminal and run ffmpeg -version to verify.
YouTube downloads fail
This is usually caused by an outdated version of yt-dlp. A new build of HTK will include the latest version — check the download page for updates.
App doesn't start or crashes immediately
Check the logs folder next to the app for error details. The most common causes are missing FFmpeg, missing Node.js, or antivirus interference.
Display window doesn't appear on second screen
Go to the Output tab inside HTK and select the correct display. The app looks for HDMI-connected screens automatically but you can override it.
Next Steps
HTK is installed — now set up your profile, import your songs, and get ready to run your first show.