diff --git a/docs/device.md b/docs/device.md index 5d62dfc..d76402c 100644 --- a/docs/device.md +++ b/docs/device.md @@ -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 diff --git a/docs/micro-scale.md b/docs/micro-scale.md index 0f5335f..d2ef452 100644 --- a/docs/micro-scale.md +++ b/docs/micro-scale.md @@ -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. @@ -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. |