Pour nous contacter : soyez au rendez-vous sur IRC ! ⋅ Parcourir l'archive musicale Dogmazic ⋅ Notre Blog
Notre Documentation

Un logiciel de DJing minimaliste en HTML5/Javascript

novembre -1 modifié dans Tech
Salut,

J'ai codé un petit soft open-source. C'est du HTML5/Javascript, mais bon le DOM HTML5 est encore pas très le même d'un browser à l'autre. J'ai développé avec Firefox 11/Ubuntu 11.10 et là dessus ça marche bien, mais sous Chromium version actuelle, même OS, pour le moment ça marche pas. Je pense corriger ça assez vite, j'ai déjà réussi à faire fonctionner des trucs similaires sur ce browser, faut juste que je regarde les différences et que je fasse les modifs.

C'est un simple logiciel de DJing.

https://sourceforge.net/projects/shandj/

Le principe, c'est un fichier HTML que l'on place dans le même répertoire que les fichiers audio que l'on veut DJter.

Il y a deux listes de lectures. Pour chaque liste, on sélectionne les fichiers locaux que l'on veut y mettre, et on fait ajouter - il est possible d'ajouter plusieurs fichiers en une seule manip.

Au niveau des format audio supporté, ça dépend en fait du browser qu'on utilise. La plupart sinon tous supporte deux ou trois formats, entre ogg, mp3, wav et flac. Pour certain browsers on peut ajouter des formats via des greffons.

Pour savoir si un browser en particulier supporte un format, en tous cas avec FF, quand on ouvre un fichier de ce format si un controle de tag <audio> apparait dans le browser pour contrôler la lecture, c'est que le format est supporté.

Une fois qu'on a ajouté les fichiers aux listes, il y a deux ou trois manip que l'on peut faire sur chaque liste, mais uniquement avant le déclenchement de la lecture, une fois que la lecture a commencé dans une liste en particulier ces manips ne sont plus disponibles :

-supprimer un fichier de la liste
-changer l'ordre des fichiers dans la liste
-mélanger la liste de façon aléatoire

Pour déclencher la lecture, il y a un lien "play" pour chaque fichier (et un lien stop, aussi). Une fois la lecture enclenchée, la liste tournera en boucle - à moins que l'on ne stoppe.

Quand un fichier est lu, il y a aussi un contrôle qui permet de pauser ou de faire de l'avance/retour rapide.

L'intérêt, évidement, c'est de déclencher la lecture sur les deux listes à la fois. Il y a une sorte de très simple potentiomètre qui permet de mélanger le son entre les deux fichiers lus : soit 100% pour l'un, 0% pour l'autre, soit 50%/50%, soit quelque chose entre les deux par paliers de 10%. Il est possible de faire, via le dispositif de pointage système, des enchaînements progressif d'un fichier à l'autre, à la vitesse que l'on souhaite - selon la vitesse du mouvement de pointeur d'un coté à l'autre du potard.

Et... C'est tout. C'est vraiment un logiciel de DJing minimal, mais qui peut être utile si on débarque quelque part et qu'on ne peut pas installer de soft ni booter sur un CD ou une clef USB bootable DidJiX ... Par exemple, on peut mettre le fichier HTML et les fichiers audio dans différents format sur une clef - en mettant à la fois du mp3 et du ogg c'est certain que ça passera quel que soit le browser.

Pour le moment, ça ne fonctionne qu'en local... Peut-être qu'à l'occasion j'ajouterai du support pour faire tourner le soft depuis un serveur web, via HTTP.

Bonne semaine.

