Jump to content

Song sync issue


strat-1
 Share

Recommended Posts

Hi!
 
 While I was preparing my live setup on the seqV4 I encountered a sync problem. I’ve read all the posts regarding this matter but they weren’t of much help, furthermore I installed the latest firmware that was supposed to eliminate this problem.
The main board of the seq has a STM32 chip.
 
I noticed the following problems:
- When in pattern mode there is no problem, I can mute and unmute and everything syncs correctly
- When I switch to song mode the first 3-4 notes are played faster than they should, afterwards the song plays normaly
- I’ve managed to workaround the problem by making the whole live set in only one session. There’s a small desync on the first song but the rest are played normally as long as I don’t use the stop function. If I pause before a song all is fine.
- If I press Stop and choose to play song #5 for example, just like before it starts out of sync.
 
The structure I’m using on a song looks like this:
pos1 set bpm(bpm song) delay0
pos2 set mixer map
pos3 set mutes (xxxx 0x00 etc.)
pos4 play pattern A1 A1 etc.
etc.
.
.
.
posx jump to song2 (or another song I want)
 
Just like I said, if I press pause during a live session, I can use the Pause function at the end of the previous song’s bar and when resuming with the Play function it all behaves normal. Not the case for Stop.
 
The way I found to solve my problem is more than sufficient and I wouldn’t be writing for help if I didn’t encounter a song that doesn’t work either way. Let’s say the song is set on the 7th position, the previous 6 songs are played in sync and when it reaches #7 it all goes haywire!
 
Even if I import it in another session, the behavior doesn’t change.
They’re just drums and a few simple notes, nothing too complex like arps or automations.
This track has an out of sync at the beginning, plays all the bars I’ve set in the first part, then in the next part consisting only of drums it enters with a certain offset and all the notes played by 2 synths are completely out of sync.
The 2 following recordings are examples of my problem.
The first is played in pattern mode with no time issue to show how it should be heard, the second one is in song mode and has all the problems mentioned above.
 
