Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

concordance

Sincroniza posición entre libros electrónicos en KOReader y audiolibros en Audiobookshelf mediante alineación forzada. Funciona con Calibre-Web Automated, KOReader y Audiobookshelf en entorno Linux con Docker.

Ficha actualizada 26 sept 2026, 10:17 · upstream 26 sept 2026, 10:03 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es concordance

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Concordance mantiene la posición de lectura sincronizada entre un ebook leído en KOReader (vía Calibre-Web Automated) y su audiolibro correspondiente en Audiobookshelf. Utiliza alineación forzada para mapear posiciones con precisión a nivel de palabra, no solo porcentajes globales del libro.

El sistema opera en tres capas: emparejamiento de capítulos comparando proporciones internas, resolución de posición exacta mediante XPointer de KOReader contra el EPUB/KEPUB real, y alineación forzada nocturna que cronometra cada palabra. Las posiciones se almacenan en niveles jerárquicos (aligned, interpolated, anchor) donde solo los precisos se escriben.

Requiere Python 3.11+ con requests en el host, Docker para la imagen del aligner (~3 GB más 1.3 GB de pesos del modelo), acceso al directorio de biblioteca Calibre y archivos de audiolibro. Los trabajos de alineación consumen hasta 3 GB de memoria y requieren aproximadamente 22 minutos-CPU por hora de audio.

CASOS DE USO
  • Leer capítulos en KOReader y continuar el audiolibro desde la posición exacta sin reescuchar
  • Sincronización automática nocturna para mantener progreso entre formatos
  • Uso en entornos self-hosted con Calibre-Web Automated, KOReader y Audiobookshelf
  • Gestión de bibliotecas personales con libros que tienen versiones tanto en ebook como audio
PUNTOS DESTACADOS
  • Alineación forzada con ctc-forced-aligner para precisión a nivel de palabra
  • Sistema de niveles de posición (aligned, interpolated, anchor) con escritura selectiva
  • Resolución de XPointer contra EPUB/KEPUB real para posición exacta dentro del capítulo
  • Gestión de memoria automática con división de capítulos largos para mantener presupuesto
  • Allowlist de libros permitidos para escribir progreso en Calibre-Web Automated
PRECAUCIONES
  • Estado early alpha, probado solo contra una biblioteca específica
  • Requiere configuración manual de CWA_USER, CWA_APP_PASSWORD y ABS_API_KEY
  • Funciona con Calibre-Web NextGen fork; upstream CWA no ha sido testado
  • Alineación nocturna puede tardar hasta una hora dependiendo del contenido planificado
  • Posiciones en front matter (portada, índice) pertenecen a ningún grupo de capítulo
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU1 vCPUrecomendación inicial
MEMORIA1 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

Instalar con pip install -e . y configurar .env con credenciales de CWA y ABS. Construir imagen aligner con docker build usando docker/aligner.Dockerfile. Programar cron para alineación nocturna (ej. 5 0 * * *) y sincronización cada 15 minutos. Verificar memoria libre mínima de 5 GB antes de iniciar trabajos de alineación.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
808313378
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.