library(magrittr) library(dplyr) library(incon) library(DT) library(knitr) library(tibble) knitr::opts_chunk$set( echo = TRUE, collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
incon
is an R package that implements various computational
models of simultaneous consonance perception.
Harrison, P. M. C., & Pearce, M. T. (2020). Simultaneous consonance in music perception and composition. Psychological Review, 127(2), 216–244.
You can install the current version of incon
from Github
by entering the following commands into R:
if (!require(devtools)) install.packages("devtools") devtools::install_github("pmcharrison/incon")
To run the Jupyter notebook, you need to download this code repository. You then need to install Jupyter Notebook (see https://jupyter.org/install):
pip install notebook
Then open R, install IRkernel
, then run installspec
:
install.packages("IRkernel") IRkernel::installspec()
Then from a new terminal, open this notebook:
jupyter notebook Demo.ipynb
The primary function is incon
,
which applies consonance models to an input chord.
The default model is that of Hutchinson & Knopoff (1978):
library(incon) chord <- c(60, 64, 67) # major triad, MIDI note numbers incon(chord)
You can specify a vector of models and these will applied in turn.
chord <- c(60, 63, 67) # minor triad models <- c("hutch_78_roughness", "parn_94_pure", "huron_94_dyadic") incon(c(60, 63, 67), models)
See Models for a list of available models.
See the package's inbuilt documentation, ?incon
, for further details.
To try the model without need for a local installation, visit https://mybinder.org/v2/gh/pmcharrison/incon/HEAD?labpath=Demo.ipynb.
Currently the following models are implemented:
incon::incon_models %>% select(label, citation, class, package,) %>% rename(Label = label, Citation = citation, Class = class, Package = package) %>% kable
See ?incon
for more details.
Certain incon
models can be applied to full frequency spectra rather than just
symbolically notated chords. One example is the set of interference models
provided in the dycon
package. In order to run such models on full frequency
spectra one must call lower-level functions explicitly, as in the
following example, which computes the roughness of a chord using the
Hutchinson-Knopoff dissonance model:
spectrum <- hrep::sparse_fr_spectrum(list( frequency = c(400, 800, 1200, 1250), amplitude = c(1, 0.7, 0.9, 0.6) )) roughness_hutch(spectrum)
Bowling, D. L., Purves, D., & Gill, K. Z. (2018). Vocal similarity predicts the relative attraction of musical chords. Proceedings of the National Academy of Sciences, 115(1), 216–221. https://doi.org/10.1073/pnas.1713206115
Gill, K. Z., & Purves, D. (2009). A biological rationale for musical scales. PLoS ONE, 4(12). https://doi.org/10.1371/journal.pone.0008144
Harrison, P. M. C., & Pearce, M. T. (2018). An energy-based generative sequence model for testing sensory theories of Western harmony. In Proceedings of the 19th International Society for Music Information Retrieval Conference (pp. 160–167). Paris, France.
Harrison, P. M. C., & Pearce, M. T. (2019). Instantaneous consonance in the perception and composition of Western music. PsyArxiv. https://doi.org/10.31234/osf.io/6jsug
Huron, D. (1994). Interval-class content in equally tempered pitch-class sets: Common scales exhibit optimum tonal consonance. Music Perception, 11(3), 289–305. https://doi.org/10.2307/40285624
Hutchinson, W., & Knopoff, L. (1978). The acoustic component of Western consonance. Journal of New Music Research, 7(1), 1–29. https://doi.org/10.1080/09298217808570246
Johnson-Laird, P. N., Kang, O. E., & Leong, Y. C. (2012). On musical dissonance. Music Perception, 30(1), 19–35.
Milne, A. J. (2013). A computational model of the cognition of tonality. The Open University, Milton Keynes, England.
Parncutt, R. (1988). Revision of Terhardt’s psychoacoustical model of the root(s) of a musical chord. Music Perception, 6(1), 65–93.
Parncutt, R., & Strasburger, H. (1994). Applying psychoacoustics in composition: "Harmonic" progressions of “nonharmonic” sonorities. Perspectives of New Music, 32(2), 88–129.
Sethares, W. A. (1993). Local consonance and the relationship between timbre and scale. The Journal of the Acoustical Society of America, 94(3), 1218–1228.
Stolzenburg, F. (2015). Harmony perception by periodicity detection. Journal of Mathematics and Music, 9(3), 215–238. https://doi.org/10.1080/17459737.2015.1033024
Vassilakis, P. N. (2001). Perceptual and physical properties of amplitude fluctuation and their musical significance. University of California, Los Angeles, CA.
Wang, Y. S., Shen, G. Q., Guo, H., Tang, X. L., & Hamade, T. (2013). Roughness modelling based on human auditory perception for sound quality evaluation of vehicle interior noise. Journal of Sound and Vibration, 332(16), 3893–3904. https://doi.org/10.1016/j.jsv.2013.02.030
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.