I’ll also post the system status.
1.status on pattern mode
2.status with pause after first 3 notes glitch on every song
3.status taken directly in play mode on the song with play issues at middle of the song when the synth play all out of sync.
Thank very, very, very much for your support.
[422661.728] system
[422661.730] System Informations:
[422661.730] ====================
[422661.730] MIDIbox SEQ V4.079 © 2013 T. Klose
[422661.730] Operating System: MIOS32
[422661.730] Board: MBHP_CORE_STM32
[422661.730] Chip Family: STM32F10x
[422661.730] Serial Number: 37FF36163150303630521243
[422661.731] Flash Memory Size: 524288 bytes
[422661.731] RAM Size: 67107840 bytes
[422661.731] MIDI IN Ports:
[422661.731]   - Def. (available)
[422661.732]   - USB1 (available)
[422661.732]   - USB2 (available)
[422661.732]   - USB3 (available)
[422661.732]   - USB4 (available)
[422661.732]   - IN1  (available)
[422661.732]   - IN2  (available)
[422661.732]   - IN3  (available)
[422661.732]   - IN4  (not available)
[422661.732]   - OSC1 (available)
[422661.733]   - OSC2 (available)
[422661.734]   - OSC3 (available)
[422661.734]   - OSC4 (available)
[422661.734]   - Bus1 (available)
[422661.734]   - Bus2 (available)
[422661.734]   - Bus3 (available)
[422661.734]   - Bus4 (available)
[422661.734] MIDI OUT Ports:
[422661.734]   - Def. (available)
[422661.734]   - USB1 (available)
[422661.734]   - USB2 (available)
[422661.735]   - USB3 (available)
[422661.735]   - USB4 (available)
[422661.735]   - OUT1 (available)
[422661.735]   - OUT2 (available)
[422661.735]   - OUT3 (available)
[422661.735]   - OUT4 (not available)
[422661.735]   - IIC1 (available)
[422661.735]   - IIC2 (available)
[422661.736]   - IIC3 (not available)
[422661.736]   - IIC4 (not available)
[422661.736]   - OSC1 (available)
[422661.736]   - OSC2 (available)
[422661.736]   - OSC3 (available)
[422661.736]   - OSC4 (available)
[422661.736]   - AOUT (available)
[422661.738]   - Bus1 (available)
[422661.738]   - Bus2 (available)
[422661.738]   - Bus3 (available)
[422661.738]   - Bus4 (available)
[422661.738] Systime: 00:05:42
[422661.738] CPU Load: 74%
[422661.738] MIDI Scheduler: Alloc   0/ 15 Drops:   0
[422661.738] Stopwatch: 60/631 uS
[422661.739] Current Root Note (via Keyboard): C-3  
[422661.739] done.
[422746.759] system
[422746.761] System Informations:
[422746.761] ====================
[422746.761] MIDIbox SEQ V4.079 © 2013 T. Klose
[422746.761] Operating System: MIOS32
[422746.761] Board: MBHP_CORE_STM32
[422746.761] Chip Family: STM32F10x
[422746.761] Serial Number: 37FF36163150303630521243
[422746.762] Flash Memory Size: 524288 bytes
[422746.762] RAM Size: 67107840 bytes
[422746.762] MIDI IN Ports:
[422746.762]   - Def. (available)
[422746.762]   - USB1 (available)
[422746.762]   - USB2 (available)
[422746.762]   - USB3 (available)
[422746.762]   - USB4 (available)
[422746.763]   - IN1  (available)
[422746.763]   - IN2  (available)
[422746.763]   - IN3  (available)
[422746.763]   - IN4  (not available)
[422746.764]   - OSC1 (available)
[422746.764]   - OSC2 (available)
[422746.764]   - OSC3 (available)
[422746.764]   - OSC4 (available)
[422746.764]   - Bus1 (available)
[422746.765]   - Bus2 (available)
[422746.765]   - Bus3 (available)
[422746.765]   - Bus4 (available)
[422746.765] MIDI OUT Ports:
[422746.765]   - Def. (available)
[422746.766]   - USB1 (available)
[422746.766]   - USB2 (available)
[422746.766]   - USB3 (available)
[422746.766]   - USB4 (available)
[422746.766]   - OUT1 (available)
[422746.766]   - OUT2 (available)
[422746.766]   - OUT3 (available)
[422746.766]   - OUT4 (not available)
[422746.767]   - IIC1 (available)
[422746.767]   - IIC2 (available)
[422746.767]   - IIC3 (not available)
[422746.767]   - IIC4 (not available)
[422746.767]   - OSC1 (available)
[422746.767]   - OSC2 (available)
[422746.767]   - OSC3 (available)
[422746.767]   - OSC4 (available)
[422746.768]   - AOUT (available)
[422746.769]   - Bus1 (available)
[422746.769]   - Bus2 (available)
[422746.769]   - Bus3 (available)
[422746.769]   - Bus4 (available)
[422746.769] Systime: 00:07:07
[422746.769] CPU Load: 77%
[422746.769] MIDI Scheduler: Alloc   0/ 26 Drops:   0
[422746.769] Stopwatch: 60/639 uS
[422746.770] Current Root Note (via Keyboard): C-3  
[422746.770] done.
[422782.722] system
[422782.724] System Informations:
[422782.724] ====================
[422782.724] MIDIbox SEQ V4.079 © 2013 T. Klose
[422782.724] Operating System: MIOS32
[422782.724] Board: MBHP_CORE_STM32
[422782.724] Chip Family: STM32F10x
[422782.724] Serial Number: 37FF36163150303630521243
[422782.725] Flash Memory Size: 524288 bytes
[422782.725] RAM Size: 67107840 bytes
[422782.725] MIDI IN Ports:
[422782.725]   - Def. (available)
[422782.725]   - USB1 (available)
[422782.725]   - USB2 (available)
[422782.727]   - USB3 (available)
[422782.727]   - USB4 (available)
[422782.727]   - IN1  (available)
[422782.727]   - IN2  (available)
[422782.727]   - IN3  (available)
[422782.727]   - IN4  (not available)
[422782.727]   - OSC1 (available)
[422782.727]   - OSC2 (available)
[422782.728]   - OSC3 (available)
[422782.728]   - OSC4 (available)
[422782.728]   - Bus1 (available)
[422782.728]   - Bus2 (available)
[422782.728]   - Bus3 (available)
[422782.728]   - Bus4 (available)
[422782.728] MIDI OUT Ports:
[422782.730]   - Def. (available)
[422782.730]   - USB1 (available)
[422782.730]   - USB2 (available)
[422782.730]   - USB3 (available)
[422782.730]   - USB4 (available)
[422782.730]   - OUT1 (available)
[422782.730]   - OUT2 (available)
[422782.730]   - OUT3 (available)
[422782.732]   - OUT4 (not available)
[422782.733]   - IIC1 (available)
[422782.733]   - IIC2 (available)
[422782.733]   - IIC3 (not available)
[422782.733]   - IIC4 (not available)
[422782.733]   - OSC1 (available)
[422782.733]   - OSC2 (available)
[422782.733]   - OSC3 (available)
[422782.733]   - OSC4 (available)
[422782.733]   - AOUT (available)
[422782.733]   - Bus1 (available)
[422782.733]   - Bus2 (available)
[422782.733]   - Bus3 (available)
[422782.733]   - Bus4 (available)
[422782.733] Systime: 00:07:43
[422782.735] CPU Load: 88%
[422782.735] MIDI Scheduler: Alloc   1/ 30 Drops:   0
[422782.735] Stopwatch: 192/639 uS
[422782.735] Current Root Note (via Keyboard): C-3  
[422782.735] done.
 
 
 
