LinnStrument Firmware Public Beta : v1.2.0-beta2

Official support for: rogerlinndesign.com
RELATED
PRODUCTS

Post

Hi everyone,

We're almost ready with a new major release of the LinnStrument firmware and would like to share a beta version with you first to do some final testing.

As usual, these beta versions are unsupported, so don't upgrade to them right before going to a gig! :-)

If you have to go back to a stable version, you might lose all your settings and have to re-do a calibration.

Please let us know if you tried this beta, even if it's just to say that everything is working fine.

The firmware installers can be downloaded from here:
linnstrument-firmware-1.2.0-beta2-macosx.zip
linnstrument-firmware-1.2.0-beta2-windows.zip

These are the changes since v1.1.2:
  • New Feature: The CC FADERS feature now permits each of the 8 horizontal faders to use any Control Change number. In Per-Split Settings, hold down CC FADERS and the screen will display a large number and 8 blue lights on the right edge, one of which is lit in green to indicate which of the 8 faders is selected. Select one of these 8 lights to select a fader, then adjust its CC number by swiping left or right.

    Note that these 8 assignments are unique for the left and right splits. Press LEFT SPLIT or RIGHT SPLIT to view/edit the left or right split’s 8 assignments.
  • New Feature: The LOW ROW’s “X=CC1” option can now be assigned to any Control Change number, and permits either HOLD operation (same as before) or FADER operation (same as CC Faders). Select Per-Split Settings and hold “X=CC1”, then the screen will display large characters. Swipe up or down to switch between the following two settings, and left or right to edit the setting’s value:
    1. Mode:
      1. “HLD” (Hold mode): Same as in previous software, you must hold the low row to send the CC value, and a zero value is sent when you release.
      2. “FDR” (Fader mode): Same as CC FADERS, press on Low Row to change the length of the light bar and send a value between 0 and 127.
    2. CC#: 1 (normal) though 127. If other than 1, the “CC=1” pad’s light will change to the Accent color.
    Note that these 8 assignments are unique for the left and right splits. Press LEFT SPLIT or RIGHT SPLIT to view/edit the left or right split’s assignments.
  • New Feature: The LOW ROW’s “XYZ=16-18” option can now be assigned to send any Control Change number for X, Y or Z, and permits either HOLD operation (same as before) or FADER operation (same as CC Faders). Select Per-Split Settings then hold “XYZ=CC16-18”, then he screen will display large characters. Swipe up or down to switch between the following four settings, and left or right to edit the setting’s value:
    1. Mode:
      1. “HLD” (Hold mode): Same as in previous software, you must hold the low row to send the CC value, and a zero value is sent when you release.
      2. “FDR” (Fader mode): Same as CC FADERS, press on Low Row to change the length of the light bar and send a value between 0 and 99.
    2. X CC#: Select X0 - X99.
    3. Y CC#: Select Y0 - Y99.
    4. Z CC#: Select Z0 - Z99.
    If any of the CC numbers are not set to the default values, the “XYZ=16-18” pad will light in the accent color.

    Note that these 8 assignments are unique for the left and right splits. Press LEFT SPLIT or RIGHT SPLIT to view/edit the left or right split’s assignments.
  • New feature: The Panel/Foot Switches’ “CC65” option can now be changed to use any Control Change number. Select Global Settings and hold “CC65”, then the screen will display “65”. Swipe left or right to edit the value. If set to any value other than the default 65, the “CC65” pad will light in light blue instead of the normal blue.
  • Enhancement: Before, you could select any Pitch Bend range by selecting the 5th pad from the top in the Per-Split Settings / Pitch Bend column. Now, the “+/- 24” selection is editable. Select Per-Split Settings then hold “+/- 24”. The screen will display “24” in large numbers. Swipe left or right to edit the value. If set to any value other than the default 24, the “+/- 24” pad will light in the accent color. Note that this setting is unique for the left and right splits. Press LEFT SPLIT or RIGHT SPLIT to view/edit the left or right split’s assignments.
  • Enhancement: Before, you could select any Control Change number for Timbre/Y control by selecting the 5th pad from the top in the Per-Split Settings > Timbre/Y column. Now, the “CC11” option is editable to use any CC number. Select Per-Split Settings then hold “CC74”. The screen will display “74” in large numbers. Swipe left or right to edit the value. If set to any value other than the default 74, the “CC74” pad will light in the accent color. Note that this setting is unique for the left and right splits. Press LEFT SPLIT or RIGHT SPLIT to view/edit the left or right split’s assignments.
  • Enhancement: Before, you could select any Control Change number for Loudness/Z control by selecting the 5th pad from the top in the Per-Split Settings > Loudness/Z column. Now, the “CC11” option is editable to use any CC number. Select Per-Split Settings then hold “CC11”. The screen will display “11” in large numbers. Swipe left or right to edit the value, including CHNPR (MIDI Channel Pressure messages) or PLYPR (MIDI Poly Pressure messages) at the end of the list. If set to any value other than the default 11, the “CC11” pad will light in the accent color. Note that this setting is unique for the left and right splits. Press LEFT SPLIT or RIGHT SPLIT to view/edit the left or right split’s assignments.
  • Enhancement: The CC FADERS feature formerly sent its CC messages over all enabled Per-Note or Per-Row channels. Now these messages are only sent over the Main channel, which is more consistent with Channel Per Note or Channel Per Row operation.
  • Enhancement: Before when using the split-keyboard Strum feature, you could only strum touched rows. Now you can also strum untouched rows, just like strumming open strings.
  • Enhancement: the Quantize Hold feature now responds faster and more naturally to fast playing.
  • Enhancement: To select Quantize Hold Slow mode, you must now press both QUANTIZE HOLD and QHOLD FAST simultaneously. This is now more consistent with similar 2-button settings of the UI.
  • Enhancement: Low Power mode now consumes less power and has slightly faster playing response.
  • Enhancement: Before, if you disconnected power while making a panel setting change, this could interrupt LinnStrument’s internal process of saving to its internal flash memory, possibly resulting in corrupted internal calibration settings, which could result in some notes playing wrongly or not at all. Now, whenever power is connected, the internal flash memory is checked for corruption and if found, all internal settings (including Calibration) are reset to default values and a warning message is displayed.
  • New Feature: A new User Firmware Mode has been added, which when enabled causes LinnStrument to only send basic touch messages. This is useful for software writers who wish to write computer applications for LinnStrument without LinnStrument’s functions hampering their application. Details about this are explained in user_firmware_mode.txt in the source code.
  • New Feature: LinnStrument now supports the new MIDI Polyphonic Expression (MPE) specification (http://bit.ly/mpe-spec) for simple connection between sound generators and polyphonic expression instruments like LinnStrument, Seaboard or Continuum. MPE mode is a subset of LinnStrument’s Channel Per Note mode and is enabled by holding the Channel Per Note pad, causing it to change to the accent color. While active:
    • Left Split) The Main channel is always 1 and the Per-Note Channels are a contiguous block starting at 2 and going as high as 16.
    • Right Split) The Main channel is always 16 and the Per-Note Channels are a contiguous block starting at 15 and going as low as 1.
  • Bug Fix: Formerly, if Split was on and MIDI CC messages 20-22 were received to light the note pad lights, messages received on either split’s channels would cause lights on both splits to light. This is now fixed so that these messages received on one split’s channels will only light that split and not both.
  • Bug Fix: Formerly, if MIDI Mode = Channel Per Row and MIDI CC messages 20-22 (to light the note pads) were received on a specific row’s channel, the same note number would be lit on other rows. This is fixed.
  • Bug Fix: After performing a Reset Command (Global Settings > Actions column) then disconnecting and reconnecting power, LinnStrument would wake up with the settings as they were before the reset. This is fixed.
