On Thu, 27 Sep 2012, Aere Greenway wrote:

> I have had problems with compensating with latency before, and have
> successfully dealt with them.  Please consider the information below as
> food for thought.  
> 
> I noticed I was hitting the polyphony limits of my synthesizer, yet I
> wanted to add still more parts.  I tried to solve the problem by
> recording my piano part as an audio track, muting the original MIDI
> piano track, but leaving the other MIDI tracks.  
> 
> This solved the polyphony limit problem, but the audio track was not
> quite in-sync with the other parts due to latency.  Note that the Jack
> Audio Connection Kit (used for audio tracks) indicates in its
> configuration, that it has a latency (on my machines) of 46 milliseconds
> (0.046 seconds).  

That's only a part of my problem.

I did another check:

Bassdrum each 1/4 on one track, played by an instance of fluidsynth
Bassdrum each 1/4 on another track, played by another instance of fluidsynth
-> They were in very good sync.

Adding the LADSPA-plugin autotalent (because it has an audible latency)
to the 2nd track and using only the wet (processed) signal.
-> They were still in very good sync.

Now using the dry signal of the 2nd track OR check the bypass checkbox.
-> There was a gap between the drum sounds

So Rosegarden uses definitely some kind of latency correction and knows
the latency of the LADSPA-plugins. It delays some tracks so they can be
in sync with other tracks that contain plugins with some latency.

What's buggy is:

- Audio tracks are not compensated. They don't get delayed.

- Recorded MIDI-segments don't get compensated after recording, so their
  notes are late. Maybe recorded audio segments, too. I'll have to check
  this.
  I think this was switched off in src/document/RosegardenDocument.cpp
  at line 2701 around:

| // now move the segment back by the record latency
| /*!!!
|   No.  I don't like this.

|   The record latency doesn't always exist -- for example, if recording
|   from a synth plugin there is no record latency, and we have no way
|   here to distinguish.
|        
|   The record latency is a total latency figure that actually includes
|   some play latency, and we compensate for that again on playback (see
|   bug #1378766).


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to