Lithops

Lithops

Lithops, named for a genus of succulent outcrossers, is an experimental tape player and probabilistic mangler for Monome Norns.

lithops_screen

Whenever I’m feeling uninspired, I like to create soundscapes from random cassette tapes. Lithops, which generates random tape loops from the files in your Tape folder, approximates this experience. Once you’ve generated a loop, you can adjust the pitch, add reverb (Sweet Bees), or mangle the tape by introducing “glitches” inspired by Softcut Studies #8 (@dan_derks).

Requirements

Monome Norns and Tape Files/Audio Source

Documentation

K3: Generate Loop
K3 (hold): Resample Loop
K2: Stop / Play Loop
K1+K3: Save Loop

E3 (cw): Mangle Loop
E3 (ccw): Restore Loop
E2: Pitch Control
E1: Adjust Reverb

Parameters

Length: 1 - 10 seconds
Sprite: Tape Loop/Cassette Shell
Labels: On/Off (See Source Files)
Source: Tape/Input
Stereo: Off/On

Download

v2.3.0

Maiden Install

;install https://github.com/icerigger/lithops

77 Likes

Love the name!

One of my favorite projects/artists!

5 Likes

this is really fun! thanks for sharing :smiley:

here’s a few seconds of my first loops

25 Likes

nice idea, thanks for sharing :slight_smile:

1 Like

Wowzers! Simply awesome. But I get error: init

# script clear

# script load: /home/we/dust/code/lithops/lithops.lua

# script run

>> reading PMAP /home/we/dust/data/lithops/lithops.pmap

m.read: /home/we/dust/data/lithops/lithops.pmap not read.

Engine.register_commands; count: 0

___ engine commands ___

___ polls ___

amp_in_l

amp_in_r

amp_out_l

amp_out_r

cpu_avg

cpu_peak

pitch_in_l

pitch_in_r

# script init

### SCRIPT ERROR: init

/home/we/dust/code/lithops/lithops.lua:299: bad argument #1 to 'random' (interval is empty)

stack traceback:

/home/we/norns/lua/core/norns.lua:145: in function </home/we/norns/lua/core/norns.lua:145>

[C]: in function 'math.random'

/home/we/dust/code/lithops/lithops.lua:299: in global 'init'

/home/we/norns/lua/core/script.lua:126: in function 'core/script.init'

[C]: in function 'xpcall'

/home/we/norns/lua/core/norns.lua:146: in field 'try'

/home/we/norns/lua/core/engine.lua:91: in function </home/we/norns/lua/core/engine.lua:89>
1 Like

Could someone tell me how i might change the folder that this app looks into for an audio file. I dont use the tape folder and id rather it looked in one of my own sample folders.

or the option to choose a folder in the parameters would be nice.

Really enjoyed getting it to work with the bird tweeting file. thanks for making this.

2 Likes

Can’t wait to try this out.

1 Like

This is awesome! Thanks for checking it out! I especially like how you go back and forth between restored and mangled loops. If you want to change the sprite, hold down K1 for a second or two.

1 Like

Hmmm. Thanks for checking it out. I’ll do some digging later tonight. Also, I’m not sure if it matters, but I updated to a new version of norns mid-coding.

1 Like

Thanks for checking it out! I’ll look into adding an additional parameter. For now, and it’s not the best fix, but you can change “_path.tape” in lines 298, 300, 450, 452, and 458 to whatever folder you want Lithops to look at.

2 Likes

i just ran into an init error, but re-selecting the script loaded it right up.

This is very fun, thank you! How would you feel about having the sprite change when the loop changes?

2 Likes

That’s a great idea! You can toggle between the two sprites right now by holding K1, but I think it would be fun to add something like a “Fixed” or “Random” parameter for changing them (or not) each time you generate a loop. I wonder how many different sprites would have to be mapped to make it worth it.

not sure how many would be enough, but here are a few sprite ideas that could be fun :smiley: :

9 Likes

Anyone else getting the error init or it is just me? :thinking: :frog:

i have, but just trying to load lithops again, without restarting, worked for me :man_shrugging:

2 Likes

yep, same here. i followed @Justmat’s instructions and it worked.

love it btw @midworld! sooo much fun to just hit + hold k3 and :tada:

3 Likes

Yep I did that but did not work :cry: but thanks

Oh I forgot about that @disquiet article. Coincidentally I found that loop cassette featured in that article in a box yesterday when I was looking for a different tape.

3 Likes

error also here. @Justmat fix did not worked for me. I did a maiden install without restarting.

1 Like