R2Project. Plugins

VST3 & Audio Unit · macOS

ForTran

ForTran

Additive / formant synthesiser · Instrument

Ported from the 2003 Cakewalk DXi (Visual C++ 6 / MFC).

Download for macOS ForTran-1.2.1.0.pkg · 1.9 MB · Universal · signed & notarised

Version 1.2.1.0. Installs a VST3, an Audio Unit and 13 factory presets, each selectable separately. Quit your DAW first — a running host holds the old copy open.
Release notes and checksum · Source

The ForTran plug-in window
The ForTran panel, at the true size of its backdrop rather than the smaller Windows dialog that clipped it: the harmonic bank across the middle, filter and LFOs on the left, the three envelope panels on the right, and the live response and envelope displays down the right-hand edge. Output, Pan, Glide and the Ladder switch sit in the bottom-right cluster. A green lamp is on and a red one off — the DXi's own convention.

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:

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.

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

One partial, opened up

A single partial with its level, phase, invert, formant ADSR and per-harmonic LFO, and how ten of these sum into the spectral filter. Open full size.

Signal routing

The full signal path for one voice, from the partial bank through the spectral filter, envelopes and LFOs to the ladder and the output trim. The drawing predates the glide, which feeds the phase step alongside the vibrato LFO, so that one path is not on it. — open the drawing full size.

Specification

Technical specification for ForTran
Formats VST3 (.vst3) and Audio Unit v2 (.component), built from one CMake project
KindInstrument
Audio Unit identity aumu / FTrn / AECo — check it with auval -v aumu FTrn AECo
ArchitectureUniversal 2 — Apple Silicon and Intel
RequiresmacOS 10.13 or later
SigningDeveloper ID, notarised by Apple
Version1.2.1.0 (v1.2.1.0)
Installer ForTran-1.2.1.0.pkg, 1.9 MB
Installs to /Library/Audio/Plug-Ins/VST3/, /Library/Audio/Plug-Ins/Components/ and /Library/Audio/Presets/AE Cobley/ForTran, each selectable separately in the installer
Factory presets 13, installed for both formats from the same saved state, so a patch sounds the same in either
Licence Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA-4.0)
Source github.com/acobley/Fortran
Download for macOS ForTran-1.2.1.0.pkg · 1.9 MB · Universal · signed & notarised

Version 1.2.1.0. Installs a VST3, an Audio Unit and 13 factory presets, each selectable separately. Quit your DAW first — a running host holds the old copy open.
Release notes and checksum · Source