Instalando ChordPro 6.101.0 en MX Linux 23 (base Debian 12), cómo usar la GUI y línea de comandos + crear deb


Instalando ChordPro 6.101.0 en MX Linux 23 (base Debian 12), cómo usar la GUI y línea de comandos

ChordPro es un formato de notación diseñado para facilitar la escritura, lectura y distribución de canciones, especialmente las que incluyen acordes para guitarra u otros instrumentos. Fue desarrollado en la década de 1990 y se utiliza ampliamente por músicos y entusiastas para compartir canciones de una manera estandarizada y fácil de entender.

Requisitos previos

Sistema actualizado MX Linux 23 (base Debian 12) de 64 bit o 32 bit:

sudo apt update && sudo apt upgrade -y

Paso 1: Instalar dependencias esenciales

Según la página web para compilar para Linux

Installation on Linux
https://www.chordpro.org/chordpro/chordpro-install-on-linux/

Instalaremos la mayoría de los que allí están en la lista. Ejecute estos comandos para instalar compiladores y librerías necesarias:

sudo apt install build-essential cpanminus libssl-dev zlib1g-dev \
        libwx-perl libwxgtk3.2-dev libharfbuzz-dev libpango1.0-dev \
        libobject-pad-perl libpdf-api2-perl libimage-info-perl \
        libjson-pp-perl libjson-xs-perl libfile-homedir-perl \
        libdata-printer-perl libref-util-perl libref-util-xs-perl \
        libclass-std-storable-perl libpod-simple-perl \
        libpod-parser-perl libpod-pom-perl libpod-coverage-perl
       

De la lista de la pagina web en Debian 12 no hay los paquetes:

libstorable-perl libpod-usage-perl

pero con los que instalé funciona


Paso 2: Instalar módulos Perl requeridos

Instala los módulos Perl críticos (incluyendo Wx para la GUI):

sudo cpanm Wx Wx::Perl::Packager Data::Printer File::LoadLines HarfBuzz::Shaper \
           JavaScript::QuickJS LWP::Protocol::https Mozilla::CA Pod::Usage \
           Scalar::Util String::Interpolate::Named Text::Layout \
           File::HomeDir Image::Info

Paso 4: Para Debian 12 de 32 bit tuve que hacer estos pasos:

Instalar manualmente JavaScript::QuickJS

En Debian 12 no está disponible el paquete libjavascript-quickjs-perl pero se lo puede instalar manualmente

Si desean hagan lo siguiente dentro de una carpeta para este propósito:

wget http://www.cpan.org/authors/id/F/FE/FELIPE/JavaScript-QuickJS-0.21.tar.gz
tar -xzvf JavaScript-QuickJS-0.21.tar.gz

este paquete “JavaScript-QuickJS-x.xx.tar.gz” si desean lo pueden subir a virustotal.com debido a los ultimos ataques sabidos “Internet Estaba A Semanas Del Desastre y Nadie Lo Sabía”, “¡GITHUB HACKEADO!” (lo revisé, está limpio)

luego entro en la versión que descargué:

cd JavaScript-QuickJS-0.21

Nota: Cambiar la ruta en caso de usar otra versión.

Configurar y compilar manualmente

perl Makefile.PL

si sale el siguiente mensaje no es un error:

Checking if your kit is complete...
Looks good
Warning: prerequisite Test::Deep 0 not found.
Warning: prerequisite Test::FailWarnings 0 not found.
Warning: prerequisite Test::Fatal 0 not found.
Generating a Unix-style Makefile
Writing Makefile for JavaScript::QuickJS
Writing MYMETA.yml and MYMETA.json

sino advertencias sobre dependencias opcionales de pruebas (Test::Deep, Test::FailWarnings, Test::Fatal). El proceso de configuración (Makefile.PL) se completó correctamente y generó los archivos necesarios para la compilación, continuar nomás

make && sudo make install

Verificar que los módulos estén instalados, pon en la terminal:

perl -MJavaScript::QuickJS -e 'print "Módulo instalado\n"'

si se instaló, dirá:

Módulo instalado

cierre esta instancia de la terminal


Instalar manualmente libquickjs-dev desde código fuente

En Debian 12 libquickjs-dev no está disponible , instalarlo desde código fuente:

pero si antes deseas revisarlo, entra en:

https://github.com/bellard/quickjs

y descarga el código fuente en el botón verde:

<>Code

y subelo a https://www.virustotal.com/

luego si poner (ponga esto en una carpeta para este fin):

# Instalar QuickJS desde el repositorio oficial
git clone https://github.com/bellard/quickjs.git
cd quickjs
make && sudo make install

