#!/bin/bash # Variables DEMUCSEXEC="/home/zatalyz/Documents/demucs.cpp/build/demucs_mt.cpp.main" MODEL="/home/zatalyz/Documents/demucs.cpp/build/models.cpp/ggml-model-htdemucs-4s-f16.bin" # Vérification du fichier d'entrée if [ $# -ne 1 ]; then echo "Usage : $0 chemin/vers/fichier.mp3" exit 1 fi INPUT="$1" if [ ! -f "$INPUT" ]; then echo "Erreur : fichier introuvable." exit 1 fi # Création du dossier de sortie BASENAME=$(basename "$INPUT") NAME="${BASENAME%.*}" INPUTDIR=$(dirname "$INPUT") OUTDIR="${INPUTDIR}/${NAME}_stem" mkdir -p "$OUTDIR" # Conversion en wav 44.1 kHz si nécessaire WAVFILE="${OUTDIR}/${NAME}_44100.wav" echo "Conversion de l'entrée en WAV 44.1kHz..." ffmpeg -i "$INPUT" -ar 44100 -ac 2 -acodec pcm_s16le "$WAVFILE" # Appel de demucs echo "Séparation avec Demucs..." "$DEMUCSEXEC" "$MODEL" "$WAVFILE" "$OUTDIR" 8 echo "Séparation terminée. Résultats dans : $OUTDIR"