data_to_pitch¶
- astronify.utils.data_to_pitch(data_array, pitch_range=[100, 10000], center_pitch=440, zero_point='median', stretch='linear', minmax_percent=None, minmax_value=None, invert=False)[source]¶
Map data array to audible pitches in the given range, and apply stretch and scaling as required.
- Parameters
- data_arrayarray-like
Data to map to pitch values. Individual data values should be floats.
- pitch_rangearray
Optional, default [100,10000]. Range of acceptable pitches in Hz.
- center_pitchfloat
Optional, default 440. The pitch in Hz where that the the zero point of the data will be mapped to.
- zero_pointstr or float
Optional, default “median”. The data value that will be mapped to the center pitch. Options are mean, median, or a specified data value (float).
- stretchstr
Optional, default ‘linear’. The stretch to apply to the data array. Valid values are: asinh, sinh, sqrt, log, linear
- minmax_percentarray
Optional. Interval based on a keeping a specified fraction of data values (can be asymmetric) when scaling the data. The format is [lower percentile, upper percentile], where data values below the lower percentile and above the upper percentile are clipped. Only one of minmax_percent and minmax_value should be specified.
- minmax_valuearray
Optional. Interval based on user-specified data values when scaling the data array. The format is [min value, max value], where data values below the min value and above the max value are clipped. Only one of minmax_percent and minmax_value should be specified.
- invertbool
Optional, default False. If True the pitch array is inverted (low pitches become high and vice versa).
- Returns
- responsearray
The normalized data array, with values in given pitch range.