Just Friends: Version Four
A final form
Get it with all the instructions & info at the GitHub release page.
Just Friends: Version Three point Two
It's new, but mostly not. Expand your friends' digital literacy
Upon first release, Just Friends was finished. There was considered to be no path toward 'firmware upgrades' and a bootloader was very nearly left off the module altogether. But for one thing, Just Type, a digital communication layer between Just Friends and monome's Teletype. After a failed attempt to shoe-horn in the functionality, and the whole RUN-jack ordeal in late 2016, rewriting the software (along w changes to the hardware) didn't seem such a bad idea.
The main thing one will notice on first use is that the CURVE control has been switched around – sine and square waves have switched sides. The driving force here was to improve the transition into the square shape; a much more natural fit with the fast-rising logarithmic shape. Many smoother flavours of PWM are thus available.
While Just Type is admittedly aimed at a small userbase of scripting Eurorack users, the broader benefit is that the synthesis engine has been brought into a new RUN mode. SIFT has been removed (it's mostly accessible from SHIFT) and SPILL moved, thus now FLOOM mode can be present. This new mode provides an internal modulation oscillator on every channel. Thus each voice is a 2-operator FM voice. The ratio of the oscillators can be set via RUN voltage, and modulation amount via the FM knob & cv input.
A prior bug in STRATA mode has been remedied, and a hardware calibration mode has been added (though remains mostly unnecessary). Otherwise Just Friends remains largely the same.
DownloadJF Firmware Update Instructions for how to complete the update.
- FIX ii crash in synthesis mode (sound/sustain settings)
- FIX ii messages could be duplicated (fixes hung notes issue in synthesis mode)
- FIX polyphonic allocator now allows 'voice' and 'note' commands to interract
- FIX polyphonic allocator now balances notes evenly across voices in all synthesis modes
v3.2.a4: 2020-06-29 (Support in Crow v2.0)
- FIX smoother scaling of the INTONE knob around 12:00
- FIX SHIFT mode retriggers correctly when RUN voltage >=5V
- FIX STRATA mode ensures complete attack portion when at fastest attack setting
- FIX when in sustain mode (or STRATA), changing direction no longer causes discontinuities
- FIX ii 'trigger' command always triggers for non-zero values
- NEW ii 'pitch' command sets the denoted voice's pitch without retriggering its envelope
- NEW ii 'address' command allows to use a secondary i2c address for 2 Just Friends devices on a single ii bus
- CHANGE weak pullups enabled on ii lines. Coexists with existing Teletype and/or Crow setups
- FIX 'releases' are now ignored by transient and cycle modes in Synthesis
- NEW support for ii 'getters' so that JF's hardware state can be queried remotely
- FIX more reliable ii communication
- FIX Geode voice allocator uses round-robin algorithm by default
- FIX voltage scaling of RUN jack. Now allows limits to be reached
- FIX mapping of RUN jack to FM-modulator pitch in FLOOM mode
- Adds support for mid-2018 hardware revision
- Fixes mid-2018 modules with unresponsive I2C port
- Reduces FM depth in shape mode
- Cubic shaping on the FM knob for easier setting of small FM amounts
- Frequency ranges tuned toward slower speeds (deprecates v3.0.4_slow)
- Alternate 3.0.4 version with slower ramp times
- Corrects scaling of INTONE cv to cover full range with +/-5v
- sine & square waveshapes have switched sides of CURVE knob
- logarithm <-> square transition preserves polarity of PWM
- transient & sustain modes no longer reverse through zero with negative FM
- Fixes rare bug where these modes would get stuck cycling
- Decay is now smoothed logarithmically, relative to TIME
- Crash when FM-ing sustain level / FM input fixed
- Burst count is sampled per trigger (can be sequenced via RUN jack)
- Burst count scales exponentially, up to 36 triggers at +5v input
- RUN values below -3v5 will cause a trigger to choke the respective channel
- SIFT (deprecated. use SHIFT w positive CV offset into TIME)
- Decay time sampled per trigger (can be sequenced via RUN jack)
- Decay time range is increased & exponentially distributed
- Reconfigured for less chaotic, and more spectrally-defined use
- Only ID is cycling & will trigger receptive channels at end-of-cycle
- Retriggered channels will soft-sync (change direction)
- Each channel cycles & has individual sine-wave VCO for FM
- FM ratio controlled by RUN
- +5v ratio is 2:1 *crystals*
- 0v ratio is 1:1 *wavefolder*
- -5v ratio is 1:2 *grumble grumble*
- FM pot controls internal FM amount with standard INTONE / LINEAR response
- FM cv input acts as a FM-index offset (negative values decrease modulation)
Herein Just Type is explained to some extensive degree.
You shouldn't need this, but just in case! Furthermore, if things go awry you can perform a 'factory reset' to return to the pretty-damn-accurate default settings (see below below).
Calibration mode is launched at startup similarly to the bootloader, but with all knobs fully CW (maximum pots, sound, cycle, RUN jack inserted). Calibration settings are saved on-chip, so you'll only have to do this once.
- Turn off your synthesizer & set controls: all pots fully CW, sound, cycle, cable in RUN
- Turn on the power. You should only see IDENTITY lit, signaling calibration mode
- Connect your tuning voltage source to TIME. Set it to 0V output
- Switch to shape mode. 2N will light
- Set your voltage source to 2V
- Switch to sustain mode. 3N will light
- Switch back to cycle mode. 4N will light after a small delay while settings are saved
- Switch to sound mode. Just Friends will restart with your new settings.
Now each time you run JF it will use your custom calibrated values. Of course you can set different voltage offsets & tuning for truly weird behaviour. If JF is too fast, you could calibrate it to 1V & 3V to shift the pitch range down by an octave with no cable attached. Or calibrate to 2.4V for buchla standard 1.2V/octave. You probably just want to do it as outlined above though..
nb: The calibration settings will be retained even when re-flashing the firmware, so no need to re-do it each time you update.
nb: If you make a mistake with the switches in calibration mode it will just exit and use the existing setup. You can rerun the procedure as many times as you need.
If you need to return to the factory tuning settings, follow the below steps:
- Turn off your synth & set the calibration mode settings (All knobs fully CW, sound, cycle, cable in RUN)
- Turn on & you'll be in calibration mode. IDENTITY will be lit
- Turn all knobs fully CCW
- Switch to shape. The module will pause for a brief moment while it overwrites the custom tuning, then restart as normal.