y quedará instalado (cierre esta instancia de la terminal)


Paso 5: Descargar y compilar ChordPro

1.- Descarga la versión del código fuente desde GitHub de “App-Music-ChordPro-6.070.7.tar.gz” (en una carpeta para tal propósito):

https://github.com/ChordPro/chordpro/releases/R6.101.0/

descargue el paquete en una carpeta para tal propósito :

App-Music-ChordPro-6.101.0.tar.gz

Súbalo a virustotal

2.- Entrar en la carpeta descomprimida desde una terminal

3.- Genera el Makefile y compila:

perl Makefile.PL
make

4.- Instala en el sistema:

sudo make install

y quedaron instalados:

chordpro
wxchordpro

dos programas


Paso 6: Verificar la instalación

Para la versión CLI (línea de comandos):

chordpro --version

Debe mostrar:

chordpro --version
Non-constant field initialiser expression is experimental and may be changed or removed without notice at /usr/local/share/perl/5.36.0/ChordPro/Chords/Transpose.pm line 19.
This is ChordPro core 6.101.0

Para la ayuda:

chordpro --help

y allí ver con qué comandos de terminal usarlo

Para la GUI (Interfaz Gráfica de Usuario):

wxchordpro

¡La interfaz gráfica debería abrirse correctamente!

en Help y About Chordpro puedes ver la versión del programa


Paso 7: Acceso directo (opcional)

Si quieres un lanzador en el menú de aplicaciones, para este proceso te recomiendo Gedit, sino lo tienes instálalo:

1.- Crea un archivo .desktop:

sudo gedit /usr/share/applications/wxchordpro.desktop

2.- Pega este contenido:

[Desktop Entry]
Name=wxChordPro
Comment=ChordPro GUI Editor
Exec=wxchordpro
Icon=music
Terminal=false
Type=Application
Categories=Audio;Music;

guarda y cierra

3.- Actualiza el menú, opcional, pues lo mas seguro es que ya está allí:

sudo update-desktop-database


Características Principales de ChordPro:

  1. Simplicidad y Claridad: El formato ChordPro coloca los acordes directamente sobre las letras de la canción, lo que facilita ver cuándo se deben tocar los acordes específicos mientras se canta o se toca.

  2. Uso de Etiquetas y Comandos: ChordPro utiliza etiquetas específicas para marcar diferentes partes de la canción, como títulos, secciones de coro, y otros elementos estructurales. Algunas etiquetas comunes incluyen:

    • {title: Título de la Canción}
    • {artist: Nombre del Artista}
    • {chorus} para marcar el inicio de un coro y {end_of_chorus} para marcar el final.
  3. Acordes en Corchetes: Los acordes se escriben entre corchetes y se colocan en la línea de la letra de la canción donde deben tocarse. Por ejemplo:

    [G] Despiértame cuan[A]do pase el temblor
  4. Compatibilidad y Conversión: Existen muchos programas y aplicaciones que soportan el formato ChordPro, lo que facilita la conversión entre diferentes formatos de canciones y la impresión de hojas de acordes bien formateadas.

Ejemplo de una Canción en Formato ChordPro:

{title: Despiértame Cuan}
{artist: Soda Stereo}

[G] Despiértame cuan[D]do pase el temblor
[G] Despiértame cuan[D]do pase el temblor

[C]Cierro los ojos
[F]No me atrevo a dormir
[C]Me duelen las manos
[F]De tanto escribir

Beneficios de Usar ChordPro:

  • Estandarización: Permite a los músicos compartir y leer canciones de una manera uniforme y consistente.
  • Facilidad de Uso: Los acordes colocados directamente sobre las letras hacen que sea fácil para los músicos seguir la estructura de la canción.
  • Soporte Tecnológico: Muchos editores y aplicaciones musicales pueden procesar y mostrar archivos ChordPro, ofreciendo funciones adicionales como transposición de acordes, generación de diagramas de acordes y más.

En resumen, ChordPro es una herramienta poderosa y sencilla para la notación de canciones, ideal tanto para principiantes como para músicos experimentados.


Ejemplo de uso de ChordPro desde la línea de comandos para convertir un PDF en formato ChordPro de unos acordes de guitarra

Por cierto, en los archivos a convertir no deben haber corchetes “[ ]” o paréntesis llave “{ }” porque no se podrán convertir, debido a que ChrodPro usa estos símbolos

Ejemplo 1: Transportar tono y convertir de .txt a .pdf

Tengo una alabanza en un archivo txt que contiene la letra y los acordes en C y quiero transponerla a D (subir un tono o dos semitonos)

