-
Notifications
You must be signed in to change notification settings - Fork 10
aud.roughness
Estimate the sensory dissonance. Plomp and Levelt (1965) have proposed an estimation of the sensory dissonance, or roughness, related to the beating phenomenon whenever pair of sinusoids are closed in frequency. The authors propose as a result an estimation of roughness depending on the frequency ratio of each pair of sinusoids. aud.roughness estimates the total roughness by computing the peaks of the spectrum, and taking the average of all the dissonance between all possible pairs of peaks (Sethares, 1998).
The ‘Contrast’ parameter associated to sig.peaks can be specified, and is set by default to .01
aud.roughness accepts either:
- sig.Spectrum objects, where peaks have already been picked or not,
- sig.signal objects: same as for mirspectrum, except that a frame decomposition is automatically performed. This forced frame decomposition is due to the fact that roughness can only be associated to a spectral representation association to a short-term sound excerpt: there is no sensory dissonance provoked by a pair of sinusoid significantly distant in time.
- file name or the ‘Folder’ keyword.
aud.roughness can return several outputs:
- the roughness value itself and
- the spectral representation (output of sig.spectrum) showing the picked peaks (returned by sig.peaks).
aud.roughness(..., ‘Frame’, ...) specifies the frame configuration, with by default a frame length of 50 ms and half overlapping. For the specification of other frame configuration using additional parameters, cf. this page.
aud.roughness(..., m) specifies the method used:
- m = ‘Sethares’ (default): based on the summation of roughness between all pairs of sines (obtained through spectral peak-picking) (Sethares, 1998). For each pair of peaks, the corresponding elementary roughness is obtained by multiplying the two peak amplitudes altogether, and by weighting the results with the corresponding factor given on the dissonance curve.
- aud.roughness(..., ‘Min’): Variant of the Sethares model where the summation is weighted by the minimum amplitude of each pair of peak, instead of the product of their amplitudes (Weisser and Lartillot, 2013).
- m = ‘Vassilakis’: variant of ‘Sethares’ model with a more complex weighting (Vassilakis, 2001, Eq. 6.23).