Moog software - LinnStrument - RackBlox - CableCube - Knobotron - Eigenharp Alpha/Tau/Pico - SendMIDI / ReceiveMIDI - MIDI Tape Recorder - Geco MIDI Leap - Steelstring Guitar - Electric Guitar - Vocals - Dynamod Games - Kung-fu

Post

wow massive amount of work! thanks gbevin

Post

Geert - did you add code to change the MIDI/USB random data issue in this release?

I saw some code changes related to it in the repository, but didn't know if they made it into 1.2.0 or not.

Post

I tried to improve that in software but did not succeed. Note that this only happens when you have both USB and DIN connected, but send out MIDI over USB. The DIN outputs being unused will generate random data. The best fix is to simply unplug the DIN plugs if you're not using those.
Moog software - LinnStrument - RackBlox - CableCube - Knobotron - Eigenharp Alpha/Tau/Pico - SendMIDI / ReceiveMIDI - MIDI Tape Recorder - Geco MIDI Leap - Steelstring Guitar - Electric Guitar - Vocals - Dynamod Games - Kung-fu

Post

Hi Geert,

Really ejoying the Linnstrument, you and Roger have crafted a fine instrument.

I've installed the beta software, works so far but haven't tested extensively yet.

Was hoping it would fix a bug I found, but no luck.

