Jump to content

Moving a Region by sample amount


SONiC

Recommended Posts

Is there a way to move a region by a specific sample amount?

 

I'm using Logic's recording delay to compensate for Signal Path A which is following an analog tape path to Logic, but Signal Path B requires a different 'tweek' amount, due to a shorter (faster) signal path.

 

I could drag Signal B and visually line it up, but i'd rather move it the exact number of samples, which i've already calculated.

 

So, does anyone know how to move a region by a specific sample amount?

 

thanks

 

-SONiC

Link to comment
Share on other sites

You can option click on a region on the arrange page, scroll to Move, then set the Nudge value to the value wanted and use the Command Arrow tools to move as needed.

 

Or it might be Option arrow. Option K to get the key commands, then type nudge in the window and see what's set up. I just checked and found Option Arrows to move not command arrow

Link to comment
Share on other sites

  • 7 years later...

I am a big fan of recording through the Repro/Sync-Heads of tape recorders too, it's the perfect definition of a modern 'Hybrid Setup' in my eyes. But an option to freely set the values of the Move by Nudge Value command -to permanently (destructively) compensate for such recording delays- would make things so much easier, rather than always being limited to +/- 1 Sample movements only.

 

In my case for example I'd need to always move/correct my regions by ~8034 Samples to compensate for the signals going through the analog circuitry of my Revox B-77 Tape Machine, for being in sync with the rest. As Logic only allows of +/- 1 Sample movements, I've tried to assign this key command to a control assignment and remotely triggered Logic then exactly 8034 times.

 

Watch the documentation of my experiment here:

 

 

What theoretically should work as a workaround apparently does not get processed correctly with such a higher amount of triggerings. Unfortunately. But I will keep trying, of course …

Link to comment
Share on other sites

The 'Ping' button will only allow to detect the latency that the alternate signal path has (plus in case of the I/O plugin it will also include the additional DA/AD conversion times) …

http://media.autotonic.net//images/2018-04-03_01-22-47.png

… but as long as there is no -by using negative values- actual latency compensation processing for the recordings itself, they will remain delayed in the sequencer. And as mentioned before the general CoreAudio settings seems to be not covering that high amounts of delay …

http://media.autotonic.net//images/2018-04-03_01-48-27.png

… I wished this could be at least tweaked somewhere in the plist settings or such …

http://media.autotonic.net//images/2018-04-03_01-53-31.png

… but also I don't want to always have to change my CoreAudio settings when tracking through the tape machine, as I will use another default recording delay value for directly through the interface recorded signals, of course.

 

So overall it's a 'Move Region by X Amount of Samples' that seems to be missing. -- Comparable with Photoshop's 'Crop Image by Pixels' etc,

Link to comment
Share on other sites

  • 5 years later...

I'm just going to revive this thread and update it for anyone else looking for a quicker solution.

In Preferences -> Display set your main time display to Hours  : Minutes : Seconds . Samples

Workout where you want your region to be in the timeline.  Take your playhead reference position (for many this may be 01:00:00.00000) and add or subtract the number of samples you want to move.  Put your playhead there by dragging the samples portion of the main time display.  So if I wanted move the region by 87 samples, I'd hover over the samples section of the display and drag up to 87.

Select the region and use ";" to move it to the playhead position.

  • Like 2
Link to comment
Share on other sites

Thanks @ralphonz, for sharing your method. Since you've revived this topic I'll share my method: 

  1. Set the display preferences (Logic Pro > Settings > Display) to display time as Hours : Minutes : Seconds . Samples.
  2. Open the Event Float (press Option-E or choose Window > Show Event Float). 
  3. Select the region. 
  4. Double-click the region position value in the Event Float and type "+0 0 0 87" to move the region 87 samples to the right. 

Alternatively, you can do the same thing in the Event List, which avoids having to open the Event Float. 

Link to comment
Share on other sites

14 minutes ago, David Nahmani said:

Thanks @ralphonz, for sharing your method. Since you've revived this topic I'll share my method: 

  1. Set the display preferences (Logic Pro > Settings > Display) to display time as Hours : Minutes : Seconds . Samples.
  2. Open the Event Float (press Option-E or choose Window > Show Event Float). 
  3. Select the region. 
  4. Double-click the region position value in the Event Float and type "+0 0 0 87" to move the region 87 samples to the right. 

