Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

InputEventMIDI

Inherits: InputEvent < Resource < RefCounted < Object

Represents an input event from a MIDI device, such as a piano.

Description

InputEventMIDI allows receiving input events from MIDI (Musical Instrument Digital Interface) devices such as a piano.

MIDI signals can be sent over a 5-pin MIDI connector or over USB, if your device supports both be sure to check the settings in the device to see which output it's using.

To receive input events from MIDI devices, you need to call OS.open_midi_inputs. You can check which devices are detected using OS.get_connected_midi_inputs.

func _ready():
    OS.open_midi_inputs()
    print(OS.get_connected_midi_inputs())

func _input(input_event):
    if input_event is InputEventMIDI:
        _print_midi_info(input_event)

func _print_midi_info(midi_event: InputEventMIDI):
    print(midi_event)
    print("Channel " + str(midi_event.channel))
    print("Message " + str(midi_event.message))
    print("Pitch " + str(midi_event.pitch))
    print("Velocity " + str(midi_event.velocity))
    print("Instrument " + str(midi_event.instrument))
    print("Pressure " + str(midi_event.pressure))
    print("Controller number: " + str(midi_event.controller_number))
    print("Controller value: " + str(midi_event.controller_value))

Note that Godot does not currently support MIDI output, so there is no way to emit MIDI signals from Godot. Only MIDI input works.

Tutorials

Properties

int

channel

0

int

controller_number

0

int

controller_value

0

int

instrument

0

MIDIMessage

message

0

int

pitch

0

int

pressure