Changes in / [92a6af0:adf09b2]


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/lib/aubio/midiconv.py

    r92a6af0 radf09b2  
    1414
    1515def note2midi(note):
    16     """Convert note name to midi note number.
    17 
    18     Input string `note` should be composed of one note root
    19     and one octave, with optionally one modifier in between.
    20 
    21     List of valid components:
    22 
    23     - note roots: `C`, `D`, `E`, `F`, `G`, `A`, `B`,
    24     - modifiers: `b`, `#`, as well as unicode characters
    25       `𝄫`, `♭`, `♮`, `♯` and `𝄪`,
    26     - octave numbers: `-1` -> `11`.
    27 
    28     Parameters
    29     ----------
    30     note : str
    31         note name
    32 
    33     Returns
    34     -------
    35     int
    36         corresponding midi note number
    37 
    38     Examples
    39     --------
    40     >>> aubio.note2midi('C#4')
    41     61
    42     >>> aubio.note2midi('B♭5')
    43     82
    44 
    45     Raises
    46     ------
    47     TypeError
    48         If `note` was not a string.
    49     ValueError
    50         If an error was found while converting `note`.
    51 
    52     See Also
    53     --------
    54     midi2note, freqtomidi, miditofreq
    55     """
     16    " convert note name to midi note number, e.g. [C-1, G9] -> [0, 127] "
    5617    _valid_notenames = {'C': 0, 'D': 2, 'E': 4, 'F': 5, 'G': 7, 'A': 9, 'B': 11}
    5718    _valid_modifiers = {
     
    9758
    9859def midi2note(midi):
    99     """Convert midi note number to note name.
    100 
    101     Parameters
    102     ----------
    103     midi : int [0, 128]
    104         input midi note number
    105 
    106     Returns
    107     -------
    108     str
    109         note name
    110 
    111     Examples
    112     --------
    113     >>> aubio.midi2note(70)
    114     'A#4'
    115     >>> aubio.midi2note(59)
    116     'B3'
    117 
    118     Raises
    119     ------
    120     TypeError
    121         If `midi` was not an integer.
    122     ValueError
    123         If `midi` is out of the range `[0, 128]`.
    124 
    125     See Also
    126     --------
    127     note2midi, miditofreq, freqtomidi
    128     """
     60    " convert midi note number to note name, e.g. [0, 127] -> [C-1, G9] "
    12961    if not isinstance(midi, int_instances):
    13062        raise TypeError("an integer is required, got %s" % midi)
     
    13567
    13668def freq2note(freq):
    137     """Convert frequency in Hz to nearest note name.
    138 
    139     Parameters
    140     ----------
    141     freq : float [0, 23000[
    142         input frequency, in Hz
    143 
    144     Returns
    145     -------
    146     str
    147         name of the nearest note
    148 
    149     Example
    150     -------
    151     >>> aubio.freq2note(440)
    152     'A4'
    153     >>> aubio.freq2note(220.1)
    154     'A3'
    155     """
     69    " convert frequency in Hz to nearest note name, e.g. [0, 22050.] -> [C-1, G9] "
    15670    from aubio import freqtomidi
    15771    return midi2note(int(freqtomidi(freq)))
Note: See TracChangeset for help on using the changeset viewer.