Skip to content

zzattack/AudioSync

Repository files navigation

AudioSync

Audio stream synchronization tool for aligning audio tracks between different video sources (e.g., Blu-ray to DVD dubs).

Features

  • Audio Analysis: FFT-based correlation to detect timing offsets between audio tracks
  • Speed Detection: Automatic detection of PAL/NTSC speed differences
  • Segment Detection: Identifies content cuts, insertions, and timing discontinuities
  • Drift Correction: Handles gradual timing drift over long durations
  • Subtitle Sync: Synchronizes PGS (Blu-ray), VobSub (DVD), and text subtitles
  • Chapter Sync: Preserves and adjusts chapter markers

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

See the LICENSE file for the full license text.

Third-Party Components

Component License Notes
Aurio AGPL-3.0 Audio processing and FFT
SupMover AGPL-3.0 PGS subtitle handling (SupMover.Core is derived from this)
SubtitlesParser MIT Text subtitle parsing
MathNet.Numerics MIT Numerical computations
NAudio MIT Audio playback (UI)
ScottPlot MIT Plotting (UI)
System.CommandLine MIT CLI argument parsing

Building

# Build entire solution
dotnet build AudioSync.sln

# Run CLI
dotnet run --project AudioSync.CLI -- --help

# Run tests
dotnet test AudioSync.Tests

Project Structure

Project Description
AudioSync.Core Core library: audio analysis, segment detection, sync/muxing
AudioSync.CLI Command-line interface
AudioSync.UI Windows Forms GUI
AudioSync.Tests Unit tests
SupMover.Core PGS/VobSub subtitle manipulation (derived from SupMover)

Acknowledgments

  • MonoS/SupMover - Original PGS subtitle manipulation tool (C++)
  • Aurio - Audio fingerprinting and analysis library

About

Tool for synchronizing audio tracks in video containers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages