Herramientas Informaticas

Etiqueta: Recuperacion de Datos

🎵 Cómo organizar tu música en Linux y crear tu propio Spotify con Picard y Navidrome

Entrada fija

¿Tienes cientos o miles de canciones desordenadas en carpetas? 😵‍💫🎶
¿Archivos con nombres como Track01.mp3, Audio_023.flac o canciones sin portada ni información?

En Linux podemos solucionar este problema de una forma sencilla utilizando MusicBrainz Picard para identificar y organizar nuestra música y Navidrome para crear nuestro propio servidor de música. 🐧🎧

El resultado: una biblioteca musical ordenada y accesible desde la computadora, celular o navegador. 📱💻

🎼 1. Organiza tu música con MusicBrainz Picard

El primer paso es tener correctamente identificadas nuestras canciones.

Para esto podemos utilizar MusicBrainz Picard, una herramienta gratuita que utiliza la base de datos de MusicBrainz para reconocer nuestros archivos y completar automáticamente sus metadatos.

Con Picard podemos obtener información como:

  • 🎤 Artista
  • 💿 Álbum
  • 🎵 Nombre de la canción
  • 📅 Año
  • 🎼 Género
  • 🔢 Número de pista
  • 🖼️ Portada del álbum
  • 💽 Información del disco

Esto es especialmente útil cuando tenemos una colección antigua de MP3, FLAC u otros formatos y queremos convertirla en una biblioteca musical bien organizada.

📂 Una estructura ordenada

Por ejemplo, podemos terminar con una estructura similar a:

Música/
├── Pink Floyd/
│   └── The Dark Side of the Moon/
│       ├── 01 - Speak to Me.flac
│       ├── 02 - Breathe.flac
│       └── 03 - On the Run.flac
│
├── Queen/
│   └── A Night at the Opera/
│       ├── 01 - Death on Two Legs.flac
│       └── 02 - Lazing on a Sunday Afternoon.flac
│
└── Metallica/
    └── Black Album/
        ├── 01 - Enter Sandman.flac
        └── 02 - Sad but True.flac

🎯 La ventaja es que posteriormente aplicaciones como Navidrome pueden utilizar estos metadatos para mostrar correctamente artistas, álbumes, géneros y canciones.


🏷️ 2. Picard: etiquetas y organización automática

Una vez que agregamos nuestra música a MusicBrainz Picard, el programa analiza las canciones y busca coincidencias en la base de datos.

Podemos revisar la información encontrada y después guardar los cambios. 💾

Así evitamos tener que editar manualmente cientos de canciones.

✅ El flujo sería:

🎵 Música desordenada
⬇️
🔎 MusicBrainz Picard
⬇️
🏷️ Etiquetas correctas
⬇️
📂 Archivos organizados
⬇️
🎧 Navidrome
⬇️
📱 Escuchar nuestra música desde cualquier dispositivo


🎧 3. Instala Navidrome y crea tu propio servidor de música

Una vez que nuestra biblioteca está organizada, podemos utilizar Navidrome.

Navidrome es un servidor de música que nos permite acceder a nuestra colección desde diferentes dispositivos mediante una interfaz web y clientes compatibles.

En lugar de depender exclusivamente de una plataforma de streaming, podemos tener nuestra propia biblioteca almacenada en nuestro servidor. 🖥️🎶

Por ejemplo:

Servidor Linux
      │
      ├── 🎵 Música
      │
      └── 🎧 Navidrome
             │
       ┌─────┼─────┐
       ↓     ↓     ↓
     📱      💻     🌐
   Celular   PC    Navegador

Esto resulta especialmente interesante si ya tienes una gran colección de música comprada, descargada legalmente o digitalizada desde tus propios discos.


🟢 4. ¿Navidrome puede ser una alternativa a Spotify?

Sí, pero son conceptos diferentes. 😉

Spotify es un servicio de streaming con un enorme catálogo disponible mediante su plataforma.

Navidrome, en cambio, está pensado para reproducir tu propia colección de música desde tu servidor.

🟢 Con Navidrome tienes:

✅ Tu propia biblioteca musical
✅ Control sobre tus archivos
✅ Organización mediante metadatos
✅ Acceso desde navegador
✅ Acceso desde dispositivos móviles mediante clientes compatibles
✅ Soporte para diferentes formatos de audio
✅ Sin depender de un catálogo externo para tu música
✅ Posibilidad de alojarlo en tu propio servidor Linux

🔵 Con Spotify tienes:

🎵 Un enorme catálogo de música
🔎 Búsqueda de artistas y canciones
📻 Recomendaciones y playlists
🌐 Servicio administrado por Spotify
📱 Aplicaciones oficiales para diferentes dispositivos

Por eso, Navidrome no busca reemplazar completamente a Spotify, sino ofrecer una alternativa para quienes quieren tener su propia biblioteca musical bajo su control.


🔥 5. ¿Por qué utilizar Picard + Navidrome?

La combinación es muy interesante:

🏷️ MusicBrainz Picard

Se encarga de identificar, etiquetar y organizar nuestra música.

🎧 Navidrome

Se encarga de servir y reproducir esa biblioteca desde nuestro servidor.

Es decir:

Picard organiza tu música. Navidrome te permite disfrutarla. 🎶

Y todo esto puede funcionar perfectamente dentro de un servidor Linux. 🐧


💻 6. Una biblioteca musical completamente organizada

Después de realizar todo el proceso podemos tener algo parecido a:

/home/usuario/Música/
│
├── Artista 1/
│   ├── Álbum 1/
│   └── Álbum 2/
│
├── Artista 2/
│   ├── Álbum 1/
│   └── Álbum 2/
│
└── Artista 3/
    └── Álbum 1/

Navidrome leerá la información de los archivos y podremos navegar por:

🎤 Artistas
💿 Álbumes
🎵 Canciones
🎼 Géneros
⭐ Favoritos
📋 Listas de reproducción


📱 7. Escucha tu música desde el celular

Una de las partes más interesantes de tener Navidrome es poder acceder a nuestra biblioteca desde otros dispositivos.

Por ejemplo:

🖥️ PC → Navidrome
📱 Celular → Cliente compatible
💻 Laptop → Navegador
🌐 Otros dispositivos → Acceso al servidor

Así podemos convertir una computadora o servidor Linux en nuestro centro personal de música. 🎶🐧


🔐 8. Tu música bajo tu control

Una de las principales ventajas de este enfoque es que tú decides dónde almacenar tu biblioteca y cómo administrarla.

Puedes utilizar:

💽 Disco duro
🖥️ PC vieja
🗄️ Servidor casero
☁️ Servidor remoto

Y si configuras correctamente el acceso remoto y la seguridad, también puedes acceder a tu biblioteca cuando estés fuera de casa. 🌎📱


🚀 Conclusión

Si tienes una colección grande de música y quieres dejar atrás el caos de carpetas y archivos mal nombrados, MusicBrainz Picard + Navidrome es una excelente combinación para Linux. 🐧🎵

Picard se encarga de identificar y organizar tus canciones.

Navidrome convierte esa biblioteca en tu propio servicio de música.

Y aunque no reemplaza directamente el enorme catálogo de Spotify, sí puede ser una excelente alternativa para quienes quieren disfrutar de su propia colección musical desde cualquier dispositivo.

🎵 Tu música.
📂 Tu biblioteca.
🖥️ Tu servidor.
🔐 Tu control.

#Linux #Navidrome #MusicBrainzPicard #Picard #Spotify #Musica #LinuxMint #ServidorLinux #SelfHosting #MusicaDigital #FLAC #MP3 #BibliotecaMusical #OpenSource #LinuxServer

📸 Cómo organizar fotos recuperadas con PhotoRec por año y mes en Linux

Entrada fija

¿Recuperaste miles de fotografías con PhotoRec y ahora tienes cientos de carpetas recup_dir.* llenas de archivos con nombres como f123456789.jpg? 😵‍💫

No necesitas organizarlas manualmente. En este tutorial vamos a utilizar ExifTool + Bash para leer automáticamente la fecha de las fotografías y organizarlas en carpetas por año y mes. 📅📸

🔎 ¿Qué hace este script?

El script analiza automáticamente las carpetas recuperadas por PhotoRec y realiza las siguientes tareas:

  • 📸 Busca fotografías recuperadas.
  • 🎥 Busca videos recuperados.
  • 📅 Lee la fecha original almacenada en los metadatos EXIF.
  • 🔎 Si no encuentra DateTimeOriginal, intenta utilizar CreateDate.
  • 📁 Crea automáticamente carpetas por año y mes.
  • ❓ Envía las fotografías sin fecha a SinFecha.
  • ❓ Envía los videos sin fecha a SinFecha.
  • 🔄 Evita sobrescribir archivos que tengan el mismo nombre.
  • 📝 Guarda un registro de todos los archivos movidos.
  • 🧹 Elimina las carpetas de recuperación que quedan vacías.

📂 Antes de organizar

Después de utilizar PhotoRec normalmente tendremos una estructura parecida a esta:

recup_dir.1/
recup_dir.2/
recup_dir.3/
recup_dir.4/
recup_dir.5/
...

Dentro de estas carpetas PhotoRec puede haber recuperado miles de archivos con nombres genéricos.

✨ Resultado final

Después de ejecutar el script, la información quedará organizada de esta manera:

Organizado/
├── Fotos/
│   ├── 2010/
│   │   ├── 01/
│   │   ├── 02/
│   │   └── 12/
│   ├── 2011/
│   ├── 2012/
│   ├── 2020/
│   └── SinFecha/
│
└── Videos/
    ├── 2010/
    │   ├── 01/
    │   └── 08/
    ├── 2011/
    └── SinFecha/

📸 Ejemplo

Supongamos que PhotoRec recuperó una fotografía con el nombre:

recup_dir.502/f268968512.jpg

Si ExifTool encuentra que la fotografía fue tomada en julio de 2018, el archivo será movido automáticamente a:

Organizado/Fotos/2018/07/f268968512.jpg

De esta forma podemos transformar una recuperación desordenada en una biblioteca mucho más fácil de administrar. 🚀

🛠️ Instalar ExifTool

En Linux Mint, Ubuntu y otras distribuciones basadas en Debian podemos instalar ExifTool con:

sudo apt update
sudo apt install exiftool

Podemos comprobar que está instalado con:

exiftool -ver

💻 Crear el script

Primero debemos entrar en la carpeta donde tenemos las carpetas recup_dir.*.

nano organizar_recuperados.sh

Después pegamos el siguiente código:

#!/bin/bash

DEST="$(pwd)/Organizado"
LOG="$(pwd)/organizar.log"

mkdir -p "$DEST/Fotos/SinFecha"
mkdir -p "$DEST/Videos/SinFecha"

echo "==================================" > "$LOG"
echo " ORGANIZACIÓN DE ARCHIVOS" >> "$LOG"
echo " Inicio: $(date)" >> "$LOG"
echo "==================================" >> "$LOG"

mover() {
    local origen="$1"
    local carpeta="$2"

    mkdir -p "$carpeta"

    local nombre
    nombre=$(basename "$origen")

    local base="${nombre%.*}"
    local ext="${nombre##*.}"

    if [[ "$base" == "$ext" ]]; then
        ext=""
    else
        ext=".$ext"
    fi

    local destino="$carpeta/$nombre"
    local i=1

    while [[ -e "$destino" ]]; do
        destino="$carpeta/${base}_$i$ext"
        ((i++))
    done

    mv "$origen" "$destino"

    echo "$origen -> $destino" >> "$LOG"
}

##################################
# FOTOS
##################################

echo
echo "=================================="
echo "        ORGANIZANDO FOTOS"
echo "=================================="
echo

echo "Contando fotos..."

TOTAL=$(find recup_dir.* -type f \( \
    -iname "*.jpg" -o \
    -iname "*.jpeg" -o \
    -iname "*.png" -o \
    -iname "*.bmp" -o \
    -iname "*.gif" -o \
    -iname "*.webp" -o \
    -iname "*.heic" -o \
    -iname "*.tif" -o \
    -iname "*.tiff" \
\) | wc -l)

echo "Fotos encontradas: $TOTAL"

N=0

find recup_dir.* -type f \( \
    -iname "*.jpg" -o \
    -iname "*.jpeg" -o \
    -iname "*.png" -o \
    -iname "*.bmp" -o \
    -iname "*.gif" -o \
    -iname "*.webp" -o \
    -iname "*.heic" -o \
    -iname "*.tif" -o \
    -iname "*.tiff" \
\) -print0 |

while IFS= read -r -d '' f
do

    ((N++))

    printf "\rFotos: %d / %d" "$N" "$TOTAL"

    fecha=$(exiftool -m -s3 -DateTimeOriginal "$f" 2>/dev/null)

    if [[ -z "$fecha" || "$fecha" == "0000:00:00 00:00:00" ]]; then
        fecha=$(exiftool -m -s3 -CreateDate "$f" 2>/dev/null)
    fi

    if [[ -n "$fecha" && "$fecha" != "0000:00:00 00:00:00" ]]; then

        año="${fecha:0:4}"
        mes="${fecha:5:2}"

        mover "$f" "$DEST/Fotos/$año/$mes"

    else

        mover "$f" "$DEST/Fotos/SinFecha"

    fi

done

echo
echo

##################################
# VIDEOS
##################################

echo "=================================="
echo "        ORGANIZANDO VIDEOS"
echo "=================================="
echo

echo "Contando videos..."

TOTAL=$(find recup_dir.* -type f \( \
    -iname "*.mp4" -o \
    -iname "*.mov" -o \
    -iname "*.3gp" -o \
    -iname "*.avi" -o \
    -iname "*.mkv" -o \
    -iname "*.mts" -o \
    -iname "*.m2ts" -o \
    -iname "*.wmv" -o \
    -iname "*.asf" -o \
    -iname "*.mpeg" -o \
    -iname "*.mpg" -o \
    -iname "*.vob" -o \
    -iname "*.webm" -o \
    -iname "*.flv" -o \
    -iname "*.m4v" \
\) | wc -l)

echo "Videos encontrados: $TOTAL"

N=0

find recup_dir.* -type f \( \
    -iname "*.mp4" -o \
    -iname "*.mov" -o \
    -iname "*.3gp" -o \
    -iname "*.avi" -o \
    -iname "*.mkv" -o \
    -iname "*.mts" -o \
    -iname "*.m2ts" -o \
    -iname "*.wmv" -o \
    -iname "*.asf" -o \
    -iname "*.mpeg" -o \
    -iname "*.mpg" -o \
    -iname "*.vob" -o \
    -iname "*.webm" -o \
    -iname "*.flv" -o \
    -iname "*.m4v" \
\) -print0 |

while IFS= read -r -d '' f
do

    ((N++))

    printf "\rVideos: %d / %d" "$N" "$TOTAL"

    fecha=$(exiftool -m -s3 -MediaCreateDate "$f" 2>/dev/null)

    if [[ -z "$fecha" || "$fecha" == "0000:00:00 00:00:00" ]]; then
        fecha=$(exiftool -m -s3 -CreateDate "$f" 2>/dev/null)
    fi

    if [[ -n "$fecha" && "$fecha" != "0000:00:00 00:00:00" ]]; then

        año="${fecha:0:4}"
        mes="${fecha:5:2}"

        mover "$f" "$DEST/Videos/$año/$mes"

    else

        mover "$f" "$DEST/Videos/SinFecha"

    fi

done

echo
echo

##################################
# LIMPIEZA
##################################

echo "Eliminando carpetas de recuperación vacías..."

find recup_dir.* -type d -empty -delete

echo
echo "=================================="
echo "          FINALIZADO"
echo "=================================="
echo

echo "Fotos y videos organizados en:"
echo "$DEST"

echo
echo "Registro:"
echo "$LOG"

echo
echo "Fin: $(date)" >> "$LOG"

▶️ Dar permisos y ejecutar

Una vez guardado el archivo, le damos permisos de ejecución:

chmod +x organizar_recuperados.sh

Y lo ejecutamos:

./organizar_recuperados.sh

El programa mostrará el progreso mientras analiza las fotografías y videos recuperados.

📝 Registro de archivos

El script crea un archivo llamado:

organizar.log

Este archivo contiene información de los archivos que fueron movidos y su ubicación final. Es muy útil para comprobar qué hizo el script.

⚠️ ¿Qué pasa con las fotos que no tienen fecha?

No todas las fotografías recuperadas por PhotoRec conservan sus metadatos EXIF. Esto puede ocurrir especialmente cuando el archivo fue recuperado parcialmente o cuando los metadatos ya habían sido eliminados.

Cuando no se encuentra una fecha válida, la fotografía se coloca en:

Organizado/Fotos/SinFecha/

Lo mismo ocurre con los videos:

Organizado/Videos/SinFecha/

💡 Consejo importante antes de recuperar archivos

Si estás recuperando información importante con PhotoRec, evita trabajar directamente sobre el disco donde se encuentran los archivos eliminados. Lo ideal es recuperar los archivos hacia otro disco para evitar sobrescribir información que todavía podría recuperarse. 💾

🚀 ¿Qué podemos hacer después?

Una vez que las fotografías estén organizadas por fecha, podemos utilizar herramientas como Digikam para administrar grandes colecciones de fotografías y Czkawka para localizar archivos duplicados.

Para música recuperada, una estrategia similar consiste en utilizar MusicBrainz Picard para identificar canciones y corregir sus metadatos, y posteriormente utilizar Navidrome para convertir la colección en una biblioteca musical accesible desde el navegador o el teléfono. 🎵📱

🏁 Conclusión

Con unas cuantas herramientas gratuitas y de código abierto podemos transformar una recuperación desordenada de PhotoRec en una biblioteca organizada automáticamente.

PhotoRec → ExifTool → Organización por fecha → Czkawka/DigiKam → Biblioteca organizada 📸💾🐧

Este método resulta especialmente útil cuando se han recuperado miles de fotografías y videos y queremos volver a construir nuestra colección personal de forma rápida y ordenada. 🚀

Creado con WordPress & Tema de Anders Norén