MagentaJS génère mon fichier MIDI : comment en faire une musique MPEG ou WebM ?

Le problème exposé dans ce sujet a été résolu.

Bonsoir à tous,

J’utilise Google MagentaJS pour générer une nouvelle musique à part d’une suite de notes pré-existantes (le modèle utilisé est MusicRNN). J’obtiens ainsi un fichier MIDI contenant ces nouvelles notes de musique, définies par par ce réseau de neurones artificiels.

J’aimerais transformer ce fichier MIDI en un fichier de musique standard (genre WebM ou MPEG, ou autre). Et évidemment, utiliser d’autres instruments que ce piano que mon lecteur de fichiers MIDI utilise, et qui est moche. J’aimerais de préférence un instrument à vent.

Comment donc, transformer mon fichier MIDI de notes en un fichier de musique (foramt WebM ou MPEG ou autre), en jouant les notes du fichier MIDI par un instrument ?

Je ne dispose pas d’instrument, donc il faut vraiment que ce soit un logiciel qui simule cet instrument.

Existe-t-il des API pour faire cela ? Des sites ? Des Web apps ? Des packages Ubuntu ? Des packages Python ? Etc.

Merci d’avance et bonne soirée !

Salut,

Chercher "midi player" sur Google donne des tonnes de résultats. En ajoutant un nom d’instrument derrière, on trouve des outils plus spécifiques. Comme on n’est pas vraiment là pour remplacer un moteur de recherche, et que j’imagine que tu as essayé de chercher avant de poster (hem), quels sont les outils que tu as essayé et qu’est-ce qui ne te va pas à leur propos ?

Je pense qu’il faut vraiment que tu te renseignes sur ton sujet, parce que :

J’aimerais transformer ce fichier MIDI en un fichier de musique standard (genre WebM ou MPEG, ou autre).

Ni le WebM, ni le MPEG ne sont des « fichiers de musique standard » mais des formats de vidéo. Ce que tu cherches à faire, c’est :

  • Soit partager le son, auquel cas tu peux partager directement le MIDI, ou alors il faut que tu utilises un format audio (MP3, MP4, OGG, FLAC…)
  • Soit partager la partition, auquel cas tu peux partager directement le MIDI (oui, aussi, il n’y a pas d’erreur, des logiciels sont capables de recomposer la partition d’après le MIDI), un PDF ou d’autres formats plus exotiques.

Et évidemment, utiliser d’autres instruments que ce piano que mon lecteur de fichiers MIDI utilise, et qui est moche. J’aimerais de préférence un instrument à vent.

Là tu as deux choses différentes :

  1. Changer l’instrument d’une piste MIDI c’est une fonctionnalité standard de MIDI, il suffit d’affecter un autre instrument à ta piste (si ta bibliothèque de gestion MIDI est décente elle sait le faire)
  2. Changer la qualité du rendu pour un instrument donné. Là, il faut passer par des banques de son spécifiques, ça n’est pas forcément trivial et rien ne garantit que ces banques de son soient libres, etc.

En résumé : tu as généré un MIDI. Maintenant tu dois apprendre toute la gestion qui va avec. Bon courage, c’est « juste » de la MAO.

Comment donc, transformer mon fichier MIDI de notes en un fichier de musique

Salut,

De mon côté, j’utilise le logiciel gratuit MuseScore.
Il permet de convertir un fichier MIDI (.mid) vers d’autres formats (MP3, WAVE, OGG ou FLAC).

De plus, il est possible :

  • D’éditer la partition et d’enregistrer ces changements ;
  • D’exporter la partition en image vers les formats PNG ou PDF ;
  • D’utiliser d’autres instruments que le piano et de les ajouter au morceau.

MuseScore est un logiciel assez complet pour l’édition de partitions, c’est celui que j’utilise pour mes compositions musicales.

EDIT :
Si tu te créées un compte MuseScore en ligne, il est alors possible de partager tes compositions librement sur leur site.
Exemple ici.

+0 -0

Salut,

Chercher "midi player" sur Google donne des tonnes de résultats. En ajoutant un nom d’instrument derrière, on trouve des outils plus spécifiques. Comme on n’est pas vraiment là pour remplacer un moteur de recherche, et que j’imagine que tu as essayé de chercher avant de poster (hem), quels sont les outils que tu as essayé et qu’est-ce qui ne te va pas à leur propos ?

