How can you tell if there’s a note on the pattern?

Hi,

I’m trying to make a sample looper that keeps playing without retriggering and that stops when the timeline stops. So far so good except it keeps playing if I change patterns.

I need to find a way to check if there’s a note, otherwise stop playing. I can’t seem to find a way. I’m guessing I need to make some sort of gate logic. I’ve tried curves, S&H... nothing seems to do it. Also I can’t even tell the difference between a C2 and nothing (no note) in an oscilloscope. I’m lost. If there’s a note it seems to just “remember it” when it goes away.

the idea is for the play head to reach the first beat and if there’s no note, stop playing. Like in the image below, if I switch to pattern 2 the looper should stop as it does when I press stop on the transport.

Drambo is amazing, I’m very much hooked, but I just find unexpected roadblocks for stuff that should be straight forward. With great power comes great frustration, I guess. Cheers!


Comments

  • edited October 2020

    Hi, let me try to explain it better.

    Im trying to build a sample player to play audio clips from AUM.

    say I got a loop GuitarA on pattern 1. If I switch to pattern 2, where there’s another loop or sequence, the loop should stop. But it stays playing until the end of the loop.

    These loops are long, more than 64 beats, so I can’t trigger them normally with a note. I found a way, shown in the screenshots, to play the samples in time and in tune, they also stop when I stop the play head, it’s just when switching patterns or removing the note (Btw it’s a regular C2 on the first beat) that the loop keeps playing. After switching to pattern 2, where there’s no note for that sample, the play head should reach the first step, see that there’s no note and the sampler should stop playing.

    itd help if I could get a hint or method of testing whether a note was present... for example, a Graphic EV will show that a note was triggered and decay but I don’t how to use it as a gate... btw this is further complicated by the fact that I can’t tell a C2 from “no note” as they both seem to be zero.


    I hope I explained it well enough

    thanx in advance, cheers

  • edited October 2020

    "say I got a loop GuitarA on pattern 1. If I switch to pattern 2, where there’s another loop or sequence, the loop should stop. But it stays playing until the end of the loop."


    mute loop (or move level of it to zero) in scene b

    when switching from pattern 1 to pattern 2 morph from scene A to scene B with the crossfader ...

    (if u play pattern 1 again u need to go back to scene A otherwise u won't hear the loop )

    Cheers.

  • Hey @Tahiche

    Try placing a midi latch module before your track’s midi to cv module.

    Then place a trigger on step 1 of the sequencer, and use the ‘Once’ step condition (place it before the midi note)

    I haven’t tested this in scratch mode, but in loop mode it works flawlessly. the sample triggers on step 1, and loops continuously. It will even loop between pattern changes (if the once condition is present in the next pattern). anyway, look into the latch module and once scene condition, and see if they can do anything for your project. You can also p-lock things in your sequencer to step 1, and give those p-locks a condition to only activate once, or cycle every X patterns.


  • edited October 2020

    Ohhh my bad, I see now you’re already using latch. In any case.. maybe the scene conditions can do something for you. I think I misread that you need the sample to stop when you transport stops.

  • edited October 2020

    @Tahiche It's always helpful to clearly describe what you're after, so thanks for elaborating on your goal more clearly.

    1. You want to keep Flexi play for the length of the pattern: Place a note at the beginning that is as long as the pattern
    2. You want it to stop when changing patterns: See 1.
    3. If the sample pitch should be fixed (which I guess it should in your case) then disconnect Flexi's pitch input.

    You need nothing but Flexi. I guess you've really over-complicated things here but I bet you've already learned a lot from it 😎

  • Thank u all for your help and comments.

    unless I’m mistaken your suggestions are apt for cases where I know the loop length (note as long as the pattern) and/or can manually intervene (morph and scenes).

    Its not really the case. Some background... I’m trying to make a “song mode” in AUM. I have Lk as master sequencer. LK has scenes and tracks, I have midi clips with notes to play different instruments. Multiple instances of Drambo. First one has drum sequences divided in patterns. The other instances play long guitar parts divided in patterns. I switch Drambo patterns from LK scenes, I have midi learned some Cc messages to change patterns. So LK scene -> Drambo pattern.


    • Loops within one Drambo pattern can be variable length. Guitar loop A might last 96 beats (384 steps) while loop B can be a short 16 beat lick.
    • I’d like a system where I can add and switch different length samples and not have to individually place notes or p-locks. Keep it open and easy to operate. If necessary, A number could help Drambo keep the loop in sync and tune, in my first screenshot I call it “beats”. That says, “this particular loop lasts for 16beats x 6”, or something like that.

    That’s why I think I’m over complicating things, @rs2000 . The above I got working. Loops play in sync and in tune, they stop when the play head stops. They don’t play if there’s no note (so I can decide per pattern if a loop plays or not) BUT they keep going after I switch to a pattern with no note. As I said, these loops are long. It might be a riff that repeats 6 times in one sample instance.

    im in AUM and I want to decide (by switching LK scene which changes Drambo pattern) that we’re going from “intro loops” to “verse loops”. Drambo will switch to a new pattern and the “old” loop should stop if there’s no note trigger on the new pattern. I can’t wait for the long sample to finish (one shot) as it would play into the new pattern. That’s why I thought I could check if there was no note on the pattern to stop the sample, that “check” would occur on every pattern pass. I can’t find a way to do this.

    Sorry for the rant!. I’ll post a video if it helps... thanks!

  • choke groups I think will come in flexi v2 and be simple solution for this. Or maybe they can appear in current Flexi module @giku?

    For now does p-locking Amp to 0db on first step of other patterns work for what you need? This’ll kill the loop on the other patterns.. Only if you’re using sync pattern switching tho, won’t work if you’re doing instant pattern jumps and missing that p-lock when you switch..

  • octatrack has the ‘start silent’ option for this. Maybe worth having in drambo. When switch pattern sample gets killed unless there’s a trig.

  • @Tahiche ... That’s why I think I’m over complicating things, @rs2000 . The above I got working. Loops play in sync and in tune, they stop when the play head stops. They don’t play if there’s no note (so I can decide per pattern if a loop plays or not) BUT they keep going after I switch to a pattern with no note. As I said, these loops are long. It might be a riff that repeats 6 times in one sample instance.

    Sounds like you haven't yet tried what I have suggested.

  • @rs2000 indeed I hadn’t and I’m sorry for that!. I didn’t understand at first, guess I was too deep in math module madness. You’re absolutely right, this is very very close!.


    The pattern now stops when switching to an empty pattern. Great!.

    Now the issue is that since I’m using the graphic modulator for offset, it doesn’t reset if I come back to the pattern. It should go back to zero.

    if I don’t use the “offset” position, and instead I adjust the speed to set the right sync, it triggers on every turn. Can’t use “once” condition either since the gate mode closes.


    think I need a way to either reset the offset position in the first case or only trigger the sample first time around in the second case. But in the second case, if the note doesn’t trigger the gate won’t work...

    Thank u so much for your help!.

  • @Tahiche There are several ways to make you lucky:

    1. Use longer patterns (increase "Repeats" and/or "Beats in pattern")
    2. Put slices at each on-beat of every bar in your sound recording in Flexi and trigger successive slices with each bar. This will also make it much easier to match the correct tempo.

    It would look something like this:


  • BTW, a little trick to correct guitar recordings with sloppy timing: Add slice points where the timing needs to be corrected and trigger them at the correct time using sequencer notes. Make sure you add all slices right from the start to avoid later slices be shifted upwards on the keyboard.

    You can 'bridge' audio gaps using either reverb+envelope or time stretching like I've done here:

    Time stretching quality will most likely be quite good because you can set the start transients manually until they sound good 😃

  • These are some great tips @rs2000. I specially like the last homemade “audio quantize” one.

    Use longer patterns (increase "Repeats" and/or "Beats in pattern")

    Put slices at each on-beat of every bar in your sound recording in Flexi and trigger successive slices with each bar. This will also make it much easier to match the correct tempo

    My loops are maybe up to a minute long, with say 8 riff phrases. in this instance I’m using Drambo as a “Loopy”, BM3 or Zenbeats clip launcher of sorts. To manually add all those slices would y tedious. I could go the “long pattern” approach and have, say 8 slices, one per phrase.

    but I was really hoping for a more “drop in and use” approach. Sort of like your “slices with time stretch” patch, which I had already downloaded (nice one). And I’m so close after your long note tip. If I could only reset the offset play head on pattern change... btw i also tried the “Once” condition. In my opinion it should fire per pattern, but it doesn’t.

    I’m gonna keep trying and learn some more, so I can fail in style .

  • @Tahiche With these settings, Flexi will always fire playback from start whenever it receives a note and end playback when the note ends. With offset=Note, you can additionally start from any slice if you wish.

    Firing per pattern means placing the notes wherever you want your loop played.

  • What settings?. Did you mean to attach a screenshot or am I completely lost?.

    thank U for your patience. 🙏

  • That’s lucky but also a lot of work!!. But you do have a point in that using slices Avery few beats you keep the sync under control. I have noticed some audio drifting when using these really long samples in a project in AUM. Having more slices would correct that.

    Ultimately I’m using Drambo sampler as something it’s not intended for. As I said, I’m trying to do a “song mode” AUM as a DAW replacement. And it’s just not cutting through quality control, too many issues, too fiddly, too much manual intervention.

    one last thing out of curiosity killed the cat... This post title still holds. How can you tell if a note was triggered during a pattern?. That is. How can you act upon a pattern being empty or not?. Something that resets on pattern change, just like the clock when you stop the timeline.

  • @Tahiche I did this "life detector" recently and I believe it's what you want:

    When I've finished building the new presets I'll get back to you 😉

  • This looks interesting!.

    Could you please tell which modules you are using to trigger pry and recreate?. Are they multipliers?

    • gate and pitch (connected to what)
    • gate negate
    • note + start

    “Life detector” might be game!. Wanna try it...

    thanks!

Sign In or Register to comment.