Skip to main content

General MIDI sounds

Posted

 

I am a Synfire newbie and a somewhat unlikely user. I can't read music and I don't know music theory and I really can't play any instruments. :D

So why did I buy Synfire? Well, mainly because of my insatiable musical curiosity, and learning the program will be an interesting challenge and hopefully quite entertaining. Some people buy lots of clothes and shoes, go on holiday to foreign countries, go to restaurants, smoke, eat lots of candy, spend a fortune on their appearance, and spend countless hours playing computer games. Not me, instead I buy and explore music software. No pressure, no purpose, no context. Just for fun. ;)

 

The first thing I wanted to do in Synfire was to create a set of general MIDI sounds that could be used as a starting point for learning the program. This turned out to be more complicated than I expected.

 

The Mac version unfortunately uses Apple's horrible built in QT Synth for the basic set of GM sounds. It can easily be replaced by the DLS synth which sounds a little better, but far from good.

 

After googling General MIDI I learned that it is "out of fashion" and that I should not have given away my old Yamaha TG-100 GM module :) I also realized that SoundFonts could provide a possible solution. SoundFonts are relatively inexpensive or even free and many are built to comply with the General MIDI standard. It turned out to be quite difficult to find a SoundFont player for Mac, and the only one I found, bs-16, is made by a guy in Japan, unfortunately it is not free ($50). There is a demo version of the plugin that is fully functional but occasionally introduces some noise and I noticed that the sound level is very low although several SoundFonts sound quite good. The developer does not reply to e-mail so I don't know if the sound level issue can be fixed.

He appears to be totally busy with his new version for iPhone/iPad, bs-16i, which is now available in the App Store. bs-16 is available for Mac and PC but only in a 32-bit version and it hasn't been updated for a while. Maybe that developer has stopped supporting it?

 

Plan B was to use Native Instruments Kontakt. I built a bank of all the 128 General MIDI sounds, placed it on 15 channels, added drums on channel 10, and saved this as a multi. The bank was 950 MB but Kontakt is smart and stores only the bank on channel 1 in it's memory, the other channels are just copies and use 0 MB. But when the multi is loaded into Synfire it causes Engine 64 to gobble up roughly 6.5 GB of memory. The solution still appears to work fine and all the instruments play without any obvious problems and it sounds pretty good. So far so good, but when I close Synfire and open it again the settings in Kontakt are gone. I tried "Save Rack & Setup" but this doesn't work either, nothing is saved. There seems to be a limit to how much information/data can be saved in a rack or that Synfire can save automatically when quitting. Maybe there is also a limit on how much memory Engine 64 can use "comfortably"? If I create a "mini multi" in Kontakt with only 4 or 5 channels each with a "mini bank" with some 70 instruments (600 MB) plus drums on channel 10 it can be saved as a rack and it will also be saved automatically when quitting Synfire. But if I add one more channel saving stops working.

Is this a bug or a deliberate limitation?

 

I suppose it is possible to split the GM sounds between two instruments (on different ports or connectors?). That way Kontakt could play the important and most common ones and the DLS synth can work as "backup" for invaluable instruments like "Orchestra hit",  "Helicopter" and "BirdTweet". :)

If so, is there a reasonably simple way of doing this?

 

There is another slightly more remote possibility: SFZ files. If one could find a GM SFZ file it could be loaded in the free and useful Alchemy Player, but I haven't found such a file yet. A big advantage with Alchemy Player is that it is up to date and developed by a "real" company (in contrast to bs-16) and will probably be around for many years. Mac: VST/AU/RTAS 32-bit or 64-bit and PC VST/RTAS 32-bit or 64-bit. Maybe one could create an SFZ file from scratch (in Constructor(Mac/PC) or sfZed(PC-free)) or convert a SoundFont (or a Kontakt, AKAI, GigaStudio) file by using Extreme Sample Converter (PC) or Translator (Mac/PC). There are several possibilities here, but all of them are complicated.

 

Kontakt can import and convert SoundFonts but the problem is that the resulting files will be pretty big (if the SoundFont is good) so they still probably cannot be saved in Synfire due to it's limitations.

 

