GoldenEar is an automatic psychoacoustic roughness-based retuning System for Pd. This proof of concept software application works by calculating the extrinsic roughness of an ensemble. By extrinsic roughness, we mean the roughness produced by frequency components of different sounds. I.e., we do not consider the roughness proper of a sound (intrinsic roughness) that it is probably more related to its naturalness. GoldenEar also differs from other automatic retuning syst ems in that it operates without previous knowledge of the instruments timbre, tuning, or scale being used. A vicinity around the current tones fundamentals is used to search for the best possible intonation that yields a minimized roughness version of the ensemble. Because of it works with digitized sounds in realtime, inheriting all the DSP difficulties of such process, the system fails occasionally in reducing measured roughness, however, it reduces measured roughness in average. GoldenEar is best described in (2) and can executable files and source code can be downloaded from here.
Frequency component analysis
Frequency analysis is achieved in our system using sigmund~, a pitch detector and frequency analyzer available in Pd. Sigmund~ capability of reporting frequency components separated from the detected pitch was exploited in GoldenEar to allow the selection of which audio streams to retune. By disconnecting the ‘notes’ output of sigmund~ from the rest of the systyem, the frequency components of the disconnected stream are still considered in the retuning of other streams, but its original fundamental frequency is preserved. Such advantages are clearer is a solo-accompaniment type of music where, presumably, only the accompaniment is desired to be retuned. The use of selective retuning also implies decrements on the system effectiveness to achieve low roughness measurements.
The core of the system is an object named goldenEar. This object receives from sigmund~ a list of frequency components and amplitudes for each audio stream to retune, the number of audio streams is specified as the first goldenEar argument. The search for new fundamental frequencies is limited by the number of cents in the vicinity (double the second argument of the object.) The number of components to use are passed as the third argument of goldenEar. Although some other systems use heuristics to find the local minima, given the small operation range, a brute force approach was opted for simplicity.
We use a ‘Pitch- Synchronous Overlap and Add’ (PSOLA) object named ‘shifter~.’ This formant friendly object was ported to Pd from the eponymous Max/MSP object created by Jehan (3). The Pd version of this object (executables for Mac OS and Windows, and source code) can be downloaded from here. New fundamental frequencies calculated by gondenEar are output in cents and it is necessary to express them in frequencies. It is possible to achieve pitch adjustments using a single-side band (SSB) object, but this method is discouraged.
The newly retuned tones are reproduced via speakers. The system can work with live as well as recorded signals. Although the system has not been tested in live conditions, we foresee that care must be taken in order to prevent mixing raw signals (often used as feedback for the performers) with the processed ones. The whole retuning process takes about 13 ms for an ensemble of four audio streams, a vicinity of sixteen cents, and sixteen frequency components considered in a modern computer.
For the following examples, a vicinity of ±8 cents was specified in GoldenEar.
|Simple chord sequence||Just intonation||GoldenEared||12-TET|
|Bach Choral BWV 264||Just intonation||GoldenEared||12-TET|
|Chopin Prelude Op. 28 No. 4||Just intonation||GoldenEared||12-TET|
|Mozart Serenade No. 13 KV 525||GoldenEared||GoldenEared – 1st violin||12-TET|
Roughness measurements of a 12-TET version of the aforementioned Bach chorale were juxtaposed with those of output by GoldenEar. We used a Matlab implementation of Daniel and Weber (4) roughness model available in Psysound (5). In average, goldenEar offered less rougher renditions. In the Figure on the left, stars correspond to goldenEar measurements, and green zones to roughness reductions obtained with goldenEar (red zones show when goldenEar produced rougher combinations of tones).
We conducted an experiment to test how preferable goldenEar renditions were. For this experiment, GoldenEar was specified with a vicinity of ±5 cents. Results of this experiment (6) suggest that rougher renditions are less preferred independently of tuning and musical content.
These are some examples of the comparisons presented to the participants:
|Just Intonation||Processed with GoldenEar||12-TET|
|Bach Choral BWV 264 (fragment)||Classic harmony|
|Chopin Prelude Op. 28 No. 4.||Highly chromatic|
|Whole Tones/stretched tuning||Unusual|
(1) Panteleimon Nestor Vassilakis. Perceptual and Physical Properties of Amplitude Fluctuation and their Musical Significance. PhD thesis, UCLA, 2001.
(2) Julián Villegas and Michael Cohen. Roughness Minimization Through Automatic Intonation Adjustments. J. of New Music Research, 2010.
(3) Tristan Jehan. Tristan Jehan’s Home Page. [Software]. Retrieved Nov. 17, 2009. Available from web.media.mit.edu/~tristan, 2008.
(4) P. Daniel and R. Weber. Psychoacoustical Roughness: Implementation of an Optimized Model. Acta Acustica United with Acustica, 83:113–123, 1997.
(5) Densil Cabrera, Sam Ferguson, Farhan Rizwi, and Emery Schubert. PsySound3: Sound Analysis Software. Retrieved Nov. 17, 2009. Available from http://psysound.wikidot.com, 2009.
(6) Julián Villegas, Michael Cohen, Ian Wilson, and William Martens. In- fluence of Roughness on Preference of Musical Intonation. In Proc. 128 Audio Eng. Soc. Convention, London, May 2010.