Grain Science 1.2

Today, version 1.2 of Grain Science was released. It’s another big update!

The things I personally like the most in v1.2 are the new Chorus unit, Pulse-Width Modulation and (just because it “feels” nice to use) swapping FX units by drag-and-drop.

Here’s the complete list of changes:

  • New: Chorus FX unit
  • New: Pulse Width Modulation blend mode
  • New: Wave list shows a count of how many instruments use each wave
  • New: More musician-friendly BPM system, goes up to 180bpm with ¼, 1/8, 1/16 and 1/32 options (old system can still be selected)
  • New: Multiple-octave chord arpeggiation
  • New: Swipe to delete unwanted audio from wave & audio import lists
  • New: “Reed” built-in wave
  • New: 6 additional built-in instruments
  • New: Tube Resonance Bass can be programmed
  • New: UI improvement — swap FX units by dragging them around by their names
  • New: Setting to choose whether recording is hold-to-record or tap-to-start/tap-to-stop
  • New: Mini VU meter on recording button during recording (or, in hold-to-record mode, tap to toggle on/off)
  • New: Cropping selections now snap to zero-crossings for smoother results
  • Improved: Easier to see when a cropping selection is about to begin
  • Improved: Avoids “popping” while installing/uninstalling FX units
  • Improved: Slightly more useful naming for newly-created instruments
  • Fix: Crash bug when mapping certain kinds of parameter in otherwise-unmodified instruments
  • Fix: Issue with reverb resetting itself after re-opening Grain Science
  • Fix: Control Mapper shows the same names for Tube Resonance parameters as on their FX dials
  • Fix: Issue with Control Mapper Auto-Reset not always auto-resetting to the correct value
  • Fix: Issue with Single-Shot grain mode

Read on for a few additional details on some of the changes and improvements…

Pulse-Width Modulation

The new PWM feature is a blend mode (accessed from the Envelope/Combine panel) that allows you to create a bunch of new sounds that have quite a 90s feel to them. It plays the first grain unit, but it applies PWM to it, based on the waveform in the second grain unit.

If you’re not familiar with PWM, what it does is convert any wave-shape to a square wave — a wave that switches only between “on” and “off” with nothing in between — and then shifts the “duty cycle” according to the output of the second grain unit.

The duty cycle is the ratio of “on” to “off”, and gives the waveform a very different timbre as it changes. The Blend dial controls the strength of this effect: at 0%, you’ll always get a square wave. As you increase it, the degree to which Grain Unit 2 is allowed to shift the duty-cycle is increased.

Note that the frequency of the second grain unit is downshifted in PWM mode, to make it more useful. You can get very different results depending on the Octave setting of grain unit 2: at the low end, you’ll get slowly mutating soundshapes, while at the high end, it’ll get a more constant tone that’s heavily modulated, giving rise to interesting harmonics.

To get that 90’s PWM-synth feel, I recommend putting a sine wave in grain unit 1, and a sine, triangle or saw wave in grain unit 2, and drop the Octave of unit 2 right down. But, of course, you can experiment to find all sorts of alternative effects!

Tube Resonance Bass

The bass control of the Tube Resonance FX unit was one of the few dials in Grain Science that couldn’t be programmed. The is because, for technical reasons, it could give rise to some unpleasant artefacts. There are, however, some situations where either the artefacts don’t arise, or happen to work nicely in the context of a particular instrument. So programming is now enabled on that dial, but be aware that you’ll still need to be careful how you use it.

Arpeggiator BPM

The BPM dial in Grain Science was slightly misnamed as it used to count the number of times a note would be triggered per minute. We’ve changed it to instead count the number of beats per minute, and let you set the number of notes triggered for each beat. You can still use the old system, if you prefer, by setting the number of notes-per-beat to the option marked with a “—”.

Note that if you request 32 notes per beat, the BPM is capped at a lower value to avoid overloading.


A few people have asked us to add cropping to Grain Science. The thing is, you’ve always been able to crop, since the very first version :) So, we’ve tried to make it a bit more easy/obvious. It actually works the same way as in Hokusai: touch and hold the waveform view to activate a selection, then slide your finger sideways to select.

In version 1.2, we’ve made it clearer when a selection is activated, by drawing a “selection cursor” when your finger has touched the waveform view for long enough. As you slide your finger, this will “stretch out” into the selection display. Selections now snap to zero-crossings, so even without applying Soft Loop you should get cleaner results.

Once you have a selection, you can adjust it by dragging the edges, dismiss it by tapping outside the selection region, or apply a crop from the pop-up menu that appears.

Mini VU Meter

In Grain Science, to sample a sound, you hold down the microphone button on one of the grain units. If you instead tap the button, we now toggle a mini VU meter on or off so you can check your recording levels before you begin.

However, if you need both hands free during a recording, you can now change the behaviour in the settings so that recording works differently, with a single tap to start recording and another tap to stop recording. In this case, the VU meters will only be active while recording is in progress.