Hey thanks for taking the time to respond and provide the Scala code :slight_smile:

It’d be cool to have a midi keyboard playing quantized Scala scales on the mutable instruments apps in Norns! How would one go about implementing your Scala code to do this?

Another thing that’d be cool is having ORCA run quantized Scala MIDI (out to hardware, or internally with the mutable apps)

If this sounds over the moon please forgive me haha. I am still waiting to get my first shield / norns via the upcoming kit restock :sweat_smile: :grimacing: Very excited with the amount of potential that’s packed into this nifty little device, all due thanks to the community here.

cheers!!!

2 Likes

Ooh. Yeah, now you’ve got me thinking about ways to Scala-ify existing scripts, which wasn’t something I’d thought much about before. In most cases I bet it can be done with only a couple modifications of the original script – in fact I just slapped together some code tonight to retune incoming MIDI notes in @okyeron’s Rings script.

Since Norns can’t run multiple scripts in parallel, I don’t think it’s possible to create a utility that isn’t part of the official Norns ā€œcoreā€ that would do this sort of thing in the background for all scripts, but I can absolutely publish a library that could be added to other scripts that would read a Scala file and then convert ET MIDI notes to floating-point pseudo-MIDI notes in that scale (ā€œpseudo-MIDIā€ meaning a quarter tone above middle C = 60.5, etc.; in most cases whatever formula a script uses to convert MIDI notes to frequencies or voltages will be just as happy taking a floating point number as an integer).

This of course assumes you’ve got Scala files to read (and there’s no shortage of those). Someday I’ll have a usable Norns-based scale editor too – still trying to imagine what the ideal interface would be for that, but I have dreams of something involving a USB numeric keypad…

5 Likes

not sure how complicated this would be or how much processing power is necessary but is it possible that someone could develop something similar to the m4l Convolution Reverb Pro (& measuring device module?), so one could measure the impulse responses (maybe even inside norns, connected to some sort of monitor+mic scenario for very portable IR capturing) or in the m4l app, but at least be able to load saved/user created impulse responses to the existing reverb engine in norns?

https://www.ableton.com/en/packs/convolution-reverb/

this got me wondering, the best solution i have right now for this is like a better quality usb/bluetooth speaker and my Zoom mic connected to my laptop running ableton with the M4l measurement device for capturing the tone response live in a crude manner with surprisingly accurate results. so i initially just wanted an engine to load my Ir’s into but if it could somehow be made portable, or if theres a way to do it just with a handheld device, that would be pretty convenient and allow for a lot more practical possibilities

2 Likes

I just found this: https://www.reddit.com/r/zoommultistomp/comments/89dnw6/shallow_water/

it seems like they use several vibratos in series with different rates and depths to emulate the randomness (each number is the settings for one of the units)
Depth 49, 32, 61, 64 Rate 1, 6, 7, 14 Balance 100, 100, 100, 100 Tone 5, 7, 7, 8 Level 120, 120, 120, 120

seems like something you might be able to do with pedalboard? I’ll have to try it out later.

5 Likes