I've attached a photo where you can see 3 notes are being held down, but 4 notes are still playing.

To reproduce the problem, you can use the pattern in the photo starting on any note. Start by slowly adding each notes from the lowest to highest, then release the bottom note. Frequently the bottom note will remain lit and can't be played. Sometimes by moving the held notes a little allows the bottom note light to change, however even then it is not always possible to play the note until releasing the others.

Other patterns with 3 notes in a column can produce the same problem.


A separate question, is it possible to map the X value to something other than Pitch bend. In the beta it seems Y & Z can be mapped to any CC, however it seems X can either be Pitch bend or off. Is this correct?
It would be really great with drums or piano type instruments to map X as another CC value, like X & Y, rather than pitch bend.

Regards
Roger
You do not have the required permissions to view the files attached to this post.

Post

Hi Roger,
Sorry about the problem. I am unable to reproduce that problem on any units here. Have you changed any of the Touch Sensor Threshold settings at the bottom of this page?:
http://www.rogerlinndesign.com/linnstru ... tings.html
If so, please set them back to the default values shown in the text of that page. If not, did you do a Calibration after installing the new beta version? If neither of these applies, please email me at support[at]rogerlinndesign.com and I'd like to do a video call to figure out the problem quickly.

In answer to your second question, unfortunately X-axis movements can only be sent as MIDI Pitch Bend messages. However, most DAWs include MIDI message translators that permit you to convert between MIDI messages. The problem with using CCs for x-axis is that their 0-127 range isn't enough. Assuming you'd want to sense the entire horizontal LinnStrument playing surface, then 128 steps divided by 25 note pads = only 5.12 steps of resolution per note pad. Compare that to 14-bit Pitch Bend messages, which provide 16384 total steps or 655 steps per each of the 25 note pads in a row.

Post

I contacted Roger via support after finding an easier way to demonstrate the problem.
Please note this was quite difficult to trigger during normal playing.

The first things he got me to check where wether any of the Touch Sensor Threshold default values had been changed or if a calibration had been attempted, all values where default and calibration was attempted.

Here was the fix from Roger which worked perfectly:

We’ve got what we believe is a fix for you. Please change Global Settings > Note Release Threshold (Column 25, 2nd row from bottom) from 120 to 210. In units here, that fixed both of the problems you identified. Please try this and see if it negatively affects any practical playing situations.


RL: The problem is related to the way LinnStrument senses 3 dimensions of multiple touches at high speed, which is a difficult engineering problem and results in some noise/crosstalk in adjacent cells of the same column. The software works around this noise very well but it won’t be perfect in all situations. That is why I prominently post the notice about sensor limitations in both the Specs page and the FAQ page. That said, people seem to feel that these limitations don’t affect practical playing situations.

Post

There was an additional question about whether it is possible to add a change so that pitch bends could be changed to a CC value on a per note basis, after clarifying it was by note rather than row, Roger indicates that it can be done on a technical level.

