midi.utils

Midi Widget Utils

Functions

ticks_to_seconds(→ float)

Convert MIDI ticks to seconds.

get_total_duration_in_seconds(→ float)

get_total_duration_in_seconds

extract_notes_with_absolute_time(→ list)

Extract notes with absolute time from a MIDI track

generate_track_colors(→ list[str])

Generate visually distinct colors for up to n tracks.

get_first_channel(→ int | None)

Get the first channel from a MIDI track.

Module Contents

midi.utils.ticks_to_seconds(ticks: int, tempo: int, ticks_per_beat: int) float[source]

Convert MIDI ticks to seconds. :param ticks: int :param tempo: int (μs per quarter note) :param ticks_per_beat: int :return: float

midi.utils.get_total_duration_in_seconds(midi_file: mido.MidiFile) float[source]

get_total_duration_in_seconds

Parameters:

midi_file – MidiFile

Returns:

float

midi.utils.extract_notes_with_absolute_time(track: mido.MidiTrack, tempo: int, ticks_per_beat: int) list[source]

Extract notes with absolute time from a MIDI track

Parameters:
  • track – mido.MidiTrack

  • tempo – int

  • ticks_per_beat – int

Returns:

list

midi.utils.generate_track_colors(n: int) list[str][source]

Generate visually distinct colors for up to n tracks.

Parameters:

n – int Number of tracks

Returns:

midi.utils.get_first_channel(track: mido.MidiTrack) int | None[source]

Get the first channel from a MIDI track.

Parameters:

track – mido.MidiTrack

Returns:

int | None