Systems and methods for synchronizing visual content to audio
Systems and methods for displaying beat markers in a visual production user interface are disclosed. The method includes: displaying, on a display, the visual production user interface including a timeline region, the timeline region including: an audio timeline including a waveform representation of an audio element associated with a visual production; determining a zoom level of the timeline region at a first time; in response to determining that the zoom level of the timeline region is above a threshold zoom level at the first time, displaying downbeat and non-downbeat markers in the audio timeline, the downbeat and non-downbeat markers indicating positions of downbeats and non-downbeats respectively in the audio element; and in response to determining that the zoom level of the timeline region is below a threshold zoom level at the first time, displaying downbeat markers in the audio timeline without displaying non-downbeat markers.
1 . A computer-implemented method comprising:
displaying, on a display, a visual production user interface including a timeline region, the timeline region including:
a scene timeline, the scene timeline including a time-ordered sequence of scene previews, each scene preview corresponding to a scene of two or more scenes of a visual production and having a display width that provides a visual indication of a duration of the corresponding scene;
an audio timeline including a waveform representation of an audio element associated with the visual production;
detecting selection of a first scene preview;
determining a zoom level of the timeline region at a first time;
in response to determining that the zoom level of the timeline region is above a threshold zoom level at the first time, activating snap regions in the scene timeline that correspond to positions of downbeats and non-downbeats in the audio element, wherein a non-downbeat is a beat in the audio element that is not a downbeat; and
in response to determining that the zoom level of the timeline region is below the threshold zoom level at the first time, activating snap regions in the scene timeline that correspond to the positions of downbeats in the audio element without activating snap regions in the scene timeline that correspond to positions of non-downbeats.
2 . The computer-implemented method of claim 1 , wherein a width of each snap region is greater than a timing of a downbeat or non-downbeat associated with the corresponding snap region.
3 . The computer-implemented method of claim 1 , further comprising:
displaying downbeat markers and non-downbeat markers in the audio timeline if the zoom level of the timeline region is above the threshold zoom level, the downbeat and non-downbeat markers indicating positions of downbeats and non-downbeats respectively in the audio element; and
displaying downbeat markers in the audio timeline without displaying non-downbeat markers if the zoom level of the timeline region is below the threshold zoom level.
4 . The computer-implemented method of claim 3 , wherein the downbeat markers are visually distinguishable from the non-downbeat markers.
5 . The computer-implemented method of claim 1 , wherein each scene preview in the scene timeline includes at least one handle, the handle being selectable and draggable to increase or decrease the display width of the corresponding scene preview.
6 . The computer-implemented method of claim 5 , wherein detecting selection of the first scene preview comprises detecting selection of a handle of the first scene preview.
7 . The computer-implemented method of claim 1 , further comprising:
accessing production data in respect of the visual production, the production data including scene data defining the two or more scenes of the visual production, the scene data of each scene comprising at least a duration of the corresponding scene.
8 . The computer-implemented method of claim 1 , wherein the first scene preview includes a handle and the method further comprises:
detecting dragging of the handle of the first scene preview within the scene timeline, wherein the dragging of the handle causes the display width of the scene preview to increase or decrease depending on a direction of the dragging;
detecting position of the handle above a first snap region; and
locking a position of the handle to a timing of a downbeat or non-downbeat that is associated with the first snap region.
9 . The computer-implemented method of claim 8 , wherein locking the position of the handle to the timing of the downbeat or non-downbeat associated with the first snap region comprises providing visual or haptic feedback.
10 . The computer-implemented method of claim 9 , wherein the visual feedback is a bounce animation of the downbeat or non-downbeat marker associated with the downbeat or non-downbeat.
11 . The computer-implemented method of claim 8 , further comprising:
detecting a drop of the handle in the first snap region; and
updating scene data associated with the first scene preview, wherein updating the scene data comprises updating a duration of the scene based on the width of the scene preview at the time of detecting the drop.
12 . The computer-implemented method of claim 8 , further comprising:
detecting dragging of the handle of the first scene preview outside the first snap region; and
unlocking the position of the handle from the timing of the downbeat or non-downbeat that is associated with the first snap region.
13 . The computer-implemented method of claim 12 , wherein unlocking the position of the handle from the timing of the downbeat or non-downbeat associated with the first snap region comprises providing visual or haptic feedback.
14 . The computer-implemented method of claim 12 , further comprising:
detecting a drop of the handle outside the first snap region; and
updating scene data associated with the first scene preview, wherein updating the scene data comprises updating a duration of the scene based on the width of the scene preview at the time of detecting the drop.
15 . The computer-implemented method of claim 11 , further comprising:
deactivating the snap regions upon detecting the drop of the handle.
16 . The computer-implemented method of claim 1 , further comprising:
determining the zoom level of the timeline region at a second time after the first time;
in response to determining that the zoom level of the timeline region is above the threshold zoom level at the second time but was below the threshold zoom level at the first time, activating additional snap regions corresponding to non-downbeats in the audio timeline; and
in response to determining that the zoom level of the timeline region is below the threshold zoom level at the second time but was above the threshold zoom level at the first time, deactivating snap regions corresponding to non-downbeats in the audio timeline.
17 . The computer-implemented method of claim 1 , further comprising:
determining whether beat metadata exists for an audio track associated with the audio element, the beat metadata including data indicating a timing of each beat in the audio track and whether each beat is a downbeat or non-downbeat; and
retrieving the beat metadata for the audio track upon determining that the beat metadata exists for the audio track.
18 . The computer-implemented method of claim 1 , further comprising:
determining whether beat metadata exists for an audio track associated with the audio element, the beat metadata including data indicating a timing of each beat in the audio track and whether each beat is a downbeat or non-downbeat;
upon determining that beat metadata does not exist for the audio track requesting generation of the beat metadata; and
receiving the generated beat metadata.
19 . The computer-implemented method of claim 17 , further comprising:
inspecting the beat metadata to determine the timing of downbeats and non-downbeats in the audio element; and
displaying the downbeat markers and/or non-downbeat markers at positions in the audio timeline based on the determined timing.
20 . A computer processing system including:
a display;
one or more processing units; and
one or more non-transitory computer-readable storage media storing instructions, which when executed by the one or more processing units, cause the one or more processing units to:
display, on the display, the visual production user interface including a timeline region, the timeline region including:
a scene timeline, the scene timeline including a time-ordered sequence of scene previews, each scene preview corresponding to a scene of two or more scenes of a visual production and having a display width that provides a visual indication of a duration of the corresponding scene;
an audio timeline including a waveform representation of an audio element associated with the visual production;
detecting selection of a first scene preview;
determine a zoom level of the timeline region at a first time;
in response to determining that the zoom level of the timeline region is above a threshold zoom level at the first time, activate snap regions in the scene timeline that correspond to positions of downbeats and non-downbeats in the audio element, wherein a non-downbeat is a beat in the audio element that is not a downbeat; and
in response to determining that the zoom level of the timeline region is below the threshold zoom level at the first time, activate snap regions in the scene timeline that correspond to the positions of downbeats in the audio element without activating snap regions in the scene timeline that correspond to positions of non-downbeats.
21 . One or more non-transitory storage media storing instructions executable by one or more processing units to cause the one or more processing units to:
display, on a display, a visual production user interface including a timeline region, the timeline region including:
a scene timeline, the scene timeline including a time-ordered sequence of scene previews, each scene preview corresponding to a scene of two or more scenes of a visual production and having a display width that provides a visual indication of a duration of the corresponding scene;
an audio timeline including a waveform representation of an audio element associated with the visual production;
detect selection of a first scene preview;
determine a zoom level of the timeline region at a first time;
in response to determining that the zoom level of the timeline region is above a threshold zoom level at the first time, activate snap regions in the scene timeline that correspond to positions of downbeats and non-downbeats in the audio element, wherein a non-downbeat is a beat in the audio element that is not a downbeat; and
in response to determining that the zoom level of the timeline region is below the threshold zoom level at the first time, activate snap regions in the scene timeline that correspond to the positions of downbeats in the audio element without activating snap regions in the scene timeline that correspond to positions of non-downbeats.