# PSYCHO

> Part of [LISQM](https://zhenxianli.github.io/LISQM/) (List of Implementations of Sound Quality Metrics), a list of open-source implementations of psychoacoustic metrics. Data as of 2026-10-28. Web page: https://zhenxianli.github.io/LISQM/projects/pd-psycho.html

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:** 2026-10-06

## What it implements

| Metric | Edition | Functions | Status | Validation (as stated) | Notes |
|---|---|---|---|---|---|
| [Equal-loudness contours](https://zhenxianli.github.io/LISQM/metrics/equal-loudness-contours.html) | [ISO 226:2003](https://www.iso.org/standard/34222.html) | `[iso226]` | available | 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.

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".

## Sources

- https://github.com/porres/pd-psycho
- https://github.com/porres/pd-psycho/blob/master/README.md
- https://github.com/porres/pd-psycho/blob/master/LICENSE.txt
- https://github.com/porres/pd-psycho/tree/master/Classes
- https://github.com/porres/pd-psycho/tree/master/Help-files