This was not a feature request, just nice to know it can be done technically, if need be.

From the exchange:

RF:If I understand your reply correctly each note has an X resolution of at least 655 steps or more per note, correct?
So the X value per note could be down sampled to 0-127 and mapped to a CC much as the Y value currently is per note. As you mention some DAWs could remap, however many synths and software can't.

RL: The flexible nature of LinnStrument inspires many different people to want to make it into many different instruments. However, I realized early on that 1) I don’t have the resources to make a LinnStrument that meets everyone’s desires, 2) I didn’t want to make it so complex that it scares away non-techy musicians, and 3) I wanted to keep it compact without adding size for an alphanumeric display. So I intentionally chose parameters focused on its use as an expressive musical performance instrument and printed on the panel (up to column 16 in order to maintain UI compatibility with a future 16-column model). As part of that focus, Pitch Bend messages are the only option for x-axis messages.

Post

I've being trying to find the history behind the slide guitar piece by Graham Lee on KLF's album Chill Out.
In Roger Linn's Pedal Steel Guitar Linnstrument video he was playing the piece, so I had to find out where it came from.
RL: That is the intro from a 1970s song by Crosby, Still and Nash called Teach Your Children Well, performed by the late Jerry Garcia.

This has been posted in three parts due to the board software rejecting it, seems the name of the KLF song triggers a posting block, the second part of the songs name is Eterna...


Once again thank you very much for the fast and efficient support.

Post

Hello Roger and Geert,

I'm a new owner of Linnstrument and first of all I would like to thank you and all your stuff for creating Linnstrument.
I'm not a piano player (and I will never be the one ;), I play bass and experiment electronic music and Linnstrument fits me perfectly. My favorite mode is Note-per-channel, the most expressive at my opinion.

My Linnstrument came with 1.1.2 firmware and my immediate wish was a parametric CC and mode fader for the low row.
A miracle! 1.2.0 beta2 firmware offers this and many other useful things. Here we go! Immediate upgrade. Thank you for this great job!
I would like to share my first impression.

When the things change, we find new ones, we loose others.
With 1.2.0 firmware we lost (I didn't found it) the polyphonic sending of CC by the low row in note-per-channel mode - it send only main channel CC but the 1.1.2 version send it perfectly for all chosen channels in note-per-channel mode. How regrettable!
Is it normal? Is it your wish or may I keep my hope that the polyphonic sending will return one day. Or maybe I must downgrade the firmware...
Of course I am aware that 1.2.0 is a beta version.

A few questions :
- Low row triple CC sending is very attractive function. But it remains monophonic - three CC are sent only at main channel in all modes. Do you plan to do it polyphonic?
- Fader mode for the low row, it's a really enhancement - I prefer Fader mode to Hold mode (it liberate my hands - I don't need to hold a pad to maintain the sound - like a classic mod wheel).
But I noticed that in this mode 0 CC value situate at the first pad and 127 CC value situate at the last pad of the low row. This requires a long passage of finger to cover all range of the CC. I find that it makes expression a little bit "muddy", lack of nervousness and not really comfortable. Hold mode offers a significantly shorter race of the finger to pass the full range (from 0 to 127 values) and thus makes the playing more expressive.
I think that the ability of settling the stroke length for the low row at Fader mode could be a real enhancement for Linnstrument. What do you think?
It can be also valid for the opportunity to settle the rang of sent CC values (from 30 to 127 or from 0 to 64 for example) - very useful for hardwares sound modules.

thank you in advance for your answers and (or) comments

Regards
Leonid

Post

Hi Leonid,
Thank you for buying a LinnStrument. Please see below for my responses to the points you raised. Please also understand that LinnStrument's lack of an alphanumeric display (for size reasons) prevents us from including every setting to meet everyone's unique needs. I explain more about my design focus for LinnStrument on the FAQ page, in the question "Can you add this feature?:
http://www.rogerlinndesign.com/linnstrument-faqs.html

