Mejora tu ajedrez con ChessPDFBrowser

Podrás extraer las partidas de ajedrez de tus libros en PDF y navegar por sus variantes.

Características Descarga

acerca de ... ChessPDFBrowser

Aplicación de escritorio que permite abrir libros de ajedrez en pdf.
Programada en su mayor parte durante el tiempo del Covid-19

Extractor de partidas

Podrás extraer las partidas de los pdfs

Motores tipo UCI

Análisis de posiciones conectando a
motores tipo UCI

Multi plataforma

Programado en Java swing

características

Aplicación de ajedrez multi plataforma

  • Multi plataforma

    Programado en Java swing

  • Multi idioma

    Interfaz de usuario en español, catalán e inglés

  • Multi resolución

    Puedes ampliar o disminuir el zoom global de la aplicación

  • Partidas

    Podrás extraer las partidas del pdf

  • Motores UCI

    Análisis con motores tipo UCI

  • PGN

    Podrás almacenar las partidas en formato PGN

Pantalla principal

Podrás abrir archivos en pgn y navegar y editar sus variantes.

Navegar por PDFs

Podrás abrir y navegar por tus libros de ajedrez en PDF.

Extracción de partidas

Se pueden extraer las partidas del PDF, navegar por sus movimientos y guardarlas como pgn.

Análisis de posiciones

Analiza posiciones conectando con motores tipo UCI.

Edición de comentarios

Edita los comentarios de las partidas, o añade comentarios nuevos.

Edición de tags

Edita los tags de la partida (nombres de jugadores, ELOs, sitio, evento, ...).

Posición inicial

Edita la posición inicial de las partidas que lo necesiten.

Partidas con tiempo

Juega partidas con tiempo contra un motor o contra un amigo, o pon a dos motores a jugar entre sí.

Extracción de Partidas en notación algebraica de figuras

Podrás entrenar al detector de figuras para extraer partidas en notación algebraica de figuras

testimonial

Sensaciones desde el punto de vista del desarrollo.

capturas de pantalla

Muestra de las pantallas de la aplicación

estadísticas

Algunos números sobre la aplicación.

5K
Descargas
250K
Líneas de código
255
cafés

Precio de la aplicación

La aplicación es gratuita y de código abierto.

ilimitada

0€ (gratis)

  • Navegación por pdfs
  • Extracción de partidas
  • Análisis
  • Soporte via e-mail

Ver vídeo

Vídeo de ejemplo

Conoce al desarrollador

Un único desarrollador facilita las cosas.

Descarga

Podrás descargar la aplicación desde varias páginas de código abierto.

faq

Sección de preguntas y respuestas.

ChessPDFBrowser es una aplicación de ajedrez que permite trabajar con ficheros pgn.
Como funcionalidad distintiva, también permite abrir libros en PDF y extraer sus partidas.
También incluye otras funcionalidades:
  • Editar y guardar las partidas cargadas o extraidas:
    • Las variantes de las partidas cargadas o extraidas
    • Los comentarios y los NAGs (valoración) de los movimientos
    • Los tags de las partidas
    • La posición inicial, para partidas que no comiencen por la posición inicial estándar
  • Ocr para obtener la cadena FEN de una imagen con una posición
  • Conexión con motores de tipo UCI.
    • Análisis de posiciones
    • Análisis de partidas completas
    • Jugar partidas con tiempo contra motores
    • Hacer jugar a dos motores entre sí
Datos que se extraen:
  • Se tratan de extraer los TAGs de la partida (Nombres de los jugadores, ELOs, sitio, evento, ...)
  • Si la partida no comienza por la posición inicial estándar, se intenta detectar esa posición inicial con el Ocr a partir de la imagen asociada, y si hubo éxito en la detección, se asigna esa posición de inicio a la partida
  • Se extraen las variantes de las partidas (ayudándose con los paréntesis, corchetes y llaves, para detectar las subvariantes)
Las partidas de los libros tienen que estar en notación algebraica o en notación algebraica de figuras. Se pueden seleccionar varios idiomas para esa notación, y si no encuentras un idioma, puedes definir tú mismo las letras para designar cada tipo de pieza.
Sí, en el directorio base de la aplicación, existe un subdirectorio _scripts.
Ahí existen scripts de ejemplo para invocar a la aplicación de interfaz de comandos (pdf2pgn)
Sí,con la versión v1.26 está previsto extraer partidas en notación algebraica de figuras.
Primero tendrás que entrenar al identificador de figuras, pero es un proceso relativamente rápido.
Como anotación, decir que es muy posible que la calidad del resutlado de la extracción de partidas en esta notación no sea muy bueno Debido principalmente:
  • a que la calidad del texto de esta tipo de Pdfs no es perfecta (a veces hay espacios en medio de las palabras, o se cambian unos caracteres por otros)
  • Y también debido a que cuando las partidas no tienen paréntesis o corchetes para delimitar las subvariantes se hace más difícil la extracción correcta del árbol de variantes
