Skip to content

Commit

Permalink
Improvement docs (westlicht#21)
Browse files Browse the repository at this point in the history
* Improvement docs

* Add midi improvements

* Refactor
  • Loading branch information
jackpf authored Aug 18, 2022
1 parent e61bc4d commit f1fdbb3
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 1 deletion.
17 changes: 16 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,19 @@
![Build Status](https://github.com/westlicht/performer/actions/workflows/ci.yml/badge.svg?branch=master)
Build Status: ![Build Status](https://github.com/jackpf/performer/actions/workflows/ci.yml/badge.svg?branch=master)
Upstream Build Status: ![Upstream Build Status](https://github.com/westlicht/performer/actions/workflows/ci.yml/badge.svg?branch=master)

# Improvements

This is a fork of the [original repository](https://github.com/westlicht/performer), with some improvements that I personally find essential.

To find out more about improvements changes, check the table below.

| Change | Documentation |
|-------------------- |-------------------------------------------------- |
| Noise reduction | [docs](./doc/improvements/noise-reduction.md) |
| Shape improvements | [docs](./doc/improvements/shape-improvements.md) |
| MIDI improvements | [docs](./doc/improvements/midi-improvements.md) |

--- original documentation below ---

# PER|FORMER

Expand Down
22 changes: 22 additions & 0 deletions doc/improvements/midi-improvements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Improvement: MIDI Improvements

This change improves MIDI integration of the performer.

## Program Change Messages

The performer can now send and receive program change messages.

Note:

- Program change messages must be enabled in the project settings
- Program change messages are only sent when changing all patterns to the same pattern (changing patterns individually will not trigger program change messages)
- Program change messages are currently always sent on channel 0
- Program change messages are sent slightly before the end of the sequence in sync mode (this allows the receiving hardware some time to acknowledge the program change request)

## Always Sync Patterns

Enabled in project settings. This isn't strictly a MIDI improvement, but it works well with program changes.

When enabled, pattern changes are synced by default, rather than having to press **SYNC** before selecting a pattern.

Not very exciting, but very useful for live performance when you want things to always be synced.
30 changes: 30 additions & 0 deletions doc/improvements/noise-reduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Improvement: Noise Reduction

The OLED screen that the performer uses is inherently noisy. It generates noise on the power bus, and also on its outputs,
meaning any other module that is connected to the performer will pick up this noise (particularly VCOs & filters).

It's not very noticeable, unless you amplify, compress or overdrive the output, but it's definitely there.

The issue with some further information on the original original repository is [here](https://github.com/westlicht/performer/issues/304).

The problem is not entirely solvable by software (since it's a hardware issue), but basically the amount of noise is directly
related to the pixels that are lit up on the OLED screen.

This change provides some settings to reduce the noise as much as possible (I think I achieved around 20dB reduction).

## Guide

1. Open up the **System** page (**PAGE** + **SYSTEM**)
2. Press **SETTINGS** (**F5**)

## Settings

| Setting | Description |
|-------------- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Brightness | Reduces the overall brightness of the display. Lower brightness will reduce noise. |
| Screensaver | Turns the screen off after the specified time, or "off" to disable. When the screen is off, the noise is completely gone. This is useful in a studio setting, when you'd like to record something completely noise-free. |
| Wake Mode | Determines when the screen should "wake up" from the screensaver. "always" will wake the screen on any key press. "required" allows the screen to stay off when performing tasks that don't really require the screen, e.g. modifying a sequence (since the LEDs describe the current sequence). This is also a pseudo "screen-less" mode for the sequencer, which can be nice :) |
| Dim Sequence | The sequence page is particularly noisy if a lot of steps are enabled from the steps currently displayed on-screen. With dim sequence on, the squares are slightly darker than normal, which reduces noise on the sequence page substantially. |

One change that is not added as a setting is changing the footer UI elements (the text relating the the **F** keys)
so that the active function is bold instead of highlighted. This reduces noise drastically.
36 changes: 36 additions & 0 deletions doc/improvements/shape-improvements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Improvement: Shape Improvements

This change improves curve sequencing.

## Curves spanning multiple steps

Adds the ability to make a curve span over multiple steps.

### Guide

1. Open a curve track
2. Select multiple steps (**SHIFT** + **Sx***)
3. Hold **SHIFT** and turn the encoder to select a shape

The shape will be spread across the selected steps.

Not holding **SHIFT** will result in the original behaviour - all selected steps are set to the same shape.

### Extra features

- While holding **SHIFT** with multiple steps selected, pressing the encoder will reverse the shape across the selected steps

## Extra shapes

Adds more shapes.

Added shapes:

- Half ramp up: same as ramp up, but half a step
- Half ramp down: same as ramp down, but half a step
- Half exponential up: same as exponential up, but half a step
- Half exponential down: same as exponential down, but half a step
- Half log up: same as log up, but half a step
- Half log down: same as log down, but half a step
- Half smooth up: same as smooth up, but half a step
- Half smooth down: same as smooth down, but half a step

0 comments on commit f1fdbb3

Please sign in to comment.