PSYCHO
Pure Data library of psychoacoustic objects (C externals and abstractions) from the author's research on dissonance models. Includes ISO 226:2003 equal-loudness contours and phon, sone and dB conversions, as well as roughness, sharpness and tonalness objects.
| Repository | https://github.com/porres/pd-psycho |
|---|---|
| Language | Pure Data C |
| Kind | Plug-in Runs inside other software: a plug-in for an audio workstation, or a Pure Data external. |
| Group | established Described in a publication, used by others, or written by the authors of the model, with more than a year of history. |
| Licence | GPL-3.0-or-later LICENSE.txt holds the GPL v3 text; the only licence notice in the sources (roughness.c) allows any later version. |
| Latest release | 1.1 (2025-10) |
| Last commit | 2025-10-14 inactive since 2025-10 |
| GitHub stars | 22 |
| Maintainers | Alexandre Torres Porres |
| AI assistance | not stated |
| Paper | Porres, A. T. (2011). Dissonance Model Toolbox in Pure Data. Proceedings of the 4th Pure Data International Convention (PdCon11), Berlin. |
| How to cite | Cite the paper above. Name the version or commit you used. |
| Entry checked | 6 October 2026 |
What it implements
| Metric | Edition | Functions | Validation (as stated) | Notes |
|---|---|---|---|---|
| Equal-loudness contours | ISO 226:2003 | [iso226] | not stated | The help patch names ISO 226:2003. Related objects convert between phon and dB ([phon2db], [db2phon]) and between phon and sone ([phon2sone], [sone2phon]). |
How it was validated
As reported by the project; LISQM has not run the code. Two implementations that agree can still share the same error. Kinds of evidence.
The project does not say how any of these were validated.
Notes
- The roughness objects (
[roughness],[roughcurve]) compute the sensory dissonance of a spectrum given as lists of frequencies and amplitudes, with a model "derived from the work of Parncutt, Sethares, Vassilakis & Barlow"; this is not one of the signal-based roughness metrics in this list. [sharpness~]is an abstraction built on[barks~](24 Bark bands) and names no sharpness model.- Tonalness, pitch salience and commonality follow Parncutt & Strasburger (1994), after Terhardt; they are not tonality metrics in the sense of this list.
- From the author's MSc and PhD work (2005–2012). Version 1.1 was released on 2025-10-14 (git tags 1.0 of 2019 and 1.1; no GitHub releases). It builds with pd-lib-builder.
Before you rely on it
- The README calls the library "still a work in progress".