Existe una compleja configuración basada en expresiones regulares.
Se ha creado una configuración básica basada en algunos formatos de TAGs que se repiten en los libros, que puede servir si coincide con el formato que siguen los TAGs en tus libros.
Si no existe un formato adecuado configurado para extraer esos TAGs de tus libros, siempre se puede añadir el nuevo formato a la configuración (si te pones en contacto conmigo, yo mismo estoy abierto a añadir ese nuevo formato a la configuración básica para próximas versiones de la aplicación)
También puedes tratar de configurar tú mismo el nuevo formato (Está explicado como hacerlo en el manual de usuario)
El Ocr funciona en base al tipo de tablero.
El tipo de tablero se obtiene de algunos parámetros de las images:
  • tamaño de las casillas en la imagen
  • color de las casillas blancas
  • color de las casillas negras
Para obtener el tipo de tablero, primero hay que obtener la rejilla del tablero (los vértices de las casillas que forman el tablero)
Una vez obtenido, se obtiene el tipo de tablero, en base a los parámetros anteriores.
Para cada tipo de tablero, existe una lista de ejemplos de imágenes para cada tipo de pieza y cada color de casilla.
Esta lista de patrones, se obtiene con el entrenamiento del OCR con pares (Cadena FEN, imagen).
Para cada casilla del tablero de la imagen a reconocer, se calcula la característica HOG (histogram of oriented gradients), y se elige el código de pieza del patrón cuyo HOG devuelve una distancia menor (distancia chi cuadrado), siempre que esté dentro de un umbral.
Si hubo éxito, podemos tener la cadena FEN de la posición
Si no lo hubo, podemos pedir al usuario que "entrene" al OCR, abriendo una ventana con un tablero donde el usuario puede identificar las piezas no reconocidas
El Ocr se entrena con parejas de (Cadena FEN, Imagen).
Esas parejas pueden aparecer de:
  • autoentrenamiento que hace la aplicación cuado se extraen las partidas de un pdf (con las imágenes detectadas con posiciones conocidas, a partir de la variante extraida hasta el punto de la imagen en partidas que hayan comenzado desde la posición inicial)
  • cuando hay fracaso en la detección de la FEN de una imagen solicitada por el usuario, si la rejilla del tablero pudo detectarse, la aplicación ofrece la opción al usuario para entrenar al Ocr, mediante la configuración de la posición en una ventana con un tablero
La aplicación mantiene un registro de los motores UCI configurados.
Para configurar uno nuevo, tendrás que:
  • descargarlo (Por ejemplo, en esta URL podrás encontrar algunos de ellos. )
  • descomprimirlo en tu disco duro
  • Abrir la ventana de configuración de la aplicación
  • Seleccionar la pestaña de motores
  • pulsar el botón de nuevo motor (+)
  • Asignar el binario del motor (abriendo el JFileChooser en la nueva ventana (botón:(...)), y seleccionando un fichero .exe de la ubicación donde hayas descomprimido el motor)
  • Podrás modificar la configuración del motor
Sí, puedes hacerlo así:
  • abrir la ventana de análisis
  • crear un nuevo panel de análisis (botón (+))
  • seleccionar un motor configurado
Sí, sólo tienes que:
  • abrir la ventana de análisis de partida (en el menú de Partida)
  • configurar los detalles del análisis en la ventana que aparece
  • tras el análisis, se copiará la partida seleccionada, con la variante principal ya analizada
Sí, se puede jugar contra un motor.
  • Sólo hace falta empezar una nueva partida (Menú partida -> Nueva partida).
  • Ponerte a ti como jugador.
  • Seleccionar un motor configurado como contrincante

Sugerencia: Algunos motores pueden configurarse para que funcionen con un ELO o nivel inferior a su máximo.
Puede ser una buena idea usar la opción de configuración de motores que tiene la aplicación, si el motor juega "demasiado" bien
Sí, puedes abrirlo desde la propia aplicación, o también en este enlace.

Contacta con el desarrollador

Ya sea para saludar, hablar de la aplicación
o informar de errores.