* CC FADERS sending CC over Main channel in 1.2.0:
In Channel-Per-Note mode, we are following the rules of the new MPE (MIDI Polyphonic Expression) specification: the Per-Note channels are used only for Note On/Off, pressure, bend and Y-axis messages and the Main channel is used for control messages. For this reason, we now consider the CC FADER messages as more appropriate for the Main channel because the intended purpose of CC FADERS is to have fast access to 8 CCs in order to alter aspects of the entire sound. However, you can reroute any specific CC message in most DAWs.

* Low Row = XYZ16-18:
Yes this is monophonic because its intended use is as a single-touch 3D control strip. If you want polyphonic control from a single row, you can use normal performance mode, perhaps with MIDI Mode set to Channel Per Row.

* Adjustable range for Low Row = CC1 or XYZ=16-18:
It is standard practice with MIDI keyboards to adjust the range of MIDI CCs at the sound generator. The reason is that MIDI CCs are only 7 bits, so limiting their range at the source would degrade the resolution to unacceptable levels. That said, most DAWs permit you to scale or bias MIDI messages.

Post

Roger and Geert have to ensure the Linnstrument is compatible with emerging standards and fits the model that Roger settled on for the Linnstrument. As I often remind myself - he called it the Linnstrument, not the Linntroller.

That being said, the firmware is very well structured and very easy for experienced coders to read and modify. If you primarily deal with hardware MIDI sound sources, you usually cannot define the range of control for incoming MIDI CC messages. If there is a MIDI CC defined to select a wave from a wavetable, you may only have 0-63 possible valid values. In the current model, that means if you use a fader, you have to remember to stop half way.

Again - given what Roger and Geert set out to implement, this is the way it is. If you can code or know someone that can, you are free to deviate from the official path. For my (strictly hardware) sound sources, I needed to be able to define minimum and maximum values for CCs and I wanted to keep the multi-channel behavior from earlier versions, so I rolled my own version of the OS. I also kept something that was originally a bug, but I found useful, so I made it an option as well. My version does not support MPE and I am aware that every time Geert releases a new version with bug fixes, I have to carefully merge the parts I want from the new without overwriting my changes.

I am writing this not to contradict Roger, but to offer that he was gracious enough to make the firmware open source so that people could take the instrument down their own personal path if necessary.

Tom

Post

-> Roger Linn
Hi Roger,
Thank you for your answer.
I didn't understood that the transition to MPE mode was irreversible, I thought I had a choice between the MPE mode and the multi-channel behavior from earlier version keeping new features.
I'm a strictly hardware gear user - and I will chose what firmware (1.1.2 or 1.2.0) is best suited for my personal use.
Of corse I read the FAQ section and believe me, it wasn't in my attention to claim you "My personnel feature" ;) - music first!
One more time, thank you for your excellent work.
Last edited by lbgo000 on Wed May 13, 2015 6:40 pm, edited 1 time in total.

Post

-> oldgearguy
Hi Tom,
I read your post carefully - may I send a PM to ask some questions to not disturb this forum?
Leonid

Post

Hi Leonid,
No worries-- I didn't take it as your asking for a personal feature. :)
The issue is that we feel we made a mistake in our original implementation of CC FADERS in Channel Per Row mode because CC FADERS is a feature that is different from and independent of Channel Per Row mode to send 8 different things. In other words, these are two different features that coincidentally happen to use the 8 rows to send 8 different things. Now CC FADERS always follows the same rule: it is sent on the Main channel, regardless of how you have MIDI Mode set or any other parameter. And without an alphanumeric display, we have no choice but to limit the quantity of limited-use detail settings like "If the opposite split's MIDI Mode = Channel Per Row, CC FADERS on this split sends each row's CC over the same channel as used in the opposite split by that row's Channel: On/Off". I'm very sorry that our corrected implementation in version 1.2.0 is not your preference. We try to please as many people as LinnStrument owners as possible while not scaring away non-techy musicians with too many features and settings. It's a difficult balance and I thank you for understanding.

Post Reply

Return to “Roger Linn Design”