Hi @dan_derks :slight_smile:
If i want add a custom scale in lua file (e.g. an .scl SCALA file)
can I add the series to this string:

 notes = { {0,2,4,5,7,9,11,12,14,16,17,19,21,23,24,26,28,29,31,33,35,36,38,40,41,43,45,47,48},
      {0,2,3,5,7,8,10,12,14,15,17,19,20,22,24,26,27,29,31,32,34,36,38,39,41,43,44,46,48},
      {0,2,3,5,7,9,10,12,14,15,17,19,21,22,24,26,27,29,31,33,34,36,38,39,41,43,45,46,48},
      {0,1,3,5,7,8,10,12,13,15,17,19,20,22,24,25,27,29,31,32,34,36,37,39,41,43,44,46,48},
      {0,2,4,6,7,9,11,12,14,16,18,19,21,23,24,26,28,30,31,33,35,36,38,40,42,43,45,47,48},
      {0,2,4,5,7,9,10,12,14,16,17,19,21,22,24,26,28,29,31,33,34,36,38,40,41,43,45,46,48},
      {0,3,5,7,10,12,15,17,19,22,24,27,29,31,34,36,39,41,43,46,48,51,53,55,58,60,63,65,67},
      {0,2,4,7,9,12,14,16,19,21,24,26,28,31,33,36,38,40,43,45,48,50,52,55,57,60,62,64,67},
      {0,2,5,7,10,12,14,17,19,22,24,26,29,31,34,36,38,41,43,46,48,50,53,55,58,60,62,65,67},
      {0,3,5,8,10,12,15,17,20,22,24,27,29,32,34,36,39,41,44,46,48,51,53,56,58,60,63,65,68},
      {0,2,5,7,9,12,14,17,19,21,24,26,29,31,33,36,38,41,43,45,48,50,53,55,57,60,62,65,67},
      {0,1,3,6,7,8,11,12,13,15,18,19,20,23,24,25,27,30,31,32,35,36,37,39,42,43,44,47,48},
      {0,1,4,6,7,8,11,12,13,16,18,19,20,23,24,25,28,30,31,32,35,36,37,40,42,43,44,47,48},
      {0,1,4,6,7,9,11,12,13,16,18,19,21,23,24,25,28,30,31,33,35,36,37,40,42,43,45,47,48},
      {0,1,4,5,7,8,11,12,13,16,17,19,20,23,24,25,28,29,31,32,35,36,37,40,41,43,44,47,48},
      {0,1,4,5,7,9,10,12,13,16,17,19,21,22,24,25,28,29,31,33,35,36,37,40,41,43,45,47,48},
      {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28} }

and add a name here:
names = {ā€œionianā€,ā€œaeolianā€, ā€œdorianā€, ā€œphrygianā€, ā€œlydianā€, ā€œmixolydianā€, ā€œmajor_pentā€, ā€œminor_pentā€, ā€œshangā€, ā€œjiaoā€, ā€œzhiā€, ā€œtodiā€, ā€œpurviā€, ā€œmarvaā€, ā€œbhairavā€, ā€œahirbhairavā€, ā€œchromaticā€}

thanks!

hey! just so I best understand (I’ve never used SCALA before), you’d want to replace/add to the scale offerings with some custom tunings?

as far as I can tell, there’s currently no built-in lib to interpret .scl files, but @synthetivv has done some work on this: https://github.com/synthetiv/fretwork/blob/master/lib/scala.lua. i think it’d be nice to make something like this canonical.

@ngwese might also have some insight on how to best manage .scl file interpreting on norns. happy to revise the script to work with a SCALA lib, if we end up with a good candidate :slight_smile:

3 Likes

exactly :slight_smile: I was asking this since Brian from Orthogonal Devices worked on this on ER-301. This is truly beautiful and powerful.
By this way, Just insert a SCALA file (.slc) inside a folder and then the Scale Quantizer on ER-301 reads those intervals.

Indeed, these would open up a myriad of possibilities useful for experimentation.
eg: if you don’t know Wilsonic I recommend you take a look, the app is free:

This is a wonderful alternative to Scala that can be installed on the phone. The results can be shared via email / sms as the app generates an .slc file.

SCALA is fantastic but can be difficult for those unfamiliar with music theory. In addition, the installation requires some workround and is not immediate especially on MAC.

I hope this post can generate interest. it would be really interesting to have the possibility (via System Setting / NORNS and not through the single apps) on all synth apps that use scales to change the scales and experiment with the most unusual results

Thanks for interestā˜ŗļø

2 Likes

[sorry, i totally misread the initial request.]

seems like it would work fine to just add additional note offset tables and names for new scales.


