static buildNoteArray(notes, options = {}) {

    let result = [];
    if (!Array.isArray(notes)) notes = [notes];

    notes.forEach(note => {
      result.push(this.buildNote(note, options));
    });

    return result;

  }
Converts an input value, which can be an unsigned integer (0-127), a note identifier, a
[`Note`]{@link Note}  object or an array of the previous types, to an array of
[`Note`]{@link Note}  objects.

[`Note`]{@link Note}  objects are returned as is. For note numbers and identifiers, a
[`Note`]{@link Note} object is created with the options specified. An error will be thrown when
encountering invalid input.

Note: if both the `attack` and `rawAttack` options are specified, the later has priority. The
same goes for `release` and `rawRelease`.

@param [notes] {number|string|Note|number[]|string[]|Note[]}

@param {object} [options={}]

@param {number} [options.duration=Infinity] The number of milliseconds before the note should
be explicitly stopped.

@param {number} [options.attack=0.5] The note's attack velocity as a float between 0 and 1. If
you wish to use an integer between 0 and 127, use the `rawAttack` option instead. If both
`attack` and `rawAttack` are specified, the latter has precedence.

@param {number} [options.release=0.5] The note's release velocity as a float between 0 and 1. If
you wish to use an integer between 0 and 127, use the `rawRelease` option instead. If both
`release` and `rawRelease` are specified, the latter has precedence.

@param {number} [options.rawAttack=64] The note's attack velocity as an integer between 0 and
127. If you wish to use a float between 0 and 1, use the `release` option instead. If both
`attack` and `rawAttack` are specified, the latter has precedence.

@param {number} [options.rawRelease=64] The note's release velocity as an integer between 0 and
127. If you wish to use a float between 0 and 1, use the `release` option instead. If both
`release` and `rawRelease` are specified, the latter has precedence.

@param {number} [options.octaveOffset=0] An integer to offset the octave by. **This is only
used when the input value is a note identifier.**

@returns {Note[]}

@throws TypeError An element could not be parsed as a note.

@since 3.0.0
@static