async open() {

    // Explicitly opens the port for usage. This is not mandatory. When the port is not explicitly
    // opened, it is implicitly opened (asynchronously) when calling `send()` on the `MIDIOutput`.
    // We do it explicitly so that 'connected' events are dispatched immediately and we are ready to
    // send.
    try {
      await this._midiOutput.open();
      return Promise.resolve(this);
    } catch (err) {
      return Promise.reject(err);
    }

  }
Opens the output for usage. When the library is enabled, all ports are automatically opened.
This method is only useful for ports that have been manually closed.

@returns {Promise<Output>} The promise is fulfilled with the `Output` object.