Voxkit

Voxkit 2.0 from Secret Base Design

Voxkit is available in the iTunes store.

Voxkit is a unique musical instrument; while at first glance, it might look like a drum machine, there are some features that you might not expect. A key feature that makes Voxkit different from everything else is the ability to trigger notes from sound -- play with drum sticks on a practice pad, tap a pencil on a desk, clap your hands, or even beatbox. How this work, and why it's awesome -- we'll explain that below....
The Interface at a Glance

On the screen are four rows, with four pads each. Each pad has a playing card on it, to help you keep track of what's where. A touch on a pad will trigger a note -- a drum sample, a piano chord, and so on. Voxkit supports four different instruments at a time. Each row is a different instrument.

Touch towards the top of the pad for a low velocity note, and towards the bottom for high velocity. Adjusting where you touch will let you play expressively.

Each row can use a different SoundFont sound, or send notes to a MIDI destination. Voxkit contains an excellent SoundFont collection from S. Christian Collins, and you can add your own SoundFonts using iTunes file sharing, or the "open in" feature of apps such as DropBox.

When Voxkit first starts up, try playing the pads to get a feel for how things work. You can tap, and play backing chords, a bass line, and drums, all from one screen.

Configuration

The Voxkit interface can be configured extensively. All configuration is performed by toggling on or off the configuration mode, using the gear button in the lower right of the screen. In configuration mode, tap on something you'd like to configure, and a dialog screen will appear. To dismiss a dialog, tap anywhere outside. Once you're done with configuration, tap the gear button again to exit configuration mode.

Configuring Different Sounds

To change the sounds generated for a row, touch the configuration "gear" button, and then touch the circular "suit" button. This will open a dialog in which you can select the SoundFont and SoundFont patch.

To change the sounds, select a SoundFont (if you have installed more than one), and then select the individual sounds. With the included SoundFont, a wide range of instruments are listed first, with drum sets listed at the very end. The drum sets (Standard Drums, Power Drums, 808/909) contain a variety of different samples, with each sample being assigned to a single MIDI note.

Configuring MIDI

From the same dialog where you configure SoundFonts, you can select the MIDI tab, and select MIDI destinations. Voxkit supports CoreMIDI, Virtual MIDI, WiFi Network MIDI, and DSMIDI WiFi, and you can send MIDI to as many destinations as you like (and even transpose the notes).

Bluetooth MIDI

There's also built in support for Apollo MIDI Over Bluetooth, so that you can send MIDI to remote iOS devices or Mac OSX, using a low latency Bluetooth LE connection. Apple will be introducing MIDI over Bluetooth LE with iOS 8 and OSX Yosemite -- but you can take advantage of the speed of Bluetooth MIDI now using Voxkit and Apollo.

Configuring the Pads

With the configuration button toggled on, touch any of the pads. Each pad can be configured to trigger a single note (useful for drum sounds), a chord, or to send a MIDI control or program change message. Select the type of action you want the pad to have, and then select the appropriate values. You can test the pad by tapping it.

Presets

Voxkit can load and save configurations as preset files. You might want to use this feature on a song-by-song basis; configure some of the pads to play chords, a few more to play notes of a bass line, and one row for drum sounds. Or perhaps all of the pads are drums.
Because the pads can be configured with MIDI control and program change messages, you can even use Voxkit to change the presets on other synths, or to do things like toggle looping on and off in apps like Loopy or Genome.

The choice is up to you; you have sixteen pads to use as you like. And to switch easily, use the presets.

Tap the configuration button, and then select "presets" from the dialog. From there, you can select a preset to load, save the current configuration.

If you want to send a preset to a friend, you can send it by email. The iOS email client supports "open in" functionality for Voxkit presets.

And now.... Twitter

A feature you might not expect: you can share and import presets through Twitter. Tap the "twitter" button that is directly below "presets" to open the Twitter dialog.

Tap the search button to find Twitter messages that contain the hashtag voxkit, or that were sent to the Twitter Voxkit account. If you see a jumble of letters between colons, it's a Voxkit preset. Tap the import button, and the current pad configuration will be overwritten by the configuration in the tweet.

