This page covers:

  • What is meant by "Layout" in Keysight
  • "Automatic" layout mode
  • "Manual" layout mode
  • Things to consider when deciding on a layout

What is "Layout"?

Keysight is a 3D application; it has a scene and a camera, and the camera's view is what is rendered (seen) by the user. "Layout" refers to the positioning of the camera within the scene, and thus how any elements are actually laid out in the final 2D render.

External view

Layout settings are found exclusively under the Core menu tab.

Coordinate axes

Note

That's "ack-sees". Plural of "axis". Not axes for chopping wood, sorry.

Keysight is a 3-dimensional environment, despite often looking 2D. When referring to axes:

  • X axis: horizontal direction
  • Y axis: vertical direction
  • Z axis: "upwards" direction from the Backdrop

These axes remain constant even if using non-standard Manual layouts where Keysight appears to be wall-mounted, and the Y axis now seems to be the Z axis relative to the camera. All Position values are given in cm, with the "world origin" of 0.0, 0.0, 0.0 being the top middle of the center E/F white keys.

Axes

"Global" versus "Local" settings

(Advanced) Core

By default, all Presets(*) use the same set of global Core values. Adjusting any Core settings in a Preset(*) using Use global core mode will reflect those changes to all other Presets(*) set to Use global core. The toggle between Use global core and Use local core is only available in Advanced menu mode.(*)

Switch

However, if a Preset(*) is set to Use local core mode, editing any Core settings on that Preset(*) will only affect that Preset.(*) This is useful for having a particular Preset(*) that has some gimmick or different behaviour to the rest of the Preset(*) collection, such as this Star Wars preset.

Universal Layout settings

There are two layout modes Keysight can operate in: Automatic and Manual. The following layout settings are shared between both modes.

Note direction

Core > Visual layout

Governs whether or not Keysight is "real-time".

In Bottom-up mode: all effects are spawned immediately upon note-on event(*) and Note objects move from the Piano to the top of the Backdrop. This is intended for streaming, or other "live" style visualisations.

In Top-down mode: only Note objects are spawned immediately on note-on event(*), and remaining Effects wait for the given Travel time before spawning. This is intended for non-live videos, or streaming with a time delay.

Keysight can only run in one note direction at once. Switching between directions via any method will forcibly clear all active effects and reset all Simulation values.

Piano key length

Core Visual layout > Automatic > Key length

Or

Core Visual layout > Manual > Piano key length

Determines length of the Piano in the Y and Z axes. At the default value of 1.00, the Piano is dimensionally accurate to a standard (DS 6.5 rating➚) real piano (to a, quite frankly, obsessive degree of accuracy). Values above 1.00 are allowed, but are highly advised against due to breaking a lot of rules in terms of Z-axis layering.

Piano

Any Light bar templates built for the Piano assume a Key length of 1.00. This primarily affects the "Fade (Bottom)" and "Fade (Key edge)" templates. A Key length of less than 1.00 will result in these templates being "too low" for their intended effect, and may need to be moved around to look their best.

Note speed multiplier

(Advanced) Core > Visual layout, Advanced options section

Highly niche effect, and completely ruins "readability" of Note objects. This graph modifies the speed of Note objects:

  • When in Top-down mode the Notes spawn above the top of the Backdrop by a proportional amount to make them reach the Piano at the correct time.
  • When in Bottom-up mode the Notes simply move faster but disappear at the top of the Backdrop as per usual.

Dynamic note speed

Note

Subtle dynamic speed can really mess with viewers' eyeballs, but otherwise, this is a fairly useless gimmick effect.

Time dilation

(Advanced) Core > Visual layout, Advanced options section

This is a legacy feature, dating back to before Render-to-video was debuted in version 1.5.0. Time dilation is a multiplier to all time-based calculation in Keysight, and has no function whatsoever other than looking sort of cool when you play with the slider with active effects happening.

It was originally added as a means to avoid frame-drops when recording videos through something like OBS, with the intended workflow being to record a video of MIDI being played back at 0.25 Time dilation and then speed it up by 400% in video editing later to cover any instances of low framerate. Now, however, creating perfect quality videos is performed through Render-to-video and Time dilation is useless.

Automatic Layout

Automatic layout, debuting in version 1.6.0, is intended to make "traditional" 2D MIDI-roll-style visualisations as easy and intuitive as possible. It automatically adjusts the camera position to achieve the given settings at the current Keysight window resolution.

Travel time

Core > Visual layout > Automatic > Note travel time

Very straightforward. This is simply the time taken for Note objects to traverse their path between the Piano and the top of the Backdrop. It is recommended not to have Travel time set too low so as to cause visual discomfort for viewers tracking Notes.

Key display

Core > Visual layout > Automatic

This UI element controls the target number of Piano keys to be displayed. This feature is intended to support shorter-than-88-key keyboards, or to focus in on a specific area of the Piano for simpler arrangements.

Key display

The circular handles can be clicked and dragged to adjust the number of keys displayed. Be warned that this simply moves the camera; the edge of the next black key will be visible if setting a handle anywhere except the outer edges, or B-C, or E-F.

Perspective

Core > Visual layout > Automatic > Perspective