Alternatively, you can do the same thing in the Event List, which avoids having to open the Event Float. 

Even better, thanks!  Saves me having to use spotlight as a calculator 🤣

  • Like 1
Link to comment
Share on other sites

18 minutes ago, David Nahmani said:

Thanks @ralphonz, for sharing your method. Since you've revived this topic I'll share my method: 

  1. Set the display preferences (Logic Pro > Settings > Display) to display time as Hours : Minutes : Seconds . Samples.
  2. Open the Event Float (press Option-E or choose Window > Show Event Float). 
  3. Select the region. 
  4. Double-click the region position value in the Event Float and type "+0 0 0 87" to move the region 87 samples to the right. 

Alternatively, you can do the same thing in the Event List, which avoids having to open the Event Float. 

Actually, this doesn't seem to be moving it by samples...  It moves too far.

Link to comment
Share on other sites

Just now, David Nahmani said:

Make sure you enter the three zeros, so if you want to move by 87 samples, you need to enter "+0 0 0 87". If you type "+87" then you're moving 87 measures instead. 

Yeah I got that, it's definitely moving it by more than samples though...

That last number definitely doesn't represent samples.  At least not in my projects.

  • Like 1
Link to comment
Share on other sites

For example, if I increment that last "position" number by one, thats equal to 13 samples.  I can see this my looking at the main time display.  It shows Hours : Minutes : Seconds . Samples and under it shows bars beats etc...  That last position number seems to represent a beat sub-division not actual samples.

Edited by ralphonz
  • Like 1
Link to comment
Share on other sites

You're right! These numbers are actually ticks, because I forgot to switch the view so the numbers are still bars/beats/divisions/ticks. 

So then I choose File > Project Settings > General and disable "Use Musical Grid" and I can see Hours:Minutes:Seconds.Samples in the Event Float, but then I can't seem to add a value using "+" like I can with bar/beat/div/ticks. I'm wondering if this is a bug? 

Link to comment
Share on other sites

7 minutes ago, David Nahmani said:

You're right! These numbers are actually ticks, because I forgot to switch the view so the numbers are still bars/beats/divisions/ticks. 

So then I choose File > Project Settings > General and disable "Use Musical Grid" and I can see Hours:Minutes:Seconds.Samples in the Event Float, but then I can't seem to add a value using "+" like I can with bar/beat/div/ticks. I'm wondering if this is a bug? 

Ah, when the lines between bugs and forgotten features become blurred!  I think only the developers could give us an answer!  

Either way, you should be able to I think.  Worth dropping them a request I suppose.

  • Like 1
Link to comment
Share on other sites

  • 5 months later...

Wondering if there's been any updates about this? 

Encountering a similar issue trying to offset an incoming MIDI signal by a specific negative number of samples. Am I correct that samples are a higher resolution measurement than either ticks or milliseconds? Using the tick and ms measurements aren't exact enough to completely offset the incoming signal.  

Link to comment
Share on other sites

1 hour ago, scarletspiral said:

Encountering a similar issue trying to offset an incoming MIDI signal by a specific negative number of samples.

The timing of a MIDI signal is not precise enough to give you sample accurate timing, unless you're using MIDI events in Logic Pro to trigger software instruments inside Logic Pro. 

At 48kHz, a sample is 0.02 ms.

At 120 bpm, a tick is 0.5 ms.

In a MIDI system (over a standard MIDI cable), the latency is easily over 10ms, and it takes about 1ms to transmit one single MIDI event. You can figure out the (lack of) timing precision if you're playing a 6 note chord while pressing the sustain pedal and moving your mod wheel at the same time. Playing multi-timbral stuff over multiple channels only makes the issue worse (MIDI is a serial protocol). 

1 hour ago, scarletspiral said:

Using the tick and ms measurements aren't exact enough to completely offset the incoming signal.  

A chain is only as strong as its weakest link, and you won't get sample precision from an external instrument, whether it's standard MIDI or USB MIDI. 

On the other hand, if it's software, then you can get sample precision reliably. 

The only way to get sample accuracy timing from an external instrument is to record it as audio first. 

  • Like 1
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.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.

×
×
  • Create New...