adri1

Non mais ça te paraît évident chercher "midi player" sauf que moi dans ma tête ce n’était pas d’un "player" dont je pensais avoir besoin mais d’une API ou Web app ou package Ubuntu capable de prendre en entrée mon fichier MIDI et d’en sortir un nouveau fichier audio avec un instrument donné. Les "players" en général se contentent de fournir de l’audio aux périphériques audio de sortie, moi ce que je cherche c’est vraiment l’enregistrement.

Je pense qu’il faut vraiment que tu te renseignes sur ton sujet, parce que :

J’aimerais transformer ce fichier MIDI en un fichier de musique standard (genre WebM ou MPEG, ou autre).

Ni le WebM, ni le MPEG ne sont des « fichiers de musique standard » mais des formats de vidéo. Ce que tu cherches à faire, c’est :

  • Soit partager le son, auquel cas tu peux partager directement le MIDI, ou alors il faut que tu utilises un format audio (MP3, MP4, OGG, FLAC…)
  • Soit partager la partition, auquel cas tu peux partager directement le MIDI (oui, aussi, il n’y a pas d’erreur, des logiciels sont capables de recomposer la partition d’après le MIDI), un PDF ou d’autres formats plus exotiques.

Et évidemment, utiliser d’autres instruments que ce piano que mon lecteur de fichiers MIDI utilise, et qui est moche. J’aimerais de préférence un instrument à vent.

Là tu as deux choses différentes :

  1. Changer l’instrument d’une piste MIDI c’est une fonctionnalité standard de MIDI, il suffit d’affecter un autre instrument à ta piste (si ta bibliothèque de gestion MIDI est décente elle sait le faire)
  2. Changer la qualité du rendu pour un instrument donné. Là, il faut passer par des banques de son spécifiques, ça n’est pas forcément trivial et rien ne garantit que ces banques de son soient libres, etc.

En résumé : tu as généré un MIDI. Maintenant tu dois apprendre toute la gestion qui va avec. Bon courage, c’est « juste » de la MAO.

SpaceFox

Ouaip c’est bien partager le son que je veux ;-)

Et effectivement ce n’est pas la qualité de rendu, mais plutôt l’instrument que j’aimerais changer. Apparemment ça se fait au niveau du fichier MIDI, je prends note et je vais voir ça avec Google MagentaJS (puisque c’est lui qui génère le MIDI, on doit pouvoir préciser l’instrument, ou bien je le fais à la main en faisant une transition par le format JSON du fichier MIDI bref). Par contre petite question concernant le fichier audio généré (OGG, FLAC ; non-vidéo, effectivement je m’étais trompé) : comment serait-il possible qu’il contienne la musique jouée par un instrument de mon choix ?

Je veux dire, est-ce bien le workflow suivant qui serait utilisé ? : Mon fichier MIDI avec l’instrument spécifié dedans -> API/Web app/Package Ubuntu qui convertit ce fichier MIDI en fichier audio en le jouant à l’aide de l’instrument spécifié dans le fichier MIDI et dont il dispose -> Fichier Audio ?

Si oui : vous avez des exemples pour "API/Web app/Package Ubuntu" svp ? ^^

Des trucs gratuits quoi.

Après concernant la qualité de rendu osef ^^

Merci encore !

@Green : Merci beaucoup ! J’avais oublié ce logiciel, que j’utilisais déjà étant collégien et/ou lycéen je ne sais plus. Je vais voir ça ! :)

+0 -0

Les "players" en général se contentent de fournir de l’audio aux périphériques audio de sortie, moi ce que je cherche c’est vraiment l’enregistrement.

Heu récupérer la sortie audio et l’enregistrer, c’est pas très compliqué non plus hein… Et par ailleurs, taper "convert midi to mp3" donne aussi des résultats à la pelle…

Par contre petite question concernant le fichier audio généré (OGG, FLAC ; non-vidéo, effectivement je m’étais trompé) : comment serait-il possible qu’il contienne la musique jouée par un instrument de mon choix ?

