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
