November 24, 2024, 12:00:50 pm
Welcome, Guest. Please login or register
News:

Arturia Forums



Author Topic: quantized note on in control mode during play sync problem  (Read 2658 times)

jahasw

  • Apprentice
  • Apprentice
  • *
  • Posts: 26
  • Karma: 1
quantized note on in control mode during play sync problem
« on: July 22, 2015, 04:38:11 am »
case:
bsp midi out -> roland sh-32 midi in

using sh-32 arpeggiator to play rhythm with bsp toggled note from control mode.
sh-32 is configured to use external midi clock for arpeggiator.


two different ways in control mode to toggle on rhythm (quantized):

1. activate toggle note first with pad in control mode for playing external rhythm arpeggio using bsp midi clock,
   and then start by pressing play on bsp.

        -bsp drum sequence and external arpeggio start playing in sync and stay synced

2. pressing play on bsp and then activating toggled external rhythm arpeggio quantized using roller+pad to 1/4

        -bsp drum sequence and external arpeggio are slightly offset and stay that way
         (we are talking milliseconds, but it's audible)

can someone using external arpeggiator/sequencer try to confirm this? ???

jahasw

  • Apprentice
  • Apprentice
  • *
  • Posts: 26
  • Karma: 1
Re: quantized note on in control mode during play sync problem
« Reply #1 on: July 31, 2015, 12:13:44 am »
I was advised by Arturia tech support to  use metronome to fix the issue, but I'm
afraid that wont solve much.

According to manual the Roller works in following way:
Quote
6.6.1.1 General operation
The Roller will repeat a pad based on a combination of the clock source, the time division
and the position of your finger on the Roller strip.
The output will be based on 4/4 time, too. So if your song has a bar of 7/8 and you have
your finger on the strip at 1/4, the Roller output will be off by an eighth note after that
bar.
6.6.1.2 Sync settings
The Roller will work even when an external sync source is used. The results may vary
depending on the source, though.
If playback is stopped and no external clock is being received, the Roller will output
notes at a rate based on the internal clock setting.


However, I noticed some consistent and audible sync problem in the Roller function.

To put it briefly, when sequence is playing, and I want to toggle on a note playing
external sequence/arpeggio, clocked on MIDI, using Roller to select time division,
it will not properly sync and quantize to the running sequence on Beatstep Pro.

The external sequence will be offset for some fractions of a second. It is not much,
but it is clearly audible if using strict rhythms. As I understand, the note on toggle
should be synced on current bpm (clock source + time division) when using Roller.

If pad is toggled before pressing play, the configured midi command will synchronize on MMC Start and consequent
clock. This makes me wonder if there is some different codepath for the cases, or BSP is missing a beat
on the MIDI out for the controller mode and roller strip. Happens with Internal, USB and MIDI time sources.

Help.

jahasw

  • Apprentice
  • Apprentice
  • *
  • Posts: 26
  • Karma: 1
Re: quantized note on in control mode during play sync problem
« Reply #2 on: August 04, 2015, 09:34:49 pm »
Here is two MIDI dumps of the sync problem, maybe it gives idea what might be going on.

CASE 1 - Note ON before PLAY:

Quote
In:  9E  1C  54  |  Ch 15 Note On  E0        ;Note toggled before play
 In:  F0  7F  7F  06  02  F7  |  MMC Play   ;MMC play sysex
 In:  FA  |  Ch 0                           ;MIDI Start
 In:  B0  36  7F  |  Ch 1 CC 54 - Undefined ;Play CC (play pressed)
 In:  F8  |  Ch 0                           ;MIDI Clock -- extra clock here..
                                            ;external rhythm starts
                                            ;to play in sync with following:
 In:  9F  31  64  |  Ch 16 Note On  C#2     ;DrumSEQ first NOTE ON
 In:  F8  |  Ch 0                           ;MIDI Clock
 In:  F8  |  Ch 0                           ;MIDI Clock
 In:  F8  |  Ch 0                           ;MIDI Clock
 In:  8F  31  40  |  Ch 16 Note Off C#2     ;DrumSEQ first NOTE OFF

....after this just drumseq note on/off + clock....
....sequence plays, external arpeggio plays IN SYNC....


CASE 2 - Note toggled on with ROLLER 1/4 during play:
Quote
In:  F0  7F  7F  06  02  F7  |  MMC Play    ;MMC Play sysex
 In:  FA  |  Ch 0                           ;MIDI Start
 In:  B0  36  7F  |  Ch 1 CC 54 - Undefined ;Play CC
 In:  F8  |  Ch 0                           ;MIDI Clock
 In:  9F  31  64  |  Ch 16 Note On  C#2     ;DrumSEQ first NOTE ON
 In:  F8  |  Ch 0                           ;MIDI Clock
 In:  F8  |  Ch 0                           ;MIDI Clock
 In:  F8  |  Ch 0                           ;MIDI Clock
 In:  8F  31  40  |  Ch 16 Note Off C#2     ;DrumSEQ first NOTE OFF
 In:  F8  |  Ch 0                           ;MIDI Clock
 In:  F8  |  Ch 0                           ;MIDI Clock
 In:  F8  |  Ch 0                           ;MIDI Clock
...MIDI Clock and drumseq note on/off for a while
...then after ROLLER 1/4 + toggled note is pressed:
 In:  F8  |  Ch 0
 In:  9E  1C  7B  |  Ch 15 Note On  E0      ;NOTICE: no clock message between
 In:  9F  31  64  |  Ch 16 Note On  C#2     ;the two note ON messages....
                                            ;External sequencer starts playing on
 In:  F8  |  Ch 0                           ;THIS MIDI clock, which comes a tad late
 In:  F8  |  Ch 0                           ;compared to BSP DrumSEQ...
 In:  F8  |  Ch 0
 In:  8F  31  40  |  Ch 16 Note Off C#2

....ROLLER 1/4 + toggled note off:
 In:  8E  1C  00  |  Ch 15 Note Off E0
 In:  9F  31  64  |  Ch 16 Note On  C#2
 In:  F8  |  Ch 0
 In:  F8  |  Ch 0
 In:  F8  |  Ch 0

.....and the beat goes on, OFF SYNC.


Single samples on same device (Roland SH-32) and others too fire instantly and IN sync using Roller. But external sequence/arpeggio requires the clock message simultaneous to BSP DrumSEQ tick to actually start playing. This is what i gathered from the MIDI Console, of course I have no access to the source code, so I need someone to verify this is actually what is happening.

edit: In short, Toggled Note ON is triggered one MIDI Clock cycle too late. MIDI Clock is a 24ppqn which means it is tempo dependent. With 120bpm single pulse skip makes up for a about 20ms delay on externally clocked sequence/arpeggio on SH-32 for example, compared to internal sequences launching triggers and midinotes that play sounds instantly.
« Last Edit: August 07, 2015, 11:56:08 pm by jahasw »

 

Carbonate design by Bloc
SMF 2.0.17 | SMF © 2019, Simple Machines