Pitfalls

microtonal scale explorer / chord arpeggiator / isomorphic grid keyboard

item: There are pitfalls in using equal division within which
         to calculate 2-interval-patterns which the unwary traveler
         will most certainly fall into.
                                                                              - Erv Wilson [0]

godzilla-9 semaphore-9

Many thanks to inspiration from Stephen Weigel, Sevish, Erv Wilson, and other explorers of microtonal/xenharmonic scales.

I’ve encoded my naïve interpretations into Pitfalls - a norns library for exploring microtonal scales and chords, and playing them via Grid as an isomorphic grid keyboard.

If there’s interest I can hone Pitfalls into a library for reuse - anywhere microtonal scale pitches are desired.

Already there are some concepts forming:

scale = Scale:new(2, 1, "LLsLLLs")
scale:set_mode(2)

intervals = ScaleIntervals:new(scale)
pitches = Pitches:new(scale, intervals, tuning = 432, midi_start = 60)

Requirements

  • norns
  • optional:
    • grid (64 or 128 varibright)
    • or midigrid (see edit settings to change grid lib)

Documentation

Explore & play your own microtonal scales.

Set interval structure as a sequence of large L, small s, and optional medium M steps.

For example, C Major diatonic scale:

   LLsLLLs  L: 2  s: 1  base: C

A 19 EDO, 7 note scale:

   LLsLLLs  L: 3  s: 2

Toggle note/chord arpeggiator to hear scales.

Pitfalls let’s you play your scales via grid as a isomorphic keyboard.

Controls:

-- E1 change cutoff filter
-- E2 change value
-- E3 select step or parameter to change
-- K1 
-- K2 toggle arpeggiator
-- K3 toggle circle, original, and strings display modes.

Download

Available on maiden, or:

pitfalls v0.3.0 - in progress, may add monophonic pitch-bend live retuning to play microtonal scale pitches on external synths via MIDI.

pitfalls v0.2.0 giojoso geola - add circle/string display modes, medium M scale step, and show existing scale name if any.

pitfalls v0.1.0 einfach einem - just one octave, many scale pitfalls.

Source

References

[0] An Introduction to the Moments of Symmetry

50 Likes

microtones!!! this looks like an amazing way to start reprogramming my brain. can’t wait to try.

1 Like

enjoy! I learnt a lot about structuring Lua from reading your arcologies sourcecode!

1 Like

Interesting - I was just discussing microtonal electronic instruments with someone and Pitfalls appeared…

By the way, anyone who is wondering how to add midigrid to this script just needs redacted (EDIT: ignore me, because @delineator cleverly allowed for midigrid already!)

Any chance we can begin to potentially add crow to this as well? Analog oscillators could match beautifully with this!

3 Likes

Actually you don’t need to alter the pitfalls sourcecode to use midigrid.

Instead I’ve added a grid_lib parameter.

You can change the grid_lib parameter option, and save a default PSET file like so:

K1 -> E1 right -> Parameters EDIT -> PITFALLS -> grid_lib -> choose between grid, midigrid/lib/midigrid, and midigrid/lib/mg_128

K2 -> PSET -> SAVE -> OK

2 Likes

Fantastic! That’s really great and I can confirm it works with mg_128. Nice!

I don’t have a crow setup myself. I could take a peek at other libraries to see what’s required code-wise.

1 Like

New release: Pitfalls v0.2.0 giojoso geola … happy new year!

godzilla-9 semaphore-9

  • Add circle display - show intervals on circle spokes.
  • Add strings display - show line lengths proportionate to interval ratios.
  • K3 toggles original, circle, and strings display.
  • Add M medium step to scale sequences.
  • Add more just intervals and chords.
  • Label scale in display with an exisiting scale name when it exists in MusicUtil, the Xenharmonic Wiki, or Scala.
15 Likes