expyriment.io.extras.MidiOut¶
-
class
expyriment.io.extras.
MidiOut
(device, latency=None, buffer_size=None)[source]¶ A class implementing a MIDI output.
EXPERIMENTAL!
Due to a bug in Pygame’s midi module, closing a MidiOut (or the programme) will cause an error message. Until this is fixed in Pygame, MidiOut will stay in extras.
Methods
-
__init__
(device, latency=None, buffer_size=None)[source]¶ Create a MIDI output.
Parameters: device : int or str
id or name of the MIDI device
latency : int, optional
delay in ms applied to timestamp
buffer_size : int, optional
number of events to be buffered
-
buffer_size
¶ Getter for buffer_size.
-
close
(abort=False)[source]¶ Close the MIDI interface.
Parameters: abort : bool, optional
abort messages in the buffer (default=True)
-
id
¶ Getter for id.
-
latency
¶ Getter for latency.
-
logging
¶ Getter for logging.
-
select_instrument
(instrument_id, channel=0)[source]¶ Select an instrument.
Parameters: instrument_id : int
id (0-127) of the instrument
channel : int, optional
MIDI channel for the instrument (default=0)
-
send
(event_list)[source]¶ Send a list of MIDI events.
- Each event should have the following format:
- [status, data1, data2, data3], timestamp]
Parameters: event_list : list
list of events to send
Notes
The data fields are optional.
-
send_note_off
(note, velocity=None, channel=0)[source]¶ Send a note-off event.
Parameters: note : int
note value
velocity : int, optional
velocity of the note
channel : int, optional
MIDI channel of the note (default=0)
-
send_note_on
(note, velocity=None, channel=0)[source]¶ Send a note-on event.
Parameters: note : int
note value
velocity : int, optional
velocity of the note
channel : int, optional
MIDI channel of the note (default=0)
-
send_short
(status, data1=0, data2=0)[source]¶ Send MIDI events of 3 bytes or less.
Parameters: status : int
status of the event to send
data1 : int, optional
data1 of the event to send
data2 : int, optional
data2 of the event to send
-
send_sysex
(timestamp, message)[source]¶ Send a System Exlusive message.
Parameters: timestamp : int
when (in ms) to send the message
message : sit or list
message to send
-
set_logging
(onoff)¶ Set logging of this object on or off
Parameters: onoff : bool
set logging on (True) or off (False)
Notes
See also design.experiment.set_log_level fur further information about event logging.
-