Audio stream synchronization tool for aligning audio tracks between different video sources (e.g., Blu-ray to DVD dubs).
- 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
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.
| 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 |
# Build entire solution
dotnet build AudioSync.sln
# Run CLI
dotnet run --project AudioSync.CLI -- --help
# Run tests
dotnet test AudioSync.Tests| 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) |
- MonoS/SupMover - Original PGS subtitle manipulation tool (C++)
- Aurio - Audio fingerprinting and analysis library