El archivo contiene lo siguiente:

Canta al Señor
Vertical

Poner el Capotraste en la 1ra

INTRO x3
Am  G  F

VERSO
C         G         Am       G    F
Mi Cristo, mi Rey, nadie es como tu
         C       F        G
Toda mi vida, quiero exaltar,
     Am         A#      G
las maravillas de tu amor
C          G
 Consuelo, refugio,
 Am        G         F
torre de fuerza y poder
         C    F      G
Todo mi ser, lo que soy,
 Am         A#    G
nunca cese de adorar

CORO I
 C          Am       F         G
Cante al Señor toda la creación
 C         Am        F            G
Honra y poder, majestad sea al Rey
Am      G         F
Incomparables promesas me das
   Am  G  F  Am  G  F
Señor

VERSO
C   G Am G  F
C F G Am A# G
C   G Am G  F
C F G Am A# G

CORO I y II
 C          Am       F          G
Cante al Señor toda la creación
C         Am         F             G
Honra y poder, majestad sea al Rey
 Am        G        F
Montes caerán y el mar rugirá,
      G   Am    G
Al sonar de tu nombre
 C         Am        F            G
Canto con gozo al mirar tu poder
     C          Am    F        G
Por siempre yo te amaré y diré
Am    G           F              Am G F
Incomparables promesas me das Señor
                   Am  G  F
       son incomparables
                   Am  G  F
       son incomparables
         C    F      G
Todo mi ser, lo que soy,
 Am           A#  G  Am G F  Am G F
nunca cese de adorar

CORO I y II
 C          Am       F          G
Cante al Señor toda la creación
 C         Am        F             G
Honra y poder, majestad sea al Rey
 Am        G        F
Montes caerán y el mar rugirá,

 C          Am       F          G
Cante al Señor toda la creación
 C         Am        F             G
Honra y poder, majestad sea al Rey
 Am        G        F
Montes caerán y el mar rugirá,
      G   Am    G
Al sonar de tu nombre
 C         Am        F           G
Canto con gozo al mirar tu poder
     C          Am    F        G
Por siempre yo te amaré y diré

FINAL n
C       F         G
Incomparables promesas me das
Am      G         F
Incomparables promesas me das
Am      G         F
Incomparables promesas me das, etc

En la terminal, ejecuto (estando en una terminal ubicada donde está el archivo):

chordpro --transpose=2 'nombre-de-tu-archivo.txt'

Esto creará un archivo PDF:

‘nombre-de-tu-archivo.pdf’

transportado más dos semitonos

PDF Generado

El programa añade los acordes en gráfico:
Acordes añadidos


Ejemplo 2: Convertir .txt a .pdf sin transportar

Para convertir un archivo de texto a PDF sin transponer los acordes:

chordpro "nombrede tu archivo.txt"

Para ver todos los comandos disponibles:

chordpro --help

de la ayuda.


Ejemplo 3: Transportar archivo .txt a .txt mismo

Deseo bajarle el tono a una canción que tiene su letra y acordes en un archivo de texto .txt y quiero que el proceso me dé como resultado un archivo de texto mismo.

Solución:
Tengo el archivo:
Para ti Oh Señor (Dm).txt

Archivo original

En la terminal, ejecuto:

chordpro --transpose=-2 'nombre de tu archivo.txt' -o "nombre de tu archivo_transportado.txt"

Esto crea el archivo:

“nombre-de-tu-archivo_transportado.txt”


Ejemplo 4: Convertir un .txt al formato ChordPro

Desde la terminal usando la opción:

--convert

Ejemplo:

chordpro --convert "mi cancion.txt"

Eso generará automáticamente:

mi cancion.cho

o también puede generar .chopro dependiendo del nombre/configuración.

Si quieres especificar el archivo de salida:

chordpro --convert "mi cancion.txt" -o "mi mejor cancion.chopro"

Por ejemplo, si tienes esto:

G           D
Santo, santo, santo

C           G
Dios poderoso

ChordPro lo convertirá automáticamente a:

[G]Santo, santo, [D]santo

[C]Dios po[G]deroso

Y luego ya puedes renderizarlo a PDF:

chordpro cancion.cho

o abrirlo en la GUI:

wxchordpro

y se lanzará


Quién usa ChordPro, Ejemplo

songselect.ccli.com

El siguiente servicio lo usa:
SongSelect

SongSelect

Ejemplo de canción:
Amazing Grace

El archivo descargado es un .txt:
Amazing Grace ChordPro.txt

Para transformarlo a PDF, ejecute wxchordpro y busque el archivo. Seleccione “All files”:
Ventana wxchordpro