a scala parser is not difficult (.scl is a pretty simple format): indeed there are at least two scala-parsing libs for norns:
[https://github.com/ngwese/lua-scala/blob/master/scl.lua]
[https://github.com/synthetiv/fretwork/blob/master/lib/scala.lua]

but using scala (or similar) seems like overkill for the scale data in ā€œless conceptsā€: these are not tunings, they are just collections of note offsets. making LC ā€œdo something with tuningsā€ would be a different thing.

1 Like

Hi Ezra, thanks for the reply. unfortunately I’m not a skilled programmer and I wouldn’t know where to start to use one of the parser you mentioned but my idea is basically simplerā˜ŗļø
Then following the logic of the ER-301 it would have been nice to have a sort of repository folder on which to store the .slc files and then find them in the script settings relating to the scale settings.
On the 301, I made some custom units that using white noise and sample & hold to trigger random notes and I found many interesting .slc files

I wanted to understand if there was a quick method like in 301 environment. in any case I can always try to convert ā€œthose sequence of interesting notesā€ (for me of course) from the scale format to LUA notenumber. should work or I’m wrong?

Thks

yeah, something like this is not implemented for norns / less concepts. i would give it a medium-low level of effort to implement. if you ask around in maybe the Norns:ideas thread or somewhere, somebody may be interested in adding it to the norns library.

in the meantime,

sure, you could certainly do that and just add more tables / names to the lines you identified in the script.


my other point is that less_concepts would take a little more work to support non-12tet tunings.

passerby (the synthesis engine) does support microtonality pretty directly, by accepting an arbitrary frequency for each noteon, not just a note number. (this is a common pattern among the small set of norns synthesis engines, because many of us are used to non-12tet.)

less concepts hard-codes the note-number -> frequency conversion here, using standard 12tet conversion:
[ https://github.com/dndrks/less_concepts/blob/master/less_concepts.lua#L262 ]

so if one did add the ability to import scala files to less concepts (or to some sort of global collection of scale data), one would also want to update that logic in LC with the ability to compute frequencies more arbitrarily.


i think the idea of a global collection of scales/tunings in the norns system is pretty powerful and worth putting on the roadmap.

6 Likes

All very clear, thanks for the exhaustive answer.
in the meantime I will use LC in an even more arbitrary way. That is, sending the notes out via Ornament&Crime (through Hemisphere) into the ER-301 scale quantizer with those scales set and let’s see what comes out.

Thanks again for the effort but above all for the desire that you take to listen to the community.
many of us just want to make music and stay as far away from the markup as possible but many of the times it’s really interesting to get lost in these meanders (:

I’m thinking that it might be interesting to port Less concepts to a VCV Rack module in some way, even if I’m the only one to use it. Is there a specific license on Less concepts if I were to do this (beyond putting credits in the manual and description)? I want to be respectful of @dan_derks’ work!

4 Likes

hey! woah, this is a super dope (and very humbling) thought, thank you!

generally, i’d say that mention of ezra’s work on the teletype ops that inspired me and mention of monome should be part-and-parcel. less concepts is, at its core, just a super-specific application of tools others have made – extended through my perspective, but deeply indebted to their vision and brilliance.

the main thing is that if the module builds off of or references less concepts in any substantial way, then i’d like it to be free :slight_smile:

would be happy to help how I can – I’ve never made a VCV Rack module, but I can be available to answer any q’s about the project itself. if you’re serious about taking this on and want to chat it out, let’s connect through DM :revolving_hearts:

also, welcome! :tada:

6 Likes

Sweet, thanks!

Yeah, it would be free and open source :blush: I never know how quickly I’ll get done with my various projects or if they’ll ever reach releasable states, but if this happens to get to a more serious state of being worked on, I’ll definitely reach out.

2 Likes

I’m sorry in advance if I’m missing something very obvious, but I can’t get any sound out of less concepts… The refrain looper works if I send audio in, and I have passerby installed. Messed with every parameter, tried randomizing everything, turning it off and on again. It’s a norns shield if that matters, latest firmware and all that. Haven’t tested passerby on its own, don’t have a midi controller to see if the problem is with that engine if that seems more likely… I’d appreciate any insight into what the heck i’m doing wrong here because it looks so fun…

huh, super weird. you’re selecting bits (the bottom left corner)? they start at a default 0 position, which is muted. i should probably just update the script to start at position 1, apologies if that’s it! this was very early in my scripting journey :slight_smile:

also, you’ll want to make sure the engine level is turned up on the LEVELS page of the system menus

1 Like

Well maybe it just needed some alone time because I started up my norns and it was immediately working… weird! The bit about the bits is good to know, I’m pretty sure I tried that but (if it wasn’t just a weird fluke) it’s likely that was my issue. Thanks for your help, and great script :slight_smile:

1 Like

is it possible to add .scl tunings to Less Concepts? wow that would be ideal

IF you all really want a great tuning in scala make sure you check out the one called pagano-beardsley tuning [i constructed the lattice for it with help from joe monzo] but i worked on the tuning with my old mentors Denny Genovese and LaMonte Young. It’s based on the 17th harmonic 17/16 C# which is really Ravi Shankar’s tuning for his SA. When i played with Ravi and told him about it he smiled and said i was ā€œvery intuitiveā€ hahaha anyway i hope it’s still in the libray :slight_smile:

6 Likes

In case anyone wants to follow development, feel free to follow on the VCV Rack forums. Calls for beta testers will be made sooner rather than later, I hope! https://community.vcvrack.com/t/iggy-labs-modules-updates-and-beta-testing/10517/2

EDIT: Alpha builds available now. A beta version with finalized inputs and outputs should be here soon.

EDIT 2: Beta builds available: https://community.vcvrack.com/t/iggy-labs-modules-v1-1-0-more-ideas-pre-release-testing/10517/30?u=iggylabs Hoping to release officially in a couple of weeks.

6 Likes

Can you update this to take in the link sync?

I will but I can’t promise when that will be. I have no time for any music stuff for the next while unfortunately.

1 Like

ok! much appreciated…

Is there a built in time division that I missed? I have to crank down the global BPM but that effects timing in my eurorack (clocked by Crow).
Edit: Thank you for an extremely inspiring sequencer!

1 Like

oh! good friggin’ call to surface this – i swear one day a refactor will happen and this will get updated. i’d like both sequences to be independently clocked in the next version.

for now, you can edit line 374 to be a different division of a quarter note.

currently, it’s at clock.sync(1/4) which produces 1/16th notes (1/4 of a quarter note).
clock.sync(1/2) produces eighth notes, clock.sync(1) produces quarter notes, etc. just adjust that single argument to taste and that should solve things for now!

thanks so much for the ping + kind words!

3 Likes