Domanda

ho iniziato un piccolo progetto che comprende lavorare con i file MIDI. Mi chiedevo, c'è qualche C # o VB.Net che peforms quel cast tra i file MIDI e WAV?

È stato utile?

Soluzione

Si potrebbe provare a interfacciarsi in qualche modo con Timidezza , che è Open Source:

  

TiMidity ++ è un sintetizzatore software. E 'possibile riprodurre file MIDI convertendoli in PCM dati di forma d'onda; dargli un dati MIDI con file di dati strumento digitale, poi li sintetizza in tempo reale, e gioca. Può non solo riprodurre suoni, ma anche in grado di salvare le forme d'onda generate in dischi rigidi come vari formati di file audio.

FluidSynth è un progetto Open Source più aggiornato di recente in un modo simile:

  

FluidSynth è un sintetizzatore software real-time basato sul SoundFont 2 specifiche.

È possibile scaricare alcuni SoundFonts liberi (i dati PCM effettivi utilizzati da questi sintetizzatori a "rendere" i file MIDI) dai siti su questa lista .

Altri suggerimenti

file MIDI contengono solo note e informazioni del controller, non suoni. Al fine di ottenere i suoni da un file MIDI, è necessario passare il file attraverso un sintetizzatore musicale o un campionatore, che convertirà la nota informativa e di controllo in suoni attuali.

In pratica questo significa che un dato file MIDI non ha un suono specifico ad esso. Il suono che risulta dalla conversione di un file MIDI in audio varia a seconda della qualità della biblioteca sintetizzatore o campione, ed i suoni che vengono selezionati per eseguire la conversione.

Molte schede audio hanno la capacità di produrre suono da file MIDI. Possono fare questo perché molti file MIDI seguono uno standard chiamato specifica General MIDI . Il General MIDI specifica fornisce un modo standardizzato per mappare le assegnazioni di strumenti specifici. Se il file MIDI è conforme a questo standard, si può giocare attraverso un generatore di suoni General MIDI e si aspettano un rullante a suonare come un rullante, e non come una tromba.

Se si dispone di un sofisticato pacchetto di produzione musicale come Cakewalk , è possibile caricare un file MIDI in esso, e utilizzerà le sue librerie di suoni a bordo per rendere un file audio per voi, e questo può effettivamente essere fatto più velocemente che in tempo reale (cioè non deve riprodurre il suono attraverso il suono carta e catturare l'output).

Credo che quello che sto cercando di dire è che c'è un sacco di parti in movimento a questo. Non c'è un singolo pezzo di codice o un modulo di classe che lo farà per voi.

Ci sono una serie di programmi che si possono acquistare che farà questo (google "convertire MIDI in WAV"), ma non ho mai incontrato pubblicamente disponibili-NET che fa questo (penso che alcuni di questi programmi sono scritto in .Net, ma il codice sorgente non è disponibile).

Ho un amico in linea che sta lavorando su un convertitore commerciale MIDI-to-WAV, ma non è in .Net e non sarà open source. Come detto Robert Harvey, questo non è un compito semplice a tutti, in quanto si tratta fondamentalmente scrivere il proprio sintetizzatore software (un compito secondo il mio cuore).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top