Please familiarise yourself with the forum, including policy on feature requests, rules & guidelines

odd scales, tunings, microtonal stuff on a deluge?

3
71777177 (:Posts: 38

So first of all this is no 'the world ends without microtonal deluge tracks'r or 'we need to have feature X next with the next firmware update ' thing. Honestly I won't ever take advantage of the full feature spectrum and feell content with the box as it is.

I just asked myself what if I'd want to break out of the commonly used tonal system provided for by Deluge. Sure, you're not super restricted anyway in the sense that you can pull off key changes and/or custom scales without much fuss as it is.

But what if I'd want more than 7 notes, or explore just intonation or wander off reservation in similar fashion, I'd be happy to hear of a hack allowing you to tweak skale degrees in smaller than half tone steps, flattening and/ sharpening notes just so, Are any of you trying to do this with a deluge? I tried using CV tracks to create unquantised sequences, but that's cumbersome.

Comments

  • 1
    RhyminGarFunkleRhyminGarFunkle Tucson, AZPosts: 16

    You can get some microtonal stuff going on by sequencing the transpose parameter, but it's not super easy to do complicated stuff that way - you'd need to cut and copy the note to have another with the exact same pitch, for example. It's certainly not as convenient as having it available as a scale.

    I suppose you could make a sequence with whatever microtonal scale you wanted by automating the transpose, then resample different voices played through that sequence and play those notes as a kit. Again, cumbersome, but you could make it work. It would definitely be way easier if there were fewer restrictions on scales.

  • 1
    WillWill Middle of NowHere, CanadaPosts: 236

    At the moment, the Deluge seems to be a bit restrictive in this capacity.

    PERHAPS... there is another option which would be easier than what has been suggested:
    Use an external midi controller which allows microtonal scales. I'm not certain as to how the Deluge would respond, but perhaps there's an opportunity there to keep you busy, until a software update allows for such things...

  • 1
    amiga909amiga909 Central EuropePosts: 1,078

    external midi controller? u know which one? dont think it is possible? midi pitchbend can be used but it is a channel messgae, so it affects all held notes.
    related http://forums.synthstrom.com/discussion/284/true-custom-scales#latest

  • 1
    WillWill Middle of NowHere, CanadaPosts: 236

    @amiga909 said:
    external midi controller? u know which one? dont think it is possible? midi pitchbend can be used but it is a channel messgae, so it affects all held notes.
    related http://forums.synthstrom.com/discussion/284/true-custom-scales#latest

    I was thinking about the Linnstrument, not cheap, but very customizable, powerful and accurate....

  • 0
    amiga909amiga909 Central EuropePosts: 1,078

    Linnstrument is a very cool controller, have to try it one day.
    Deluge had to be MPE compatible for this. http://forums.synthstrom.com/discussion/comment/7248#Comment_7248

    The only way I can think of microtonal integration is using a modular synth (CV controlled) and adding a Midi to microtonal CV converter like this https://tubbutec.de/µtune/

  • 1
    WillWill Middle of NowHere, CanadaPosts: 236

    @amiga909 said:
    Linnstrument is a very cool controller, have to try it one day.
    Deluge had to be MPE compatible for this. http://forums.synthstrom.com/discussion/comment/7248#Comment_7248

    The only way I can think of microtonal integration is using a modular synth (CV controlled) and adding a Midi to microtonal CV converter like this https://tubbutec.de/µtune/

    I really loved my Linnstrument and will probably buy another one day. Very well designed, built and - like the Deluge, always being updated. Of course just because it is a MPE controller, it doesn't mean it has to be controlling a compatible sound source.
    Yes, the CV option sounds like a promising option. So few people (percentage wise) are into using Microtonal features, I can't see it being a big priority update...

  • 0
    71777177 (:Posts: 38

    oh wow thx for all the replies!

    I'm gonna tinker with some of your ideas, seems this wonderful box is fit for many many purposes, though not necessarily this one.

    I in any case "+1-ed" the 'true' custom scale request thread, Thx for bringing that up amiga909. I think that wouldn't be a stretch to implement and widely used, no?

  • 3
    NaderNader San FranciscoBeta Tester Posts: 9

    +1 for microtonal ability.

    Everything in the Middle East where I am from is microtonal so don’t be so sure that so few people are using microtonal stuff. We are talking about half a billion peoepl who listen to and play microtonal music there alone

  • 0
    tingeltingel Hamburg / GermanyPosts: 43

    I'd also appreciate microtonal ability a lot! ...and it would be sooo nice to play with the deluge pads... :)

  • 1

    I wanted to use a nonstandard scale, and found a way to hack it in as a synth. In case its helpful to someone else I will briefly describe what I did.

    It requires a sample for every note you want to play, and some text editing of the XML file defining the synth. For the editing I used a little Python to make it easier, but you could do this by hand in principle.

    In the synth XML there is a section defined by the "sampleRanges" tag. Inside this section the keys assigned to each sample are defined by a "sampleRange" block. In my case I started with a sample at A1=55 Hz = midinote 33, whose block looks like this:

            <sampleRange
                rangeTopNote="33"
                fileName="SAMPLES/m/PentaT/PentaT_1_o1.wav"
                transpose="27">
                <zone
                    startSamplePos="0"
                    endSamplePos="9621" />
            </sampleRange>
    

    As far as I can tell (I can't seem to find a definitive reference for these XML files) the sampleRanges are read in order, with the first one read being mapped to the lowest note up to the one specified by rangeTopNote (by midi number). The pitch of the sample is determined by the "transpose" and "cents" parameters. If your samples are already at the pitch you want, you can omit the cents parameter. The played pitch is determined relative to middle C(=midi note 60) through the (midinote played + transpose value). Since I want my A1=midi 33 sample played at its original rate, the tranpose value needs to be 60-33 = 27.

    My next sample was at 64.16667 Hz, close to the midi value of 36, but I wanted it mapped to the next available note (midi value 34):

            <sampleRange
                rangeTopNote="34"
                fileName="SAMPLES/m/PentaT/PentaT_2_o1.wav"
                transpose="26">
                <zone
                    startSamplePos="0"
                    endSamplePos="9621" />
            </sampleRange>
    

    If you have samples at standard pitches and want to slightly adjust them, you can use the cents parameter right after the transpose parameter (but inside the sampleRange tag, before the closing bracket), e.g. adding
    cents="4"
    would make the note 4 cents sharper.

    Of course you will have to change the "fileName" values to match your sample names and folder, and the sample position values to match your sample lengths.

  • 0
    gnozognozo FrancePosts: 16

    Hi !

    I'm obviously a year or so late for the microtonal party here.
    @hamptonio what you put out here is amazing, and it looks like a dream solution for what I am trying to achieve. I've considered uploading microtonal multisample folders on the SD card and make instruments from them, but i've never dived deep enough into the note-by-note editing / tuning mechanics of multisample instrument type.
    This solution looks much better as it take in any sample and allows us to control the way the scales behave - how many notes etc.

    Taking this debate a notch further, there are modes in Greek, Tunisian, Persian music where the "path" between notes can be different when ascending or descending the scale, and that seems to be difficult to implement as a "scale" (regrettably we seem not to be able to tinker with the scale definitions themselves? why not...?) but it would theoretically be possible to have a 21 note ascending scale full of odd notes and play them in any order we want.

    I really want to try your Python solution @hamptonio ! I'll give your code a try and make a couple of new synth definitions - hopefully i can share something in return here, planning to map a couple of odd modes from arabo-andalousian music.

    Have you ever worked on it since your post from last year ? And, spicing up the debate, do you know of live coding languages such as tidal cycles or supercollider? I tried them some years ago, there's great fun in being able to create all sorts of things from lines of code, never tried to run the deluge from a live coded midi channel but ought to be interesting! Also, tidal has some fun arpeggiating options "updownupdown, downup" etc) which echo the options at hand in Deluge, and again, would be cool to see more options in there :))

    B

    @hamptonio said:
    I wanted to use a nonstandard scale, and found a way to hack it in as a synth. In case its helpful to someone else I will briefly describe what I did.

    It requires a sample for every note you want to play, and some text editing of the XML file defining the synth. For the editing I used a little Python to make it easier, but you could do this by hand in principle.

    In the synth XML there is a section defined by the "sampleRanges" tag. Inside this section the keys assigned to each sample are defined by a "sampleRange" block. In my case I started with a sample at A1=55 Hz = midinote 33, whose block looks like this:

          <sampleRange
              rangeTopNote="33"
              fileName="SAMPLES/m/PentaT/PentaT_1_o1.wav"
              transpose="27">
              <zone
                  startSamplePos="0"
                  endSamplePos="9621" />
          </sampleRange>
    

    As far as I can tell (I can't seem to find a definitive reference for these XML files) the sampleRanges are read in order, with the first one read being mapped to the lowest note up to the one specified by rangeTopNote (by midi number). The pitch of the sample is determined by the "transpose" and "cents" parameters. If your samples are already at the pitch you want, you can omit the cents parameter. The played pitch is determined relative to middle C(=midi note 60) through the (midinote played + transpose value). Since I want my A1=midi 33 sample played at its original rate, the tranpose value needs to be 60-33 = 27.

    My next sample was at 64.16667 Hz, close to the midi value of 36, but I wanted it mapped to the next available note (midi value 34):

          <sampleRange
              rangeTopNote="34"
              fileName="SAMPLES/m/PentaT/PentaT_2_o1.wav"
              transpose="26">
              <zone
                  startSamplePos="0"
                  endSamplePos="9621" />
          </sampleRange>
    

    If you have samples at standard pitches and want to slightly adjust them, you can use the cents parameter right after the transpose parameter (but inside the sampleRange tag, before the closing bracket), e.g. adding
    cents="4"
    would make the note 4 cents sharper.

    Of course you will have to change the "fileName" values to match your sample names and folder, and the sample position values to match your sample lengths.

  • 0
    gnozognozo FrancePosts: 16

    Hi there !

    I've been tinkering with synth files and samples in order to implement classic microtonal behavior (maqam scales / modes). I'm getting somewhere, but it's a very slow process. Reaching out for help because A-I'm getting lost and B-I'm convinced an easier workaround would help a lot of people interested in non-tempered music.

    Following @hamptonio 's advice, I produced 12 samples using a Moog Werkstatt, which I've pitched with reaper in order to produce maqam bayati : this is an outright machine-oriented cheat, as this maqam only contains 8 notes including only 1 odd note, the second (an E).

    After this, everything gets sort of confusing. I think there's something I am not getting, since the example he used was a pentatonic scale : if this is correct, it means that either in "scale" or in "semitone" mode, there is a way to hear only the notes from a given folder. Thinking this through, it means that coding such a synth also ought to be possible without using external samples ? :*

    Bear with me, here's how far I managed going. I loaded the samples as "multisample"; as foretold by hamptonio, only the one sample which I've detuned comes out right (or, rather, odd). When playing my quarter toned E in higher or lower octaves, they get tempered, pretty amazingly, btw. Tried to hit "transpose", to no avail (the whole scale got transposed).

    In the code, using the "transpose" and "cents" parameters doesn't seem to help either : either the "scale" mode overrides my samples and tunes them on the go, or the "semitone" mode does its job - wonderfully so.

    After spending a mere couple hours doing this, it feels like there ought to be a way to feed user defined scales via a "custom scales" folder. This would be the only truly sustainable method, as it would enable anyone to take just any sample/wavetable/digital synth and tune it on the go. :p

    The less universal option would be to produce 128 pitches for each mode. This doesn't sound too appealing, mainly because it reduces the scope so drastically ; n this case, each mode would have its own sample pack, and it would be sad to have only one instrument capable of playing in this mode.

    I'll continue playing around with the XMLs and producing samples, perhaps even distribute them to the community if I'm happy with how it all sounds, but it would be really cool to be able to add some custom scales perhaps even add community-defined scales into the next firmware versions. Who knows how crazy Deluge music could get if we get a chance to ditch the 12 semitone model ? At least it would be cool to know that this topic is somewhere on the to-do list !

    If anyone feels like sharing advice or code examples, I'll be extremely glad and grateful.

    Cheers ! :)

    @hamptonio said:
    I wanted to use a nonstandard scale, and found a way to hack it in as a synth. In case its helpful to someone else I will briefly describe what I did.

    It requires a sample for every note you want to play, and some text editing of the XML file defining the synth. For the editing I used a little Python to make it easier, but you could do this by hand in principle.

    In the synth XML there is a section defined by the "sampleRanges" tag. Inside this section the keys assigned to each sample are defined by a "sampleRange" block. In my case I started with a sample at A1=55 Hz = midinote 33, whose block looks like this:

          <sampleRange
              rangeTopNote="33"
              fileName="SAMPLES/m/PentaT/PentaT_1_o1.wav"
              transpose="27">
              <zone
                  startSamplePos="0"
                  endSamplePos="9621" />
          </sampleRange>
    

    As far as I can tell (I can't seem to find a definitive reference for these XML files) the sampleRanges are read in order, with the first one read being mapped to the lowest note up to the one specified by rangeTopNote (by midi number). The pitch of the sample is determined by the "transpose" and "cents" parameters. If your samples are already at the pitch you want, you can omit the cents parameter. The played pitch is determined relative to middle C(=midi note 60) through the (midinote played + transpose value). Since I want my A1=midi 33 sample played at its original rate, the tranpose value needs to be 60-33 = 27.

    My next sample was at 64.16667 Hz, close to the midi value of 36, but I wanted it mapped to the next available note (midi value 34):

          <sampleRange
              rangeTopNote="34"
              fileName="SAMPLES/m/PentaT/PentaT_2_o1.wav"
              transpose="26">
              <zone
                  startSamplePos="0"
                  endSamplePos="9621" />
          </sampleRange>
    

    If you have samples at standard pitches and want to slightly adjust them, you can use the cents parameter right after the transpose parameter (but inside the sampleRange tag, before the closing bracket), e.g. adding
    cents="4"
    would make the note 4 cents sharper.

    Of course you will have to change the "fileName" values to match your sample names and folder, and the sample position values to match your sample lengths.

  • 1
    Too_MereToo_Mere Chicago, IL, USABeta Tester, Mentor Posts: 993

    One idea you might find useful, when using multisamples you can select the osc transpose parameter, not master transpose, and fine tune the cents of each note range, which can be individual notes. So you could just throw in a standard tuned sample and fine tune each range.

  • 0
    gnozognozo FrancePosts: 16

    @Too_Mere said:
    One idea you might find useful, when using multisamples you can select the osc transpose parameter, not master transpose, and fine tune the cents of each note range, which can be individual notes. So you could just throw in a standard tuned sample and fine tune each range.

    Thanks a lot for that tip ! Indeed, didn't know the workings of the osc transpose ! Trying with the scale / synth I created, not really working so far - i'm adjusting values associated to individual notes, but when hitting the pads I don't hear a difference. This might be related to how many samples the ideal multisample folder contains (?).

    I'll keep trying and let you know when / if I get a result. Avoiding XML editing is a good prospect, while waiting for the Deluge to go full microtonal.

  • 0
    Too_MereToo_Mere Chicago, IL, USABeta Tester, Mentor Posts: 993
    edited November 2022

    If you tune to further extremes you’re sure to hear it. If the sample’s range is too large you can insert a sample range with shift + horizontal knob and load the same sample next to it. Then as long as each note has its own sample (even if samples are reused in neighboring ranges) each note can have separate oscillator tuning.

    Post edited by Too_Mere on
  • 0
    gnozognozo FrancePosts: 16

    Thank you, yes, I've been trying different workflow and tinkering the custom 1 automation, which is per note and gives some uniqueness to the notes, etc... I'll persevere though. Logged in today because I wanted to share this with the community, back to scales, a very enriching course on the tritone :

  • 0
    gnozognozo FrancePosts: 16
    edited December 2023

    @Too_Mere said:
    If you tune to further extremes you’re sure to hear it. If the sample’s range is too large you can insert a sample range with shift + horizontal knob and load the same sample next to it. Then as long as each note has its own sample (even if samples are reused in neighboring ranges) each note can have separate oscillator tuning.

    Hi there !
    Believe it or not, I still didn't get the jist of it. Today I recorded around 100 semi-tones / notes to make a larger "multisample" pack. I'm reading your suggestion again, and somehow got it to work, although i met several bugs on the way.

    Here is in detail what I've been doing :

    -create new synth / load / multisample
    -select audition pad for note I want to detune + press "transpose"
    ->transposing affects all notes

    Going back to your suggestion, "master transpose" might have been the issue so I tried harder. In the OLED screen it seems like my notes are not all loaded, which is odd since i loaded a folder containing them; so it must be a "range" problem.

    While "Shift + select knob" (rather than horizontal) does create note ranges, I end up with many notes not producing sound, as if the machine had not been told where to find the notes in the first place. Saved the synth, rebooted the machine, now I managed to detune the notes I wanted to.

    I'm curious about the possibility of making whole microtuned instrument with your method by using only one sample, but guessing these tough times will pass once the "altered scales" feature + scala files will live.

    Wondering how multisample instrument + altered scales would interact with upcoming round robin feature.

    Post edited by gnozo on
  • 1
    volstehvolsteh CroatiaPosts: 418

    Have you considered using a kit track with synths tuned to how you like? Sry if already mentioned, heres an example

    🅽🅾🆅🅸🅲🅴 🅳🅴🅻🆄🅶🅸🅾🅽🅸🆂🆃?

Sign In or Register to comment.