github leonardoMirabal/frodhes v0.9.3
Frodhes 0.9.3

2 hours ago

Frodhes 0.9.3: a physically modelled Fender Rhodes and vibraphone for the M-VAVE FM-1. Every note is computed live from the mechanics of the instrument; there are no samples.

Download: frodhes-0.9.3.fwsc below. Try it first in your browser: https://leonardomirabal.github.io/frodhes/

Install

pip install mido python-rtmidi
python3 tools/fm1_install.py frodhes-0.9.3.fwsc

If anything goes wrong, switch the FM-1 off, hold OCT− and switch it on to get the USB rescue, then install again.

New in 0.9.3

  • VIBES, a vibraphone. A fifth TYPE (ALGORITHM, or K1 on the main page): aluminium bars struck with mallets, each with its tuned tube, computed like the Rhodes (no samples).
    • VOICE becomes STRIKE, MALLET (soft, yarn, cord, rubber), TUBE, WEIGHT; DECAY becomes RING, DAMPER, NOISE, TUNE.
    • The motor: press LFO, turn K1 to MOTOR (after WAH). LFO again switches it off and on. Rate 0.5–10 Hz, or synced to the tempo.
    • Two new presets: F13 VIBE MOTOR and F14 VIBES DRY (program change 12 / 13; CC 79 picks VIBES).
    • It plays 2.5 dB louder than the Rhodes, so a struck bar doesn't sound weaker or closer to the jack's hiss.
    • The VOICE cards: STRIKE (where the mallet hits), MALLET (SOFT, YARN, CORD, RUBBER), TUBE (the resonator), WEIGHT (the mallet's mass); a harder strike is louder and brighter. DECAY: RING, DAMPER, NOISE (the mallet's tick and the damper's touch), TUNE. The MOTOR page (ON, DEPTH, SPEED, SHAPE; on by itself when the TYPE turns to VIBES, off on its K1 stays off).
  • FILTER with its own LFO (two new pages): OFF, LP12, LP18, HP12, HP18, BP, NOTCH; 30 Hz–16 kHz, resonance, LFO up to ±4 octaves (sine, tri, saw, ramp, square, S&H; free or synced, free or retriggered by each note). PERFORM's K3 is now the filter's cutoff. CC 70–78.
  • Battery in the top line, next to the tempo: three segments (a bolt while USB powers the FM-1). The levels are a first estimate; SETUP's bottom line shows the raw reading.
  • MIDI clock: CLOCK is INT or EXT (the default). On EXT the FM-1 follows clock from USB or TRS, and MIDI Start / Continue start the sequencer, Stop stops it.

Changes

  • Buttons: PLAY taps the tempo on every page, ARPEGGIO too (start / stop on SEQUENCER only, and only while the arpeggiator is off); the arpeggiator's HOLD is SEL on the ARPEGGIO page and, while the arpeggiator is on, on every page (SEL is DELAY again when it is off). EDIT opens CHORD, and again switches chord mode on / off (lit while on). SEQ goes straight to the SEQUENCER (no CHORD page on the way; lit while it plays). VOICE is reached with SELECT.
  • SEQUENCER moved after LFO in the page order (... CHORD, ARPEGGIO, LFO, SEQUENCER, ASSIGN ...).
  • The FILTER is on by default: LP18, fully open (16 kHz), so PERFORM's K3 closes it straight away. Fully open it does not touch the sound at all (the same as off, to the sample). Your user presets keep what they saved.
  • Page order: PERFORM, FRODHES, VOICE, DECAY, then the effects, TEMPO ... LFO, ASSIGN, SETUP, MIDI. The instrument pages are together; ASSIGN moved next to SETUP.
  • A new screen look: larger, anti-aliased text, every value the same size. A card tells its kind at a glance: an amount is a fader that fills with warm amber, a selector lights one block per option up to its choice, an ON / OFF switch shows a lit dot. The VOICE pages follow the engine (VOICE 1-2 on the Rhodes, VOICE 1-3 on VIBES).
  • Factory presets level-matched: F01–F12 all play at about F01's loudness, so browsing doesn't jump in volume.
  • The touch wah keeps its level: a closed wah on a high chord no longer drops by up to 14 dB, and a low one no longer gets louder. It only colours the sound now.
  • The CHORUS and PHASER SPEED cards show the rate that actually plays, 0.25–6 Hz (they showed twice the rate; the sound is the same).
  • The first boot (or settings that can't be read) plays F01 STAGE 77, as the header says. It used to play bare defaults.
  • PHASER no longer jumps in level when switched on: the bass is no longer lifted (the mix is lower, the feedback no longer resonates on the bass, and a low shelf keeps low notes at their level: measured with a loudness model, never more than about one audible step louder) and its two sides are 30° apart instead of 90°, so a mono sound does not suddenly turn very wide. It sounds a little different (closer to the middle, the low notes no longer boosted).
  • DRIVE and REVERB have their own pages (DRIVE after FILTER: ON, AMOUNT, TONE, MIX; REVERB the last effect: MIX, DECAY, TONE, PRE-DELAY; CC 82–84, 92–94). The main page's middle cards belong to the engine: TONE / BELL on the Rhodes (DRIVE and REVERB moved to their pages), MALLET / MOTOR on VIBES.
  • Presets: 64 parameters per preset (96-byte records); banks saved by 0.9.2 load and are converted.
  • 9 voices instead of 8, on the Rhodes and on VIBES: a 10th note takes over the quietest released one. The cheaper engine pays for it: nine low notes at full velocity with the pedal and every effect on take about 4.0-4.2 ms of the 5.8 ms per audio block on the Rhodes, 3.5 ms on VIBES (measured on the FM-1), and no note is cut.
  • The audio engine is much cheaper: the Rhodes' worst audio block went from 4.99 ms to 3.6 ms (of 5.8 ms), VIBES from 3.4 to 3.1 ms (the motor fix made it a little cheaper), with the Rhodes sound bit-identical (the Rhodes voice loops and the effects rewritten; checked on the host and by recordings on the FM-1).
  • The battery shows in the header (the last item, right of the tempo), with a bolt on USB power.
  • The PHASER and CHORUS run at full precision: the phaser added a faint broadband noise (about 55 dB under the note), heard as air and "more volume" when switched on.

Fixes

  • DRIVE was barely audible (a single note never reached the clipping); its top half now really drives (low settings, as the presets use, are unchanged).
  • The DELAY's echoes came out weaker under the chorus or phaser; they keep their level now.
  • The DELAY at high MIX x FEEDBACK grew forever (to the limiter); its loop gain is now under 1 at any setting.
  • LFO SYNC set over MIDI (CC 77) kept the free rate.
  • PRESETS turned past the last saved user preset jumped back to F14.
  • CHORD INVERSION 3RD on a three-note chord played the 2ND again; it is the root position an octave up.
  • The compressor's THRESH card showed "-0"; the manual described COMP ATTACK backwards and listed a COLOR setting that does not exist.
  • All Notes Off (CC 123 / 120) left notes whose note-off got lost "held": that note was then dead and the arpeggiator kept playing it.
  • A burst of more than 32 notes at once (a DAW sending a big chord, a fast pattern) lost the rest: missing or stuck notes.
  • The tremolo's SHAPE above 1.4 made the gain chatter (F12 AM TREMOLO too).
  • The cards round their numbers instead of cutting them (1.486 s showed 1.4S, now 1.5S; +11.8 dB showed +11, now +12).
  • A Rhodes note whose voice was taken over at the moment it was released could keep sounding (stuck).
  • VIBES: with the MOTOR on, a held note grew louder over the seconds and switching the motor off under a chord jumped up; the level and the ring are now the same with the motor on or off.
  • After undoing a preset load (hold SAVE) the header still named the preset just loaded.
  • All Notes Off right after a note played while every voice was busy could leave that note stuck (Rhodes and VIBES); and a low Rhodes note could keep ringing very quietly (about -80 dBFS) for up to 40 s after a panic. After All Notes Off every tail now ends within 8 s.
  • The CHORUS fed a very hot signal (big loud chords on a loud TYPE, about twice full scale before the limiter) could overflow and put out a full-scale crack of the wrong sign; it now stays exact.

Full manual: https://github.com/leonardoMirabal/frodhes/blob/main/docs/MANUAL.md · Built on Dinghy. GPL-3.0.

Don't miss a new frodhes release

NewReleases is sending notifications on new releases.