pyreaper.reaper¶
-
pyreaper.
reaper
(x, fs, minf0=40.0, maxf0=500.0, do_high_pass=True, do_hilbert_transform=False, inter_pulse=0.01, frame_period=0.005, unvoiced_cost=0.9)¶ REAPER (Robust Epoch And Pitch EstimatoR)
Perform REAPER analysis given an audio signal
Parameters: - x : np.ndarray, dtype=np.int16
Input audio signal
- fs : int
Sampling frequency
- minf0 : float
Min f0. Default is 40.0.
- maxf0 : float
Max f0. Default is 500.0.
- do_high_pass : Bool
Enable Rumble-removel highpass filter. Default is True.
- do_hilbert_transform : Bool
Enable Hilbert transform that may reduce phase distortion. Default is False.
- inter_pulse : float
Regular inter-mark interval to use in UV pitchmark regions. Default is 0.01 (sec)
- frame_period : float
Frame period. Default is 0.005 (sec).
- unvoiced_cost : float
Set the cost for unvoiced segments. Default is 0.9, the higher the value the more f0 estimates in noise.
Returns: - pm_times : np.ndarray, dtype=np.float32
Pitch mark time series in seconds
- pm : np.ndarray, dtype=np.int32
Pitch mark. Value 1 and 0 means voiced frame and unvoiced frame, respectively.
- f0_times : np.ndarray, dtype=np.float32
F0 time series in seconds
- f0 : np.ndarray, dtype=np.float32
F0 contour
- corr : np.ndarray, dtype=np.float32
Correlations
Raises: - RuntimeError
- if EpochTracker Init failed
- if EpochTracker ComputeFeatures failed
- if EpochTracker TrackEpochs failed
- if EpochTracker ResampleAndReturnResults failed
Examples
>>> from scipy.io import wavfile >>> import pysptk >>> import pyreaper >>> fs, x = wavfile.read(pysptk.util.example_audio_file()) >>> pm_times, pm, f0_times, f0, corr = pyreaper.reaper(x, fs)