ForTran is a genuine polyphonic instrument: no audio input, one stereo output, sixteen voices and 145 parameters. It was written in 2003 as a Cakewalk DXi in Visual C++ 6 and MFC; this is that plug-in on macOS, built from the original sources, reproducing the DSP sample for sample except where a deviation is deliberate and recorded.
New in 1.2.1.0
The maker is now “AE Cobley”, in both formats — it was “A. E. Cobley”. REAPER files an Audio Unit's presets under its name cut off at the first full stop, so every A. E. Cobley Audio Unit shared one REAPER preset list and showed the others' presets, which did nothing when chosen. The plug-in's identity codes are unchanged, so projects saved with earlier versions still open with ForTran in place. Hosts that list plug-ins by maker now show it under AE Cobley.
The factory presets now install to
/Library/Audio/Presets/AE Cobley/ForTran, the
folder both formats now look in.
The version is reported correctly. Earlier builds told hosts they were 1.0.0.1 (VST3) and 1.0.0 (Audio Unit) whatever the release; this one says 1.2.1.0. Nothing in the sound changed.
After upgrading, some things stay where earlier versions left
them. The installer does not remove the old factory preset
folder, /Library/Audio/Presets/A. E. Cobley/ForTran;
nothing looks there now, and
sudo rm -rf "/Library/Audio/Presets/A. E. Cobley/ForTran"
removes it. Presets you saved in a host that files them
by maker are in
~/Library/Audio/Presets/A. E. Cobley/ForTran
— move them to
~/Library/Audio/Presets/AE Cobley/ForTran to see them
again. In REAPER, Audio Unit presets you saved earlier stay in its old
shared list; the VST3 is unaffected.
New in 1.2.0.0
Thirteen factory presets
The installer now offers a third component alongside the VST3 and the Audio
Unit: thirteen patches, in
/Library/Audio/Presets/AE Cobley/ForTran (in
A. E. Cobley/ForTran until 1.2.1.0).
Alone inspace, Bonk, Fortran-Init,
Fortran-band, bells phew, dronestar,
filtered bass, growing,
phew its a ghost, sitar, tesla coil,
twang and weird piano.
One folder serves both formats. The VST3 and the Audio Unit
each read that same path, and the .vstpreset and
.aupreset pair for a patch carry identical state — so a
preset sounds the same in Logic as it does in Cubase, rather than drifting
into two versions of itself.
Three of them were saved before pan and portamento existed, and load with those two at their defaults: centred, and no glide.
Removing them is manual. A .pkg installs but
never uninstalls, so the factory folder stays until you delete it:
sudo rm -rf "/Library/Audio/Presets/AE Cobley/ForTran", and
for a version before 1.2.1.0
sudo rm -rf "/Library/Audio/Presets/A. E. Cobley/ForTran".
Anything you saved yourself lives under your own
~/Library/Audio/Presets and is untouched by that.
New in 1.1.0.0
Portamento, and it is properly polyphonic
The Glide knob at the bottom right of the panel sets the time. Zero is off, and that is the default, so nothing saved before this sounds any different.
Each new note glides from the nearest pitch of the chord that was sounding when the current chord began, and each of those pitches is used once — so C–E–G to D–F–A is three glides of a tone moving in parallel, rather than three notes fanning out of whichever pitch happened to be last. Notes struck within 30 ms of each other count as one chord; further apart than that and each note glides from the one before it, which is what a played line wants.
The glide is constant time — every glide takes as long as the knob says, whatever the interval, so a chord change arrives together — and even in semitones, so an octave down sweeps at the same rate as an octave up. The knob is squared like the envelope times: its centre is 500 ms of a two-second maximum.
Universal binary. 1.0.0.1 was built for Apple Silicon only while its installer claimed both architectures, so on an Intel Mac — or in any host running under Rosetta — it installed cleanly and then loaded nothing. This build is arm64 + x86_64. If you tried 1.0.0.1 and ForTran never appeared, that was why.
Installing over an earlier version replaces it; your projects and their settings are untouched.
The sound
Per sounding note, per sample:
- Ten sine partials at
k × theta, k = 1..10, each with its own level, phase offset, invert switch and its own ADSR — the formant envelopes, ten of them. - A spectral filter with four independently switchable shapes — low pass, high pass, comb and grass — swept by a filter envelope and applied as a magnitude and a phase per partial.
- An amplitude envelope, a tremolo LFO on level and a vibrato LFO on the phase step.
- A per-harmonic amplitude LFO, rate and depth for each of the ten. The DXi allocated the state for this and never wrote to it; here it is finished.
- A fixed Moog ladder on the way out, switchable, with a level-matched bypass.
Then sixteen voices mix to one stereo bus through the output trim and pan.
Two things the measurements say and the name does not
The ladder is mostly a gain stage. Its cutoff and resonance are hardcoded: the corner sits at 0.198 × Nyquist and the resonance at +0.22 dB, so below about B4 it is a flat +10.6 dB gain stage and nothing else — and its corner moves with the sample rate.
The Level knob starts 20 dB down. The DXi's own gain staging is hot enough to clip a dense chord, so the Level trim defaults to its centre. The top of that knob's travel is exactly the 2003 level, so nothing is lost — it is one turn away.
Using it
The panel is the DXi's, at the true size of its backdrop (840 × 388) rather than the smaller Windows dialog that clipped it.
- Harmonics — ten vertical level sliders, ten phase knobs, ten invert toggles. Alt-click a slider to mute it.
- Formants — ten selector buttons, but only one set of five knobs: clicking a button re-points the ADSR knobs, ENV and INV at that formant. That is what the DXi did, and it is editor state, not a parameter.
- Filter — cutoff, Q and poles sliders, four text steppers for the shapes, and a live response panel.
- Envelopes — three panels: amplitude, filter, and the selected formant.
- A green lamp is on, a red one off, including the formant selector where the selected one is green. That is the DXi's own convention.
- Values read out on a single plate that follows the pointer, appearing beside whatever is hovered or dragged. The DXi showed no numbers anywhere, and the panel has no room for 42 permanent readouts. Envelope times read as times, cutoff in hertz, the shape steppers as Off / Add / Mult / Max.
- Knobs drag vertically, shift for fine, and the wheel works.
MIDI
Note on and off (velocity zero is a note-off), pitch wheel — the DXi's law is a whole octave either way, not two semitones — CC7 channel volume on a square-root law, and CC10 pan. The Pan knob is new and offsets CC10 rather than replacing it: centred, CC10 behaves exactly as it did before the knob existed.
Not carried over
The DXi's multi-output pins, the dead Synth/Xform mode switch, the audio-input passthrough (an instrument has no input), and program change selecting the oscillator waveform — this port is sine partials only. In the DXi the MIDI patch number chose sine, square or saw.
Known gaps
- The output ladder's corner moves with the sample rate. Its coefficients are constants the original never scaled, so the same patch is more than an octave brighter at 96 kHz than at 44.1 kHz. Reproduced rather than fixed; the Ladder switch takes it out.
- Glide time is latched at note-on, like everything else a voice reads, so moving the knob does not retime a glide already under way.
One partial, opened up