2

I'm starting program that will work with music files, mostly MIDI.

I heard about the ChucK programming language, and even found a free course about it, and I think it fits my needs.
I will have to use SoundFonts to customize and enhance the MIDI files. is ChucK still the right choice? Does it support SoundFonts? Will it be possible to use SFs in cooperation with ChucK?

Matthieu Brucher
  • 21,634
  • 7
  • 38
  • 62
Shimmy Weitzhandler
  • 101,809
  • 122
  • 424
  • 632

1 Answers1

2

ChucK seems to support sending MIDI data.

As far as I understand, you dont want to modify SoundFonts, but just use them to play MIDI data, that you create or modify in your application ?

Here are the links for two MIDI drivers, that use the Soundfont-based software synthesizer inside the BASS Audio Libray:

1) CoolSoft VirtualMidiSynth

2) BASSMIDI

Using the MIDI functions from WinMM.dll (MSDN) through ChucK's layer on top of it, you can play your MIDI data with SoundFonts.

Shimmy Weitzhandler
  • 101,809
  • 122
  • 424
  • 632
MillKa
  • 413
  • 4
  • 10
  • Yes, basically, I just need to play using SFs, editing and manipulating them can be done externally. Anyway those software you recommended are to be a virtual MIDI driver that will allow plugging of SFs? How does it work? – Shimmy Weitzhandler Oct 20 '13 at 06:55
  • If I understand well, what you're saying is that the MIDI generation (i.e. what's happening in the ChucK level) has nothing to do with its playback which is then sent to a different SFs-enabled port, is that correct? – Shimmy Weitzhandler Oct 20 '13 at 06:57
  • Looks like I'll go for the BASSMIDI option. Thanks for your answer. – Shimmy Weitzhandler Oct 20 '13 at 06:58
  • Q1: Yes, its a software-only replacement of the hardware wavetable/SoundFont synthesizer on earlier soundcards. – MillKa Oct 20 '13 at 08:04
  • Q2: Yes, sound generation and generation of MIDI data is completely seperated. – MillKa Oct 20 '13 at 08:06
  • 1
    CoolSoft VirtualMidiSynth has a nicer UI, just one port, and is closed source. BassMidi has two ports and is open source. Sound generation should be identical, since both are 'just' driver frontends for the BASS library, which contains the actual synthesizer that transform midi data to audio data. On my machine, BassMidi sometimes swallows some notes, VirtualMidiSynth doesnt. You can install both side by side. The BassMidi developers also have a similar driver, which uses VST instruments instead of SoundFonts. – MillKa Oct 20 '13 at 08:11