Réponses

  • Re salut,

    La 0.2 vient de sortir - juste quelques modifs mineures sur l'interface graphique et modification pour que ça marche sur Chromium, en tout cas sur la dernière version de ce navigateur sous Ubuntu 11.10.

    https://sourceforge.net/projects/shandj/

    Chromium, sous cette version de Ubuntu comme système d'exploitation, a à nouveau des problèmes pour lire le format MP3, mais ce n'est pas très grave car il supporte aussi le ogg, et peut-être d'autres formats mais je n'ai pas testé.

    S'il y a des gens vraiment, mais alors vraiment très sympa qui veulent tester sous Safari, Chrome, Internet Explorer 9 sur diverses plateformes, hésitez pas à faire part de vos retour, je mettrai à jour la liste des combinaisons navigateur/OS validés sur le wiki du projet.

    Vous pouvez poster dans ce fil, m'envoyer un MP, ou si vous n'avez pas de compte Dogmazic vous pouvez envoyer un courriel à shangri-l@hotmail.fr ; il est peut-être même possible d'éditer directement le wiki, mais je sais pas s'il faut un compte Sourceforge ou non.
  • Yellow !

    La 0.3 vient de sortir. Au programme, une correction de bug mineur sur l'affichage du potentiomètre crossfader, mais surtout un mode RobotDJ.

    Le principe : une fois la lecture lancée sur les deux playlist, on peut si on le souhaite enclencher le mode RobotDJ.

    Le RobotDJ lancera des transitions d'une playlist à l'autre au bout de délais aléatoires. On doit indiquer le temps minimal que le robot passera sur chaque playlist, le temps maximal, et la durée des transitions.

    Idéal pour faire rapidement des mixs un peu (voir beaucoup) garage. Si vous passez par un logiciel tiers capable de capturer le son système (la plupart des OS proposent ça, il suffit de savoir l'activer et d'avoir un logiciel d'enregistrement), vous pouvez enregistrer votre robot-mix, même !

    Très bon week-end à tout le monde.
  • Tu viens de poser les bases d'un DJ numérique en quelques sortes !
    Respect !

    Il faudrait que tu code un autoscratch aussi, qui pourrait décider de scratcher un peu toutes les x minutes, et un générateur d'annonce débiles, du genre tous les 3 morceaux, ça va piocher dans ta base "animation DJ débile" et balance une annonce du genre "aaaaaaaallez tout le monde sur la piste de danssssssse" ou encore "c'est chauud c'est chaud c'est chaud"

    :D
  • Merci pour les suggestions, je note, je note.

    Mais ce que j'aimerai bien faire dans l'immédiat, c'est gérer les enchaînements automatiques au sein d'une même playlist : à la fin de chaque morceau, plutôt que ça coupe brutalement avant de lancer le suivant, qu'il y ait plutôt un mixage progressif entre les deux... D'après ce que je connais du tag audio (ou plutôt, en fonction de ce que je connais du tag audio), ça risque de me prendre du temps à coder.
  • wouah ! je vais tester ça , ça donne envie Shangril
    (bizarre que je n'avais jamais vu ce topic)
  • Par contre hier j'ai testé sur une version un peu ancienne de Firefox, le RobotDJ s'est comporté très bizarrement : les transitions se déclenchaient toutes les quelques secondes alors que je l'avais réglé pour 2 à 3 minutes sur chaque playlist. Je sais pas si

    -c'est un bug d'une vieille version de Firefox
    -c'est par ce que tout se passait par dessus HTTP au lieu d'être en local (je testais ça, en fait)
    -ou alors il y a peut-être effectivement un bug dans le RobotDJ, j'ai essayé rapidement de le reproduire chez moi ensuite, j'ai pas réussi.
  • En fait, en y réfléchissant un peu, le mode Robot DJ de ShanDj n'est pas du véritable mix 100% automatique : il faut obligatoirement spécifier des paramètres qui influenceront comment le mix sera fait, donc il y a intervention humaine.

    Ce n'est pas véritablement du mix à créditer à un robot. Avec exactement les mêmes morceaux à la base, dans le même ordre, le résultat sera complètement différent selon les paramètres que l'humain(e) aura entrés.

    Merci pour le lien, c'était intéressant à lire.

Ajouter un commentaire

GrasItaliqueBarréListe ordonnéeListe non ordonnée
Emoji
Image
Aligner à gaucheCentrer le texteAligner à droiteBasculer en code HTMLBasculer en mode plein écranAllumer les lumières
Déplacer image/fichier