Haga clic en “Task - Default preview” y se abrirá con un visor de PDF. Guarde el archivo con un nombre.

Si desea el PDF generado:
Amazing Grace PDF

Puede convertirlo a Word con:
ILovePDF

Conversión a Word

Cancionero de acordes gratuito en texto .txt

Tengo un cancionero de alabanzas que he estado haciendo:
Wachin Cancionero

Cancionero

Dentro de la carpeta:

/Acordes63x110mm

https://github.com/wachin/Cancionero/tree/main/Acordes63x110mm

También están en .docx y PDF. En la carpeta Fonts están las fuentes usadas para los documentos .docx.


Programas que usan ChordPro

ChordSmith lo acepta:
Descargar y usar ChordSmith en Linux

ChordSmith

Songbook Pro

Songbook Pro
Traducción al español:
Songbook Pro en español

Descargas disponibles para:
Android, IOS, Windows 10, 11, Fire

La versión de Android admite gratis 12 canciones. Permite transponer los tonos.


Worship Tools

Worship Tools
Traducción al español:
Worship Tools en español


Gig Performer

Gig Performer
Traducción:
Gig Performer en español
Sitio oficial


Onsong

Onsong
Traducción:
Onsong en español
Solo para Apple.


Cómo construir el deb

Necesitamos tener instalado:

sudo apt install dh-make-perl libtest-more-utf8-perl libtemplate-perl libjson-relaxed-perl

Debian 12 trae versiones antiguas en sus repositorios, así que necesitas actualizarlas desde CPAN.

Instálalos así:

sudo cpanm PDF::API2
sudo cpanm Object::Pad
sudo cpanm JSON::Relaxed::Parser

luego tener una carpeta creada para que se cree allí dentro el deb, no es necesario estar en ninguna carpeta específica pues se descargará todo lo necesario, luego allí poner:

dh-make-perl --build --cpan App::Music::ChordPro

y si es que pide, escribir:

yes

y luego:

sudo

y se creará el archivo .deb

deb creado pero no avanza la terminal

Después de un rato se ha creado el deb:

libapp-music-chordpro-perl_6.101.0-1_all.deb

pero se ha quedado sin avanzar la terminal en:

Installing /home/wachin/AppsLinux/Chordpro/chordpro-deb/App-Music-ChordPro-6.101.0/debian/libapp-music-chordpro-perl/usr/bin/ttc
Installing /home/wachin/AppsLinux/Chordpro/chordpro-deb/App-Music-ChordPro-6.101.0/debian/libapp-music-chordpro-perl/usr/bin/chordpro
make[1]: se sale del directorio '/home/wachin/AppsLinux/Chordpro/chordpro-deb/App-Music-ChordPro-6.101.0'
   dh_installdocs
   dh_installchangelogs
   dh_installexamples
   dh_installman
   dh_perl
   dh_link
   dh_strip_nondeterminism
   dh_compress
   dh_fixperms
   dh_missing
   dh_installdeb
   dh_gencontrol
   dh_md5sums
   dh_builddeb
dpkg-deb: construyendo el paquete `libapp-music-chordpro-perl' en `../libapp-music-chordpro-perl_6.101.0-1_all.deb'.
make: se sale del directorio '/home/wachin/AppsLinux/Chordpro/chordpro-deb/App-Music-ChordPro-6.101.0'
--- Done
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado... Hecho
*** Notice ***
Some of the modules in the newly created package are already present
in other packages.

  PDF::API2 is in 'libpdf-api2-perl' (APT)

No está colgada por un error grave. Ese mensaje es un aviso de dh-make-perl.

Te está diciendo que el paquete que acabas de crear contiene módulos que también existen en otros paquetes de Debian, por ejemplo:

PDF::API2 is in 'libpdf-api2-perl' (APT)

Como ya creó el .deb, puedes detener con:

Ctrl + C

Luego verifica:

cd ~/AppsLinux/Chordpro/chordpro-deb
ls -lh *.deb

Para instalarlo:

sudo apt install ./libapp-music-chordpro-perl_6.101.0-1_all.deb

Y probar:

chordpro --version
wxchordpro

Ese aviso es normal porque ChordPro trae/usa módulos Perl y algunos ya existen en el sistema.


📌 Notas adicionales

Actualizaciones: Para actualizar, repite los pasos 5 y 6 con la nueva versión.
Documentación:

Consulta la ayuda en la interfaz en:

Help > ChordPro File Format

Consulta la ayuda integrada (opcional desde la terminal):

chordpro --manual

Dios les bendiga

Comentarios