|Synthesizers||Samplers/Controllers||Music Analysis||Drum Apps|
|Geospatial||Photo/Video||Science Apps||OSX Apps|
Auto Sampler combines pitch detection, sound sampling, and wavetable synthesis into a single low-cost universal iOS app. Samples are automatically extracted from live audio through the microphone input (built-in or external). The pitch detector assigns a pitch to each sampled sound, which is displayed on a piano keyboard as it is captured. A polyphonic multi-timbral wavetable synthesizer resamples and blends samples into a continuous palette of sound. The synth can be played with the built-in keyboard, from other apps, or remotely using standard MIDI controllers. Controls adjust blending, modulation, attack/decay, and other parameters. You can also import and play sample WAV files. A small string orchestra is provided to get you started.
The following examples were captured on the iOS simulator.
Beginning of Debussy's Passepied played using the sampled strings included with the app.
A voice sample captured and played to the beginning of Tchaikovsky's "Nutcracker." Normally you would capture multiple pitches with the app.
Samples imported from our OASIS app that were extracted from "The Invaders" TV series. The samples are played back here to a part of "Mars, The Bringer of War" from Holst's "Planets Suite."
Capturing SoundsTapping the red "Start" button on the top toolbar starts the sampler. Play or sing a sound one at a time for at least several seconds until a key(s) lights up. The objective is to sample the steady state and not the transients (attack/decay) if possible.
Often the partials (harmonic frequencies) of a sound will be louder than the fundamental pitch. When this occurs the detected pitch will be an octave, or even an octave + perfect fifth higher. The easiest sampling strategy is to play the same note at different octaves (e.g., C4, C5, C6, etc.). False detections can be easily spotted and removed as described below. Tap "Stop" to stop the sampler.
Turn the SNR slider all the way to left to capture voice, and to the right for instrumental sounds. In practice some experimentation may be needed for best results.
The app converts sampled sounds as files (see below) that are converted into periodic waveforms for continuous playing. Sounds at one pitch are "extrapolated" to other pitches by resampling the waveforms. Whirring or buzzing sounds are the result of too few samples, transients or other artifacts captured by the app. These too can be easily eliminated.
Wavetable SynthTo demonstrate how the synth works tap "Load" and select "strings.set". Pre-stored bass, cello, viola, and violin samples are loaded into the synth. As you play the keys from left to right, the bass transitions into cello, cello into viola, and viola into violin. "Blending" controls how adjacent samples are combined. When the slider is to the left, the sound transitions abruptly from one sample to the next; when it is to the right, adjacent samples are blended.
Besides loading sets you can also load samples into the synth one at a time as well. Sets and samples are loaded over one another.
When the "Loop" switch is off the sampled sound is played once when a key is depressed. This is especially useful for percussion and spoken sounds. If a sample does not sound when you repeat the same note, reduce the release time (see below). When the switch is on, the sample is played continuously in a loop. The "Length" slider varies the length of the sample (maximum length is about 6 seconds).
"Attack" and "Release" control the dynamics of the selected voice. The FM controls ("Modulation" and "Freq. Ratio") add frequency modulation effects to the sound. "Blending" combines adjacent samples as described above.
It is difficult to gauge the ability of any iOS device to play any piece of music, especially for older devices. "Polyphony" increases/decreases the maximum number of voices processed by the synth. Move it to the right to increase the number of voices, but back off and move the slider to the left if the synth starts to stutter.
The two sliders below the keyboard change the key size and range of the keyboard.
Auto Sampler receives MIDI pitch, velocity, and channel volume from networked devices using Pete Goodliffe's MIDI monitor code, as well as from attached Core MIDI compatible controllers.
Edit and Save SoundsTap "Save" to store the samples and settings. The name you provide is assigned to the individual sounds and the sound set; e.g.,
mySounds_24.wav, mySounds_36.wav, mySounds_48.wav
where the two-digit number is the piano note 0 <= pitch < 88, where note = midiNote + 21. The name you choose cannot have any spaces.
Tap "Clear" to clear all samples from the keyboard. Tapping "Clear" while pressing one of the illuminated keys (samples) removes that sample. Pressing a sample key and adjusting any of the resampling, envelope, and modulation controls changes the setting for that sample only. Performing an adjustment with no key depressed changes the setting of all loaded samples.
Tapping the "Paste" button on the top control bar pastes a previously copied waveform from another app such as OASIS into Auto Sampler. If you are a developer, contact us for details on the API.
If you use this with other Midi apps, Midi Bridge or a similar app is required to route Midi signals between apps.