incon: Simultaneous consonance

View source: R/top-level.R

inconR Documentation

Simultaneous consonance

Description

Computes the simultaneous consonance (or dissonance) of a sonority according to various computational models.

Usage

incon(
  x,
  model = "hutch_78_roughness",
  x_int = NULL,
  num_harmonics = 11L,
  roll_off = 1,
  par = list()
)

Arguments

x

Chord to analyse. This will be coerced to an object of class pi_chord.

  • Numeric vectors will be interpreted as vectors of MIDI note numbers.

  • Character scalars of the form "60 64 67" are also accepted; these will likewise be interpreted as MIDI note numbers.

model

(Character vector, default = "hutch_78_roughness") Computational model(s) to apply. See Details for available values. Alternatively, "all" will select all models.

x_int

While some models accept continuous pitch values as inputs, others do not (see incon_models for details). Correspondingly, the user may specify one chord (x) to deliver to continuous-pitch models, and another chord (x_int) to deliver to non-continuous-pitch models. If x_int is NULL, then non-continuous-pitch models will default to analysing x, and will throw an error if x is non-integer.

num_harmonics

(Integerish scalar, default = 11) Number of harmonics to which chord tones should be expanded, including the fundamental frequency. This only affects a subset of the consonance models.

roll_off

(Integerish scalar, default = 1) Roll-off rate for the upper harmonics in complex tones. If the roll-off rate is x, then the amplitude of the ith harmonic is equal to 1 ^ -x.

par

(List, default = list()) Optional list containing additional parameters to pass to specific models. If non-empty, this list should be a named list of lists, with each name identifying the model to which additional parameters should be passed (see list_models) for legal names. Each element should itself be a named list of parameters, with the names identifying the arguments, and the values being those to be passed to the model function.

Details

The following models are available:

  • gill_09_harmonicity: the harmonicity model of \insertCiteGill2009;textualincon (see incon::gill09_harmonicity).

  • har_18_harmonicity: the harmonicity model of \insertCiteHarrison2018;textualincon (see incon::pc_harmonicity).

  • milne_13_harmonicity: the harmonicity model of \insertCiteMilne2013;textualincon (see incon::pc_harmonicity).

  • parn_88_root_ambig: the root ambiguity model of \insertCiteParncutt1988;textualincon (see incon::root_ambiguity).

  • parn_94_complex: the complex sonorousness feature of \insertCiteParncutt1994;textualincon (see incon::complex_sonor).

  • stolz_15_periodicity: smoothed logarithmic periodicity, after \insertCiteStolzenburg2015;textualincon (see incon::smooth_log_periodicity).

  • bowl_18_min_freq_dist: the minimum frequency distance feature of \insertCiteBowling2018;textualincon (see incon::bowl18_min_freq_dist).

  • huron_94_dyadic: aggregate dyadic consonance, after \insertCiteHuron1994;textualincon.

  • hutch_78_roughness: the roughness model of \insertCiteHutchinson1978;textualincon (see incon::roughness_hutch).

  • parn_94_pure: the complex sonorousness feature of \insertCiteParncutt1994;textualincon (see incon::pure_sonor).

  • seth_93_roughness: the roughness model of \insertCiteSethares1993;textualincon (see incon::roughness_seth).

  • vass_01_roughness: the roughness model of \insertCiteVassilakis2001;textualincon (see incon::roughness_vass).

  • wang_13_roughness: the roughness model of \insertCiteWang2013;textualincon (see incon::roughness_wang).

  • jl_12_tonal: the tonal dissonance model of \insertCiteJohnson-Laird2012;textualincon (see incon::jl_tonal_dissonance).

  • har_19_corpus: a corpus-based model of cultural familiarity \insertCiteHarrison2019incon (see incon::corpus_dissonance).

  • parn_94_mult: the multiplicity feature of \insertCiteParncutt1994;textualincon (see incon::multiplicity).

  • har_19_composite: a model combining interference \insertCiteHutchinson1978incon, periodicity/harmonicity \insertCiteHarrison2018incon, and cultural familiarity, as introduced by \insertCiteHarrison2019;textualincon.

Value

A named numeric vector comprising the outputs of each computational model in the order that they were specified.

References

\insertAllCited

Examples

incon(c(60, 64, 67))
incon("60 64 67")
incon("60 64 67", model = "hutch_78_roughness")
incon("60 64 67", model = c("hutch_78_roughness", "parn_88_root_ambig"))
incon("0 4 7", model = "gill_09_harmonicity",
      par = list(gill_09_harmonicity = list(tonic = 3)))


pmcharrison/incon documentation built on Feb. 12, 2024, 3:18 a.m.