librosa.core.pitch_tuning¶
-
librosa.core.
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.
Parameters: - frequencies : array-like, float
A collection of frequencies detected in the signal. See
piptrack
- resolution : float in (0, 1)
Resolution of the tuning as a fraction of a bin. 0.01 corresponds to cents.
- bins_per_octave : int > 0 [scalar]
How many frequency bins per octave
Returns: - tuning: float in `[-0.5, 0.5)`
estimated tuning deviation (fractions of a bin)
See also
estimate_tuning
- Estimating tuning from time-series or spectrogram input
Examples
>>> # Generate notes at +25 cents >>> freqs = librosa.cqt_frequencies(24, 55, tuning=0.25) >>> librosa.pitch_tuning(freqs) 0.25
>>> # Track frequencies from a real spectrogram >>> y, sr = librosa.load(librosa.util.example_audio_file()) >>> pitches, magnitudes, stft = librosa.ifptrack(y, sr) >>> # Select out pitches with high energy >>> pitches = pitches[magnitudes > np.median(magnitudes)] >>> librosa.pitch_tuning(pitches) 0.089999999999999969