your sonic butterfly collection

NB: I used a guitar pick scrape here that ended up more annoying sonically than I intended. This is just a demo, probably you can do prettier things with this script than I did here.

Make some sounds. Use the grid to pin down the sound at any given moment. Your butterflies are well-organized, of course. Each row has a particular color, with the higher frequencies toward the top of the grid, and the lower toward the bottom, and each column has a particular shape, going from long butterflies on the left to very short butterflies on the right. The butterflies in the middle are a bit more fluttery.

This is inspired by the Blukač Endless Processor (though it’s just granular rather than "resynthesis whatever that means) and MI Beads and other granular synthesis in general.


norns (required), grid (recommended, can be substituted with a MIDI keyboard)


As you are the lepidopterist, you can reorganize your butterfly collection in the params, deciding exactly what color each row should be, or exactly what shape each column should be.

Tapping a dark grid key adds a butterfly (records sound and then plays it using a granular sustain). Tapping a lit grid key toggles playing the butterfly.

Holding K2 allows removing butterflies.

Holding K3 + a butterfly + an empty space allows copying the pattern of the butterfly to a different shape and color.

Holding K3 + a butterfly + E3 adjusts the volume of the butterfly.

When you save a pset, all your pinned butterflies get saved to dust/audio/lepidoptery/[pset num].

To use with a midi keyboard, the octaves map to rows and the notes map to columns. Otherwise operation is the same, and there are four inaccessible columns.


;install https://github.com/sixolet/lepidoptery

lepidoptery on github


Thanks so much! Looking forward to giving it a go soon - from the description alone it sounds very much my cup of sonic tea.


Nice one, thank you for the butterflies!

1 Like

I enjoyed this very much. Thank you for sharing the script.

I have two suggestions:

  • Submenu for pan: This would make scrolling to the other parameters easier.
  • Replaceing image of a not activated butterfly with something smaller, visually different, e.g. a caterpillar or a pupa. This would make it easier to see where the active parts are (I used Midigrid and played as many voices as Norns could handle).

no butterflies were harmed on the development of this script

Thank you so much for sharing this!


Woah this looks awesome! Thank you

1 Like
  • pan should be in the shape menu. I’ll check on this today.
  • The active butterflies flutter a little on the screen. This is maybe too subtle. I want the inactive ones to stay butterflies, though. I’ll look at how I can differentiate the sprites.

Awesome script! love it!!

About the pan parameter Im also getting a ton of pan parameters when opening the main edit page, but I can see it at shapes menu too. Ive been “playing” butterflies with the grid, doing kind of melodies and harmonies, would be great having a kind of sequencer or pattern recorder for that!
Thanks a lot @sixolet :pray: :heart_eyes:


This looks incredible! Too bad I don’t have a grid…

Hahaha okay, now that I am awake and looking at the norns, that was a bug of failing to increase the number on the hidden group that contains each butterfly’s individual params, so there were 128 pans just hanging around missing their group all visible. Should be fixed now.


This is next level. Now I miss my grid :face_exhaling:

Hmm. I have an idea about making it reasonably midi-accessable.

Edit: MIDI support is in. Rows are mapped to octaves 1 through 8 on your keyboard, and C is column 3, C# is column 4 etc up through column 14. The two columns far to either side are still not usable from a MIDI keeb but you can adjust the column parameters how you like so it’s not much loss of function. A note_on is exactly like a grid keypress, and a note_off is exactly like a grid key release for script functionality.


About grid: this works perfectly well with midigrid. I use two Launchpad Mini MK3 which I bought second hand for 30 to 40 credits (USD/EUR) each. MK2 are cheaper but these are hard to use in daylight because of the red/green led.


Looks quite nice! Will give it a shot for sure :slight_smile:

1 Like

This looks really immediate and playable! thank you @sixolet

Am I missing a trick here? Plug in some sound, make some noise (VU meters moving on in/output page, hit a pad on the grid, should have some sounds from norns right? Do I need to arm something? No errors on maiden :confused:

I have a pretty minimal norns script set, is there a granular engine I need?

edit: nevermind. cable derp

1 Like

I totally had a similar derp last night trying to demonstrate something with Norns. What is this “source select” button on my big attenuator knob thing again?

1 Like

Maybe the inactive butterfly could be shown from the side, like in this example?

Another solution for Midigrid users might be to change colors of the brightness steps. I use an all white scheme but the different levels of brightness are a bit difficult to see, especially when there are lots of pads active. Maybe this would be easier with a rainbow scheme (if probably less aesthetically pleasing).

1 Like

+1 for pattern recorder! I love having pattern recorders in other granular grid scripts like granchild and ye old grainstorm.

This script is immediate fun. I’m using a monome walnut 64, and the UI still displayed a 128. Is there any drawback to using Lepidoptery like that? Panning did feel a little lopsided, but usable.

Glockenspiel > Tapedeck > Lepidoptery + Acoustic Guitar > Tapedeck > Cheat Codes 2 =



I think it might be nice for a 64 to default to every other column of a 128. I’ll look at that.


This is absolutely my new favorite script!

I second the idea of adding a pattern recorder, that would add another deep dimension to this.

Thanks for this beautiful addition to the granular world.