Forum : 4 - Techniques et manipulations du son

[RESOLU]utiliser spleeter en container

piratebab utilisateur non connecté
Bonjour, le logiciel Spleeter nest plus maintenu sur github (même si il y a un commit vieux de 3 semaines, ce n'est pas vraiment une mise à jour).
J'ai essayé de le réinstaller sur ma machine debian ,mais les versions des dépendance demandées sont trop anciennes (numpy par ex). Python à beaucoup trop évolué pour arriver à installer spleeter avec conda.
du coup je cherche à l'installer via un container.
Mais là aussi, on tombe sur des fichiers de 2021.
est ce qu quelqu'un àa installé recement spleeter ?
Je vais tenter spleeter-cli

piratebab utilisateur non connecté
Je galere un peu car c'est un scriot pour container docker, mais j'utilise LXC, la syntaxe n'est pas la même

jujudusud utilisateur non connecté France
Salut piratebab,

Ça fait un petit moment que je n'utilises plus spleeter. À vrai dire, je ne m'en suis pas servi beaucoup.
Concernant les conteneurs, il faudrait trouver quelqu'un qui maîtrise ça et qui le fasse générer par github par exemple. comme tu obtiendrais ce dont tu as besoin.
Malheureusement, ce n'est pas moi le sachant la dedans. :-(

Je suis ton fil et je vais demander à des gens que je connais s'ils peuvent faire quelque chose pour nous. Je vais regarder ce qu'est LXC aussi.

piratebab utilisateur non connecté
LXC, ce sont les LinuX Container.
Beaucoup plus,léger que docker, car utilise les ressources du noyau linux.
Docker ajoute un service qui tourne en permanence.
Je bute sur l'option -e de docker qui n'a pas d'équivalent en LXC.
Je ne suis pas non plus très compétent en container, mais je progresse!
Au pire, je pose la question sur un forum spétialisé

piratebab utilisateur non connecté
j'ai cherché des équivalent à spleeter en ligne, mais je n'ai rien trouvé de convaincant(je n'ai pas testé les sites qui demandent une inscription)

jujudusud utilisateur non connecté France
Salut,
est ce que tu peux détailler ce que tu fais avec lxc s'il te plait ? Je ne comprends pas bien ce que tu as comme problème avec le "-e de docker".

Tu veux bien utiliser une "vieille" debian pour faire tourner spleeter dessus ?
Du coup tu créer un conteneur debian buster par exemple et puis tu y installes spleeter et enfin tu lances spleeter ? c'est ça ?

Dans leur wiki, ils parlent d'utiliser "pip" pour 'installer spleeter. ça semble être la bonne voie à utiliser.

piratebab utilisateur non connecté
L’intérêt d'un container, c'est justement de ne pas avoir à installer un système complet.
Dans le script deezer-cli que j'ai indiqué, ils utilisent docker pour lancer spleeter dans un container.
Ils utilisent l'option -e pour passer au container l'adresse ou telecharger le modèle spécifié comme argument du script.
Mais LXC n'utilise pas cette option -e, et je n'ai pas compris comment passer ce type de paramètre. Je suis très débutant en containers ..
L'autre solution serait de passer par un virtenv python, mais je suis encore plus nul en virtenv. Et je trouve que c'est moins propre qu'un container.
On ne peut plus utiliser pip pour installer deezer depuis la version 3.12 de python, on ne peux plus compiler une ancienne version de numpy, d'ou l'idée du container.
Avant je passais par coda, mais le doc spleeter dit qu'il ne faut plus le faire (et je n'ai pas réussi nonplus)
Il est à noter que pip est remplacer par pipx sur debian (dans certain cas), afin d'éviter de polluer sa debian avec des modules installés par pip et qui viendrait en conflit avec ceux installés par apt.

Je vais commencer par me perfectionner avec LXC, et j'y reviendrai dessus plus tard.

jujudusud utilisateur non connecté France
Le soucis, c'est que je n'ai pas trouvé de documentation dans LXC qui parlent de créer un conteneur qui ne contienne qu'une application et ses dépendances.

Je vais regarder si ça fonctionne chez moi avec pip. Ils disent qu'il ont la compatibilité jusqu'à python 3.11 ? c'est bien ça ?

j'ai ouvert ça de mon côté :
https://github.com/deezer/spleeter/issues/928

piratebab utilisateur non connecté
merci. Je vais continuer à maitriser LXC de mon coté.

piratebab utilisateur non connecté
Bonjour,
je suis monté en compétence sur les containers :-) J'ai maintenant un serveur qui utilise exclusivement des containers.
Pour répondre à ma question initiale, elle était tout simplement idiote.
Les containers linux (LXC) et les containers applicatifs (le plus connu: docker) sont des choses complètement différentes.
Ce que j'ai fait:
- j'ai crée un container LXC dédié MAO sur base debian stable (j'utilise incus pour gérer mes containers LXC)
- dans ce container, j'ai créé un container appplicatif (microservice) à l'aide de podman, un gestionnaire de containers 100% compatible docker, mais dont la licence me convient mieux)
J'ai aussi crée un container ardour pour profiter de la puissance du server (voir fil sur forum ardour)

olinuxx utilisateur non connecté France
Et tu as donc un conteneur applicatif sur une vieille version de Debian pour Spleeter ?

piratebab utilisateur non connecté
Pas encore testé avec spleeter, je suis occupé avec un autre projet à base de containers.
Mais oui, avec incus tu peux installer une ancienne version de debian (ou autre distribution)
Je parlais du contener docker de spleeter (podman pour moi). Il embarque les versions de python compatibles

olinuxx utilisateur non connecté France
OK, merci.
Si tu as du temps et de la motivation à un moment, je perçois qu'un tuto "comment installer un (vieux) spleeter à travers un conteneur applicatif" pourrait intéresser du monde ici.

piratebab utilisateur non connecté
Spleeter est de l'IA, ça fonctionne beaucoup mieux avec une carte nvidia compatible CUDA.
Pour que CUDA soit utilisable dans un container, c'est un niveau de complication supplémentaire sur lequel je suis en train de travailler.