SoundGrid 2: Creating and installing your own Sound Banks

September 27, 2009
This instruction is out of date, SoundGrid 3.0 includes Web Console for easier creation of new Instruments with your samples.

Many users asked me how to create sound banks and add them to SoundGrid after version 2.0 became available. And it’s actually my fault that I didn’t provide appropriate documentation in time. In this post I’ll describe anatomy of sound banks, how to create your own and how to add them to SoundGrid. Samples Format SoundGrid accepts samples in uncompressed wav/aiff formats, 44100 kHz sample rate, mono or stereo. Little-endian better but it’s not usually controllable by regular users. Sound Banks Sound bank contains (obviously) samples in said format. It can have unlimited number of samples inside but only 16 of them accessible on the grid at a time. To solve this problem sound bank can define some number of musical scales that determine what notes are accessible. For example, sound bank can include samples for all 12 pitches in several octaves and define C major scale among others which will project only corresponding pithes onto the grid. Same mechanism can be used for drums kits even ‘musical scale’ term isn’t appropriate in this case. Every sound bank has unique ID so that all other properties can be changed at any time without breaking existing projects. Sound Banks Server Sound banks server hosts number of sound banks and allows users to download and install them after configuring that server in the application. One official server is preconfigured for all users. How to create your own sound banks Later I will provide easy to use applications for Windows/Mac platforms that will simplify this process as much as possible. Until that the procedure may be somewhat complicated, I’m sorry and working on releasing these applications soon. To get started let’s take a look at one of available sound banks. Download and unpack it. You will see folder (or bundle on Mac, use Show Package Contents in context menu to get inside) Waterdrillo.bundle with number of audio files and one Info.plist file inside. Assuming you have your samples prepared in good format (btw, of course you can include less than 16 samples, then not all rows in the grid will produce sound) you can now delete these audio files and replace them with your samples. Then open Info.plist in any text editor (or property list editor on Mac if available). It’s actually an XML file that defines all properties of sound bank, replace them with appropriate information about your sound bank.
  • Title - name of your sound bank as it will be visible to users
  • Author - your name, email and so on
  • Descr - description, any text; currently not shown anywhere but will be in future
  • ID - unique ID, any short text
  • Type - type of audio samples, 'wav’ or 'if’, this corresponds to extension of audio files
  • DefaultScale - ID of default scale if several scales defined below
  • Scales - array of scales definitions. Five scales defined in example sound bank, you may remove some of them but one scale must always exist. Below is description of scale properties:
  • ID - unique (for this sound bank) ID
  • Name - name as it will be shown in scales list
  • Descr - description, currently usually list of note names (will be deprecated in 2.1)
  • Tones - space-separated list of names of corresponding audio files from lower to higher (without extension)
  • MIDINotes - space-separated list of corresponding note names for upcoming exporting to MIDI feature. Examples of correct notes are: C2, F#3, Ab1 and so on (even D#-1). To skip note (eg. if there’s no sample provided) enter - (minus sign). This property isn’t actually required but will ensure correct mapping when exporting to MIDI.
That’s all. After you places your samples inside and modified Info.plist file you can rename Waterdrillo.bundle to anything you like, compress entire folder to get Now, important moment. If you want to share your new sound bank with other users just send me resulting archive and I’ll upload it to official server for all users and first of all for you. If not, read the rest. Setting up sound banks server Sound banks server is just regular web server with compressed sound banks and one additional Info.plist file with brief information about hosted sound banks. So you need any web server to which you can upload files and then access from your iPhone / iPod Touch. On Mac you can use Web Sharing feature, on Windows I recommend using free HFS application. Create some folder and place all your sound banks inside. Then download example Info.plist (use Download Linked File or Save As in context menu) to that folder, open it in text editor and modify following properties:
  • ServerName - name of your server, will be visible in server list
  • SoundBanks - array of sound banks definitions, use provided definition of Waterdrillo sound bank as example, all properties have self-explanatory names (file sizes are in kilobytes). Don’t forget to change waterdrillo1 to ID of your sound bank.
When you finish editing server Info.plist just launch SoundGrid application go to 'Get More Sound Banks’ in Community section, click on plus button and enter address of your web server. Hope it will work! Again, sorry that it’s currently too complicated. Af you have any problems or questions always feel free to contact me, I’ll do my best to help you. Note that although you can share grids that make use of your private sound banks, other users won’t be able to play them correctly.