home j h h l . n e t home

Ellipsynth 1.0

A very simple multitouch polyphonic granular synthesizer.
Ellipsynth 1.0 is now in the app store, and I hope to get in V1.01 in a timely fashion!
Ellipsynth Icon
Ellipsynth - Henry Lowengard
Ellipsynth is a polyphonic real-time granular synthesis instrument for iOS devices. Granular synthesis is a technique where sound is broken up into little pieces and played at different speeds. When this is applied to a recording, you can alter the speed at which it plays independently of its pitch. This is just one of many techniques for doing this, but it's fast, so Ellipsynth uses it to achieve real time polyphonic manipulation of sounds.
The way you play it is similar to another of my apps, synthicity itself, but a lot more sophisticated. Ellipsynth can play up to 32 voices simultaneously, depending on its sample rate and the speed of your device.
Audio and Video Examples

Control Panel
Ellipsynth controls key Here's an explanation of Ellipsynth's interface:

The main screen of the program is packed with goodies.

The pitch and speed control area is where you control the individual granular voices. Every touch on the screen either starts a new voice or alters an existing one. Each voice shows up as a colored ellipse, and the size of the ellipse corresponds to its amplitude.
The horizontal axis controls the pitch , and vertical axis controls the speed stretching amount.
The dark horizontal line is where the speed is zero, above it plays faster and below it plays backwards. Each dark line is a multiple of the natural speed, so you can play a sample at up to three times its speed forward, and 1 times the speed backward. The dark lines are integral multiples, while the white ones are integral divisions (like 1/2,1/3,1/4). [This may be configurable later.].
The vertical lines roughly follow the convention of harp strings: the red ones are octaves and the blue are fourths. The first red line you see means the pitch is not transposed at all, the next is an octave higher.

These controls are grouped together because they control audio sources for the most part.

The 'R' button records the output of Ellipsynth, saving it under the name Ellipsynth Recording. When done, it pastes it on the clipboard using Sonoma Wirework's Audio Copy and Paste (MAPI) API, and is available via the iTunes Documents interface. It's also available in the Ellipsynth Sound Library, which you can use via the "Omm" button.

The Microphone button lets you record a sound of your own to manipulate. It limits the recording to 20 seconds. It is then immediately available for manipulation. The recording is saved as "Microphone Recording" in the Ellipsynth Sound Library.

The "omm" button opens a list of sounds in the Ellipsynth Sound Library. It's named after the first sound in there, the "omm" mantra. This includes built-in presets, recordings, and whatever you have put in via the iTunes Documents interface. Sound files that you wish to use should be 16-bit mono or stereo wav or aiff files.

The Audio Copy and Paste lets you paste in audio via Sonoma Wireworks' Audio Copy And Paste from audio providing programs. You can copy in sounds from the clipboard (-> ...synth) , or paste in an Ellipsynth recording (Rec ->)or previous microphone take (Mic ->). You should also be able to launch other programs after you paste in a sound. Similarly, Ellipsynth can launch when it gets a request to paste in a sound from another program. Also, it's too ugly right now in Landscape mode,(especially on smaller devices) so don't try it that way: use portrait! I'll see if I can make it work, but it's not my code.

The Status Area is not only a kind of debug status message, telling the current audio computation time, how many voices are playing, out of a maximum number allowed in this polyphony, and the sample rate, but it's also a sustain toggle switch that I often keep on when I play with Ellipsynth. When the sustain is on, the text turns red. That keeps the voices from decaying.

Pitch Range
The Pitch Range control is that pink bar sitting under the play area. Touch to the left or right of the bar to change the range of pitches available, and you can reposition it by touching it in the middle. The left and right side give a sideways label of what interval the loop will be transposed by in hard-to-read signed Roman numerals with occasional music accidentals followed by an arabic numeral indicating the octave.Yes, three vastly different notation systems merged into one. I0 is the naturally playing pitch. For instance, the fifth below normal is V-1, a minor seventh two octaves up is VIIb 2. Don't worry, you can probably ignore them. The range of the entire bar, though, is from an octave below the loop's natural pitch (I-1, I call it), to four octaves above, I4. Those high pitches are pretty aliased, but useful if you are making a kind of instrument instead of just playing a sentence or something.

Power control The black-ringed white ellipse in the vertical controller on the right side controls the "impulse value", how much power is provided to the voices associated with the ellipses you touch. This is a way to change the amplitude of a voice even if it's being sustained. How fast it feeds into a voice depends on the attack level.

Play position control
The play position control shows where every voice is in its progress through the sample.
The wave form shown is the volume level of the current sample. You can catch and drag the ellipses that float by to resynch them relative to the sample and to each other.

Ellipse voice controls

The pitch lock button, locks and unlocks the relative pitches of the ellipses.

The Speed lock to frets button forces the stretching speed to integral amounts as indicated by the horizontal lines. : -1, 0, 1, 2, or 3 times the original speed, or 1/2, 1/3, 1/4 forward and backward.

The Speed lock to each other button will align all the voices with the first voice (the red ellipse). Now all the voices will stay in synch in terms of grain speed.

The Synch Start button will re-align all the voices to the beginning of the sample. If they are also pitch locked, you can get some good polyrhythm in synch going.

