def track_length_string(length):
    """Convert track length in microseconds into human readable format
    :param length: track length in microseconds
    :returns: formatted string
    """
    us = length % 1000
    ms = int((length / 1000) % 1000)
    s = int(length / 1000000)
    minutes = int(s / 60)
    s = s - minutes * 60
    if us != 0:
        return "%d:%02d.%03d%03d" % (minutes, s, ms, us)
    elif ms != 0:
        return "%d:%02d.%03d" % (minutes, s, ms)
    else:
        return "%d:%02d" % (minutes, s)