New! Comprehensive latency correction / compensation

MusE is a MIDI/Audio sequencer with recording and editing capabilities, aiming to be a complete multitrack virtual studio for Linux. http://muse-sequencer.org/

Moderators: khz, MattKingUSA, spamatica

Tim E. Real
Established Member
Posts: 215
Joined: Sat Sep 15, 2012 12:36 am

New! Comprehensive latency correction / compensation

Postby Tim E. Real » Sat Jun 29, 2019 8:25 am

Psst! I've merged my latency_fixes branch into master!

Currently you need to enable the feature in Global Settings > Latency tab.
Should be OK to start usage trials. Bear with me, it needs a full README etc.
Still a few more things to do. I'll try to include a test wav file for input/output and send/return, and a test song file
so that you can be confident that your setup works and everything is aligned.

Note: There is usually a further small unaccounted-for latency in any real internal or external hardware.
The program jack_iodelay is your friend.
Take it's reported value and enter it into QJackCtl or on the command line.
It would be good to add this functionality in MusE somehow... And... for midi-to-midi and midi-to-audio (intelligent with visual assistance)

Note: As mentioned here:
https://github.com/muse-sequencer/muse/issues/648
when you load a song and press play you may see terminal messages like this:

Code: Select all

FIFO 0xda8d600 underrun
WaveTrack::getData(Playback track) (A) fifo underrun

It's an old bug. Follow the very easy workaround 'till I fix it.
[EDIT] Fixed in git master now! Yay. :D
Caveat: If you are 'looping' the messages might still occur. Working on it, know the problem...

That's all I can type for now. Cheers.
Tim.

From ChangeLog:

Code: Select all

      * New! Comprehensive full midi and audio latency correction / compensation:
      - This was a very tough problem to solve.
      - Currently DISABLED by default until certain it is OK.
        You must enable it. See the new Global Settings > Latency tab.
      - Features: 'Corrects' (looks ahead) or 'compensates' (delays) ALL audio and midi
         signals throughout. Recorded or played audio files should be TRUSTWORTHY now,
          regardless of audio driver period size.
      - Tested extensively with many configurations. Should be OK for usage trials.
[EDIT] - Works OK with plugins that report latency (properly). It accounts for their latency.
      - Works OK with Audio Output track sends or Midi output sends and Audio Input returns.
      - Works OK with 'Bounce to file/track' function, with or without Jack Freewheel enabled.
      - TODO: Support Aux(illiary) tracks. Not handled at all ATM.
              Fix small snippet of missing sound at start of all playback material. Should be
               played BEFORE transport rolls. Use 'slow-sync' feature to hold up the transport.
              Add user-adjustment boxes on hardware ports. (Enter results from jack_iodelay for ex.)

Return to “MusE Sequencer”

Who is online

Users browsing this forum: No registered users and 3 guests