Yeah! I don’t quite know how to translate faithfully from their parameters to pedalboard’s vibrato arguments, but a general ā€œfour vibratos in a row with random parametersā€ should be quite easy to do! Feel free to open up a branch / let me know if you have any questions. (The Vibrato pedal code, for reference: https://github.com/21echoes/pedalboard/blob/master/lib/fx/Vibrato.sc)

1 Like

I’d love to see file players with mix, pan and que/loop points. I want to play and mix long field recordings…

4 Likes

I’ve had the idea to ā€˜record’ grid sessions into gif form because I don’t have the camera gear to get good footage.

c

pretty rough right now, but at least it works.

20 Likes

been hoping for the same

3 Likes

it should be possible to write a simple script that just passes ASL commands (or any Lua) from norns to crow. It might not have every feature of druid, but would probably get you most of the way there. It could work just like the ^^derwydd max4live device.

1 Like

I had an idea of producing a norns script that would be a tape-delay-utility and would work with any 3-head tape machine; reel-to-reel or casette.

Essentially having input L as your source, output L going to the tape, input R comes back off the tape and output R is you master out. By sending the input of R back into output L you have feedback. And a simple delay line in the initial input/output would allow you to alter delay times without needing to change speed on the machine itself, especially handy for going between 2 or 3 speeds or for those machines which only have a single speed. Add in an low-pass/high-pass filter and maybe an lfo for pitch modulation and I think it would be a really cool idea. I don’t suppose such a thing exists already?

I am an absolutely newbie here and will be getting a norns/grids in a few weeks. I also have only a small amount of experience in max so it will take me time to learn lua. But think it wouldn’t be the hardest code to write given it is a simple concept.

5 Likes

I saw @boboter built this same thing for the Zoia

3 Likes

would something like the be possible in Norns?

I have wondered for maybe 4 years now if someone could make a sound design application that utilized 3d virtual space techniques the same way that houdini or blender or touchdesigner does to warp sound or even place fragments of sound in a virtual space. i havent used it yet but by the looks of it, it’s exactly what i’ve been after.

I don’t know how practical it would be to attempt to port this to norns, but i think it would possibly be the hardware granular solution i’ve been wishing for

2 Likes

I think this would be easy to build and is a great starter project.

Check out this tutorial which will give you the tools for fetching input off the left and right channels and sending them out. The clocks subsystem will give you the tools you need to build out the delay lines. You can wire up your encoders to the delay line / feedback blending to create the tape effect you want.

2 Likes

Oh woah that zoia patch is great! I’ve been using my daw/interface for this.

thanks for sending me some direct resources to get me started; it’s really useful!!

1 Like

Great idea. I used to think about that sort of thing quite a bit. I just wanted to mention that this also reminds me a bit of the Bjƶrk: Biophilia interactive album app, which was a fantastic concept!

1 Like

Not sure if it belongs here but wanted to ask about a couple of usability improvements. I feel this changes would do good experience of using norns even better and more immediate.

  • Would be awesome if Pset loading option was before saving in the menu. Might seem counter intuitive but I use loading all the time and saving just occasionally.
  • Also not sure if Pset needs its owns menu with submenus. I thing options that are there would be better on the top level.
  • Would be cool if script options in params would go before other system params, same reason as before I mostly don’t use them and would prefer not to have to scroll through them all the time.
  • Some dB levels can not be set precisely or zeroed. Compressor post gain for example, even while holding K3. It’s not obvious why dB params change in such strange intervals.

This might seem like nitpicking and I guess it really is. But it comes from a fan of the platform :slight_smile:

3 Likes

i can speak the last point a little (with apologies for tediousness.)

i agree it would be better if the parameter value were quantized to nearest decibel.

i think there is no design reason for the present behavior, just expedience:

  • these are parameters of type control. this means they map a ā€œrawā€ value in [0, 1] to an arbitrary range, quantum, &c, as defined in a ControlSpec. for example, the output range for compressor post-gain is [-20db, +60db]. (here.)

  • the :delta method for control params accepts an incoming number, scales it by 1/100, adds to the raw value, and updates the scaled value. (here.)

  • the output of the raw->ranged mapping is optionally quantized (according to the ControlSpec.) the audio parameter specs do not declare quantization values. (see first link.) so you could try simply changing the line

local cs_POSTGAIN = cs.new(-20,60,'db',0,9,'dB')

to

local cs_POSTGAIN = cs.new(-20,60,'db',1,9,'dB')

[norns/lua/core/audio.lua, line 450]

to round to 1db, and see how that feels.

  • however, the other factor is the input to the :delta function. this is an integer corresponding to the number of positions the encoder moved on the last tick. in fine adjustment mode, the encoder movement is scaled by 1/20.

so, it might feel a little weird to round the scaled parameter values to 1db when changing the raw values by multiples of 0.01 (since encoder movements are integers) - in the case of postgain you will be moving the value in increments of 0.8db that are then rounded to 1db, producing a funky jitter, but maybe that is OK. ā€œfine adjustmentā€ mode will probably feel better. the encoder scaling in ā€œcoarseā€ mode could be made smaller.


more generally, i’ve had this fleeting thought before, which writing this has ā€œcrystallizedā€: i think it would be good if a ControlSpec could define the :delta step (iow, the input quantization) as well as the output quantization. otherwise, its often not a very usable abstraction for sensitive parameters, and the solution so far has been to manually fiddle with the input scaling (iow, encoder sensitivity). it would be cleaner to make this an optional property of the parameter (or its spec, i dunno.)


i don’t have much of an opinion about the other points.

2 Likes

I was just thinking it would be useful to have a simple visual envelope generator available in the parameter menu (like text entry, or file select).

Maybe something like enc 1 being a ā€œriseā€ and enc 2 being a ā€œfallā€ with key 1 acting as a shift key to transitions from log -> linear -> exponential for rise/fall. A simple visualization could fit on the screen.

I’d like to do something like this for crow utility, but I think it could work well in different formats too.

Are there any granular effects floating around for Norns? Looking for something like Clouds or Arbhar or Nebulae, but in Norns form!

1 Like

You can use clouds on norns, thanks to @okyeron! Check out Mi-engines. Its also been added to Pedalboard: Chainable FX for norns (v1.5.1).

I think all the other granular scripts I’m aware of don’t work with live input, but there is also easygrain, glut, angl, mangl and langl :slight_smile:

4 Likes