2013-05-07 3 views
2

J'utilise NAudio pour lire des fichiers MIDI dans mon projet .NET.Mapper les notes MIDI aux fichiers wave?

Je veux jouer quelques pistes MIDI (boucles de batterie en particulier) de sorte que chaque carte son à un certain fichier wav ou mp3. Est-ce possible?

Je suis nouveau dans le développement MIDI, je viens d'entendre l'idée de SoundFont s, est-ce que je cherche peut-être?

Est-ce que quelqu'un a déjà essayé ça?

Mise à jour
Ce n'est pas que je dépose les vagues présentes, je déteste le son de l'appareil MIDI par défaut sur l'ordinateur. Peut-être que j'ai juste besoin d'une meilleure carte son, ou peut-être il y a un périphérique MIDI virtuel qui a des tonalités professionnelles.

Mise à jour
Après avoir lu SoundFont, je suis presque sûr que ce soit la solution que je cherche. La question est de savoir comment l'utiliser avec NAudio.

Répondre

1

Pour ce faire, vous aurez besoin d'un synthétiseur logiciel, qui peut convertir des notes MIDI en audio PCM. Certains synthétiseurs logiciels utilisent des soundfonts comme vous le mentionnez, d'autres utilisent des échantillons et d'autres génèrent des sons à l'aide d'oscillateurs ou de modélisation physique. NAudio n'inclut pas de synthétiseur logiciel, et construire un n'est pas du tout une tâche triviale (nécessite la connaissance des filtres, rééchantillonnage, oscillateurs, DSP, etc.). Vous pourriez trouver que la meilleure approche consiste à utiliser NAudio en combinaison avec VST.net. Cela vous permettra de charger n'importe quel instrument logiciel VST (dont there are thousands, à la fois commerical et gratuit), de passer votre MIDI dans cela, et d'utiliser NAudio pour écrire le son résultant dans un fichier. Cela dit, si vous n'avez besoin que d'un simple séquenceur de batterie, la démo de NAudio WPF inclut un exemple de reproduction d'échantillons de batterie.

+0

Salut Mark et merci pour votre réponse aimable. La réponse est que j'ai besoin de plus qu'une simple boucle de batterie. J'ai vu la démo de WPF, mais je me concentre aussi sur d'autres pistes qui devront être belles. Les tonalités MIDI par défaut sont simplement inacceptables. Existe-t-il un moyen de «simuler» un appareil MIDI? Je suis assez nouveau pour la programmation audio, j'avais l'habitude de traiter des messages MIDI auparavant, mais pas avec sf2/sampling. Toute ressource supplémentaire sera appréciée. Pouvez-vous nous parler un peu de la relation potentielle entre NAudio et VST.NET (que je n'ai jamais traitée), ou de tout conseil pour me lancer? – Shimmy

+0

truquer un périphérique MIDI n'est malheureusement pas simple. Vous pouvez acheter des "câbles MIDI virtuels" vous permettant de connecter deux applications ensemble. Cela vous permettrait de jouer du son dans une DAW. Mais pour être honnête, il pourrait être plus facile de trouver une DAW qui peut être scriptée pour transformer le MIDI en WAV (REAPER peut être une bonne option à essayer). –

+0

Et qu'en est-il de la solution VST.NET que vous avez proposée? N'existe-t-il pas un moyen de diffuser le MIDI via un sampler de sorte que la sortie (que ce soit wav) soit diffusée en utilisant des SFs? – Shimmy

Questions connexes