Thursday, 17 December 2009

Aspect 1.5.0 and audio samples; String 1.0.3 for Windows

A trifecta of news updates:

Aspect has now been updated to 1.5.0, which aside from all the bug fixes and improvements, also includes the vastly better oscillators that were previewed a few weeks back. Download it here.

Secondly, some audio demoes of various Aspect sample sounds have been posted on the Aspect page.

And finally, String for Windows has been updated to 1.0.3. This fixes a bug that seemingly only occurs under Sonar where notes are left hanging when the Transport is stopped. There is no reason to upgrade from 1.0.2 if you aren't using Sonar or witnessing this bug. Download here.

Sonar handles Transport stops slightly differently from other hosts. It's certainly not wrong according to the MIDI spec, but it's definitely unconventional. Instead of keeping a list of all playing notes and sending each a corresponding MIDI Note-Off when the Transport is stopped, Sonar just sends a single MIDI All Notes Off message. Any plugins that only respond to MIDI Note-Off messages and ignore MIDI All Notes Off message will manifest this hung notes problem. Aspect and String both handle this correctly since their most recent updates.

Sunday, 13 December 2009

String 1.0.2 now released

Version 1.0.2, a minor update for String, is now available - download for the platform of your choice here. String 1.0.2 contains a fix for a problem where using Chorus Type 2 with a Depth of 100% could, in certain circumstances, cause some unpleasant digital noise to occur.

Sunday, 6 December 2009

New oscillators preview

A sneak preview of some new oscillators. These have several advantages over the current Aspect oscillators:
  • Reduced CPU usage: They use, on average, about 30% less CPU resources. When taking the rest of Aspect's synthesis path into account, this translates into approximately a 10% reduction in CPU resources for a patch.

  • Reduced memory usage: Overall memory usage for oscillators is reduced by an impressive 80%, although this doesn't have much of an impact to the user.

  • Reduced aliasing and foldover noise: Aliasing and foldover noise at the ultra high end of the frequency range is reduced to practically negligible amounts. Here are two examples. Note that these are unfiltered raw oscillator sweeps, so ensure that your volume is at an acceptable level.
    The first example is a sawtooth sweeping from the low to the high frequency range, and then back again:

    The second example is a pulse wave with a duty cycle of 50% sweeping as in the previous example:


  • Removed DC Offset: There is no DC offset when sweeping the pulse-width of the Pulse waveform.

  • Reduced Sync Folderover Noise: Aliasing that could occur during an oscillator sync is significantly reduced.

  • Awesome sound: We can't quantify this one, so let your ears be the judge. Here are two raw sawtooth oscillator, with no filtering, tuned octaves apart. The pitch of one oscillator is slowly detuned relative to the other to introduce beating:

Tuesday, 1 December 2009

Loomer String released

Loomer String Synthesizer is now available for purchase and to demo: enjoy!





String is a dual layer, polyphonic string ensemble synthesizer available for Mac OS X, Windows, and Linux, in Audio Unit, RTAS, and VST Plugin formats, as well as in standalone application format. String's marvelous interface comes courtesy of freelance graphic designer Inquer. More information about String, as well as audio samples and a free trial download can be found here.

The trial version has the following demo limitations:
  • User created Program and Bank presets can be saved, but not loaded back into the evaluation. They can however be loaded by a registered copy of String.
  • Output will be periodically interrupted, approximately every 30 seconds, by a short moment of silence.
  • Audio output will stop after 30 minutes of continuous use. String must be restarted to continue evaluation.
The trial can be upgraded to the full registered version by purchasing a licence for only £50 (+ VAT if applicable).

Friday, 27 November 2009

Loomer String Synthesizer

We're proud to announce our next product, String. String is a virtual instrument that emulates the beautiful sound of the polyphonic string synthesizer. Its authentic tone comes from its accurate emulation of the divide-down oscillator technology and bucket-brigade chorus units behind the lush ensemble synths of the 70s.



All being well, String should be available early next week for purchase at £50 (+ VAT if applicable). String comes in VST, Audio Unit, RTAS and Standalone formats for Windows, Mac OS X, and Linux.

