ChoralRoot 0.24-beta2 is the second beta of 0.24: a seventh engine, GRAIN, a granular synth that makes its own
material from a few knobs, on top of 0.24-beta1's velocity on the top seven keys, poly aftertouch out and the touch on
Geek Out 2. Like 0.24-beta1 it is opt-in: the web installer offers it only when you tick Show beta releases under
Other versions, and 0.23 stays its default. A beta may have bugs (please report them on GitHub), and the next stable
release, 0.24, replaces it. What is new since 0.24-beta1 comes first; after it are the whole of 0.24's notes so far,
so this page is all you need. Updating from 0.24-beta1 or 0.23 keeps your settings, sounds, loops and favorites; going
back is possible at any time (the last section says what it means for GRAIN sounds).
New since 0.24-beta1: GRAIN
GRAIN plays clouds of short grains, a few milliseconds to a few tenths of a second each, read out of two pieces of
sound that it makes itself. There are no samples to load: a GRAIN sound stores its knobs, and the engine renders the
material from them whenever the sound loads or a knob of the material turns.
- Two sources, A and B. Each is about three quarters of a second of sound made by one of eight families, set by
four knobs: TYPE (PLUCK, a plucked string; DRONE, detuned saws under a moving filter; BELL, two-operator FM;
BREATH, filtered noise; CHIRP, sweeping sines; SWEEP, a driven saw through a sweeping filter; VOWEL, a voice moving
round A E I O U; METAL, inharmonic partials with a strike), TONE (the brightness or colour within the family),
MOTION (how the material moves over its length: decay, sweep, vibrato, strums) and SEED (a variant: the same
SEED is always the same material). Turn one and that source is made again in a moment while you play; the grains
on the other source keep sounding. - MORPH goes from A to B. It is a granular blend, not a crossfade: each grain reads A or B, and MORPH is the share
that read B, so in between the two materials interleave in the cloud. ENV 2 or an LFO on MORPH moves between them
(the preset STRUM strikes on B's METAL and settles into A's PLUCK). - The grains: SIZE (their length), DENS (how many start each second), POS (where in the material they
start) and SPRD (how far round POS they scatter); RAND (random detune, and some grains played in reverse),
PITCH (-24 to +24 semitones) and SCAN (POS moving through the material by itself: right of 0 forward, left
of 0 in reverse, very slowly near 0 and faster further out; 0 holds still). - The VA's filter (CUT, RES, FTYPE round low-pass, band-pass, high-pass and notch, DRIVE, KTRK), ENV 1 for
the volume, ENV 2 a second envelope for modulation, two LFOs (RATE, WAVE, DEPTH, FADE; each can sync to the
tempo with the VA's divisions) and an eight-slot modulation matrix: sources ENV1, ENV2, LFO1, LFO2, VEL, KEY,
RAND and MODW (the mod wheel, CC 1 over MIDI), destinations MORPH, POS, SIZE, DENS, SPRD, RAND, PITCH, SCAN, CUT,
RES, FTYPE, DRIVE, the LFOs' rates and depths and AMP. Amounts work as on the VA: tenths below 6, whole numbers from
6. Quick modulation works too: hold ENV or LFO and turn a knob. - The pages. In the sound editor: OSC has the two screens SRC (SRC 1 and SRC 2: TYPE, TONE, MOTION, SEED) and
GRAIN (GRAIN: SIZE, DENS, POS, SPRD; GRAIN+: MORPH, RAND, PITCH, SCAN); FILT the filter under its curve (FILTER,
FILTER+); ENVENV 1 · ampandENV 2 · mod; LFO the two LFOs and their SYNC; MOD the eight slots (SRC, DST,
AMT), then EXPR as on every engine. - The wave band. On the SRC and GRAIN screens a band across the screen draws the material: on SRC the source of
the active row, made anew when its render lands; on GRAIN both, A in blue and B in orange, each as bright as MORPH
gives it, with POS as a white line (it moves with SCAN), SPRD as a green span round it, and every sounding grain as
a bright line travelling over its source. - Eight presets after INIT: CLOUD PAD, SHIMMER, BREATH PAD, FROZEN, STRUM, SWARM, ACID DUST and GLITCH. GRAIN
comes after WHEEL in the engine picker and under OPT + PRESETS. - Chord and bass on GRAIN share the material. The FM-1 holds one pair of sources: the chord part's (or, when only
the bass is on GRAIN, the bass part's). With both parts on GRAIN the bass plays the chord sound's A and B with its
own grain knobs, MORPH, filter and envelopes. - Notes up to C6 are pitched from the material; above C6 they stop rising.
- The device manager and sound files carry GRAIN sounds as any engine's.
Also new: the firmware is smaller (about 35 KB of flash freed to make room for GRAIN), with no change to any sound
or screen.
Playing (new in 0.24-beta1)
Nothing here changes until you turn Key Touch on: with Options > Key Touch at Fixed (the default) every key plays
at Options > Velocity, as in 0.23.
- The top seven keys sense velocity. With Key Touch on (Dynamic, Vel + Aftertouch or the new Vel + Poly AT),
C#5 to G5 now play at the velocity you strike them with, as F3 to C5 do; until 0.24-beta1 they followed the velocity
you had been playing. All 27 keys sense velocity now.- These seven are read another way (the method is Charles Vestal's, from his MONK-1 and CTL-1 firmwares), which
tells a light touch from a firm press less finely than the other keys can: a touch plays softly, a light press in
the middle, and a firm press at or near the top. - They have no aftertouch: leaning on one of them moves nothing. Options > Velocity Curve does not change them
(it shapes F3 to C5); Velocity Sens works on all 27.
- These seven are read another way (the method is Charles Vestal's, from his MONK-1 and CTL-1 firmwares), which
- Key Touch: Vel + Poly AT. A fourth value of Options > Key Touch, after Vel + Aftertouch. The keys play and sound
as with Vel + Aftertouch, and the pressure goes out over MIDI (MIDI Perform and MIDI Bass) as polyphonic
aftertouch, to each note that sounds, on the channel it was played on, instead of as channel pressure. Every note
gets the same value: a chord is one finger's. Saved automatically, as the other Options. - Geek Out 2 shows the keys' touch. While Key Touch is on, the view's title line reads the last key's velocity and
the pressure now, such asVEL 73 AT 42, in place of2 coresor1 core(AT stays 0 with Dynamic, which senses
no pressure). With Key Touch at Fixed it says2 coresor1 core, as before. - With Key Touch on, notes sound a few milliseconds later than in 0.23. While the top row is read, the other keys
are read less often, so a key on F3 to C5 waits about 13 ms after it lands for its velocity instead of about 9; the
top seven now wait a few milliseconds for theirs (they played at once before). With Key Touch at Fixed nothing waits,
as before.
Installing
- A beta, opt-in. In the web installer tick Show beta releases under Other versions (the page remembers it in
that browser), choose 0.24-beta2 and press Install. Without the tick the installer offers 0.23, the latest stable
release, as before. On an FM-1 that runs the beta, "What is on my FM-1?" says so, and Install then writes 0.23 unless
you choose the beta again. Options > Version readsChoralRoot 0.24-beta2. - From 0.24-beta1 or 0.23 nothing needs doing: your sounds, loops, favorites and settings are all there, and
GRAIN is in the engine picker. - From 0.22 or older. The beta brings everything of 0.23 with it: 0.23.md says what changes (FM TONE
sounds at the Digitone's own levels play about 6 dB quieter, as loud as the other engines) and, from 0.21 or older,
0.22.md "Installing" what the first start does. - A Single core package, for FM-1s that have trouble with Dual Core. The web installer offers it under
Advanced > Hardware fallback, as for 0.23. Options > Version then readsChoralRoot 0.24-beta2 1-core(shown as
0.24-beta2 1-core, the line being too short for the whole name).
Going back to 0.24-beta1 or 0.23
The installer offers 0.23 at any time (it is the default), and 0.24-beta1 under Show beta releases. Your sounds,
loops and favorites stay, and so do your other settings. What an older version does not know:
- GRAIN sounds you saved stay in their slots, untouched, but do not play as GRAIN there. 0.24-beta1 and 0.23 have
no GRAIN engine. Each GRAIN sound you saved shows at the end of the VA's list under its own name and plays the VA's
plain starting sound, with the messageengine retired: init sound. Nothing is rewritten or deleted: back on
0.24-beta2 the sound is GRAIN again, exactly as you saved it. Two things do replace it: saving over that slot on
the older version (it then holds what you saved there), and deleting it. Renaming it keeps the GRAIN sound. - A part left on GRAIN (the chord or the bass sound when you go back) starts on FM6
TINE EPor VADEEP SUB
there, as on a new unit. - Backups. A backup taken on 0.24-beta2 restores onto 0.24-beta1 and 0.23 with its GRAIN sounds kept as they are
(they play as above there and as GRAIN again on 0.24-beta2). 0.22 and older refuse a group of ten sounds that holds a
GRAIN sound, so restore such a backup on 0.23 or newer. - Going back to 0.23 is also the same as from 0.24-beta1 for Key Touch:
- Vel + Poly AT. 0.23 reads it as Key Touch Fixed: its keys play at Options > Velocity, while Velocity Sens,
Aftertouch Sens, the Velocity Curve and Numerals keep their values. Once 0.23 saves its settings (you hold SAVE or
change an Option there), Key Touch is Fixed when you come back; until then it is still Vel + Poly AT. To keep the
keys sensing on 0.23, set Key Touch to Vel + Aftertouch before going back. - The top seven keys follow the velocity you have been playing again, as in 0.23.
- Geek Out 2's title line says
2 coresor1 coreagain, with Key Touch on too.
- Vel + Poly AT. 0.23 reads it as Key Touch Fixed: its keys play at Options > Velocity, while Velocity Sens,
- Going back to 0.22 is the same, plus what 0.23's notes say (0.23.md, "Going back to 0.22").
ChoralRoot 0.24-beta2 for the M-VAVE FM-1 (identity FM-1_920).
Install from the browser at https://quixotic7.github.io/ChoralRootFM1/ (Chrome or Edge, the FM-1 connected by USB), or with the command-line installer: python3 tools/fm1_install.py choralroot-0.24-beta2.fwsc.
choralroot-0.24-beta2-1core.fwsc is the same firmware on one processor core, for an FM-1 that crashes or freezes with the standard package (the installer offers it under Advanced > Hardware fallback). Settings, sounds and loops stay when you switch between the two.
SHA256SUMS lists both packages and their apps. The package holds three JieLi AC79 SDK files (Apache-2.0); LICENSE, LICENSING.md and LICENSES.zip carry every licence. Installing firmware is at your own risk.
Full Changelog: v0.24-beta1...v0.24-beta2