rogerdp Posted April 7, 2016 Share Posted April 7, 2016 Track delay settings in the parameter box on MIDI tracks seem to be ignored in some circumstances... I'm using a large orchestral template, with multiple sample libraries housed in Vienna Ensemble Pro instances on my slave PC. The instruments receive MIDI info via 'External MIDI' tracks, routed via Multi-Instruments and Port switches in the Environment to multi-timbral software instruments for each VEPro instance, using aux tracks for the grouped audio returns. I've noticed that Region delay parameters on the MIDI tracks work as expected, but Track delay settings are ignored. Whereas on solo software instrument tracks, both parameters adjust playback timing. I've confirmed that this is a general Logic issue by setting up a software instrument track (Electric Piano) and then controlling it from an External MIDI track (routed from a multi-instrument in the Environment). I've checked this behaviour both in Logic X and Logic 9 and the MIDI track delay settings never seem to have any effect. Is this a known issue and is there a workaround? It is really valuable to be able to set default track timing offsets when synchronising multiple sample libraries and this has to be done at the MIDI send stage, because those are the only tracks which control individual instruments (as opposed to the grouped aux returns). This is a separate issue from plugin delay compensation, because the timing offsets relate to differences in attack times between articulations and libraries, rather than to signal delays. Of course it is possible to retrospectively apply Region delays to each MIDI track, but a) this is a laborious workaround and b) the Region delays can't be set in ms, only in ticks (i.e. varying with tempo). Any advice would be gratefully received! Thanks, Roger Quote Link to comment Share on other sites More sharing options...
rogerdp Posted April 8, 2016 Author Share Posted April 8, 2016 Incidentally, I'm aware you can set a default 'MIDI thru' delay for tracks, which new regions will then inherit, but this doesn't solve the problem, in fact it can make things worse: The delay is still set in ticks, not ms; if you drag and drop regions between tracks they retain the delay setting from the source track and it becomes very difficult to see the settings for each region. By comparison, Cubase has a simple 'Track Delay in Milliseconds' slider, which is exactly what I need for my template. Quote Link to comment Share on other sites More sharing options...
RedBaron Posted April 8, 2016 Share Posted April 8, 2016 Are your MIDI interface's output ports showing any timestamp information in MIDI Monitor, or is MIDI Monitor's timestamp column blank? Quote Link to comment Share on other sites More sharing options...
rogerdp Posted April 8, 2016 Author Share Posted April 8, 2016 Hi RedBaron, My interface (Unitor8) is indeed outputting timestamp info. Thanks, Roger Quote Link to comment Share on other sites More sharing options...
rogerdp Posted April 8, 2016 Author Share Posted April 8, 2016 I've confirmed that this is a general Logic issue by setting up a software instrument track (Electric Piano) and then controlling it from an External MIDI track (routed from a multi-instrument in the Environment). I've checked this behaviour both in Logic X and Logic 9 and the MIDI track delay settings never seem to have any effect. I've just repeated this test on a MacbookPro with no other hardware connected. The result was the same: MIDI data on the software instrument track responds to both Track and Region delay settings for that track. But if you use a separate MIDI track to play the same software instrument (connected via the Environment and moving the MIDI data to the new track) then the behaviour changes: Region delay on the new track works fine, but Track delay has no effect. Quote Link to comment Share on other sites More sharing options...
RedBaron Posted April 9, 2016 Share Posted April 9, 2016 rogerdp said: My interface (Unitor8) is indeed outputting timestamp info. It's just been pointed out to me that MIDI Monitor needs to be in Expert Mode (in Prefs > Display), otherwise MIDI Monitor displays it's own fake timestamp rather than '0' when it receives a zero timestamp. When I output MIDI using an External MIDI track (not External Instrument track), with Expert Mode on in MIDI Monitor, the 'Time' column in MIDI monitor shows '0' for all timestamps, so I don't think timestamps are being sent for External MIDI tracks. The same 'zero' timestamp happens for the Legacy External Instrument plugin (which presumably means Logic 9's External Instrument plugin doesn't send timestamps either?). However, Logic X's new External Instrument plugin (non-legacy) does cause timestamps to be sent. I'll have to test a few things before I post back on the track delay not working. It may or may not be related to timestamps. Long story short, the track delay doesn't always work, so I've observed the same thing as you, but others have reported it working in Logic X. I'll need to do some testing to determine when/why it does/doesn't work. Quote Link to comment Share on other sites More sharing options...
rogerdp Posted April 10, 2016 Author Share Posted April 10, 2016 Thanks again for your help RedBaron. I also raised this on the VSL forum (https://vsl.co.at/community/posts/t41007-Logic-X-MIDI-track-delay-settings-ignored-by-VIs#post246182) and 1offby posted this comment: Quote I have also tested this behavior and have reported to Apple over the course of the past year. They are aware of the issue; whether it will be resolved is unknown. I think it is completely Apple/Logic related, not 3rd party software. My findings for Logic: External MIDI Tracks: MIDI Track Delay works for positive number delays up to around 60 MS. Negative number delays are unreliable, but may work up to around -30 MS Software Instrument tracks using the "External Instrument" plugin: All live MIDI input (like playing a MIDI keyboard) is delayed by approximately an audio buffer size. On playback positive and negative number track delays work up to about +/- 250 MS: Note the transport must be stopped and started for a user change in Software instrument Track Delay to take effect. Quote Link to comment Share on other sites More sharing options...
marclawsonmusic Posted April 11, 2021 Share Posted April 11, 2021 I know it was a long time ago, but did you ever solve this problem? I cannot set track delay on External MIDI Instrument tracks - seems this is still an issue in 2021. Any input is greatly appreciated. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted April 11, 2021 Share Posted April 11, 2021 yes this is a bug. Everyone that cares needs to make sure to report this to apple, I can't believe its still there, its a rather obvious and bad one. I did some tests...the midi delay parameter does not function for external midi tracks, at all...yes.. but also it does not function for non-external, normal multi-timbral tracks either. if you setup a new multi-timbral instrument using LogicPro's new instrument wizard, for example, you can create a 16 part instrument channel with 16 midi tracks feeding it. If you set the delay parameter of each of those, they will appear from the track inspector to have individual delay settings, but unfortunately they are all linked internally and following a single value. The last track to change the delay parameter setting, changes the one single internal setting and that is the value they will all follow. So track delay basically is useless with multi-timbral tracks in LogicPro. Doesn't work with that approach, and doesn't work if you try to use environment based midi tracks either... broken... Quote Link to comment Share on other sites More sharing options...
Jrich Posted August 11, 2021 Share Posted August 11, 2021 Same issue on my system. The only way track delay work is when applied to single instrument channel strips inside of Logic. Has anyone found a workaround so pre-delay can be used on multi-instruments housed in VEPRO? Thanks The current system is a 7,1 16-core Mac Pro. Quote Link to comment Share on other sites More sharing options...
marclawsonmusic Posted August 11, 2021 Share Posted August 11, 2021 Hi Jrich, My workaround is to route audio outs for each type of articulation (long, short, legato) to a separate audio channel in VEPro. Then I use Expert Sleepers LatencyFixer plugin on each audio track and set delay in there. Logic’s PDC takes care of the rest. It’s a maddening workaround and unacceptable in 2021, but here we are. Meanwhile, I bought Cubase cross grade in the last sale... Good luck! Marcus Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted August 11, 2021 Share Posted August 11, 2021 I think expert sleepers is the way to go with LogicPro for the foreseeable future. If you are unable to break the individual articulations out to separate audio channels, then the next choice would be to use Scripter to adjust latency, in conjunction with ExpertSleepers for lookahead. Quote Link to comment Share on other sites More sharing options...
Jrich Posted August 11, 2021 Share Posted August 11, 2021 Thanks for the tip marclawsonmusic! I did discover last night that if you change the TRACK DELAY setting from "MS" to "TICKS" on Logic's external instrument objects (Single and multi) the delay function gets sent to instruments connected to them (both inside and outside of Logic). For example, I was able to set a negative TRACK DELAY value in Ticks on midi channel 3 of a multi-instrument object connected to Port 2 of an instrument in VEPRO 7. I also had success using TRACK DELAY in TICKS with a multi-instrument connected to an instrument channel strip that lived in Logic. This felt like a small victory. Quote Link to comment Share on other sites More sharing options...
Frankensteiner Posted January 25 Share Posted January 25 Hi, almost 3 years passed and still this problem with track delay in Logic seems to be unsolved. I just tested the idea to use ticks instead of msec and it indeed it worked. But unfortunately it is no real solution, as the right setting for a library in ticks is always depending on the BPM of the song. I can't believe that Apple still has got no solution for this. And I am wondering how all Logic Users handle this problem when using orchestral sample libraries. Is there any new idea about this? Thanks for reading Frank Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted January 26 Share Posted January 26 Te using expert sleepers latency fixer plugin mentioned earlier in the thread Quote Link to comment Share on other sites More sharing options...
Frankensteiner Posted January 26 Share Posted January 26 6 hours ago, Dewdman42 said: Te using expert sleepers latency fixer plugin mentioned earlier in the thread Thanx, but in my case it is like this: If you are unable to break the individual articulations out to separate audio channels, then the next choice would be to use Scripter to adjust latency, in conjunction with ExpertSleepers for lookahead. But I have no idea how that works, or how to set this up. Is there any tutorial, or another explanation for this? Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted January 26 Share Posted January 26 there is a free plugin called expert sleepers latency fixer. Find it. forget about scripter right now. If you're just wanting a track negative-delay that actually works, then just put expert sleepers on the audio track that is late. Your audio is late due to latency in the attack of the sample. the plugin isn't reporting latency to the host, but its late nonetheless due to the nature of the sample attack. Latency fixer does one thing, it reports latency to the host. so whatever audio track you put it on, just set that time, and it will report it the host (Logic Pro) and then logicPro will use plugin delay compensation to automatically slide the timing around around of everything in your project until its not late anymore. If you're using a multi-timbral instrument, then obviously you'll have to separate each part that you intended to neg-delay separately...to separate AUX channel outputs, and then put expert sleepers on each of those AUX channels. note however, when you use expert sleepers on AUX channels it does not actually cause the midi to be fed early, it will cause all other tracks to be delayed to match up, so it will cause you to experience a lot of laggy latency, you don't want to do that while you're still tracking parts in, but once you're in mix down phase it will be fine. Quote Link to comment Share on other sites More sharing options...
Frankensteiner Posted January 27 Share Posted January 27 3 minutes ago, Dewdman42 said: there is a free plugin called expert sleepers latency fixer. Find it. forget about scripter right now. If you're just wanting a track negative-delay that actually works, then just put expert sleepers on the audio track that is late. Your audio is late due to latency in the attack of the sample. the plugin isn't reporting latency to the host, but its late nonetheless due to the nature of the sample attack. Latency fixer does one thing, it reports latency to the host. so whatever audio track you put it on, just set that time, and it will report it the host (Logic Pro) and then logicPro will use plugin delay compensation to automatically slide the timing around around of everything in your project until its not late anymore. If you're using a multi-timbral instrument, then obviously you'll have to separate each part that you intended to neg-delay separately...to separate AUX channel outputs, and then put expert sleepers on each of those AUX channels. note however, when you use expert sleepers on AUX channels it does not actually cause the midi to be fed early, it will cause all other tracks to be delayed to match up, so it will cause you to experience a lot of laggy latency, you don't want to do that while you're still tracking parts in, but once you're in mix down phase it will be fine. Thank you for your explanation. I will try this out 👍🏼 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.