# MIDI cables

> A MIDI cable is one stream carrying all 16 MIDI channels, with sample-accurate timing inside the engine.

Source: https://docs.tune.toys/concepts/midi-cables/

A MIDI cable carries notes and controller messages between MIDI nodes. One cable is one stream, and that stream holds all 16 MIDI channels, so you do not need a cable per channel.

## What it does

MIDI nodes run inside the engine and handle each message at its sample offset within the audio block. Three nodes touch the outside world: [MIDI in](https://docs.tune.toys/nodes/midi.in/) and [MIDI out](https://docs.tune.toys/nodes/midi.out/) are logical ports whose labels the host binds to a device or the DAW (the Toy never stores a device), and [Keyboard](https://docs.tune.toys/nodes/midi.keyboard/) is the node behind the piano widget and computer typing. [Polyphonic instrument](https://docs.tune.toys/nodes/std.poly/) and [Wavetable](https://docs.tune.toys/nodes/std.wavetable/) take a MIDI cable on their `midi` input.

Between those ends, [MIDI merge](https://docs.tune.toys/nodes/midi.merge/) interleaves streams, [MIDI channel](https://docs.tune.toys/nodes/midi.channel/) filters or remaps channels, [Transpose](https://docs.tune.toys/nodes/midi.transpose/) and [Velocity](https://docs.tune.toys/nodes/midi.velocity/) edit notes. [MIDI to control](https://docs.tune.toys/nodes/midi.to-control/) and [Control to MIDI](https://docs.tune.toys/nodes/midi.from-control/) cross to and from [control lanes](https://docs.tune.toys/concepts/control-lanes/).

## Tips

- A MIDI output only connects to a MIDI input; convert with the bridge nodes to reach audio or control.
- Per-control MIDI learn bindings (see [MIDI](https://docs.tune.toys/concepts/midi/)) are separate from MIDI cables.

## See also

[MIDI](https://docs.tune.toys/concepts/midi/), [Cables and channels](https://docs.tune.toys/concepts/cables/), [Buses](https://docs.tune.toys/concepts/buses/).
