Echo Relay and Violet Weave note-driven template previews accompanying the MIDI sync guide

How to Sync MIDI and Audio in a Visualizer

The piano keys light up just before the chord. The first bar looks right, but the eighth does not. Or the notes stop while the sample keeps playing. These are different MIDI sync problems, and they need different fixes.

To sync MIDI and audio in a visualizer, first identify whether the mismatch is a constant delay, accumulating drift, or a pattern-repeat problem. Then change the matching control. Moving an offset back and forth will not repair an incorrect tempo.

This guide uses VisualizerWave's imported audio/MIDI workflow. If you are still preparing the files, start with the MIDI visualizer guide.

Diagnose the symptom first

Check one clear note near the beginning and another much later in the recording. Then compare what happens at the next repetition.

What you seeLikely thing to checkFirst action
Every note is early or late by roughly the same amountDifferent start positions or a constant offsetAlign the export origins or adjust Offset (seconds)
Notes start together, then gradually separateMIDI tempo or a tempo-map mismatchCheck the DAW tempo and any BPM override
The first cycle works, but the next enters early or lateWrong repeat period or trailing restsCheck Repeat length (seconds)
Notes stop before the soundtrack finishesA short MIDI clip under a longer arrangementImport the full performance or intentionally repeat the pattern
Notes would continue after the video endsAudio and MIDI cover different regionsMatch the DAW selections; export duration follows the audio
Some visible notes do not seem to belong to the soundWrong file, part, edit, or transpositionCheck the source session and visible MIDI parts

These are diagnostic clues, not automatic detection. A slow-attack instrument, an edited audio file, or a different performance can also explain what you are seeing.

1. Match the audio and MIDI starting point

The cleanest solution is usually in the DAW: export both files from the same musical origin.

Suppose the MIDI clip begins at bar 1, but the audio render begins at bar 2. Even with the correct BPM, the files describe different starting positions. Similarly, trimming silence from only the audio shifts its relationship to the notes.

For a reliable pair:

  1. Choose the same arrangement start for both exports.
  2. Include the same intentional lead-in or rests.
  3. Render the intended instrument and effects into the audio.
  4. Export the matching MIDI region, not a similar earlier version of the pattern.

A reverb tail may make the audio longer than the MIDI without making it wrong. The last note can end while the sound decays. Do not stretch the MIDI merely to fill that tail.

2. Fix a constant delay with Offset

In VisualizerWave, open the MIDI source's Timing & pattern repeat controls. Offset (seconds) shifts the whole performance:

  • A positive value delays the MIDI.
  • A negative value starts it earlier.

For example, if a visual note appears at 0.45 seconds but the corresponding sound begins at 0.70 seconds, the notes are early by 0.25 seconds. An offset of +0.25 delays them to match.

If the visual note is at 0.70 seconds and the sound is at 0.45 seconds, use −0.25 instead.

Use a note with a clear attack as your reference. A pad that swells in slowly can make a correctly timed note look early; compare a more percussive sound or the original DAW timeline before applying a large correction.

After the change, check a later phrase. If the same correction works throughout, you probably had an offset problem. If not, continue with tempo and repeat length.

3. Fix drift without destroying the tempo map

An offset moves every note by the same amount. Tempo changes the spacing between notes. That is why a wrong tempo can look acceptable at the beginning and increasingly wrong later.

First compare the MIDI export with the DAW session. Does it contain the intended tempo information? Is the source a single-tempo loop or an arrangement with deliberate tempo changes?

VisualizerWave's BPM override is optional. Leaving it blank uses the MIDI tempo map. Entering a value replaces all tempo changes with that one BPM.

For a fixed 80 BPM sample whose MIDI uses the wrong timing, an 80 BPM override may be appropriate. For an arrangement that intentionally changes tempo, a constant override can create the problem rather than solve it. Re-export the correct MIDI when necessary.

Also check whether the audio was time-stretched or edited after the MIDI export. The visualizer cannot infer that new arrangement from the recording. Use the MIDI version that matches the final audio.

Changing the displayed BPM label does not fix timing. The sample-information label, MIDI BPM override, and DAW audio tempo serve different purposes.

4. Set a musical repeat period

Keep Playback → Play once for a complete performance. Choose Repeat pattern when a shorter MIDI pattern is deliberately meant to cycle under a longer recording.

The repeat period matters as much as the note positions. For example, eight bars of 4/4 at 80 BPM last 24 seconds:

8 × 4 × 60 ÷ 80 = 24

If the file contains an additional silent bar, using its full duration may leave an unwanted pause between cycles. Set Repeat length (seconds) to the intended 24-second musical period in that case. A blank value uses the file's duration, including trailing rests.

Keep intentional rests inside the pattern. Do not assume that the last audible note marks the end of the bar. Use your DAW's bar selection or the bars-to-seconds calculator to find the period.

Repeating MIDI does not repeat or lengthen the audio. Prepare a soundtrack of the desired duration separately. See the loop visualizer guide for the full audio/notes/animation boundary checklist.

5. Check parts and note releases

If the timing is right but the performance looks wrong, inspect which parts are visible. A bass part may be playing below the melody, or a second imported file may contain another take.

Hide parts temporarily to isolate the one you are checking. This changes the visualization, not the uploaded audio mix. If a held note continues longer than expected, inspect its duration in the source MIDI and compare the same moment in the DAW.

Live note labels show pitches with octaves, not a guessed song key or chord name. They can help confirm a source file, but enharmonic note spelling alone is not evidence of a sync error.

6. Verify the exported result

Export a short test containing a clear attack and a later phrase. Listen to the exported file as well as watching the editor preview. A struggling preview is not enough evidence to rewrite the MIDI timing; confirm whether the mismatch also exists in the output.

If the problem appears only with a demanding design, try a simpler MIDI look and check the browser compatibility test. Export options and performance depend on the browser and hardware; desktop Chrome or Edge is the recommended starting point.

Before the final render, confirm:

  • The audio and MIDI are the matching versions.
  • Early and late phrases line up.
  • Pattern repeats begin at the right point.
  • Rests and note releases behave as intended.
  • The selected audio region covers the part you want to publish.

Save the corrected .visualizerwave project so the timing settings stay with the files.

Quick answers

Why does my MIDI stop before the audio?

You may have imported a short clip rather than the complete arrangement. Import the matching full performance, or use Repeat pattern if the same notes really should cycle. A final reverb tail does not need extra notes.

Should I use BPM override for every file?

No. Keep a correct tempo map intact. Use an override only when you intentionally want constant-tempo MIDI playback and know the correct BPM.

Can offset fix notes that drift further apart over time?

Not by itself. Check tempo, audio stretching, and whether the source arrangements match. An offset corrects a constant displacement, not a changing one.

Will hiding a MIDI part remove its sound?

No. MIDI part visibility controls the visuals. Change the DAW mix and render new audio if you want to remove an instrument from the soundtrack.


Built for artists, not render credits

Ready to make the next one yours?

Pay $19 once. Create unlimited private, locally rendered music videos.

4.5/5 · 17 reviews
200+ happy users
Get Lifetime Access — $19