Skip to main content

iLyrics

CI License: Apache-2.0 macOS 14+

iLyrics renders lyrics videos that reproduce the Lyrics screen of the Music app on iPhone, and synchronizes plain lyrics to a recording automatically. It runs entirely on your Mac: vocal separation and speech recognition run through Core ML, and no network service is involved after the one-time model installation.

This package installs the native ilyrics command for macOS on Apple silicon. It contains no JavaScript or Python code beyond what is needed to place the binary on your PATH.

ilyrics render song.m4a lyrics.txt -o video.mp4

Three frames of a rendered Lyrics video: the first line filling while the playback controls are visible, the next line filling word by word, and the instrumental-gap indicator

Note: iLyrics is a public preview. English synchronization was qualified on 80 unseen recordings; the visual preset is not yet qualified, and options may change. iLyrics is not affiliated with, endorsed by, or sponsored by Apple.

Features

  • Automatic synchronization. Plain text lyrics are aligned line by line and word by word against a separated vocal stem; lines without reliable timing are placed between their neighbours and reported.
  • A faithful Lyrics screen. Focus motion, word fill, background vocals, instrumental-gap indicators, a scrolling title, an artwork-derived background, and auto-hiding controls, measured from the Music app on iOS 27.
  • Supplied timing. TTML, LRC, and Enhanced LRC files are rendered as supplied.
  • Deterministic and local. Every frame is a pure function of its timestamp, and recordings, lyrics, and videos never leave your Mac.

Requirements

  • macOS 14 or later on Apple silicon
  • About 600 MB of disk space for the alignment models

Installation

npm install -g ilyrics        # npm
pipx install ilyrics          # pip (or: pip install ilyrics)
brew install x96x64/tap/ilyrics

Then check the environment and install the alignment models, about 460 MB downloaded once from their publishers and rebuilt on your Mac:

ilyrics doctor
ilyrics models install

Usage

# Align plain lyrics and render a video
ilyrics render song.m4a lyrics.txt -o video.mp4

# Render supplied timing as is
ilyrics render song.m4a lyrics.ttml -o video.mp4

# Only align, writing word-timed TTML and a JSON report
ilyrics align song.m4a lyrics.txt -o lyrics.ttml --report report.json

The title, artist, and artwork are read from the audio file's metadata. Common options:

Option Meaning
--title TEXT, --artist TEXT, --artwork FILE Override the header and artwork
--background artwork|static Artwork-derived or static background
--controls auto-hide|visible Hide the lower controls after playback starts, or keep them
-j, --jobs N Parallel rendering workers
--fast GPU and Neural Engine inference; faster but not reproducible
--force Replace an existing output

Plain lyrics are UTF-8 text with one sung line per line and blank lines between sections. Section labels such as [Chorus] are ignored, and parenthesized phrases are shown as background vocals. See the command reference for every option.

Rights

Control icons are SF Symbols, resolved at render time from your Mac and never bundled. Apple's terms do not expressly permit their use in exported videos, so you are responsible for how you publish the videos you create, and for holding the rights to the recordings, lyrics, and artwork you render.

License

Apache License, Version 2.0. The alignment models are downloaded from their publishers under their own licenses: Demucs (MIT) and wav2vec 2.0 (Apache-2.0).

Metadata

Release files for ilyrics 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for ilyrics 0.2.0
File Interpreter ABI Platform
ilyrics-0.2.0-py3-none-macosx_14_0_arm64.whl Python 3 none macOS 14.0+ ARM64 Details

Release files / ilyrics-0.2.0-py3-none-macosx_14_0_arm64.whl

Download URL ilyrics-0.2.0-py3-none-macosx_14_0_arm64.whl
Size 3.6 MB
Tags Python 3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
76852792cf256cca5701e463061a0eb4820cd4710f5e6ae488afd4b01ba42f8a
BLAKE2b-256 checksum
How to use checksums
927a055e64f0c10c3f17d53fd6dd36f9ef328e98298a7851f2fad47a61c0195e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.1

1 release file

1.0.0

1 release file

This release

0.2.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page