10
votes

Python: MIDI to Audio Stream

J'ai besoin de convertir / synthétiser des données MIDI sur des données PCM de flux audio. Quel serait un moyen facile de le faire?


6 commentaires

is.gd/igp4m - J'ai vu tant de questions sur la conversion de MIDI en Audio, j'ai dû écrire ceci . Veuillez prendre le temps de le lire si vous envisagez d'écrire un système logiciel qui doit le faire.


@Nik: Je sais sûrement tout cela (et je pense que la plupart des gens font comme il est juste logique). Selon vous, que serait un mot meilleur au lieu de "convertir" ici?


J'utiliserais le mot "synthétiser". ;) Désolé, je ne voulais pas sembler condescendant; Il semble juste que cette question se pose beaucoup de personnes qui sous-estiment la difficulté de faire cette tâche.


Éventuellement "rendre". Bien que le lien ci-dessus soit mort.


@Nikreiman J'aimerais lire ce que vous avez écrit sur "Audio à MIDI", mais le lien (is.gd/igp4m) est mort. Pourriez-vous poster un permalien?


@samboosalis ouais, j'ai migré des domaines quelque temps en arrière. Le nouveau lien est ici: Mergeconflic.net/2010 /12/just-for-record-you-dont-converver.h tml


3 Réponses :


3
votes

Prenez votre choix sur ce que vous voulez faire, il y a une section MIDI sur la page .


6 commentaires

Il semble qu'aucune des libs MIDI qui ne soit énumérée là-bas ne puisse faire ce que j'ai demandé. Ou ai-je manqué un?


Je ne suis pas au courant d'une réponse spécifique à votre question, mais fait un coup d'œil sur les bibliothèques dans le lien, peut-être qu'ils servent votre objectif. Si vous connaissez une commande / logiciel externe pouvant le faire pour vous, alors sous-processus peut aider.


@Albert: Presque tous les outils MIDI dans "Jouer et créer le son" peuvent le gérer.


@Ignacio: Je ne vois pas vraiment comment ils soutiennent cela. Peux-tu expliquer?


Vous ne voyez pas comment "... peut être utilisé pour jouer audio lui-même, ou vous pouvez appeler une fonction qui renvoie des morceaux de données audio ..." soutient cela? Vraiment?


Je pense que mon problème était que je n'ai pas réalisé que la chose que je veux s'appelle "synthétiseur".



0
votes

Utilise Jython une option? Je pense que les classes Javax.sound.Midi géreraient cela.


0 commentaires

2
votes

J'ai décidé de coder le mien (basé sur la timidité et la sous-processus). Le code peut être vu ici: https://github.com/albertz/learn-midi/blob/master /decode.py

J'ai téléchargé un binaire de Prebuild de timidty pour MacOSX ici: http://www.mmerenbach.com/software/ports/timidity

Et j'ai installé le paquet FreePats d'ici: http://freepats.zenvoid.org/


0 commentaires