2010-02-23 6 views
4

J'ai environ 80 compositions écrites en MIDI et je veux les convertir en WAVE en utilisant une bibliothèque de sons. Ils peuvent donc être lus sur tous les ordinateurs et avoir le même son. Y a-t-il une bibliothèque qui peut automatiser cela?Besoin d'une bibliothèque qui génère WAVE à partir de Midi

De préférence en C#, mais d'autres langages de programmation conviennent également.

+0

J'ai vu tellement de questions de ce genre que je me suis senti obligé d'écrire sur cette question exacte: http://is.gd/igp4m S'il vous plaît prenez le temps de le lire si vous envisagez d'écrire un logiciel qui doit fais ça. –

Répondre

3

C'est ce qu'on appelle un Soft Synth, vous aurez également besoin d'un ensemble d'échantillons d'instruments si vous voulez qu'ils soient identiques sur toutes les machines.

Vous constaterez peut-être que vous économiserez de la mémoire si vous les convertissez tous en fichiers wave et envoyez les fichiers wave. Un jeu d'instruments de haute qualité peut être assez volumineux et la plupart d'entre eux sont protégés par des droits d'auteur.

3

J'ai utilisé Timidity pour ce faire, mais cela a été fait il y a de nombreuses années, et sur Linux.

+1

Fonctionne toujours - le moyen le plus simple est d'utiliser Timidity pour convertir MIDI -> WAV, puis par ex. 'ffmpeg' ou' lame' pour convertir WAV -> MP3. http://www.ehow.com/how_5114457_convert-midi-mp-ubuntu.html – Piskvor

0

Si elles sont des arrangements midi statiques vous pouvez utiliser un DAW avec certains plugins de synthé doux (par exemple http://www.cockos.com/reaper/ Cubase, etc et seulement l'offre wavs \ mp3s avec votre application ...?

0

de PistonSofts Direct MIDI to MP3 Converter. Je ne pense pas que c'est une bibliothèque en soi, mais il dispose d'une interface de ligne de commande.

0

Vous pouvez utiliser ffmpeg pour gérer les conversions des deux films et audio, y compris je crois MIDI Wave. http://ffmpeg.arrozcru.org/wiki/index.php?title=Links a une base informations sur le processus, mais fondamentalement une fois installé, vous pouvez simplement exécuter le processus de ligne de commande dans un fil de processus en arrière-plan et soulever un événement une fois com complète.

http://code.google.com/p/ffmpeg-sharp/ est un wrapper construit pour FFMPEG et .net framework. Je suis sûr qu'il y en a probablement plus

+0

http://www.ffmpeg-csharp.com/ Un autre exemple de wrapper. Google-ing peut en trouver plusieurs différents –

+0

ffmpeg peut convertir beaucoup de choses, mais pas MIDI, désolé - c'est une façon complètement différente de représenter la musique (comme les notes jouées par les instruments) que les formats sonores habituels (comme les ondes sonores - c'est ce que supporte ffmpeg). (Vous * pourriez * utiliser un syntethiseur MIDI logiciel (tel que Timidity) pour créer un fichier audio à partir d'un fichier MIDI, et * puis * convertir ce fichier intermédiaire en MP3 en utilisant ffmpeg) – Piskvor

2

Réponse rapide - jetez un oeil à FluidSynth. C'est un synthétiseur logiciel qui utilise des banques de sons au format SoundFont. Il a aussi sa bibliothèque qui pourrait être utilisée pour "rendre" le fichier MIDI.

Une banque avec un ensemble de sons General MIDI se trouve par exemple sur http://www.hammersound.com, par exemple http://www.hammersound.com/cgi-bin/soundlink.pl?action=view_download_page;ID=407;SoundFont_Location_Selected=Download;SoundFont_Filename_Selected=http://www.jchyun.com/~sonic/sf2/hubbe/Hubbe64%20GM%20v2.50.zip.

Vous pouvez le faire d'une autre manière - vous pouvez simplement les lire sur votre appareil, démarrer un logiciel d'enregistrement sonore, régler l'entrée sur «ce que vous entendez», l'enregistrer et ensuite le couper.

Une réponse plus longue - La question est, quels sont vos besoins et le but de cette procédure?

Si vous préférez même son des fichiers MIDI sur des ordinateurs différents, vous avez les options suivantes:

  • Utilisez simplement MIDI. Les sons MIDI sont standardisés, bien qu'il puisse y avoir des différences avec les échantillons de votre carte son. Avez-vous de bons sons spéciaux, que vous voulez utiliser?
  • Utilisez une carte qui prend en charge SoundFonts - comme SoundBlaster AWE 32 et supérieur, réglez l'entrée d'enregistrement sur "ce que vous entendez" et enregistrez les sons.
  • Convertir des fichiers MIDI dans un format de suivi. Ce format enregistre les notes en MIDI mais permet également d'enregistrer des échantillons sonores dans un fichier. Bien que la conversion prendra une certaine quantité de travail. Les fichiers de module contiennent des motifs que l'on peut lire dans l'ordre demandé. Ce serait un exemple idéal pour les jeux où vous pourriez facilement boucler une chanson. L'avantage est le même son sur chaque ordinateur et de petite taille.Le désavantage peut être une perte de qualité, car les emplacements d'échantillons sont décalés de haut en bas pour créer différents tons. Si vous utilisez des instruments multi-échantillonnés, cela ne vous concernera pas. Si vous préférez cela, je vous suggère de regarder sur les formats IT (ImpulseTracker) et mo3. Comme éditeur de tracker OpenMPT peut être utilisé. Il permet également l'importation et l'exportation de fichiers MIDI. Pour la lecture de ces fichiers, vous pouvez utiliser la bibliothèque MikMod ou la bibliothèque FMOD (commerciale).
  • Utiliser un synthétiseur logiciel utilisant des banques de sons. L'exemple d'un tel synthétiseur est FluidSynth. Si cette musique doit être intégrée dans un programme, cela pourrait être une bonne alternative.
  • Utilisez un module de son MIDI externe, tel que Roland SonicCell ou tout autre bon clavier comme mon Korg M50 préféré, branchez la sortie de ce module dans votre carte son, réglez la liste de lecture dans un lecteur MIDI, choisissez cet appareil entrée sonore, enregistrement et coupe.

P.S. Désolé pour aucun lien, comme je suis nouveau ici, seulement deux liens peuvent être dans ma réponse.

Questions connexes