Audsync is a program that aligns a score file to an audio file. It detects the onsets in the audio and estimates the musical tempo from these onsets. Using the estimated (or manually entered) tempo, the program searches for a beat sequence that is optimally aligned with the onsets.
The beats are shown in a graph below the score. Both score and beat graph have a cursor that scroll together, such that the highlighted beat corresponds to the highlighted note.
In addition to automatic analysis, the program features manual edit oprerations on the individual beats with unlimited undo/redo. When a score is correctly aligned to the audio, a preload file for abcweb or follow can be exported.
Score | Browse the local file system and select a score file. The file can either contain MusicXML
or ABC notation (extentions .xml or .abc). The selected file is opened and the score is
rendered as a long horizontal staff system. Alternatively (in stead of a score file), you can select (and import) a beat map file (extension .js) to continue a previous edit session. |
Audio | Browse the local file system and select an audio file. (.mp3 or .ogg) After loading the audio file, new onsets are computed (wait message appears). Next, tempo estimation and beat tracking are automatically performed in sequence (another wait message). When the new beats are found the display is updated and the wait message disappears. |
Save Beat Map | Pops up a dialog where you can save the complete program state (score, beat graph and settings) to resume editing at a later time. |
Save Preload | Exports a preload file that can be imported directly into abcweb or follow |
Page Scroll | When checked, scrolling is performed in page mode: the score (and graph) only scrolls when
one of the cursors almost reaches the end of the visible window. When not checked, both cursors are always kept at a fixed position (0.3 of the window width). |
Help | Shows a dialog with all keyboard shortcuts. |
Advanced | Toggles the advanced menu. |
A link to audsync.html can have several URL-parameters, which are explained in the table below. An example of a link with some parameters is:
https://wim.vree.org/js/audsync.html?demo/mignon2.abc&demo/mignon2.mp3&alfa=15&tmp=76
Below is a table of parameters is shown
aoff= | With aoff=nnn you specify the start of the selection range in seconds. The audio begins at time zero. |
dur= | With dur=nnn you specify the end of the selection range in seconds. (the parameter is inconsequently called dur for historical reasons) |
tmp= | With tmp=nnn you specify the tempo used for beat tracking. (overrides the automatic tempo estimation). You should use this if tempo estimation fails, or if one of the tempos lower in the table is the correct one. The table of possible tempos is shown below the score after estimation (tempo button). |
pmx= | With pmx=n you specify the number of products used in the spectral product mode. It also sets the mode to spectral products (see Number of Products). |
unit= | With unit=n you set the beat unit to n (see Beat Unit). |
tel= | With tel=nnn you set the begin position of the cursor to nnn (beats) |
alfa= | With alfa=nnn you set the tempo stricness (alfa) to nnn. The default is 120. (see Alpha) |
page=n | With page=0 you switch page mode off. With page=1 you switch page mode on. (see Page Scroll) |
Below is the table of keyboard shortcuts, copied from the help dialog of the main program
Space | Start/Stop playback. After stopping the cursor returns to the start position. |
Shift-Space (playing) | Stop playback. After stopping the cursor remains where it is. |
Shift-Space (stopped) | The cursor returns to the start position. |
ArrowRight → | Move beat cursor to the next beat |
ArrowLeft ← | Move beat cursor to the previous beat |
Delete/Backspace | Delete the selected beat |
i | Insert a new beat before the selected beat (half way the previous beat) |
Shift-ArrowRight | Move selected beat 0.1 second to the right |
Shift-ArrowLeft | Move selected beat 0.1 second to the left |
Cntl-ArrowRight | Move selected area 0.1 second to the right |
Cntl-ArrowLeft | Move selected area 0.1 second to the left |
z | Undo last edit operation (track button, move, insert, delete beat) |
y | Redo last edit operation |
m | Show/Hide menu |
a | Show/Hide advanced part of the menu |
h | Show/Hide this help window |
Click in graph | Sets cursor and highlight on a beat |
Shift-Click in graph | (on a beat line) Sets Begin range |
Cntl-Click in graph | (on a beat line) Sets End range |
Drag in graph | Sets both Begin- and End range |
Shift-Drag in graph | Extends the range (drag should overlap one of the ends) |
Cntl-Drag in graph | Shrinks the range (drag should overlap one of the ends) |