Hi.
I have been thinking of creating a custom scale folding preset but it doesn’t seem that easy.
Would be a great update to the scale pipe
Does anyone tried to do something similar?
So far I just used a Transform pipe to change a note to another note. That works but it’s a bit messy.
Hi (and welcome to Midihub!)
can you give an example map…
- C3 →
- C#3 →
- etc
…so we can see what you’re looking for?
Other stuff like whether you’d want to change your root/“folding point” might be useful.
PS. scale pipe = Scale Remap
?
Hi @resonotter and thank you for the welcome and fast reply !
The idea is to use the trigs of the Octatrack in chromatic mode in a similar way Syntakt scales work to control external synths.
For example, a 4 notes scale ( but I would probably use 8 notes scales like on Syntakt to know where Octaves are) :
- C3 into G3
- C#3 into G#3
- D3 into C4
- D#3 into F4
Then the next notes would be:
-
E3 into G4
-
F into G#4
-
F#3 into C5
-
G3 into F5
-
G#3 into G5
-
…
And so on.
I hope that makes sense.
And I meant the scale remap yes. Ideally in this pipe, selecting the number of notes used in the scale would fold the next notes.
At the moment I use the Transform pipe to remap the notes, which works great but really not ideal as it consumes a lot of pipes.
Any suggestion is welcome to achieve this kind of behavior.
Thanks!
I’d suggest a preset like this
When you put your notes into a table…
…you can group the “note to’s” into just two octave groups:
(assuming your other 4 notes fit in or aren’t played)
So, by splitting those groups into using Note Range Filter
…
…you can then give each its own custom Transpose
and Scale Remap
extra detail:
-
Note Range Filter
: we use “Drop in Range” (rather than ‘allow through’) because if we need more than 4 intervals (8 values) we can just put in a 2ndNote Range Filter
to finish the job -
I find it easier to do the sums for
Transpose
thenScale Remap
; you might preferScale Remap
first.
SetBase
accordingly… -
…and Monitor!
Thats’ why I’ve stuck the discardableChannel Remap
line in: by selecting the last line, you can check ‘note_to’ (original channel, say 1) against ‘note_from’ (remapped to say 16) for each note.
(apologies to UKR for the upside down colours)
Hi,
I tried this and using the range works great!
And I just remap and transpose the following notes to have the folding behaviour.
Thanks a lot!
Hey LNN, glad it worked for you.
a few other notions
Micro Scale
I wondered about this as a route after I posted.
Never tried to create my own Scala file, but I wonder if those who might know could tell us?
@uth, @phd have posted on this pipe so maybe they can tell us whether the sort of ‘Macro Scale’ tabulated below is within the capabilities of a .scl
file.
Folded Scale
I didn’t get what this really meant until I ran a script to show all the octaves.
The table might make it more obvious to a later reader who (like me!) is new to this idea.
Here’s the first few lines…
in | out | inN | outN | in1 | in2 | in3 |
---|---|---|---|---|---|---|
C-2 | G-2 | 0 | 7 | C-2 | ||
C#-2 | G#-2 | 1 | 8 | C#-2 | ||
D-2 | C-1 | 2 | 12 | D-2 | ||
D#-2 | F-1 | 3 | 17 | D#-2 | ||
E-2 | G-1 | 4 | 19 | E-2 | C-1 | |
F#-2 | C0 | 6 | 24 | F#-2 | D-1 | |
G-2 | F0 | 7 | 29 | G-2 | D#-1 | |
G#-2 | G0 | 8 | 31 | G#-2 | E-1 | C0 |
C-1 | G-1 | 12 | 19 | E-2 | C-1 |
where the last 3 columns shows all the ‘in’ notes for that ‘out’ note
and here's the whole table:
in | out | inN | outN | in1 | in2 | in3 |
---|---|---|---|---|---|---|
C-2 | G-2 | 0 | 7 | C-2 | ||
C#-2 | G#-2 | 1 | 8 | C#-2 | ||
D-2 | C-1 | 2 | 12 | D-2 | ||
D#-2 | F-1 | 3 | 17 | D#-2 | ||
E-2 | G-1 | 4 | 19 | E-2 | C-1 | |
F#-2 | C0 | 6 | 24 | F#-2 | D-1 | |
G-2 | F0 | 7 | 29 | G-2 | D#-1 | |
G#-2 | G0 | 8 | 31 | G#-2 | E-1 | C0 |
C-1 | G-1 | 12 | 19 | E-2 | C-1 | |
C#-1 | G#-1 | 13 | 20 | C#-1 | ||
D-1 | C0 | 14 | 24 | F#-2 | D-1 | |
D#-1 | F0 | 15 | 29 | G-2 | D#-1 | |
E-1 | G0 | 16 | 31 | G#-2 | E-1 | C0 |
F#-1 | C1 | 18 | 36 | F#-1 | D0 | |
G-1 | F1 | 19 | 41 | G-1 | D#0 | |
G#-1 | G1 | 20 | 43 | G#-1 | E0 | C1 |
C0 | G0 | 24 | 31 | G#-2 | E-1 | C0 |
C#0 | G#0 | 25 | 32 | C#0 | ||
D0 | C1 | 26 | 36 | F#-1 | D0 | |
D#0 | F1 | 27 | 41 | G-1 | D#0 | |
E0 | G1 | 28 | 43 | G#-1 | E0 | C1 |
F#0 | C2 | 30 | 48 | F#0 | D1 | |
G0 | F2 | 31 | 53 | G0 | D#1 | |
G#0 | G2 | 32 | 55 | G#0 | E1 | C2 |
C1 | G1 | 36 | 43 | G#-1 | E0 | C1 |
C#1 | G#1 | 37 | 44 | C#1 | ||
D1 | C2 | 38 | 48 | F#0 | D1 | |
D#1 | F2 | 39 | 53 | G0 | D#1 | |
E1 | G2 | 40 | 55 | G#0 | E1 | C2 |
F#1 | C3 | 42 | 60 | F#1 | D2 | |
G1 | F3 | 43 | 65 | G1 | D#2 | |
G#1 | G3 | 44 | 67 | G#1 | E2 | C3 |
C2 | G2 | 48 | 55 | G#0 | E1 | C2 |
C#2 | G#2 | 49 | 56 | C#2 | ||
D2 | C3 | 50 | 60 | F#1 | D2 | |
D#2 | F3 | 51 | 65 | G1 | D#2 | |
E2 | G3 | 52 | 67 | G#1 | E2 | C3 |
F#2 | C4 | 54 | 72 | F#2 | D3 | |
G2 | F4 | 55 | 77 | G2 | D#3 | |
G#2 | G4 | 56 | 79 | G#2 | E3 | C4 |
C3 | G3 | 60 | 67 | G#1 | E2 | C3 |
C#3 | G#3 | 61 | 68 | C#3 | ||
D3 | C4 | 62 | 72 | F#2 | D3 | |
D#3 | F4 | 63 | 77 | G2 | D#3 | |
E3 | G4 | 64 | 79 | G#2 | E3 | C4 |
F#3 | C5 | 66 | 84 | F#3 | D4 | |
G3 | F5 | 67 | 89 | G3 | D#4 | |
G#3 | G5 | 68 | 91 | G#3 | E4 | C5 |
C4 | G4 | 72 | 79 | G#2 | E3 | C4 |
C#4 | G#4 | 73 | 80 | C#4 | ||
D4 | C5 | 74 | 84 | F#3 | D4 | |
D#4 | F5 | 75 | 89 | G3 | D#4 | |
E4 | G5 | 76 | 91 | G#3 | E4 | C5 |
F#4 | C6 | 78 | 96 | F#4 | D5 | |
G4 | F6 | 79 | 101 | G4 | D#5 | |
G#4 | G6 | 80 | 103 | G#4 | E5 | C6 |
C5 | G5 | 84 | 91 | G#3 | E4 | C5 |
C#5 | G#5 | 85 | 92 | C#5 | ||
D5 | C6 | 86 | 96 | F#4 | D5 | |
D#5 | F6 | 87 | 101 | G4 | D#5 | |
E5 | G6 | 88 | 103 | G#4 | E5 | C6 |
F#5 | C7 | 90 | 108 | F#5 | D6 | |
G5 | F7 | 91 | 113 | G5 | D#6 | |
G#5 | G7 | 92 | 115 | G#5 | E6 | |
C6 | G6 | 96 | 103 | G#4 | E5 | C6 |
C#6 | G#6 | 97 | 104 | C#6 | ||
D6 | C7 | 98 | 108 | F#5 | D6 | |
D#6 | F7 | 99 | 113 | G5 | D#6 | |
E6 | G7 | 100 | 115 | G#5 | E6 | |
F#6 | C8 | 102 | 120 | F#6 | ||
G6 | F8 | 103 | 125 | G6 | ||
G#6 | G8 | 104 | 127 | G#6 |
intriguing pattern makes me wonder what it sounds like.
PatchStorage
It would be great if you can put this up on PatchStorage; that way other users can easily see it and give it go (doesn’t matter if it’s still an early version - just mark it “Work in Progress”!)
I guess you’ve put in a preceding Scale Remap to clamp the whole octave to just the notes you want to use?
PS. text file of table
folded_scale.txt (1.6 KB)
(just change .txt to .csv and drop into a spreadsheet
Hi,
I just posted a work in progress patch:
Here is the description:
This patch folds the keyboard to a 6 notes scale.
It ranges from F#1 to B4 and covers 7 octaves of 6 notes.
To change the scale just modify the root and first 6 notes of the scale remap
I wanted this to use with between the Octatrack’s sequencer and a synth.
Putting trigs and a couple LFOs on the note parameter quickly creates melodies. Changing LFOs speed generates new patterns, from slight to strong randomness
@resonotter , I looked into microscale but I don’t think this is possible to achieve something similar as it affects the pitchbend.
Thanks a lot for the tips and support!
Just got patch:
I clearly did misunderstand what Scale Folding means!
So it makes the higher notes higher and the lower notes lower by octaves?
“I clearly did misunderstand what Scale Folding means!”
- I am not sure if this is the exact term for this haha
“So it makes the higher notes higher and the lower notes lower by octaves?”
- In this case yes. It moves the next 6 lower and higher notes in the scale next to each other ( I hope that makes sense)
I find it useful to run the fingers through the keyboard and not have notes repeating, as well as reaching more octaves with less keys
it’s good with tiny keyboards or sequencers!