Better audio quality for MIDI events?

Started by
1 comment, last by hanzpetr 13 years, 7 months ago
I'm working on a project (windows, c++) where I am processing MIDI events. Now I am looking for a way to increase the audio quality.

Is there a library that accepts MIDI information as input and that uses, for example, soundfonts as output?

If not, which libaries could I use to develop something like this myself?

Advertisement
Between MIDI events and "audio quality", there is a synthesizer; the usual approach is sending MIDI events from your application to an external synthesizer through the system's MIDI drivers, usually a loopback one (e.g. Maple, freeware) piping MIDI data to another program.
Simple synth choices for this approach include Synthfont, which works with soundfonts, Timidity++, which works with GUS patches, and Hermann Seib's SAVIHost running your choice of VST plugins.
There are also the built-in MIDI synthesizer in Windows, which tends to suck, and drivers for actual MIDI peripherals, which users tend to not have.

If you want a built-in synthesizer instead, maybe you can embed FluidSynth (SoundFont-based) or make your application a VST host to use arbitrary ready-made plugins.

Omae Wa Mou Shindeiru

After looking for synthfont and timidity++ I'm not sure how I could use them for my project.

For synthfont there is no source code available.

Regarding timidity++: there list of features that includes "reading midi files". But I retrieve the MIDI information from a different source. Assuming it is possible to just send this information to some kind of "timidity system" this is what I want to do in pseudo code:

Timidity tim;
int channel = 1; int note = 60; int velocity = 100;

tim.sendNoteOn(channel, note, velocity);

Sleep(2000);

tim.sendNoteOff(channel, note, velocity);

This topic is closed to new replies.

Advertisement