def from_Note(note, width=80, tuning=None):
    """Return a string made out of ASCII tablature representing a Note object
    or note string.

    Throw a RangeError if a suitable fret can't be found.

    'tuning' should be a StringTuning object or None for the default tuning.

    To force a certain fingering you can use a 'string' and 'fret' attribute
    on the Note. If the fingering is valid, it will get used instead of the
    default one.
    """
    if tuning is None:
        tuning = default_tuning
    result = begin_track(tuning)
    min = 1000
    (s, f) = (-1, -1)

    # Do an attribute check
    if hasattr(note, 'string') and hasattr(note, 'fret'):
        n = tuning.get_Note(note.string, note.fret)
        if n is not None and int(n) == int(note):
            (s, f) = (note.string, note.fret)
            min = 0

    if min == 1000:
        for (string, fret) in enumerate(tuning.find_frets(note)):
            if fret is not None:
                if fret < min:
                    min = fret
                    (s, f) = (string, fret)
    l = len(result[0])
    w = max(4, (width - l) - 1)

    # Build ASCII
    if min != 1000:
        fret = str(f)
        for i in range(len(result)):
            d = len(fret)
            if i != s:
                result[i] += '-' * w + '|'
            else:
                d = w - len(fret)
                result[i] += '-' * (d / 2) + fret
                d = (w - d / 2) - len(fret)
                result[i] += '-' * d + '|'
    else:
        raise RangeError("No fret found that could play note '%s'. "
                "Note out of range." % note)
    result.reverse()
    return os.linesep.join(result)
Return a string made out of ASCII tablature representing a Note object
    or note string.

    Throw a RangeError if a suitable fret can't be found.

    'tuning' should be a StringTuning object or None for the default tuning.

    To force a certain fingering you can use a 'string' and 'fret' attribute
    on the Note. If the fingering is valid, it will get used instead of the
    default one.