Dans le cas de MuseScore :

  • Ouvre le fichier MIDI de ton choix ;
  • Édite la partition en ajoutant les instruments que tu souhaites ;
  • Joue le morceau pour vérifier que c’est bien ce que tu souhaites ;
  • Exporte le fichier et sélectionne le format que tu veux.

screen.png

Les "players" en général se contentent de fournir de l’audio aux périphériques audio de sortie, moi ce que je cherche c’est vraiment l’enregistrement.

Heu récupérer la sortie audio et l’enregistrer, c’est pas très compliqué non plus hein… Et par ailleurs, taper "convert midi to mp3" donne aussi des résultats à la pelle…

adri1

Pour le 1 je sais pas faire ^^ Pour le 2 déjà cherché, on tombe sur des liens chelous, de vieux logiciels Windowss dispos sur de vieux sites de téléchargement, ou 1 ou 2 solutions qui ont l’air bien mais payantes ^^

Par contre petite question concernant le fichier audio généré (OGG, FLAC ; non-vidéo, effectivement je m’étais trompé) : comment serait-il possible qu’il contienne la musique jouée par un instrument de mon choix ?

Dans le cas de MuseScore :

  • Ouvre le fichier MIDI de ton choix ;
  • Édite la partition en ajoutant les instruments que tu souhaites ;
  • Joue le morceau pour vérifier que c’est bien ce que tu souhaites ;
  • Exporte le fichier et sélectionne le format que tu veux.

screen.png

Green

Merci bcp !

Par contre ce n’est pas un truc que je vais faire manuellement, mais dans un script, donc je passerai en ligne de commande ^^

Si le MIDI contient l’instrument à utiliser, est-ce que MuseScore peut le détecter ? Si non : ce n’est pas très grave, je vais voir si on peut préciser l’instrument à utiliser en ligne de commande.

Si le MIDI contient l’instrument à utiliser, est-ce que MuseScore peut le détecter ? Si non : ce n’est pas très grave, je vais voir si on peut préciser l’instrument à utiliser en ligne de commande.

Je sais que si tu exportes un fichier au format MIDI contenant une flûte par exemple, puis en ré-ouvrant avec MuseScore, ce dernier affiche également la partition de la flûte. Je ne sais pas si cela répond à ta question ?

Si le MIDI contient l’instrument à utiliser, est-ce que MuseScore peut le détecter ? Si non : ce n’est pas très grave, je vais voir si on peut préciser l’instrument à utiliser en ligne de commande.

Je sais que si tu exportes un fichier au format MIDI contenant une flûte par exemple, puis en ré-ouvrant avec MuseScore, ce dernier affiche également la partition de la flûte. Je ne sais pas si cela répond à ta question ?

Green

Ah bah je pense que si, nickel alors ^^ Merci !

j’essaie d’exécuter une ligne de cmd en donnant en entrée mon MIDI et en demandant en sortie un OGG ;-) Pour l’instant j’ai une segmentation fault, et le manuel ne donne pas bcp d’indications sur la façon de s’y prendre (https://musescore.org/en/handbook/command-line-options)

Je vous tiens au courant quand j’aurai réussi ;)

Et effectivement ce n’est pas la qualité de rendu, mais plutôt l’instrument que j’aimerais changer. Apparemment ça se fait au niveau du fichier MIDI, je prends note et je vais voir ça avec Google MagentaJS (puisque c’est lui qui génère le MIDI, on doit pouvoir préciser l’instrument, ou bien je le fais à la main en faisant une transition par le format JSON du fichier MIDI bref). Par contre petite question concernant le fichier audio généré (OGG, FLAC ; non-vidéo, effectivement je m’étais trompé) : comment serait-il possible qu’il contienne la musique jouée par un instrument de mon choix ?

TumulteClassicisme

Vraiment : renseigne-toi sur ce qu’est un fichier MIDI et à quoi ils servent avant de t’en servir.

ou bien je le fais à la main en faisant une transition par le format JSON du fichier MIDI bref

Pourquoi passer par JSON ? Le format MIDI affecte lui-même un instrument à une piste. Ce que tu veux, c’est une bibliothèque capable de faire cette modification dans le langage que tu utilises (et ça devrait être le cas de toute bibliothèque capable de gérer du MIDI).

