icon

Sruti Box

version 1.2.0

Dec 2, 2008
Introduction

This application simulates a sruti box. A sruti box (or shruti box) is a bellows-driven, harmonium-like instrument that provides a drone. It is used in Indian music and spiritual practices.

SrutiBox has 12 "reeds," which can be tuned in various ways. You play it by waving the iPhone — analogous to pumping the bellows of its real-world counterpart. There is a parameter that can be set so you don't have to "pump" it, but I find it adds to the authenticity in a subtle way.
SrutiBox provides a number of timbres suitable for droning.

SrutiBox is also an excellent way to play with the way chords fuse into timbres — which is why there's such a heavy emphasis on interval specification. You can get a feel for how certain timbres fit "naturally" in certain frequency ranges, how tunings and timbres and chords intertwine.

Experiment!

Interface:
To set the minimum or maximum values of sliders quickly, you can tap the icons: for minimum, for maximum. Tapping anywhere on a slider will set its value there quickly.

Tap the interface images below to get an explanation for the particular control, tap the image again to hide the explanation

Progress bar
At the top of the screen is a progress bar that shows the level of "air" that is driving the synthesis. Waving the iPhone (or iPod Touch) will add "air", and the Sruti Box will start to sound, if any of the reed volumes are turned up.
Top
The title area has several active buttons:
Base freq
All the reeds use this base frequency to tune the interval sets specified. The base frequency can be set to values between 10 Hz and 2067 Hz . You can easily change the base frequency to a new value by tapping it and typing it in. You can also type in a standard note name and it will take that as a base frequency. To specify sharps, you can use '#' or 's', and to specify flats, you can use 'b' or 'f', for example: bb (B flat), c# (C sharp), Df (D flat), Fs (F sharp). These "named note frequencies" are set in a low octave (based on A3 = 220.0 Hz) by default, so the higher harmonics can be used. For other octaves (1 through 4), you can type the octave as part of the name, for example, Bb2, C4, Ds1. Having no octave specified is the same as using octave 3 (E alone is E3). Low frequencies may be hard to hear; use larger intervals in the interval sets, or use richer timbres!
minimum volume
The Minimum Volume slider lets you insure that you will hear the sruti box at this volume, so you needn't wave the device so often.
SrutiBox treats the reeds differently with respect to volume: as the volume decreases, the higher numbered reeds will fade out faster. This way, you can set up a chord that keeps the lower numbered reeds sounding while the upper ones have faded out, and mix them back in as you pump harder. for example, you can get high pitched harmonics as you pump harder by putting the lower pitched intervals first in the set, or keep some high pitched sounds by putting them in lower numbered slots.
You may want to have SrutiBox playing all the reeds at their loudest, but nevertheless have it play more quietly in the headphones. For this, you can set the minimum volume to the maximum setting, and adjust the volume using the volume buttons on the side of the device!
Timbre
The Timbre button lets you select the reed timbres. Tapping the timbre's name brings up the timber picker:
timbrePicker
As you scroll through the timbres, the timbre will immediately adjust to the currently selected timbre. You can use it by tapping "Use" or go back to the previous one with "Cancel".
There are now a number of timbres to choose from, each with differing qualities.
Sines: these wave forms are made by raising a sine to successive odd powers, each time adding more harmonics.
  • Sine - a simple sine wave, no harmonics at all.
  • Sine3 - you can hear a fifth
  • Sine5 - you can hear a third
  • Sine7 - you can hear a seventh.
  • Sine9 - you can hear a ninth.
  • Sine11 - you can hear an eleventh.
Organ timbres: have a few higher harmonics, like an old electronic organ witha dfew draw bars pulled out.
  • Organ 1, harmonics 1, 2
  • Organ 2, harmonics 1, 2, 3, 4, 5
  • Organ 3, harmonics 1, 2, 3, 4, 5, 6, 7, 8
Weighted reeds: these have a number of harmonics directly multiplied by internally specified weights.
  • Harmonium 1, taken from the spectrum of a harmonium reed.
  • Harmonium 2, also taken from the spectrum of a harmonium reed. Good with low pitches!
Odd Harmonic reeds: This is a generated timbre with as many harmonics as possible.
  • Buzzy Organ, very buzzy. Odd with some light even harmonics.
Vocals: these are constructed by summing harmonics, which are scaled to the harmonic shape (formants) of the intended vowel, based on the pitches of the reeds. As a side effect, the waveform for each of the reeds differs, so each reed may sound quite different in a related way.
They sound most like the designated vowels ("Ah" and "U") in the proper pitch ranges for the "singers," but I don't constrain you from setting an inappropriate pitch for a singer.
  • All Ah, a combination of all the "Ah" vocal timbres, put into ranges.
  • Bass Ah
  • Tenor Ah
  • Alto Ah
  • Soprano Ah, very close in shape to Alto, with one high harmonic standing out.
  • All U, a combination of all the "U" vocal timbres, put into ranges.
  • Bass U
  • Tenor U
  • Alto U
  • Soprano U
Rand-Chorus-Churn

rand
The Rand button, adds a random amount of detuning to each reed. This can be used on any interval set. This detuning is in the range of an "eighth tone" (25 cents) sharp or flat from the original interval. This is reflected in the interval's label as, for example "+12¢". Repeatedly tapping the Interval set's button will make new detunings from that set. Tap the Rand button again to turn off this feature.
When saving a SrutiBox setting that has the random feature on, the fact of "randomness" is saved, but not the actual random interval offsets.


 