Perspective is the amount of "3D-ness" present in the scene. The following is an animation of changing between 0.00 Perspective and 1.00.

Perspective

This works via a Dolly zoom.➚ At 0.00 Perspective, the Keysight camera has a 5.00 degree field of view. At 1.00, the field of view is 90.0 degrees. A Perspective value between 0.30 and 0.75 is recommended if aiming for "realistic" looking 3D keys.

Warning

If adjusting Perspective in Advanced(*) menu mode, Piano key animation(*) and anti-aliasing(*) will not be enabled automatically but should likely be turned on.

Border

Core > Visual layout > Automatic

Border adds padding to the target 2D layout. It is measured in cm and can operate in either Linked or Unlinked mode by toggling the chain icon.

  • In Linked (highlighted chain) mode, the given value is added to all sides.
  • In Unlinked mode, each side has its own border offset.

Unlinked mode and just a Border - bottom offset is the most common usecase to achieve the look of piano visualisation that leaves room for hands playing the piano. Be cautious of the Void colour as this will be shown to the camera when using Border values. The following uses a Border - bottom value of 15.0 in Unlinked mode:

Border

Manual Layout

Manual layout allows direct manipulation of camera coordinates and properties, allowing fully 3D camera angles at the cost of being much harder to use. Manual layout should not be used if simply going for a traditional 2D, top-down view.

Using the Fly camera

Core > Visual layout > Manual > Camera position > Enter fly cam mode

Typing in coordinate values manually is unintuitive and slow. It is far more preferable to set baseline camera coordinates via the Fly camera, activated via the following button in the menu (or via the F key when not in the menu):

Flycam button

Once activated, the camera can be piloted using the the controls shown in the top right. Coordinates are "locked in" once Flycam is exited; either via pressing the Escape key to re-open the menu, or by pressing F to toggle Flycam.

If targeting a very specific camera angle, refining the coordinates manually after using the Flycam is often required (such as resetting the Position X value to 0.00).

Info

A game controller is highly recommended for easier and smoother camera controls while in Flycam mode!

Origin Y and "Wall-mounting"

Core > Visual layout > Manual > Camera position > Origin Y

Keysight, by default, has its Backdrop lying "flat" as if on a table. It is a common request to instead have Keysight vertical, especially for augmented-reality implementations.

Wallmount

This can be achieved by setting Origin Y to 0.00. After editing the Origin Y value, it is common for Keysight to "disappear". This is because the camera is no longer pointing at the active area. Using the Flycam is often the fastest way to re-acquire the Backdrop.

Info

This value acts as a camera coordinate space rotation and functionally determines what angle the Backdrop lies at (with 0.0 being vertical, and 90.0 being flat). Intermediate values are also entirely valid, with 45 degree angled layouts being very useful in some augmented-reality implementations.

Wallmount demo

Disconnecting the keyboard

Core > Visual layout > Manual > Keybed position

Continuing on from "wall-mounting", it is also possible to disconnect and reposition the Piano to make it feel more natural to a vertical Backdrop.

Angled keyboard

Warning

This is a highly niche feature and requires a lot of effort to use well.

Once Disconnect the piano keyboard from the backdrop is enabled, nothing will appear to happen. More sliders are now available to shift the position around:

Angled keyboard sliders

It is important to use the Flycam to get in close and ensure the Piano is positioned nicely, as a simple rotation will usually lead to clipping:

Keyboard clipping

Additionally, any elements such as a "Fade (Bottom)" Light bar will no longer match the Piano, and Impact lights may require special attention to be repositioned relative to the new keyboard position, as the Z-height and Y-height of Impact lights stay relative to the Backdrop.

Augmented reality alignment

Core > Visual layout > Manual > Augmented reality alignment

By matching the camera angle in Keysight to the camera angle of a physical camera, Keysight can be used to provide augmented-reality visuals (what a lot of Youtube videos call "magic piano!1!!1!"). The entire process is covered in great detail by this guide.

Spawn/release alignment notes will send a MIDI note on/off for every C and the lowest A0. The recommended steps for alignment have changed over the years, so this feature is largely vestigial and not particularly useful.

Enable alignment image overlay will display a given image across the whole Keysight window, in order to give a reference for alignment of the Keysight camera angle. Image opacity can then be tuned to make it more comfortable to match the two angles.

Warning

The alignment image overlay will stretch the given image across the whole screen! You must use an image of the same aspect ratio as Keysight for this to work.

Layout tips and tricks

Sizing reference

Size reference

  • Piano key Y: 15.15cm (includes felt)
  • Piano felt Y (optional): 0.30cm
  • Piano key X: 2.358cm (including gap between keys)
  • Backdrop divider Y: 0.30cm
  • Total piano X: 122.616cm

More information on typical Backdrop sizing found here.

Custom angles

There are three useful hotkeys when editing and switching between layouts in Keysight:

  • Ctrl + O switches to Automatic mode
  • Ctrl + P switches to Manual mode
  • Ctrl + I switches to Manual and the Custom angle

Custom angle is a user-driven set of Manual layout settings, allowing quick resetting to any angle.

Custom angle

This is enormously useful when using a Manual layout for inspecting elements up close, and then quickly returning to exactly where the camera was prior to any close inspection.