Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| midi-cc [2023/12/18 02:46] – steve.wang | midi-cc [2024/03/18 19:55] (current) – steve.wang | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| - | This tutorial will teach you how to use Konduktiva to send MIDI Control Change(CC) messages. | + | **Overview: ** This tutorial will teach you how to use Konduktiva to send MIDI Control Change(CC) messages. |
| - | Ensure you have 4 sessions of a music synthesizer that supports MIDI control change messages. Yoshimi recommend for Linux and Surge is recommended for MacOS. | + | **Things To Note:** This tutorial assumes you have already |
| - | + | <code javascript> | |
| - | \\ WARNING: \\ This tutorial assumes you have already [[https:// | + | const K = require(' |
| + | let e = K.setUpMusicalEnvironment(K.defaultConfigurationObject, | ||
| + | </ | ||
| The example below is based on Yoshimi. Click [[https:// | The example below is based on Yoshimi. Click [[https:// | ||
| + | |||
| + | |||
| + | A player that sends controlChange messages will not send other MIDI messages anymore. After configured, it will only send MIDI control change messages and nothing more. | ||
| + | To configure a player to ONLY send MIDI CC messages change the action function and define the controlChangeMap variable in the player. | ||
| + | <code javascript> | ||
| + | //Changing action function: | ||
| + | e.players.exampleMidiPlayer1.action = ' | ||
| + | </ | ||
| The key to making Konduktiva send control change messages is the // | The key to making Konduktiva send control change messages is the // | ||
| - | First create | + | Create |
| <code javascript> | <code javascript> | ||
| e.controlChangeMaps.p1 = new K.QuantizedMap(10, | e.controlChangeMaps.p1 = new K.QuantizedMap(10, | ||
| Line 17: | Line 27: | ||
| { controller: 37, value: 60, channel: 0 }, | { controller: 37, value: 60, channel: 0 }, | ||
| { controller: 37, value: 70, channel: 0 }, | { controller: 37, value: 70, channel: 0 }, | ||
| - | { controller: 37, value: 100, channel: | + | { controller: 37, value: 100, channel: |
| ]) | ]) | ||
| </ | </ | ||
| + | In Yoshimi, this will change whatever you assign 37 to. | ||
| - | Next I will ensure the exampleMidiPlayer4 | + | |
| + | Next I will ensure the exampleMidiPlayer1 | ||
| <code javascript> | <code javascript> | ||
| - | e.players.exampleMidiPlayer4.controlChangeMap = 'p4' | + | e.players.exampleMidiPlayer1.controlChangeMap = 'p1' |
| </ | </ | ||
| Line 29: | Line 41: | ||
| <code javascript> | <code javascript> | ||
| - | e.play(' | + | e.play(' |
| </ | </ | ||
| [[http:// | [[http:// | ||