Está en la página 1de 3

Guia basica Melanchall.

DryWetMidi

La biblioteca Melanchall.DryWetMidi es una herramienta en C# para


trabajar con archivos MIDI. Permite crear, leer, editar y escribir archivos
MIDI de una manera sencilla. A continuación, te proporciono una guía
básica de uso de Melanchall.DryWetMidi:

1. **Instalación de Melanchall.DryWetMidi**:

Para empezar a utilizar esta biblioteca, necesitas agregarla a tu


proyecto. Puedes hacerlo a través de NuGet Package Manager en
Visual Studio. Busca "Melanchall.DryWetMidi" y agrega la última versión
disponible.

2. **Creación de un archivo MIDI**:

Para crear un nuevo archivo MIDI, puedes usar el siguiente código:

```csharp
var midiFile = new MidiFile();
```

Esto creará un archivo MIDI vacío que puedes llenar con eventos
MIDI.

3. **Agregar pistas y eventos**:

Puedes agregar pistas al archivo MIDI y luego añadir eventos a esas


pistas. Aquí hay un ejemplo de cómo agregar una pista y algunos
eventos:

```csharp
var trackChunk = new TrackChunk();
midiFile.Chunks.Add(trackChunk);

// Agregar eventos MIDI a la pista


trackChunk.Events.Add(new NoteOnEvent(0, 60, 80));
trackChunk.Events.Add(new NoteOffEvent(480, 60, 0));
```

En este ejemplo, se agrega una pista al archivo MIDI y luego se


agregan eventos de nota (NoteOn y NoteOff) a la pista.

4. **Guardar y cargar archivos MIDI**:

Para guardar el archivo MIDI en disco, puedes usar el siguiente


código:

```csharp
midiFile.Write("mi_archivo.mid");
```

Para cargar un archivo MIDI existente:

```csharp
var loadedMidiFile = MidiFile.Read("mi_archivo.mid");
```

5. **Recorrer eventos MIDI**:

Puedes recorrer y trabajar con los eventos MIDI en un archivo. Aquí


hay un ejemplo de cómo recorrer los eventos en una pista:

```csharp
foreach (var trackChunk in midiFile.GetTrackChunks())
{
foreach (var midiEvent in trackChunk.Events)
{
if (midiEvent is NoteEvent noteEvent)
{
// Trabajar con eventos de nota
int noteNumber = noteEvent.NoteNumber;
int velocity = noteEvent.Velocity;
// ...
}
// Agregar más casos para otros tipos de eventos MIDI si es
necesario
}
}
```

6. **Editar eventos MIDI**:

Puedes editar eventos MIDI existentes o crear nuevos eventos y


agregarlos a una pista.

7. **Otras operaciones**:

La biblioteca ofrece una variedad de operaciones para manipular


archivos MIDI, como cambio de velocidad, transposición, cambio de
tempo, entre otras.

Estas son las operaciones básicas para trabajar con la biblioteca


Melanchall.DryWetMidi en C#. Puedes encontrar documentación
detallada en línea para obtener más información sobre las
características avanzadas y cómo trabajar con eventos MIDI
específicos.

También podría gustarte