Et ça répond directement à ta question :

comment serait-il possible qu’il contienne la musique jouée par un instrument de mon choix ?

Eh bien tout simplement en changeant l’instrument de la piste dans le MIDI, et en utilisant un outil d’export capable de transformer le MIDI en fichier son standard (MuseScore entre autres).

Et effectivement ce n’est pas la qualité de rendu, mais plutôt l’instrument que j’aimerais changer. Apparemment ça se fait au niveau du fichier MIDI, je prends note et je vais voir ça avec Google MagentaJS (puisque c’est lui qui génère le MIDI, on doit pouvoir préciser l’instrument, ou bien je le fais à la main en faisant une transition par le format JSON du fichier MIDI bref). Par contre petite question concernant le fichier audio généré (OGG, FLAC ; non-vidéo, effectivement je m’étais trompé) : comment serait-il possible qu’il contienne la musique jouée par un instrument de mon choix ?

TumulteClassicisme

Vraiment : renseigne-toi sur ce qu’est un fichier MIDI et à quoi ils servent avant de t’en servir.

ou bien je le fais à la main en faisant une transition par le format JSON du fichier MIDI bref

Pourquoi passer par JSON ? Le format MIDI affecte lui-même un instrument à une piste. Ce que tu veux, c’est une bibliothèque capable de faire cette modification dans le langage que tu utilises (et ça devrait être le cas de toute bibliothèque capable de gérer du MIDI).

Et ça répond directement à ta question :

comment serait-il possible qu’il contienne la musique jouée par un instrument de mon choix ?

Eh bien tout simplement en changeant l’instrument de la piste dans le MIDI, et en utilisant un outil d’export capable de transformer le MIDI en fichier son standard (MuseScore entre autres).

SpaceFox

Ce que je sais sur le format MIDI c’est qu’il permet de mettre des notes ensemble (partition), c’est un peu une notation scientifique et universelle de musiques, qui ensuite est interprétable par les synthés et logiciels ^^

Et oui je comprends bien pour la suite du message, effectivement tu as raison pour l’API capable de modifier le fichier MIDI. Juste que je peux aussi passer par un format JSON et recréer un MIDI à partir de ça (y a une fonction MagentaJS qui permet cela), mais on peut aussi comme tu le recommandes utiliser une API MIDI.

Salut,

Chercher "midi player" sur Google donne des tonnes de résultats. En ajoutant un nom d’instrument derrière, on trouve des outils plus spécifiques. Comme on n’est pas vraiment là pour remplacer un moteur de recherche, et que j’imagine que tu as essayé de chercher avant de poster (hem), quels sont les outils que tu as essayé et qu’est-ce qui ne te va pas à leur propos ?

adri1

Je vous trouve (il y a d’autres commentaires de ce style dans le fil) un peu vaches avec l’OP pour le coup. Ce n’est pas évident de comprendre quels logiciels synthétisent du midi en musique, ou à quel moment dans la pipeline de rendu le choix de l’instrument est fait. Et je ne trouve pas les moteurs de recherche très éclairants sur cette question, surtout quand on ne connaît pas bien le domaine et qu’on ne sait pas quoi chercher.

(Je sais qu’il y a un historique de modération de TumulteClassicisme, mais je crois que ça devrait pas nous encourager à être désagréables, ce qui est aussi une forme de facilité. Pensons par exemple à quelqu’un qui se poserait les mêmes questions et qui tomberait sur ce thread.)

+0 -0

Pensons par exemple à quelqu’un qui se poserait les mêmes questions et qui tomberait sur ce thread.

gasche

Personnellement j’en pense que quelqu’un qui poserait les mêmes questions dans les mêmes termes mériterait les mêmes réponses, et que l’éventuel historique de modération du PO n’a aucun impact là-dedans. Parce que le post d’origine (en particulier son titre, qui demande littéralement comment transformer une partition en vidéo) laisse plus penser à un manque de recherche sur ce qu’est le format MIDI et les outils associés, que sur une méconnaissance des logiciels ou une mécompréhension du pipeline de rendu.

Vu les résultats de recherche avec les termes utilisés pas TumulteClassicisme, j’aurais trouvé normal d’avoir un post du genre :