rand
Chorus is a modulator that slowly detunes the left and right channels from each other (they are also slightly mixed) to provide some "motion" in the sound. The speed of the chorus runs from 5 to nearly 60 seconds.
Setting the slider to its maximum value will turn the chorus off. To use the slowest speed, nudge it a bit to the left from the maximum value. Reeds set with a rich timbre or in a complex chord will reveal more "motion".


 

churn
When you touch the Churn button, the second set of twelve sliders appears:
curn-vols
Churn is a modulator that slowly interpolates one set of volume sliders to another set. The churn amount slider shares the same space as the chorus slider. The speed of the churn runs from 5 to nearly 60 seconds.
Setting the slider to its maximum value will turn the churn off. To use the slowest speed, nudge it a bit to the left from the maximum value. When it's turned off, only the left set of sliders is used as the volume sliders. Triple touch works the same on the two columns of sliders: they all will follow the slider you move. Double touch will let you set both volume sliders for a particular interval at the same time.

Scales
These are a series of buttons that choose the sets of intervals that the reeds are tuned to. I'm calling these "Interval Sets" as opposed to "scales", since they don't have to be related melodically - they can't easily be played melodically anyway. "Gamut" might be another term for them but I bet you are already confused enough! There are a great many philosophies about which intervals should be used to derive scales, and I've only chosen these to get a taste of the possibilities of microtonal scales and intervals in this context of drone accompaniment. To this end, the Harm, Sruti, Cust1 and Cust2 interval sets are customizable! See below for more details. This table displays the specifications for four interval sets, with more-or-less accepted names for the intervals and corresponding pitch ratios. I've also added the "cents" ( ¢ ) values of each interval below its name, one cent being 1/100th of a semitone, which is a way to compare interval sizes easily.
#Just*12etHarmSruti
11/1
0
I
0
1/1
0
sa
1/1
0
29/8
203.91
I#/IIb
100
2/1
386.31
ri
256/243
90.22
35/4
386.31
II
200
3/1
701.96
Ri
9/8
203.91
44/3
498.04
II#/IIIb
300
4/1
968.83
ga
32/27
294.13
53/2
701.96
III
400
5/1
1200.00
Ga
81/64
407.82
65/3
884.36
IV
500
6/1
1403.91
ma
4/3
498.04
715/8
1088.27
IV#/Vb
600
7/1
1586.31
Ma
729/512
611.73
82/1
1200.00
V
700
8/1
1751.32
pa
3/2
701.96
99/8'
1403.91
V#/VIb
800
9/1
1901.96
dha
128/81
792.18
105/4'
1586.31
VI
900
10/1
2040.53
Dha
27/16
905.87
113/2'
1901.96
VI#/VIIb
1000
11/1
2168.83
ni
16/9
996.09
122/1'
2400.00
VII
1100
12/1
2288.27
Ni
243/128
1109.78
* ' here means an octave (2/1 or 1200 cents) higher

 
The Sruti interval set is very close to 12 tone equal temperament, differing only by a few cents, which you may or may not hear depending on how experienced you are in listening to the differences. If you turn off the chorusing, you may be able to hear these differences if you switch from 12et to Sruti tunings with the volume sliders in the same positions. Do some searches on microtonality and Carnatic music for more details!

If you choose a standard note name for the Base Frequency (like "F#") and choose "12et" as the tuning, the labels will reflect that fact and label the scale with Western note names appropriate for that key. This is pretty helpful when you use SrutiBox as a tuning source for tuning other instruments!



The custom interval sets are designed to be set up by you! SrutiBox lets you customize the Harm, Sruti, Cust1 and Cust2 Interval sets. By tapping in the note name area, you can specify the interval you wish by either: You can get pretty creative here - since these numbers can even be "real" numbers, you can even make a "ratio" like 1.01/1 or "quarter-tones" in an equal temperament like 7.5:31.
Because of the low sample rate, I don't let any of these intervals resolve to a ratio larger than 32/1.
A Ratio will calculate a frequency that is the base frequency times that ratio, for example, with a base frequency of 110 Hz, 3/2 will become 165 Hz, 15/8 would be 206.25, etc. Cents are somewhat more complicated, but every hundred cents represents a 12 tone equally tempered halftone: 100 would be a tempered minor second, 400 a major third, 750 a quarter tone higher than a perfect fifth.
There are a lot of references you can find that translate historical, ethnic and experimental scale intervals into cents. The formula, for those with a calculator, is
frequency = base_frequency * 2 (cents/1200).
For the arbitrary equally tempered octave notation (a:b), the formula is a similar: frequency = base_frequency * 2 (degree/division)
And, you can label these tones more descriptively by putting the label after the numeric specification of the interval, separated by a space. e.g.
3/2 Just perfect fifth.
81/80 syntonic comma.
Don't make the labels too long (more than 16 characters) or they will be truncated.
You can keep the reed from sounding at all by typing "off" or "zero" as the interval setting.

Reed Volume
Each reed's volume can be individually set, to create a precise mix of intervals and harmonics. Here is where you can have a lot of fun exploring chord voicings and harmonic textures. You don't have to slide these (or any) sliders, just tap them where you want them to be set. The lowest and highest values have special icons to help you out. If you want to set all the volumes to the same value quickly, triple tap a slider which is set to that value. Since this also works for the "zero" level, it's a fast way to zero out the sound.
Just interval sets, like Harm and Just, are well suited to making chords which fuse into timbres.

 
Tips

More information can be found on the SrutiBox Web pages at: http://www.jhhl.net/iPhone/SrutiBox/. That website will carry the current, revised version of these instructions, as well as samples, tips and links.

Thank You!
  Henry Lowengard

© 2008 Henry Lowengard
Sruti box picture from http://www.kalakendar.com/
The formant data for the vocal timbres is taken from CSound.