Every song, sung by a villager.

Hrrmony (the villager’s “hrmm” plus harmony) pulls the vocal out of any track, re-sings it in the voice of a Minecraft villager and lays it back over the original music. It runs on your own machine, so your music never leaves it.

The viral villager covers aren’t sound clips glued onto notes. They’re the singer, re-voiced. So the phrasing stays human, every consonant lands like a villager taking a hit, and the song is still the song.

Listen / Public-domain demo

Hear the villager sing.

“Happy Birthday”, sung by a Minecraft villager. Made with Hrrmony from a public-domain melody.

0:00

Features

Four things it does well.

One job, done locally: turn a song you love into the villager cover everyone keeps asking for.

01 Default mode

Hook mode / --hook

Best 30 seconds

Drop in a song and it finds the chorus for you: the loudest stretch whose harmony repeats most, snapped to a beat. Or pick your own start with --start.

  • Auto chorus
  • Beat-snapped
  • ~25 s on an RTX 4050
30s
Chorus found at 91.5 s in 凉凉 (it starts at 90.3 s)
02 One flag

Full mode / --full

The whole song

Every verse, every chorus, every ad-lib, re-sung by a villager over the untouched instrumental. A three-minute track takes about a minute on a laptop GPU, and it still works on CPU.

  • Original instrumental
  • MP3 and WAV
  • Stems on request
FULL
A 4 min 23 s song covered in 75 s on an RTX 4050
03 hrrmony serve

Web app / CLI / Python

Upload, listen, download

A local web app with live progress and side-by-side playback of the cover and the original. Prefer the terminal? One command does the same, and make_cover() does it from Python.

  • Live progress
  • A/B playback
  • Docker image
The Hrrmony web app: a song upload box with Best 30 seconds and Whole song options
04 Open research

Measured / not guessed

Matched to the viral sound

We took a popular AI villager cover apart: pitch, syllables, noise bursts, EQ and level. Hrrmony reproduces it, and every number is in the repository.

  • −8 semitones
  • Dry, mono, −3.9 dB
  • Research log
31-second chorus, reference cover vs Hrrmony
MeasureReferenceOurs
Syllables5050
One hum per word72%68%
Breath noise0.190.19
Hit-like burstsyesyes

Install / Python 3.10 to 3.12

Three commands to your first cover.

You need ffmpeg on your machine. The first cover downloads about 1.2 GB of models, then everything runs offline.

  1. Install

    pip install "hrrmony[gpu,web] @ git+https://github.com/kenny2077/hrrmony"

    No NVIDIA GPU? Use [cpu,web] instead.

  2. Check

    hrrmony doctor

    Confirms ffmpeg, your GPU and the model cache.

  3. Cover

    hrrmony cover song.mp3        # best 30 s
    hrrmony cover song.mp3 --full # whole song
    hrrmony serve                 # web app

    Covers land next to you as MP3 and WAV, with the original excerpt for comparison.

Make the villagers sing.