Here are a few teasers of the type of sounds String does so well. All are from a single String instance, recorded dry, and only using String's built in effects. (Note that the first example also has a simple backing drum beat courtesy of some Korg Minipops samples taken from www.freesound.org.)





Sunday, 18 October 2009

Beat Mangling with Pure Data

Presented here is a patch for beat mangling loops using Pure Data, a free and open-source successor to MAX/MSP. Beatmangle, using a single audio loop, produces persistently changing audio by randomly moving the play head and loop settings. This is a particularly effective technique for generating Squarepusher style beats.

Beat Mangle Pure Data Squarepusher loop tool
Here's the patch in action using a two bar drum n bass loop sample from Computer Music UK magazine (issue 128, Groove Criminals Beat 2, if you're interested.)



Patch analysis can be loosely broken down into five parts; sample loading, sample playback, loop position marker display, randomization of the playback position, and randomization of the loop.

Patch analysis of beatmangle for Pure Data
Sample Loading
The Open File browser is displayed by sending a bang to an openpanel object, which in turn sends a message containing the selected filename. A soundfiler object then reads the audio sample into the specified array in response to the read message. We specify the -resize flag in our message to soundfiler to inform the array to set the correct size required for the selected audio file. The size of the audio file, in samples, is output by the soundfiler object, a value which is accessible elsewhere in the patch with the r $0-sample_count recieve objects.


Sample Playback
The sample loop is played back using a phasor~ which provides an index to a tabread4~ object. The phasor~ generates a floating point signal that ranges from 0.0 to 1.0, which is then multiplied by the number of samples in our audio file to give a range between 0.0 and the number of samples.

To play back the sample at its original tempo, we set the phasor~ to run at a frequency so that a single phasor~ period takes the same time as a single cycle of the loop. This frequency, the reciprocal of the loop length in seconds, is calculated in the len2freq subpatch.


Loop Position Marker Display
A hslider (horizontal slider) object shows the current playing position beneath the waveform display. The slider range is set in response to a sample_count message (ie, when a new audio file is opened.) The current play index of the scaled phasor~ is sampled using a snapshot~ object, which periodically generates a value in response to a metro object running at 10 frames per second. The position of the hslider thumb is updated to reflect this value.

Randomization of the Playback Position
There is a 50% chance that randomization occurs every 8th note. A random 2 and sel 0 object pair ensures that only half of the metro bangs are processed. The offset is calculated by taking the number of bars in the loop, multiplying by 8 to get the number of 8th notes, and generating a random number in this range. This is then scaled back by dividing by the number of 8th note to give a 8th note quantized phase position in the range 0.0 to 1.0. This is all contained in a randoffset subpatch. The phase offset is then added to the raw phasor~ output (with a +~ object), and then wrapped to the range 0.0 to 1.0 with a wrap~.


Randomization of the Loop
Loop randomization, contained in the randloop subpatch, adds quick staccato drum n bass style noises to the audio. This is randomly done by multiplying the phasor~ by 1, 2, 4, 8, 16, 32, 64, or 128, wrapping this via a wrap~ object to the range 0.0 to 1.0, and then dividing down again by the previous multiplier. This process effectively shortens the period of the phasor so that it loops over a half, a quarter, an eighth, a sixteenth, etc, of the entire length of the sample.

Finally, when a 64th note or 128th note loop is randomly selected, we also increase the chance of randomization in the previous stage from 50% to 100%. This significantly reduces the chance of long sections of 'machine gunning' (a sound which gets grating fairly quickly if overused) when fast looped notes continually play.

Download the beatmangle Pure Data patch here.

Friday, 11 September 2009

Hear Resound

A number of short audio demos of Loomer Resound have been uploaded to the Resound product page. We have an ARP Odyssey synth line through a fairly noisy delay; a snappy drum beat is pitch shifted, dub-style; a tremelo Rhodes riff is looped using reverse delay mode and feedback.

Additionally, a composite audio sample player - containing demos from all our products* - has been included on the Loomer front page.

*Loomer Aspect audio demos will be coming shortly...