Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion docs/device.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,17 @@ The Button can be configured to do one of the following actions when held down f

### External Preset Change

You may make a particular Midihub's port to listen for Program Change messages on a particular channel. PC0 - PC7 messages switch between presets 1 - 8.
You can configure a specific Midihub port to listen for Program Change messages on a particular channel, allowing you to switch between presets using an external device. When enabled, PC0–PC7 messages will switch to presets 1–8, respectively.

This setting can be configured in the **Device -> Settings** dialog. If you find that your presets are changing unexpectedly, it may be because your connected hardware is sending Program Change messages. You can disable this feature by setting the channel to 'OFF' in the settings.

If your device sends Program Change messages outside of the 0-7 range, you can use a MIDI loopback to remap them. This involves sending the PC message out of Midihub and back into it on a different port. You can then use a `Transform` pipe to change the PC message into a CC, a `Rescale` pipe to remap the value, and another `Transform` pipe to change it back to a PC message with the desired value.

Here's an example of a loopback setup:

1. Connect a MIDI cable from a MIDI OUT port on Midihub to a MIDI IN port.
2. In the Midihub Editor, create a pipeline that takes the PC message from your device, transforms and rescale it, and sends it to the MIDI OUT port used for the loopback.
3. The remapped PC message will then be received on the MIDI IN port and will trigger the preset change.

### Initial Preset

Expand Down
15 changes: 15 additions & 0 deletions docs/micro-scale.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

A modifier pipe that adjusts MIDI note numbers and generates pitch bend messages according to a micro tuning defined in Scala language.

When retuning, the Micro Scale pipe may sometimes need to produce a different note along with a pitch bend to achieve the desired base note frequency. It uses the closest natural note to the desired frequency plus the necessary pitch bend amount to reach that frequency.

This pipe acts similar to the [Dispatcher](dispatcher.md) pipe, as it dispatches each note to a new channel,
since Pitch Bend messages apply for every note in the channel, to get correct polyphony, each note must go
to its own channel.
Expand All @@ -16,6 +18,19 @@ Check out the [Scala website](http://www.huygens-fokker.org/scala/),
[Scala software](http://www.huygens-fokker.org/scala/downloads.html) and the
[Scala examples](http://www.huygens-fokker.org/scala/examples.html) section to get started with micro tunings!

::: tip
When using a sequencer to record and play back micro-tuned notes, it's crucial to ensure that the sequencer records the Pitch Bend messages sent by the Micro Scale pipe. If the sequencer only records the note data, the tuning will be incorrect on playback.

The recommended workflow is as follows:

1. Send the output of the Micro Scale pipe to your sequencer.
2. Record the performance in your sequencer.
3. Disable the Micro Scale pipe in Midihub.
4. Send the output of the sequencer directly to your synthesizer.

This ensures that the sequencer captures the complete, micro-tuned performance, including the necessary Pitch Bend data, and plays it back correctly.
:::

| Parameter | Description |
| ---------------------- | ------------------------------------------ |
| Bypass | Whether processing is enabled. |
Expand Down