new softcut is amazingly well crafted

11 Likes

nice, what is going on there?

1 Like

a softcut script by @Justmat for stereo looping
with controls for all sorts of params (volume, speed, direction, loop length) per channel

sound source was no input mixing
norns and mackie feeding each other blooms

8 Likes

What exactly is softcut?

Didn’t @zebra just explain that 7 posts prior to yours?

2 Likes

Yeah. Perfectly, I just missed it. Which is embarrassing.

1 Like

All good

We’ve each done it at some point

1 Like

getting this error in matron when i type this in REPL:

h = require ‘halfsecond’
h.init()

lua: stdin:1: module ‘halfsecond’ not found:
no field package.preload[‘halfsecond’]
no file ‘/home/we/norns/lua/halfsecond.lua’
no file ‘/home/we/norns/lua/core/halfsecond.lua’
no file ‘/home/we/norns/lua/core/params/halfsecond.lua’
no file ‘/home/we/norns/lua/lib/halfsecond.lua’
no file ‘/home/we/norns/lua/softcut/halfsecond.lua’
no file ‘/home/we/dust/code/halfsecond.lua’
no file ‘/usr/local/share/lua/5.3/halfsecond.lua’
no file ‘/usr/local/share/lua/5.3/halfsecond/init.lua’
no file ‘/usr/local/lib/lua/5.3/halfsecond.lua’
no file ‘/usr/local/lib/lua/5.3/halfsecond/init.lua’
no file ‘/usr/share/lua/5.3/halfsecond.lua’
no file ‘/usr/share/lua/5.3/halfsecond/init.lua’
no file ‘./halfsecond.lua’
no file ‘./halfsecond/init.lua’
no file ‘/usr/local/lib/lua/5.3/halfsecond.so’
no file ‘/usr/lib/arm-linux-gnueabihf/lua/5.3/halfsecond.so’
no file ‘/usr/lib/lua/5.3/halfsecond.so’
no file ‘/usr/local/lib/lua/5.3/loadall.so’
no file ‘./halfsecond.so’
stack traceback
:
any ideas?

Needs more path

require “awake/lib/halfsecond”

(Should work?)

1 Like

ah thanks was looking everywhere for that. :smile:

so it is

h = require ‘awake/lib/halfsecond’
h.init()

I’m just here to say, after spending a few weeks with 2.0 that Softcut is, to me, pure wizardry, magic, mistery, however you want to call it that doesn’t mean “tool” and “gear”. It’s just amazing, script after script, how much it can do and how beautifuly it does it. Thank you @zebra

The technical aspect of it is too cryptic for me to add or ask for anything yet and make a valuable contribution to this thread, and I’ll definitely try to understand it more if time allows, but damn, I really wanted to say thank you for a few days of sheer joy that had me thinking about what I could acheive with it when I wasn’t near my norns.

10 Likes

@LLK fully agreed! it is pure magic.

next norns study will be 100% softcut, which will show how that (like the rest of norns) there are small simple building blocks that can be assembled in different ways. i’ll be working on the outline this week, hoping to get it out quickly.

20 Likes

All of the references to softcut seem to mention audio; do I assume correctly that softcut could not be used directly for data (midi, for example)?

yeah, softcut is a program designed to work with audio buffers. as written, it won’t process MIDI.

2 Likes

Does the halfsecond REPL thing still work? I couldn’t make it work anymore last night.

quick q: does anybody have a cheatsheet of value ranges for the filter commands?

use this now instead:

h = require ‘awake/lib/halfsecond’
h.init()

:grinning:

1 Like

ah, thanks. That was so easy. :smiley:

1 Like

is this what you mean (from here)?

-- filter
      filter_fc = { type="control", controlspec=controlspec.new(10, 12000, 'exp', 1, 12000, "Hz") },
      filter_fc_mod = { type="control", controlspec=controlspec.new(0, 1, 'lin', 0, 1, "") },
      filter_rq = { type="control", controlspec=controlspec.new(0.0005, 8.0, 'exp', 0, 2.0, "") },
      -- @fixme use dB / taper?
      filter_lp = { type="control", controlspec=controlspec.new(0, 1, 'lin', 0, 1, "") },
      filter_hp = { type="control", controlspec=controlspec.new(0, 1, 'lin', 0, 0, "") },
      filter_bp = { type="control", controlspec=controlspec.new(0, 1, 'lin', 0, 0, "") },
      filter_br = { type="control", controlspec=controlspec.new(0, 1, 'lin', 0, 0, "") },
      filter_dry = { type="control", controlspec=controlspec.new(0, 1, 'lin', 0, 0, "") },
2 Likes

that’s the one! I also realized I could just add params and that’d show me the ranges, but I’m away from my norns at the moment and wanted to sketch out an idea.

thank you!

1 Like