Concordance
An open-source, self-hosted project that connects KOReader, Calibre-Web-Automated, and Audiobookshelf to enable bidirectional progress synchronization between e-books and audiobooks. It employs a hierarchical alignment strategy to improve matching accuracy across platforms.
Timeline (last 90 days)
Concordance is an open-source project that provides bidirectional progress synchronization between e-books and audiobooks for a self-hosted book stack, linking KOReader, Calibre-Web-Automated, and Audiobookshelf.
Concordance is positioned by its author as an early alpha version, having only been run on the author's own library and hardware, with write functionality enabled for only two days and only two books.
Concordance uses a layered alignment strategy: first performing chapter-proportion matching, then locating using the character-level position reported by KOReader, and finally using forced alignment to map word-by-word timestamps to audiobook positions.
Using a single whole-book percentage for mapping causes error accumulation, because narration speed drifts and by the end of the book the error can accumulate to several minutes.
When writing audiobook progress, Concordance deliberately sets the landing point 2.5 minutes early, because fast-forwarding audio forward is easy while seeking backward offers a poor experience.
Concordance's alignment step is purely CPU-based computation, requiring approximately 22 CPU minutes per hour of audio, with a peak memory usage of approximately 3 GB per task.
Running Concordance requires Calibre-Web-Automated, Audiobookshelf, a Linux host with Docker, and Python 3.11+.
Concordance provides a --progress-only command for read-only preview, which prints matched books and progress positions without sending or writing any data.
Concordance only supports KOReader and does not support the sync path of the Kobo native reader.
Concordance's default alignment model uses a CC-BY-NC license and may not be used for commercial purposes.
3 more timeline events
All Facts (12)
Concordance is an open-source project that provides bidirectional progress synchronization between e-books and audiobooks for a self-hosted book stack, linking KOReader, Calibre-Web-Automated, and Audiobookshelf.
50%UnverifiedConcordance uses a layered alignment strategy: first performing chapter-proportion matching, then locating using the character-level position reported by KOReader, and finally using forced alignment to map word-by-word timestamps to audiobook positions.
50%UnverifiedUsing a single whole-book percentage for mapping causes error accumulation, because narration speed drifts and by the end of the book the error can accumulate to several minutes.
50%UnverifiedWhen writing audiobook progress, Concordance deliberately sets the landing point 2.5 minutes early, because fast-forwarding audio forward is easy while seeking backward offers a poor experience.
50%UnverifiedConcordance's alignment step is purely CPU-based computation, requiring approximately 22 CPU minutes per hour of audio, with a peak memory usage of approximately 3 GB per task.
50%UnverifiedRunning Concordance requires Calibre-Web-Automated, Audiobookshelf, a Linux host with Docker, and Python 3.11+.
50%UnverifiedConcordance provides a --progress-only command for read-only preview, which prints matched books and progress positions without sending or writing any data.
50%UnverifiedConcordance only supports KOReader and does not support the sync path of the Kobo native reader.
50%UnverifiedConcordance's default alignment model uses a CC-BY-NC license and may not be used for commercial purposes.
50%UnverifiedConcordance uses the MIT license, is open to issues and PRs, and supports only one CWA user and one ABS user per configuration.
50%UnverifiedConcordance uses precision-tiered writing, where only sufficiently accurate positions are written, and coarse or suspicious alignment results are rejected rather than accepted.
50%UnverifiedThe author developed based on the Calibre-Web NextGen branch and has not yet tested compatibility with the original upstream CWA.
50%