Partage
  • Partager sur Facebook
  • Partager sur Twitter

Web battle karaoké

Besoin d'avis

    14 mars 2018 à 20:22:36

    Bonjour, cela fait un moment que j'aimerai bien commencer mon projet de créer un web karaoké qui permettrait de faire des "battles" entre plusieurs utilisateurs (genre 10 par salon) et ce en même temps, seulement il y a un hic, comme toujours d'ailleurs, mais cette fois je ne trouve pas de solution à mon problème sur le web où alors je ne tape pas les bons mots clés.


    Je ne sais absolument pas comment gérer la comparaison entre la voix de l'utilisateur et la chanson. En vrai, il y a plusieurs problématiques.


    1. Suis-je censé enregistrer la voix de l'utilisateur où il est possible de comparer, d'une quelconque manière, directement sa voix au fichier audio contenant la chanson ? Si je dois enregistrer la voix de chaque utilisateur pour ensuite la comparer, je vais devoir prévoir un serveur assez costaud, avec un bon nombre de disques dur.

    2. Vers quel langage suis-je censé me tourner ? Je pensais qu'il existait des librairies en PHP pour m'aider avec ça, mais je n'en trouve pas, par contre, je vais en avoir besoin pour que le serveur communique la chanson en même temps à tous les utilisateurs pour éviter de trop surcharger le serveur en requête, la "battle" doit se faire en live, pour cela je me tourne vers des Frameworks, Symfony, etc..

    J'ai lu qu'il était possible d'enregistrer des voix à l'aide de JavaScript, on peut également décompresser les fichiers audio à l'aide de python, etc.. Je vous avoue que là je suis un peu perdu, cela me semble tellement compliquer à mettre en place.

    3. Comment fonctionne une comparaison de fichier audio ? Il y a quelques années j'ai visité un site de karaoké, mais il n'existe plus depuis et je n'ai pas trouvé d'équivalent, mais après avoir joué plusieurs fois avec des amis, nous nous sommes rendu compte que le site ne comparaissait pas nos paroles à celle de la chanson, mais plutôt nos tonalités ? En effet si lors d'une chanson je chantais qu'une seule syllabe en changeant à chaque fois la tonalité de celle-ci je pouvais avoir un score plutôt correct, et les voix aiguës avaient généralement de meilleures notes.

    En pensant à ces 3 questions je réfléchis à trop de choses en même temps, je m’emmêle les pinceaux et je ne sais pas par où commencer, alors auriez-vous par hasard des conseils afin que je puisse mener ce projet à bien ?


    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      15 mars 2018 à 5:00:47

      Bonjour,

      Je trouve le projet original et intéressant :)

      Ça risque d’être vraiment compliqué pour la partie comparaison de deux fichiers audios sans aide extérieure. J’espère que tu as beaucoup de temps devant toi ou la possibilité de recruter ou qu’il existe des librairies pour faciliter le travail.

      Quel est ton niveau ? Tu as déjà suivi des cours de physique (au lycée ou après le bac) ou de traitement du signal ? Tu sais ce qu’est une transformée de fourrier par exemple ? Le niveau de précision du système que tu décris dans le point 3 peut te suffire tu penses ?

      Sur la simple comparaison j’ai travaillé dessus (pas de l’audio mais assimilé). Faire un truc comme ça c’était un projet de classes préparatoires aux grandes écoles sur deux ans. Je peux donner des explications au besoin, un peu d’aide pour la théorie.

      • Partager sur Facebook
      • Partager sur Twitter
        15 mars 2018 à 13:35:08

        Sinon en générale les karaoke ne compare pas deux fichiers sons mais plutôt de détecter la "hauteur" de la voix
        • Partager sur Facebook
        • Partager sur Twitter
          15 mars 2018 à 18:55:31

          Bonjour et merci pour vos réponses !

          J'ai eu un cours de physique théorique en électronique au lycée, mais rien qui puisse m'aider dans ce projet, du moins je pense. Après quelques réflexions, le niveau de précision dont je parle au point 3 (tonalité ou hauteur de voix comme @florent m l'indique) pourrait en effet suffire pour les utilisateurs qui jouent le jeu, mais comment puis-je faire cela ?


          En regardant un peu sur le web on trouve bien une API web audio, mais il n'y a pas grand-chose qui m'inspire, je ne vois pas comment je pourrais mesurer la hauteur de la voix de l'utilisateur, on parle d'objet qui renvoie une onde sinusoïdale, mais ça ne m'inspire pas plus que ça.

          API WEB AUDIO : https://developer.mozilla.org/fr/docs/Web/API/Web_Audio_API

          -
          Edité par Coyote570 15 mars 2018 à 18:58:09

          • Partager sur Facebook
          • Partager sur Twitter

          Web battle karaoké

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown