linomatic: computer assisted pan templating

Manually templating a handpan is a laborious process - and one that, for the nth instance of a popular and long familiar layout, can feel quite boring and repetitive as well. With linomatic, we are now able to offer you a number of helpful tools to make your pan layout & templating process faster, easier, and more consistent:

  • free layout software that helps you design, explore, and document consistent, evenly spaced pan layouts;
  • (coming soon!) a free virtual player that lets you test drive these layouts, and present them to colleagues and customers;
  • (in development) the linomatic robot that will automatically draw these layouts onto your shells - fast, precise, and consistently repeatable.

Below I'll describe how you can use each of these tools.

Posted by lino on 06 Aug 2026

The layout app

This is a free web app that should run in any modern browser on any platform. It runs entirely on your local machine - if you feel protective of your work, you can disconnect from the internet after downloading the page.

Current status: v.0.59 (Sep 25, 2026)
  • browser engines confirmed working:
    • Gecko: Firefox, Tor
    • Blink: Chrome, Edge, Opera, Vivaldi, Brave, Samsung browser, ...
  • not yet tested, but should work: WebKit (Safari) on macOS & iOS
  • known issues: Presto (Opera mini) - saving does not work

To get started:

  1. Download the sample configuration file and open it in any text editor. Provide your shell measurements and library of tone field templates to use in the layout app. You can also set a number of auxiliary parameters for layout and virtual player; please read the comments in the sample file for guidance. You can save various configuration files for specific purposes - different shells, special tunings, and so on.

  2. Once you have configured things to your liking, launch the layout app and click/tap anywhere to load the configuration file. If this is successful, you will see an empty shell from above, ready for layout. Now:

    Click/tap on the shell to add a tone from the template menu at that location, or on a tone in order to change, delete, or pin/unpin it (more on that later).

    Drag on the shell to rotate it, on a tone field to rotate that (changing its tilt), or on the dimple of a tone in order to move it. During drags, you will see the angle of the shell, tilt of the tone (in degrees), resp. its elevation (distance from the center) in mm for reference.

When a tone gets close to another, or the rim of the shell, the shortest distance between them is shown in purple. These should be quite accurate - if you ever encounter a situation where they are not, please send me the layout file so I can investigate! The app's visual representation of the layout, by contrast, is not an exact perspective view. So if there is any discrepancy between how much space looks to be there and what the purple numbers say, trust the numbers!

The name of the layout is shown at the top; it can be edited by clicking on it. Three buttons in the corners of the layout provide additional functions:

  • The load/save button (⇧/⇩, top left) allows you to save the layout to your Downloads folder, or (if the shell is empty) load a previously saved layout. The layout's name is set to the filename on load, and used as filename on save.
  • The snapshot button (❏, top right) saves an image of the layout to your Downloads folder as a scalable vector graphics (SVG) file for documentation, printing, sharing, and the virtual player (see below). Various options determine how the layout will look and what it includes.
  • The spacer button (❉, bottom right) adjusts the azimuth (position around the circle) of tone fields automatically so as to maximize the minimum distance between them, thus evening out their spacing.

To keep things manageable, automatic spacing does not adjust elevation or tilt of tone fields. Make such adjustments manually, then hit the spacer button to evenly distribute the gained space. Fields that are pinned cannot be moved, neither manually nor by the spacer function - this allows you to protect some aspects of your layout while still working on others. To move a pinned tone field, you must unpin it first.

Additional features include localizing note names, enforcing a minimum distance of tone fields from the rim, and microtonal control over pitches for the virtual player. See the sample configuration file for details.

Happy templating!

Posted by lino on 07 Aug 2026

The virtual player

A free web facility that makes SVG snapshots of pan layouts playable, facilitating the interactive exploration of your sound models:

Posted by lino on 24 Sep 2026

The drawing robot

The linomatic robot automates the templating process by faithfully drawing your layouts onto shells. A functioning prototype was designed & built in 2025; here it can be seen in operation:

A second-generation design (improving speed, amenability to small series production, and many other aspects) is currently under development, and expected to be available from late 2026. Contact me If you are interested in this!

Posted by lino on 28 Aug 2026