Link to comment
Share on other sites

It seems that I've to re-adjust the prefetch time which ensures a proper synchronization.

 

It's the most timing critical operation, because a lot of data has to be loaded from SD card while MIDI notes from previous patterns are played by the scheduler.

Since the problem happens at the 7th song, it indicates that some additional FAT32 table read operations take place which cause a delay which I haven't considered yet.

 

Could you please create a minimal session which allows me to reproduce this issue at my side for further analysis?

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Here. I saved this song on a separate session.

As I mentioned before this song have a strange behaviour (at least on my seq) even is the only song in session. It's not about how much data is in the session.

On CH13 is a midibox SID.

On CH10 is a drum sampler. (not standard kit, but put any sounds)

On CH5 any bass synth that double the SID. (plays the same notes as CH13)

On the rest of the channels put anything you want, you will hear the problem only with drums and basses.

Please let me know if I'm doing something wrong on the way that I'm programming my songs, besides the sync problem.ALLLOVER.ZIP

Link to comment
Share on other sites

Thanks for the files!

I was able to reproduce the sync issue at my side, but after 1 hour of analysis I still haven't fully understood why it happens.

However, I found a workaround which might be acceptable: if a pattern is already loaded and actively running, it won't be reloaded anymore.

I guess that most users will prefer this handling anyhow, because interactive changes in the pattern won't get lost.

Please try this version: http://www.ucapps.de/mios32/midibox_seq_v4_081_pre3.zip

Best Regards, Thorsten.

Link to comment
Share on other sites

First. Thank you very much for your support ! :smile:

The new firmware is an improvement, but still some songs are out of sync if I stop the sequencer. But is less annoying.

As for the trouble song, after I changed the firmware, I push play, then stop to load the patterns in memory. After that it works well, but the instruments still behaves strangely sometimes.

I'm working on my live set, so I am dependent of the song feature, played from a single session, using jump or stop.

Edited by strat-1
Link to comment
Share on other sites

  • 3 weeks later...

I debugged this again and finally found the root cause: loading the 4 patterns took more time than expected, therefore the last pattern was sporadically out-of-sync depending on the CPU load.

 

The pattern load is now running with higher priority (2 times faster) which should solve the issue.

 

Could you please check this at your side?

-> http://www.ucapps.de/mios32/midibox_seq_v4_081_pre4.zip

 

Best Regards, Thorsten.

Link to comment
Share on other sites

  • 1 month later...

After I tested this release, next problems happened  :

The song sync it's resolved, or is present at some songs with less audible desincronization. (so I'm very happy, thank you for spending time resolving this).

But I encounter 2 bizarre issues only after this release.

The first song from my song page, plays normally when I press play (consider 16 steps 1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16) .

But, after I push stop and try to play it again it plays in this order 13-14-15-16-1-2-3-4-5-6-7-8-9-10-11-12 and never plays the song in the right order. Only if I shut down the seq, or reload the live set.

Strangely, only first song have this issue, next songs plays well.

Another problem is patch changing via cc's. In every song I have 1 or 2 mixer patch change for all the gear.

In this release, something is happening with midibox FM. In the second song for exeample, I send a patch change to Fm, but when I play the song, the patch is changing 3 times in an aleatory way and stops at a wrong patch.

After that FM will not accept anymore patch changing, when I transmit patch change the led's of FM lights as if reciving data, but nothing happens.

The notes are played well by FM (I change the patches manually between songs).

All other gear, including midibox SID are working well at patch changing.

(my FM is an midibox FM, not sammish)

Edited by strat-1
Link to comment
Share on other sites

The first song from my song page, plays normally when I press play (consider 16 steps 1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16) .

But, after I push stop and try to play it again it plays in this order 13-14-15-16-1-2-3-4-5-6-7-8-9-10-11-12 and never plays the song in the right order.

 

Do you mean song steps (A1, A2, .. A8, B1, B2, ... B8) or track steps?

 

If song steps: it's normal that MBSEQ starts a song from the currently displayed position to simplify editing.

Just change to another page (e.g. EDIT) and push the start button from there - then the song should be started from A1

 

If you (and/or some other) people don't like this behaviour, I could make it optional.

 

 

