Releases: nathankopp/linnstrument-firmware
Release 2.2.2-K07
Changes in this release:
- Fix bug of stuck notes, caused by new velocity calculation.
- Fix bug where you can't play certain notes while others are being held down, caused by new velocity calculation.
- Make "pressure-reset-on-release" flag similar to "pitch-reset-on-release" (the logic was reversed... now it is the same).
- Fix minor issue with CC messages.
- When using the "sweet spot" output curve for pressure, it keeps the sweet spot for a longer time before converting to the standard response.
- Added slewing for both timbre and loudness when using single-channel mode, so that there aren't instant (and non-musical) jumps when playing polyphonically.
- Add slewing for pitch bend. The initial note to the first adjacent note during a pitch slide is not quite so instantaneous.
Release 2.2.2-K06
Updates in this version:
- Reduce lag for new velocity calculation;
- Force sending MIDI message for zero loudness before sending note-off, regardless of MIDI message traffic. (This is irrelevant if the option is enabled that completely skips sending zero loudness at note-off.)
Release 2.2.2-K05
This release implements the following changes:
- remove the 'pressure attack curve' (it wasn't needed any more after the slew problem was resolved)
- change the modification where pressure=0 is not sent for note-off to be optional; the default now matches the standard firmware's behavior
- merge NRPN fix from the master firmware
WARNING: Installing this firmware will clear any settings and sequencer projects you have on your Linnstrument. That is because I've added a new option to the saved settings, which increases the data structure's size. And I did not implement a conversion (because I'm not quite sure how to do that), so the Linnstrument doesn't know how to load your previous settings into the new data structure (due to the size mismatch), and therefore it just initializes everything to the defaults. If someone can help me to figure out how to write the subroutine to convert the settings, I'd appreciate it!
Release 2.2.2-K04
Changes:
- New velocity calculation
See https://github.com/nathankopp/linnstrument-firmware/wiki/New-Velocity-Calculation
Release 2.2.2-K03
Changes in this release:
- If the pressure center point is not zero, use a piecewise linear function (two segments) instead of just a straight line from min to max. This helps with synths that don't have logarithmic volume knobs/modulations.
- When cubic is enabled, only use cubic at the start; over 900ms, interpolate from cubic to 90% linear and 10% cubic. This keeps consistent volume for short notes, but allows greater expressiveness for extended notes.
- If the initial pressure (first 50ms after note-on) is in the lower 20% of the possible range, then use linear for the bottom half. This improves expressiveness for notes that crescendo starting at zero or near-zero volume.
- Change the character from "N" (for neutral) back to "C" (for center), because N (neutral) and H (high) look too similar in the Linnstrument's low-res font.
- Always send timbre and loudness upon new note, even if the new value is the same as the most recent value sent for the channel.
The last one is required for some synths in some circumstances, such as when AT (aftertouch/channel pressure) is used to modulate the amp in Arturia Pigments. (Pigments seems to reset the channel's AT to zero upon when a new note starts, and so if the new value is not sent, the volume will be very low until a non-matching value is sent.) With the standard Linnstrument firmware, this usually isn't an issue, because the Linnstrument also sets the AT back to zero upon note release. Thus, any non-zero values will be considered 'different'. However, other changes in this fork (such as the sweet-spot curve, as well as not resetting loudness to zero for a fast note release) cause situations where the new loudness value will exactly match the old loudness value. Thus, it is necessary to force send the loudness value. I've chosen to send both immediately before and immediately after the note-on message, to hopefully give the greatest cross-compatibility with various synths and virtual instruments.
First public release of Nathan's custom firmware
I've modified the firmware on my Linnstrument to achieve the following goals:
- Improve how Z expression (pressure) interacts with note attack and release
- Improve playability for beginners by making the instrument more forgiving
- Improve visual feedback
This release is based on a pre-release build of version 2.2.2 of the official firmware.
See the GitHub wiki for more details.
I invite others in the community to give it a try to see if maybe these changes would be useful for other Linnstrument players. TRY AT YOUR OWN RISK. Installing this firmware, even if you follow the proper instructions, might erase your settings and/or sequencer projects.
To update the firmware, you need to get the official installer here: http://www.rogerlinndesign.com/ls-updating-software.html
Then, backup the copy of the ".bin" file in the installer folder, and place the downloaded custom firmware in place instead. The official firmware upgrade software will automatically find the only *.bin file in the folder, and will use that for the upgrade.