Desktop Required

Imitazioni is a professional music composition tool designed for desktop use.

Please visit on a desktop or laptop computer for the full experience.

imitazioni.com

Imitazioni

Imitazioni is a tool for musicians to create interesting and harmonically consistent repetitive structures in their compositions.

Transform any melody into a contrapuntal canon — a musical form where voices enter at different times, each derived from the original melody through transformations like transposition, inversion, retrograde, and time scaling.

Import a tune, configure how each voice transforms the melody, and instantly hear the results. The auto mode uses beam search to find harmonically pleasing voice combinations. Export your creation as MusicXML for use in any notation software.

Use in Your Browser

Choose Your Melody

Already have an Imitazioni file?

Use with MuseScore

MuseScore Plugin

Use Imitazioni directly inside MuseScore 3. Generate canons, repeat voices, create piano reductions, and regenerate — all without leaving your notation software.

The plugin adds a dock panel with four buttons. Each opens the full Imitazioni configuration interface. Results are automatically imported back into MuseScore as a new score tab.

Download Plugin Requires MuseScore 3.6.2 + Python 3.8+
Installation & Setup
  1. Install MuseScore 3.6.2 — the plugin is tested against this exact version. MuseScore 4 is not supported. The release page has installers for Windows, macOS, and Linux.
  2. Download and unzip the Imitazioni plugin (above)
  3. Copy the imitazioni-musescore-plugin/ folder to your MuseScore plugins directory:
    • macOS: ~/Documents/MuseScore3/Plugins/
    • Windows: %HOMEPATH%\Documents\MuseScore3\Plugins\
    • Linux: ~/Documents/MuseScore3/Plugins/
  4. In MuseScore, go to Plugins > Plugin Manager and enable “Imitazioni”
  5. The Imitazioni dock panel appears in the sidebar

The plugin talks to the hosted Imitazioni backend at imitazioni.com — no local server setup required. For local development, edit backendUrl in Imitazioni.qml (see the plugin README).

Open Sample Melody

From the Nottingham Music Database (~1000 tunes)

Beam Search Algorithm

Imitazioni uses beam search to find harmonically pleasing voice combinations when generating canons automatically.

Beam search is an optimization algorithm that explores the space of possible voice configurations while keeping track of the most promising candidates at each step. Rather than evaluating all possible combinations exhaustively (which could be millions), it:

  1. Starts with the first voice (the original melody)
  2. For each additional voice, evaluates all valid transformations
  3. Scores each combination based on harmonic consonance, voice leading, and chord progressions
  4. Keeps only the top N candidates (the "beam width")
  5. Continues until all voices are placed

This approach finds high-quality results efficiently, though it may not find the absolute best solution. Increasing the beam width explores more possibilities but takes longer.

About Imitazioni

beta v1.0 | Build:

Conceived by Jaron Lanier and Greg Kufera

Written by Greg Kufera

License

Imitazioni is licensed under PolyForm Noncommercial 1.0.0

Third-Party Libraries

Report Bugs

[email protected]

Utilities

Repeat a voice multiple times to extend the canon. The selected voice will be duplicated and appended to itself.

Combine voices into a two-staff piano score. Voices are assigned to treble or bass based on average pitch.