The sound assignments (for the SoundFont) are changed too -- this works best when the sounds are using the default SoundFont (we can't fit an entire SoundFont into 140 characters -- sorry!).

If you have a configuration that you like, and want to share it with the world, tap the "share" button, and a Twitter dialog will open.

Audiobus Preset Sharing

Voxkit supports Audiobus 2.1, including the preset sharing and storage functionality.

And now, a bit of magic... Playing with Sound

A unique feature of Voxkit is the ability to trigger pads with sound. Why use sound you ask? Good question.
Drummers normally play with drum sticks; the sticks move quickly, and by using the bounce of the stick off of the drum head, a drummer can keep time more easily, and make fine adjustments of the tempo. An iPad screen is something you should absolutely not use a drum stick on, and the screen doesn't provide any bounce -- so it's much harder to keep the beat. There are finger drummers who are good, and it's possible to play an iPad screen -- but it's not easy.

Voxkit was initially designed as an app to let a drummer play a beat, without needing an expensive electronic kit. Voxkit listens to sound, and when it hears a spike in volume, it can trigger a pad to play. If you've seen lights that turn on or off with a clap-- that's the basic idea, but taken to the extreme.

To make Voxkit responsive, the app listens to segments of sound that are about about six milliseconds long -- that's much shorter than a human can perceive, and also much shorter than it takes the iPad to recognize a touch on the screen.

Using this six milliseconds of sound, Voxkit performs a fast Fourier transform (a complex mathematical calculation) to determine the tone, which can then be used to trigger different notes. The maximum the app can handle is four different tones; if you were wondering why there are four columns, that's it.

Six milliseconds is not a lot of time; Voxkit is analyzing only the first fraction of a sound, and then making a best guess. The app will not be able to extract a drum track from a marching band going by, but it can determine between a drum stick hit on a practice pad, and two sticks being struck together.

Playing Voxkit with sound will require a bit of practice, and some testing to find sounds that can be distinguished easily. Try tapping a pen on a desk, a glass bottle, and a pad of paper. Try beat boxing. The fast Fourier transform is determining the component frequencies of a sound, and the more distinctive the very first fraction of a sound is, the better the app will perform.

To set up Voxkit for sound based triggering, you'll need to do the following.

Put on headphones. Because the app is listening to sound, if you trigger a note and it feeds back into the microphone, you'll wind up triggering another note (which you don't want). Also, you will need to play somewhere that's quiet -- if there's a lot of background noise, sound triggering will not work.
Turn on sound monitoring using the on/off toggle button next to the configuration button. When the button is green, Voxkit is listening for sound.
Configure a column to detect a sound. Turn on configuration, and then touch the gear icon on one of the columns at the top of the screen (above the pads). This will open a dialog which will allow you to train Voxkit to detect a sound. You'll need to make the sound three times.

Turn on sound detection for a column by tapping the microphone button. You can only turn on detection if the sound for the column has been configured. In the image below, note that the microphone for the "Jack" column is green; this indicates that this column can detect sound.

Finally toggle on sound detection for one or more rows, and this is done with configuration off. In the image above, note that "Hearts" row is illuminated green.
Start off by configuring a single column, and trying out triggering notes with sound. The left vertical slider controls how sensitive the app is to sound; slide up to make the volume threshold higher. The right vertical slider will control how loud a sound-triggered note is. Troubleshooting: make sure you have everything toggled correction to trigger pads with sound. You will need to have headphones plugged in (to prevent feedback), have the sound detection toggled on, one or more columns configured and enabled, and one or more rows toggled on. As you work with the app, you'll be able to add additional sounds, distinguishing two, three, and maybe even four different tones. Because the app uses sound, you'll find that you can get timing much more precise. If you have a drum part or a tricky rhythmic bass line, you'll find Voxkit to be a huge help.
Audiobus and Inter-App Audio

Voxkit supports Audiobus, and also Inter-App Audio. Each instrument is routed as an individual audio stream, allowing you to place effects on the streams you like, and record to separate tracks. Don't have Audiobus? Go get it. You'll thank us later.
Thanks!