Sign in to follow this  

Better audio quality for MIDI events?

This topic is 2660 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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);

Share this post


Link to post
Share on other sites

This topic is 2660 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this