Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| pratique:creatool:audio:stemspleet [31/05/2025 11:18] – Zatalyz | pratique:creatool:audio:stemspleet [16/06/2025 08:34] (Version actuelle) – [Raccourci via script bash] Zatalyz | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| ===== Demucs ===== | ===== Demucs ===== | ||
| - | * https:// | + | * https:// |
| - | https:// | ||
| Pour l' | Pour l' | ||
| - | Pour résumer, on clone le dépôt comme c'est dit, on compile (et si on a Arch en théorie on a depuis longtemps installé tout ce qu'il faut pour), on télécharge les modèles (ils ne sont pas lourds), puis on sépare les pistes. Je compile en sollicitant moins le cpu de mon côté, je n'ai pas un foudre de guerre. | + | Pour résumer, on clone le dépôt comme c'est dit, on compile (et si on a Arch en théorie on a depuis longtemps installé tout ce qu'il faut pour), on télécharge les modèles (ils ne sont pas lourds), puis on sépare les pistes. |
| + | |||
| + | <WRAP center round tip 90%> | ||
| + | Je compile en sollicitant moins le cpu de mon côté, je n'ai pas un foudre de guerre. | ||
| + | </ | ||
| + | |||
| <code bash> | <code bash> | ||
| Ligne 17: | Ligne 21: | ||
| </ | </ | ||
| - | La commande : lien vers le soft, lien vers le modèle, liens vers la zik, lien vers le dossier où envoyer l' | + | La commande : lien vers le soft, lien vers le modèle, liens vers la zik, lien vers le dossier où envoyer l' |
| - | < | + | < |
| + | |||
| + | À noter que si la version de base demande qu'on lui indique le chemin complet vers le modèle, la version ft attent le dossier où sont les modèles. | ||
| + | |||
| + | ==== Bon format en entrée ==== | ||
| Si on n'a pas un wav échantilloné à 44100 Hz, ça râle. Hop, un coup de ffmpeg : | Si on n'a pas un wav échantilloné à 44100 Hz, ça râle. Hop, un coup de ffmpeg : | ||
| ffmpeg -i musik.mp3 -ar 44100 -ac 2 -acodec pcm_s16le sortie.wav | ffmpeg -i musik.mp3 -ar 44100 -ac 2 -acodec pcm_s16le sortie.wav | ||
| + | |||
| + | ==== Choix du modèle ==== | ||
| + | De base, sans autre précision, les modèles séparent en 4 pistes (basse, batterie, voix, autres). " | ||
| + | |||
| + | * ggml-model-hdemucs_mmi-v3-f16.bin : le plus rapide | ||
| + | * ggml-model-htdemucs-4s-f16.bin : devrait être plus précis que le précédent mais plus lent | ||
| + | * ggml-model-htdemucs-6s-f16.bin : sépare en 6 pistes (basse, batterie, guitare, piano, voix, autres), forcément encore plus lent. | ||
| + | * ggml-model-htdemucs_ft* : version affinée, la séparation prendra 4 fois plus de temps mais pourrait être un peu meilleure. | ||
| + | |||
| + | ==== Et choix du binaire ==== | ||
| + | Lors de la compilation, | ||
| + | |||
| + | * demucs.cpp.main : version de base, mono-thread | ||
| + | * demucs_mt.cpp.main : Multi-threaded | ||
| + | * demucs_v3.cpp.main : Version optimisée pour le modèle hdemucs_mmi-v3, | ||
| + | * demucs_v3_mt.cpp.main : idem en multi-threaded | ||
| + | * demucs.cpp.test : Implémentation du pipeline de fine-tuning d’un stem | ||
| + | * demucs_ft.cpp.main : idem en multi-threaded | ||
| + | |||
| + | ==== Raccourci via script bash ==== | ||
| + | Je me suis fait un alias dans mes raccourcis, il suffit ensuite de rentrer '' | ||
| + | - Ça crée un dossier (dans celui où est le mp3) | ||
| + | - Ça me convertisse dans le bon format de wav | ||
| + | - Ça transforme ça avec demuc, en n' | ||
| + | |||
| + | <code bash demuc.sh> | ||
| + | #!/bin/bash | ||
| + | # Variables | ||
| + | DEMUCSEXEC="/ | ||
| + | MODEL="/ | ||
| + | |||
| + | # Vérification du fichier d' | ||
| + | if [ $# -ne 1 ]; then | ||
| + | echo "Usage : $0 chemin/ | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | INPUT=" | ||
| + | |||
| + | if [ ! -f " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | # Création du dossier de sortie | ||
| + | BASENAME=$(basename " | ||
| + | NAME=" | ||
| + | INPUTDIR=$(dirname " | ||
| + | OUTDIR=" | ||
| + | mkdir -p " | ||
| + | |||
| + | # Conversion en wav 44.1 kHz si nécessaire | ||
| + | WAVFILE=" | ||
| + | echo " | ||
| + | ffmpeg -i " | ||
| + | |||
| + | # Appel de demucs | ||
| + | echo " | ||
| + | " | ||
| + | |||
| + | |||
| + | echo " | ||
| + | |||
| + | </ | ||
| + | |||
| + | L' | ||
| + | alias demuc="/ | ||
| ===== Autres soft ===== | ===== Autres soft ===== | ||
| Ligne 28: | Ligne 103: | ||
| * https:// | * https:// | ||
| * https:// | * https:// | ||
| + | * Utimate Vocal Remover : GUI embarquant (entre autre) demuc. Une plaie à compiler (plein de soucis de dépendances, | ||