J’aimerais transformer ce fichier MIDI en un fichier de musique standard et en changer l’instrument, mais je ne trouve que des solutions antiques ou des logiciels chers comme Cubase, il n’y a pas un autre moyen ?

Qui au moins montre qu’il y a eu recherche avant de poser la question.

Voilà, désolé pour le hors sujet.

Pensons par exemple à quelqu’un qui se poserait les mêmes questions et qui tomberait sur ce thread.

gasche

Personnellement j’en pense que quelqu’un qui poserait les mêmes questions dans les mêmes termes mériterait les mêmes réponses, et que l’éventuel historique de modération du PO n’a aucun impact là-dedans. Parce que le post d’origine (en particulier son titre, qui demande littéralement comment transformer une partition en vidéo) laisse plus penser à un manque de recherche sur ce qu’est le format MIDI et les outils associés, que sur une méconnaissance des logiciels ou une mécompréhension du pipeline de rendu.

Vu les résultats de recherche avec les termes utilisés pas TumulteClassicisme, j’aurais trouvé normal d’avoir un post du genre :

J’aimerais transformer ce fichier MIDI en un fichier de musique standard et en changer l’instrument, mais je ne trouve que des solutions antiques ou des logiciels chers comme Cubase, il n’y a pas un autre moyen ?

Qui au moins montre qu’il y a eu recherche avant de poser la question.

Voilà, désolé pour le hors sujet.

SpaceFox

Mais ce n’est pas parce que je n’ai pas précisé ça dans le sujet que c’est le cas hein,

cf https://zestedesavoir.com/forums/sujet/14218/magentajs-genere-mon-fichier-midi-comment-en-faire-une-musique-mpeg-ou-webm/?page=1#p222321

voulez-vous consulter mon historique pour constater que si si, j’en ai fait des recherches ? aucun souci pour que je screen, ça me prendra 20min

ne jugez pas hâtivement, j’ai bac+5, plusieurs années d’XP pro, réput très respectable sur Stackoverflow, avec plusieurs projets perso

Mais ce n’est pas parce que je n’ai pas précisé ça dans le sujet que c’est le cas hein,

cf https://zestedesavoir.com/forums/sujet/14218/magentajs-genere-mon-fichier-midi-comment-en-faire-une-musique-mpeg-ou-webm/?page=1#p222321

Ce qu’on te dit justement, c’est que ta réponse à ma remarque dans le message que tu pointes doivent figurer dans ton premier message. En l’état ton premier message donne l’impression que tu as vu un fichier MIDI pour la première fois de ta vie il y a 5 minutes et que tu veux en faire un fichier MP3 (passons sur la confusion avec les formats vidéos) en ayant absolument pas pris la peine de chercher quoique ce soit ni de chercher à comprendre ce qu’est un fichier MIDI. Forcément, ça donne pas envie de répondre autre chose que "cherche un peu".

Il est beaucoup plus utile que tu ne le penses d’expliquer ce que tu as cherché, notamment pour préciser ta demande (ce qui va la rendre plus claire pour nous, mais aussi potentiellement pour toi).

ne jugez pas hâtivement, j’ai bac+5, plusieurs années d’XP pro, réput très respectable sur Stackoverflow, avec plusieurs projets perso

Je ne comprends pas le rapport ni ce que tu essayes de faire avec cette remarque. Ça montre juste que tu es censé savoir chercher par toi-même et poser des questions bien formulées. Donc en gros que tu sais déjà ce que je viens de dire juste au-dessus, merci donc de veiller à poser tes questions de façon détaillée à l’avenir.

+2 -0

Mais ce n’est pas parce que je n’ai pas précisé ça dans le sujet que c’est le cas hein,

TumulteClassicisme

Mais nous ne sommes pas dans ta tête : on ne peut savoir que ce que tu as mis dans ton sujet. Si ton titre confonds les formats vidéo et audio (quelle qu’en soit la raison, on fait tous des coquilles), et ne montre aucune recherche, la seule chose qu’on peut en déduire c’est que tu confonds des formats audio et vidéo et que tu n’as pas cherché. Et donc on va te répondre en fonction des informations que tu nous donnes.