Maybe not the greatest alternative, but there is a product made by Vir2 Instruments called VI.ONE. It has a huge 21GB sound library and according to the Vir2 website it is General MIDI compatible. In the manual, however, it says: "The entire [General MIDI] bank totals only 32MB in size, so is very quick to load and is intended for quick MIDI mockups" in other words probably not that impressive. MSRP in the US is $199 but some online stores sell it for $99. VI.ONE ships with Kontakt Player.

 

Although users will use their favorite plugins most of the time, I believe that Synfire should ship with a basic set of decent sounds, good enough for learning the program without too much psychological suffering and good enough for quick music "sketching".

 

Is there another way of doing this?

Has anybody else experimented with this?

Do you think it is a waste of time?

I haven't found much information regarding this in the manual and maybe I am totally off the track.

An appropriate warning: I sometimes manage to make the simplest things seem monumentally complicated!! :)

 

 


Fri, 2012-08-17 - 09:37 Permalink

Don't expect to much from a general purpose library that has to serve 127 sounds at a time. Given todays sample rates and number of velocity layers, this adds up to several GB of RAM at least.

Do you think it is a waste of time?

In a way, yes. More so a waste of RAM. 

Synfire does not require the use of GM (I would rather get rid of this keyword anyway). It is able to find a "12 String Guitar" regardless how and where it is hosted. If there is none, it will resort to an acoustic guitar, then any kind of guitar, and so on. So why bother with a GM sound module?

Go setup a rack of 16 to 32 sounds you most frequently use for any type of composition. Be sure they are categorized properly, or the above "magic" won't work. You can setup any plug-in and sounds for every new project individually (using the instrument inspector). You are never limited to the shared rack. It is merely a resource of /default/ sounds.

 

Next version 1.6 will use the DLSMusicDevice AudioUnit as the initial default sound source on OS X 10.7 and later. Still not perfect, but this will at least fix the low volume issue. 

There seems to be a limit to how much information/data can be saved in a rack or that Synfire can save automatically when quitting.

 

No such limits, but there may be a bug with handling huge amounts of preset data. How big is the file when you save it from within Kontakt?

 

Fri, 2012-08-17 - 09:45 Permalink

Not me, instead I buy and explore music software. No pressure, no purpose, no context. Just for fun. Image removed.

 

Hi,

Yes, always for fun try to compose  is a good thing
Unfortanely there are some frustrating aspects  of Synfire Pro for me , but who knows it will be improved. 

There is enough to explore/experiment in Synfire Pro and working with symbols for that you don't need to read notes
It is unavoidly ( i think) that you have to learn music theory, because it is necessary in SFP

Take the subject of scales and chords ..it is present in SFP 
@Mark Styles on this forum nows more about a GM soundmodule for mac ..he is a expert in this field

Fri, 2012-08-17 - 11:21 Permalink

Don't expect to much from a general purpose library that has to serve 127 sounds at a time. Given todays sample rates and number of velocity layers, this adds up to several GB of RAM at least.

 

Yes, you are absolutely right. It all started out as a way to save time but turned out to be the exact opposite.  But now I know a lot of things I didn't know before. :)

 

Synfire does not require the use of GM (I would rather get rid of this keyword anyway). It is able to find a "12 String Guitar" regardless how and where it is hosted. If there is none, it will resort to an acoustic guitar, then any kind of guitar, and so on. So why bother with a GM sound module?

 

Yes, I keep forgetting about this wonderful feature. 

 

No such limits, but there may be a bug with handling huge amounts of preset data. How big is the file when you save it from within Kontakt?

 

When saving the multi as "Samples and Patches" the folder size will be a whopping 2,3 GB!!! And if I try saving it as a monolith file Kontakt says: "Cannot save as monolith - total file size too big". So this is a dead end. I will drop it, listen to your advice, study the manual, and find a better solution.

 

 

 

Fri, 2012-08-17 - 13:15 Permalink

Here's a device description for the free Kontakt 5 Factory Library you can download from the NI website. And a rack too.

Wonderful! Thanks!