- librosa.pitch_tuning(frequencies, *, resolution=0.01, bins_per_octave=12)[source]¶
Given a collection of pitches, estimate its tuning offset (in fractions of a bin) relative to A440=440.0Hz.
- frequenciesarray-like, float
A collection of frequencies detected in the signal. See
- resolutionfloat in (0, 1)
Resolution of the tuning as a fraction of a bin. 0.01 corresponds to cents.
- bins_per_octaveint > 0 [scalar]
How many frequency bins per octave
- tuning: float in [-0.5, 0.5)
estimated tuning deviation (fractions of a bin)
Estimating tuning from time-series or spectrogram input
>>> # Generate notes at +25 cents >>> freqs = librosa.cqt_frequencies(n_bins=24, fmin=55, tuning=0.25) >>> librosa.pitch_tuning(freqs) 0.25
>>> # Track frequencies from a real spectrogram >>> y, sr = librosa.load(librosa.ex('trumpet')) >>> freqs, times, mags = librosa.reassigned_spectrogram(y, sr=sr, ... fill_nan=True) >>> # Select out pitches with high energy >>> freqs = freqs[mags > np.median(mags)] >>> librosa.pitch_tuning(freqs) -0.07