The Synch Evenly button will spread all the voices out evenly relative to the maximum amount of polyphony. So if you set the polyphony to 4, sing "row row row your boat..." and are pretty good at timing the recording, you can hit the Synch Evenly button and have an instant round. And, by changing the polyphony, you can have a pretty chaotic rowboat trip.
If you make all the voices have a zero stretch speed (hit , and drag them all near the 0-speed line ) you can use the play position control to put each voice on a specific part of the original sample. It's a kind of alternate use of the instrument.

The Up arrow and touching the bottom bar for a while opens a more detailed configuration screen (detailed below).

The stop sign clears out all the voices so you can start again, the info button takes you to this web page that has very little info on it.

Ellipsynth iphone controls
iphone formatted controls

  • Touching the arrow or the colored bar on the control panel will hide it again.
  • attack is how long it takes for the sound to reach its highest volume after being tapped. Right is longer.
  • decay is how long it takes for the sound to reach its lowest volume after raising your finger. Right is longer. All the way to the right means no decay.
  • slew is how long it takes for the sound to catch up to where your finger is.
  • echo changes the length and intensity of the echo effect.
  • span changes the length of the underlying grain. This can make make resynthesis sound better.
  • the polyphony plus (+) and minus (-) buttons change the number of simultaneous voices you can play. the lower this number, the louder the sounds will be. The default number is 10. The maximum is 32.
  • the touch assignment toggle button controls how touches relate to voice assignment. When it shows three vertical dots (create), every touch will always try to start a new voice. When it shows a circle with a dot in it (follow), when you touch close to an existing circle, it will control its corresponding voice, instead of creating a new one.
  • the scale picker lets you change the following:
    • you can impose one of these scales on the pitches:
      • free, no scale at all.
      • just diatonic, a scale like a major diatonic scale.
      • 12 tones/oct, the standard 12 tones to the octave scale.
      • harmonics, the natural harmonic scale.
      • maj pentatonic, a five note major scale.
      • min pentatonic, a five note minor scale.
      • pelog,pelog selisir, a five note Javanese scale. (1/1, 6/5, 4/3, 3/2, 15/8)
      • surprise, a random scale. To change it, change the frequency range.
      • random melody, a random melody. To change it, change the frequency range.
system settings
Ellipsynth's icon in the settings app
sample rate settings
These system settings are accessed from the official settings app. Look for the Ellipsynth icon and name.
  • A system setting allows you to show or hide guidelines, which help you find a scale's pitches.
  • A system setting allows you to set the sample rate, which will improve audio fidelity at the expense of polyphony. Low settings will also introduce lots of aliasing noise at higher frequencies, which you may actually want.
hints and tips
  • Important: iPhone and iPod Touch devices cannot track more than 5 touches at once! with 6 or more touches, Elipsynth has to cancel all touch info, which makes all the yellow control circles disappear. the limit on iPads is a more reasonable 11 touches.
  • A fast attack and slew with a short-to-moderate decay gives you a pretty standard-sounding synth sound.
  • Set the polyphony to 1 and play it like an old mono synth. Turn up the slew slightly.
  • If you are working with a vocal sample, you probably don't want to change the pitch too much it too much. Unless you do.
  • The echo is interesting at a number of settings.
  • You can use the echo to augment the polyphony to make dense clouds of nearly similar pitches. set the octave span to 1.
  • Set the polyphony to 2 or 3 and the scale to harmonics, 2 1/2 octaves or so to get easily controlled drones.
  • If you get stuck notes, the stop sign will clear that up.
  • As with all IOs audio apps, try to run as few things simultaneously as possible in performance, turn on airplane mode, etc.
  • Ellipsynth starts up with a fairly quiet 10 note polyphony, chanting "Om mane pad me hum". It gets very loud when the polyphony is lower. Adjust the volume settings to avoid hearing loss!
  • Turning on the echo also lowers the volume to accommodate more sound.
Please feel free to send me a message if you have your own hints adn tips.
Bug Watch!
version 1.0 is brand new, but I'm already preparing the next version to fix things that turned up when I wasn't looking.
Please feel free to send me a message if you find something that annoys you.
  • Fixed: ACP launches when the iPad is flat on a table in ugly, defective landscape mode.
  • Fixed: ACP icon won't look ugly in landscape any more.
Bugs/features I know about that I am tryng to fix:
  • TODO: Add a volume slider.
  • TODO: Allow change of sample rate from within the program.
  • TODO: Should degrade nicely on iPod Touch with no microphone. Right now, it seems to require a headset/mic to be plugged in to work right.
  • TODO: Add voice patch management (save,load,delete,launch, etc.)
  • TODO: ACP should work in Landscape!
  • TODO: Add more granular parameter options.
credits and contacts

Ellipsynth is by the author of the highly praised synthicity itself, SrutiBox, Droneo, Tondo, Wind Chimes, Enumero, Minute, Banshee, Yes Session, and LakePiano .


• Questions? Write to ellipsynth "at" jhhl.net, or go to the contact page
• Read about my iPhone development in this blog


© 2012 Henry Lowengard

iPhone home
© 2012 Henry Lowengard. iPhone, iPad, iPad mini, iPhone Touch © apple