Il n’est pas question de fliquer ton historique de recherche ou que sais-je.

Il est uniquement question de savoir poser une question de façon à obtenir les réponses les plus pertinentes possibles. Ça implique de donner ton niveau de connaissances réel sur le sujet, pour qu’on puisse expliquer en des termes que tu comprends sans répéter ce que tu sais déjà ; et que tu indiques ce que tu as trouvé lors de tes recherches. Ce dernier point, d’une part par respect et surtout pour éviter que les personnes qui t’aident se contentent de faire la même recherche, ce qui serait du temps perdu pour tout le monde.

Là où ton historique intervient dans ma façon de réagir, personnellement, c’est que je sais que tu es inscrit ici depuis un moment, et donc que tu devrais connaitre ces règles. Je serai beaucoup plus tolérant avec un nouveau.

D’autre part, ceci n’est en aucun cas un argument :

ne jugez pas hâtivement, j’ai bac+5, plusieurs années d’XP pro, réput très respectable sur Stackoverflow, avec plusieurs projets perso

D’une part parce que ça peut être vrai, si ta question est mal posée… elle est mal posée, quand bien même tu serais le concepteur du truc sur lequel ta question porte.

D’autre part, parce que je connais des gens qui ont fait des études, qui ont des années d’expérience, etc. et qui sont parfaitement incapables de poser une question correctement sur un forum.

On ne te connait qu’à travers ce que tu montres, ce que tu fais en-dehors du forum n’a aucune importance.

Je trouve vos réponses très fermées, aucune remise en question. En gros TumulteClassicisme mérite bien de se prendre des bâtons dans la gueule parce qu’il n’a pas écrit en toute lettres la liste des choses qu’il a cherchées avant de poser la question, et qu’il confond bêtement des formats audio et des formats vidéos. Et le fait qu’on se soit déjà frittés avec lui sur des topics différents (par exemple pour lui expliquer que le Coronavirus n’était pas plus dangereux qu’une grippe, calme-toi zozo) n’a vraiment aucun rapport, SpaceFox est pur de tout biais cognitif, même inconscient.

Il n’empêche que si je tape "midi to mp3 saxophone" ou "convert midi to mp3" dans mon moteur de recherche, je ne trouve absolument rien de clair qui explique comment faire. Si je voulais faire la même chose que l’OP, ce topic ne me donnerait presque aucune information sur comment faire, à part les réponses de Green sur Musescore et surtout le résumé qu’en fait l’OP ensuite avec une ligne de commande et un lien vers de la documentation. Le reste contient quelques informations sur le format MIDI noyées au milieu de commentaires paternalistes qui en rendent la lecture pénible.

Je ne cherche pas à dire ça méchamment, et j’apprécie beaucoup les contenus produits par SpaceFox et adri1 dans d’autres circonstances. Mais là j’essaie de dire doucement et gentiment qu’à vous lire, on dirait la version francophone et sophistiquée de "RTFM connard", et j’ai l’impression qu’au lieu de réfléchir à ce que je dis, vous remettre en question — à la rigueur même quand on n’est pas convaincu par la critique, on peut prendre en compte le fait qu’on est toujours plus aveugles sur ses propres défauts potentiels et essayer de la prendre en compte quand même — vous en remettez une couche.

Il me semble que le comportement idéal sur un forum d’entraide, ce serait d’être gentils et de laisser le bénéfice du doute même aux Bac+5 légèrement demeurés comme TumulteClacissisme, et que le comportement souhaitable serait d’être capable de prendre un peu de recul quand on vous fait directement une remarque à ce sujet.

+1 -1

Oo Je suis pas sûr que c’est ce que tu voulais dire

C’est exactement ce qu’il voulait dire, gasche a une capacité à troller plus ou moins subtilement tout le monde dans une conversation tout en se donnant la position de supériorité morale. Je sais pas si c’est toujours voulu, mais dans certains cas c’est particulièrement brillant. Typiquement là :

Le reste contient quelques informations sur le format MIDI noyées au milieu de commentaires paternalistes qui en rendent la lecture pénible.

Personne n’arrivera à me faire croire qu’il n’avait pas conscience d’écrire le plus gros pâté paternaliste de la discussion au passage.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte