MIDI Devices Preferences
From Audacity Development Manual
Linked This page is linked to in the Audacity app from the
help button in the dialog.
| Do not rename or delete this page unless and until the corresponding link in the app is changed. Pseudo renames can be achieved with a DISPLAYTITLE. If a rename is absolutely necessary then a redirect must be left behind. |
- Accessed by: (on a Mac )

- MIDI Devices Preferences.
Interface
Poke 15Jul17: This information is based off of the comment on
Pm_GetDefaultInputDeviceID in portmidi.h.The interface that Audacity should use through PortMidi. The available options depend on the OS, but there is only one option for each OS:
- On Windows, it is MMSystem.
- On Mac, it is CoreMIDI.
- On Linux, it is ALSA.
Playback
- Device: The MIDI device to play to.
- MIDI Synthesizer Latency (ms): The latency field enables compensation for a MIDI device that has latency between receiving events and actually playing them - it provides a way to synchronize audio.
- Text from Roger: Latency is almost surely the PortMidi latency parameter. What happens is this: MIDI messages are timestamped. The timestamp is passed along to the device driver or library, enabling more precise timing than you would get by writing directly from the application code, for example Audacity's play-audio-and-update-screen loop. The timestamp should represent the current time, and the latency value is added to the timestamp (nominally now) to obtain some future time when the message should be delivered. With Audacity, I think the latency should be set to the audio latency and the timestamp (nominally "now") should match the time position of audio as it gets written. Thus, if audio latency is 50ms, MIDI latency should be 50ms and MIDI will be delivered at the same time corresponding audio samples are actually converted to analog.
- Text from Poke: From my understanding (this might not be exact, though), the latency field is there to allow compensation for a midi device that has latency between receiving events and actually playing them - it is a way to manually synchronize audio.