In this release, something is happening with midibox FM. In the second song for exeample, I send a patch change to Fm, but when I play the song, the patch is changing 3 times in an aleatory way and stops at a wrong patch.

 

This is strange!

I need your session directory, and the MBSEQ_GC.V4 file in the root directory to analyze this.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Thanks!

 

I was able to reproduce the "multiple mixer map dump" issue, it should be fixed in this version:

http://www.ucapps.de/mios32/midibox_seq_v4_084_pre2.zip

 

But the strange "track step" behaviour still puzzles me.

It doesn't happen at my side (resp. I don't recognize it because I don't know your tracks good enough, or I'm not using the same instruments...)

 

Theoretically it can't happen, because a sequencer start will reset all variables which belong to the step progression.

 

There is only one (known) way how this could happen: if an external device changes the song & pattern position with the appr. MIDI Event (0xf2)

So: is there any device connected to MIDI IN which could send a 0xf2 event?

If you are unsure: disconnect all devices from the MIDI IN ports.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

I analyzed again the track step problem.

I unplugged the midi in's and nothing changed.

The problem is like this :

After I press stop first time and play again : First step with notes is pos A2 with act x2 (witch is played well)

                                                                    At pos A3 with act x16, seq it will play only 6 notes from the first measure, and after that the rest of 15 will

be well played, but it will mess every change from position to position. (until the finish of live set)

 

If I play the live set without pressing stop it will be played correctly from start to finish. (all the songs).

Link to comment
Share on other sites

I still can't reproduce this problem.

 

Could you please try the following: press the stop button two times before start - does this change something?

Please try this with the same version like me (084_pre2 that is linked above)

 

If this doesn't make a difference, I will need more specific instructions. So, every operation after power-on, like: enter song page, select song mode, press play, wait for 3 seconds, press stop, press play, look for MIDI events played by track 1

(this is exactly what I'm currently doing and where I don't see a problem...)

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Then I also need exact instructions to reproduce this issue.

 

Btw.: check the ensemble configuration of your MBFM, maybe multiple instruments listen to MIDI channels which are intended for other devices?

 

Best Regards, Thorsten.

 

P.S.: next reply next week - I'm on a weekend trip

Link to comment
Share on other sites

Let's come back to these bizarre issues which I would like to solve :)

 

Could you please describe in more detail, how I can reproduce and monitor the MIDI output based on the session that you gave me?

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Now is more clear to me what's happening.

 

I have the following patterns : G1T1 drums length 32

                                               G1T2 drums, G1T3 drums, G2T4 drums length 64

                                               G2T1 bass lenght 64 (the rest of the track's dosen't matter, because you will understand the issue only with bass and drums)

 

First steps from song 1 : POS1 tempo bpm100 ramp0s

                                       POS2 mixer map 1

                                       POS3 mutes G1    G2    G3    G4

                                                           oxxx  xxxx   xxxx   xxxx

                                       POS4 x2       G1    G2     G3   G4 

                                                            A3      X       X      X

                                      POS5  mutes G1    G2     G3   G4

                                                           xoxo  oxxx   xxxx  xxxx

                                       POS6  X16    G1    G2     G3   G4

                                                             A3    A3     A3    A3

 

TRACK SYNC STEPS PER MEASURE 16

PATTERN CHANGE SYNC 16

PATTERN CHANGE SYNC - ENABLED

RESTART ALL PATTERN ON PATTER CHANGE - ENABLED

 

The problem is like this : First time you play it is ok. But after all groups are present in the memory (or if you set to load A3 on all groups in pos4) and play again,

tracks with 64 lenght will start to play muted with t1 lenght 32 unmuted. At pos6 instead of reseting pattern from the beginning the 64lenght patterns plays from

step 33 to 64. At every step it will play in this order 33-64 1-33. (it will not reset from the beginning).

I think this issue is only in first song. I didn't have this problem on previous releases. (4.080 )                                                

Link to comment
Share on other sites

Alright, I think (resp. hope) that I got it now:

I used a GM synth to playback your song, and G2T1 (the bass track) selected the "Seashore" instrument which wasn't really audible.

Together with your description I realized, that this is related to the new pattern load handling.

 

Please try this version: http://www.ucapps.de/mios32/midibox_seq_v4_084_pre3.zip

 

The "restart tracks on pattern change" should take place again regardless if the pattern has been reloaded from SD Card or not.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

It's working at my side when I'm using the v4_084_pre3 version.

It behaves like at your side when I'm using the older v4_084_pre2 version.

 

Could it be that you picked up the wrong one for upload?

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Great that this is finally solved :)

I already feared that something was wrong in the release process...

 

Btw.: is there a recording of your live show available? I'm very interested after listening to the sequences so often  :thumbsup:

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...