{
  "_id": "6a27b3c524555f66ed5380b1",
  "Package": "musicMCT",
  "Title": "Analyze the Structure of Musical Scales",
  "Version": "0.4.0.9000",
  "Authors@R": "person(\"Paul\", \"Sherrill\", , \"paul.sherrill@utah.edu\", role = c(\"aut\", \"cre\",\"cph\"), comment = c(ORCID = \"0009-0002-3617-016X\"))",
  "Description": "Analysis of musical scales (& modes, grooves, etc.) in the\nvein of Sherrill 2025 <doi:10.1215/00222909-11595194>. The\ninitials MCT in the package title refer to the article's title:\n\"Modal Color Theory.\" Offers support for conventional musical\npitch class set theory as developed by Forte (1973, ISBN:\n9780300016109) and David Lewin (1987, ISBN: 9780300034936), as\nwell as for the continuous geometries of Callender, Quinn, &\nTymoczko (2008) <doi:10.1126/science.1153021>. Identifies\nstructural properties of scales and calculates derived values\n(sign vector, color number, brightness ratio, etc.). Creates\nplots such as \"brightness graphs\" which visualize these\nproperties.",
  "License": "GPL (>= 3)",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "LazyData": "true",
  "VignetteBuilder": "knitr",
  "URL": "https://satbq.github.io/musicMCT/,\nhttps://github.com/satbq/musicMCT",
  "BugReports": "https://github.com/satbq/musicMCT/issues",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "libglpk-dev libxml2-dev",
  "Repository": "https://satbq.r-universe.dev",
  "Date/Publication": "2026-05-10 19:54:20 UTC",
  "RemoteUrl": "https://github.com/satbq/musicmct",
  "RemoteRef": "HEAD",
  "RemoteSha": "4e9417a305802aafc01e618d20c114a3e85759a2",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-09 05:59:34 UTC",
    "User": "root"
  },
  "Author": "Paul Sherrill [aut, cre, cph] (ORCID:\n<https://orcid.org/0009-0002-3617-016X>)",
  "Maintainer": "Paul Sherrill <paul.sherrill@utah.edu>",
  "MD5sum": "1fab56a9cff031b6f5784408caaef874",
  "_user": "satbq",
  "_type": "src",
  "_file": "musicMCT_0.4.0.9000.tar.gz",
  "_fileid": "6409d8243bf176170e0aefe10a6e9298a330e2ea25b429612c33fad1e36a9030",
  "_filesize": 3760036,
  "_sha256": "6409d8243bf176170e0aefe10a6e9298a330e2ea25b429612c33fad1e36a9030",
  "_created": "2026-06-09T05:59:34.000Z",
  "_published": "2026-06-09T06:33:41.633Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 80258104986,
      "time": 186,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7499698819"
    },
    {
      "job": 80258105080,
      "time": 185,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7499698418"
    },
    {
      "job": 80258105015,
      "time": 185,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7500137290"
    },
    {
      "job": 80258105030,
      "time": 216,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7500139470"
    },
    {
      "job": 80257610524,
      "time": 254,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7499651660"
    },
    {
      "job": 80258104991,
      "time": 148,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7499689067"
    },
    {
      "job": 80258105016,
      "time": 109,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7499679261"
    },
    {
      "job": 80258105163,
      "time": 115,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7499681007"
    },
    {
      "job": 80258105061,
      "time": 113,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7499679881"
    }
  ],
  "_buildurl": "https://github.com/r-universe/satbq/actions/runs/27186858330",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/satbq/musicmct",
  "_commit": {
    "id": "4e9417a305802aafc01e618d20c114a3e85759a2",
    "author": "satbq <120515622+satbq@users.noreply.github.com>",
    "committer": "satbq <120515622+satbq@users.noreply.github.com>",
    "message": "Various typo and prose fixes\n",
    "time": 1778442860
  },
  "_maintainer": {
    "name": "Paul Sherrill",
    "email": "paul.sherrill@utah.edu",
    "login": "satbq",
    "uuid": 120515622
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5",
      "role": "Depends"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "igraph",
      "role": "Imports"
    },
    {
      "package": "pracma",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "vdiffr",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "satbq",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-26",
      "n": 5
    },
    {
      "week": "2025-27",
      "n": 7
    },
    {
      "week": "2025-28",
      "n": 5
    },
    {
      "week": "2025-29",
      "n": 6
    },
    {
      "week": "2025-30",
      "n": 8
    },
    {
      "week": "2025-32",
      "n": 2
    },
    {
      "week": "2025-34",
      "n": 5
    },
    {
      "week": "2025-35",
      "n": 4
    },
    {
      "week": "2025-36",
      "n": 1
    },
    {
      "week": "2025-37",
      "n": 5
    },
    {
      "week": "2025-38",
      "n": 1
    },
    {
      "week": "2025-40",
      "n": 6
    },
    {
      "week": "2025-42",
      "n": 10
    },
    {
      "week": "2025-43",
      "n": 2
    },
    {
      "week": "2025-44",
      "n": 8
    },
    {
      "week": "2025-45",
      "n": 4
    },
    {
      "week": "2025-46",
      "n": 6
    },
    {
      "week": "2025-47",
      "n": 1
    },
    {
      "week": "2025-48",
      "n": 3
    },
    {
      "week": "2025-50",
      "n": 7
    },
    {
      "week": "2025-51",
      "n": 4
    },
    {
      "week": "2026-03",
      "n": 1
    },
    {
      "week": "2026-09",
      "n": 4
    },
    {
      "week": "2026-10",
      "n": 2
    },
    {
      "week": "2026-11",
      "n": 1
    },
    {
      "week": "2026-13",
      "n": 1
    },
    {
      "week": "2026-15",
      "n": 4
    },
    {
      "week": "2026-16",
      "n": 3
    },
    {
      "week": "2026-19",
      "n": 4
    }
  ],
  "_tags": [
    {
      "name": "v0.2.0",
      "date": "2025-07-21"
    },
    {
      "name": "v0.3.0",
      "date": "2025-11-03"
    },
    {
      "name": "v0.4.0",
      "date": "2026-02-27"
    }
  ],
  "_stars": 3,
  "_contributors": [
    {
      "user": "satbq",
      "count": 252,
      "uuid": 120515622
    }
  ],
  "_userbio": {
    "uuid": 120515622,
    "type": "user",
    "name": "Paul Sherrill"
  },
  "_downloads": {
    "count": 149,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/musicMCT"
  },
  "_devurl": "https://github.com/satbq/musicmct",
  "_pkgdown": "https://satbq.github.io/musicMCT/",
  "_searchresults": 11,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/musicMCT.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/satbq/musicmct",
  "_realowner": "satbq",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.2",
      "date": "2025-06-05"
    },
    {
      "version": "0.2.0",
      "date": "2025-07-21"
    },
    {
      "version": "0.3.0",
      "date": "2025-11-03"
    },
    {
      "version": "0.4.0",
      "date": "2026-02-27"
    }
  ],
  "_exports": [
    "anazero_fingerprint",
    "asword",
    "best_simplification",
    "brightness_comparisons",
    "brightnessgraph",
    "carlos_step",
    "charm",
    "clampitt_q",
    "clockface",
    "colornum",
    "comparesignvecs",
    "convert",
    "coord_from_edo",
    "coord_to_edo",
    "countsvzeroes",
    "cover",
    "d2s",
    "delta",
    "dft",
    "distribution_to_set",
    "edoo",
    "emb",
    "eps",
    "evenness",
    "flex_points",
    "fortenum",
    "fpmod",
    "fpunique",
    "get_relevant_rows",
    "get_roth_ineqmat",
    "getineqmat",
    "has_contradiction",
    "howfree",
    "ianring",
    "ifunc",
    "ineqsym",
    "inter_vlsig",
    "intervalspectrum",
    "isgwf",
    "isproper",
    "iswellformed",
    "isym",
    "isym_degree",
    "isym_index",
    "ivec",
    "j",
    "make_anaglyph_ineqmat",
    "make_black_ineqmat",
    "make_gray_ineqmat",
    "make_infrared_ineqmat",
    "make_offset_ineqmat",
    "make_pastel_ineqmat",
    "make_rosy_ineqmat",
    "make_roth_ineqmat",
    "make_white_ineqmat",
    "makeineqmat",
    "match_flat",
    "maxeven",
    "meantone_fifth",
    "minimize_vl",
    "monochrome_vl",
    "move_to_hyperplane",
    "normal_form",
    "optc_test",
    "point_on_flat",
    "populate_flat",
    "primary_color",
    "primary_colornum",
    "primary_hue",
    "primary_signvector",
    "primeform",
    "project_onto",
    "quantize_color",
    "quantize_hue",
    "ratio",
    "readSCL",
    "realize_stepword",
    "rotate",
    "s2d",
    "same_hue",
    "saturate",
    "sc",
    "sc_comp",
    "scale_palette",
    "set_from_signvector",
    "set_to_distribution",
    "signed_interval_class",
    "signvector",
    "sim",
    "simplify_scale",
    "spectrumcount",
    "startzero",
    "step_signvector",
    "strictly_proper",
    "subset_multiplicities",
    "subset_varieties",
    "subsetspectrum",
    "surround_set",
    "svzero_fingerprint",
    "tc",
    "tn",
    "tndists",
    "tni",
    "tnprime",
    "tsym",
    "tsym_degree",
    "tsym_index",
    "vl_dist",
    "vl_generators",
    "vl_rolodex",
    "vl_signvector",
    "vlsig",
    "whichmodebest",
    "whichsvzeroes",
    "writeSCL",
    "z",
    "zmate"
  ],
  "_datasets": [
    {
      "name": "fortenums",
      "title": "Allen Forte's list of set classes",
      "object": "fortenums",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "ineqmats",
      "title": "Hyperplane arrangements for MCT spaces",
      "object": "ineqmats",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "roth_ineqmats",
      "title": "Hyperplane arrangements for Rothenberg arrangements",
      "object": "roth_ineqmats",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "anazero_fingerprint",
      "title": "Are regularities within or between sets in a pair?",
      "topics": [
        "anazero_fingerprint"
      ]
    },
    {
      "page": "asword",
      "title": "Algebraic word of a set's step sizes",
      "topics": [
        "asword"
      ]
    },
    {
      "page": "brightness_comparisons",
      "title": "Voice-leading brightness relationships for a scale's modes",
      "topics": [
        "brightness_comparisons"
      ]
    },
    {
      "page": "brightnessgraph",
      "title": "Visualize brightness relationships among modes of a scale",
      "topics": [
        "brightnessgraph"
      ]
    },
    {
      "page": "carlos_step",
      "title": "Define a step size for one of Wendy Carlos's scales",
      "topics": [
        "carlos_step"
      ]
    },
    {
      "page": "clampitt_q",
      "title": "Voice leadings between inversions with maximal common tones",
      "topics": [
        "clampitt_q"
      ]
    },
    {
      "page": "clockface",
      "title": "Visualize a set in pitch-class space",
      "topics": [
        "clockface"
      ]
    },
    {
      "page": "colornum",
      "title": "Reference numbers for scale structures",
      "topics": [
        "colornum"
      ]
    },
    {
      "page": "comparesignvecs",
      "title": "Do two sign vectors represent adjacent colors?",
      "topics": [
        "comparesignvecs"
      ]
    },
    {
      "page": "convert",
      "title": "Convert between octave measurements",
      "topics": [
        "convert"
      ]
    },
    {
      "page": "coord_to_edo",
      "title": "Coordinate systems for scale representation",
      "topics": [
        "coord_from_edo",
        "coord_to_edo"
      ]
    },
    {
      "page": "dft",
      "title": "The musical Discrete Fourier Transform of a pitch-class set",
      "topics": [
        "dft"
      ]
    },
    {
      "page": "edoo",
      "title": "Perfectly even scales (the color white)",
      "topics": [
        "edoo"
      ]
    },
    {
      "page": "emb",
      "title": "How many instances of a subset-type exist within a scale? How many scales embed a subset?",
      "topics": [
        "cover",
        "emb"
      ]
    },
    {
      "page": "eps",
      "title": "The brightness ratio",
      "topics": [
        "delta",
        "eps",
        "ratio"
      ]
    },
    {
      "page": "evenness",
      "title": "How even is a scale?",
      "topics": [
        "evenness"
      ]
    },
    {
      "page": "flex_points",
      "title": "Voice-leading inflection points",
      "topics": [
        "flex_points"
      ]
    },
    {
      "page": "fortenum",
      "title": "Forte number from set class",
      "topics": [
        "fortenum"
      ]
    },
    {
      "page": "fortenums",
      "title": "Allen Forte's list of set classes",
      "topics": [
        "fortenums"
      ]
    },
    {
      "page": "fpmod",
      "title": "Modulo division with rounding",
      "topics": [
        "fpmod"
      ]
    },
    {
      "page": "fpunique",
      "title": "Unique real values up to some tolerance",
      "topics": [
        "fpunique"
      ]
    },
    {
      "page": "get_relevant_rows",
      "title": "Which hyperplanes affect a given generic interval?",
      "topics": [
        "get_relevant_rows"
      ]
    },
    {
      "page": "howfree",
      "title": "Count a scale's degrees of freedom",
      "topics": [
        "howfree"
      ]
    },
    {
      "page": "ianring",
      "title": "Look up a scale at Ian Ring's _Exciting Universe of Music Theory_",
      "topics": [
        "ianring"
      ]
    },
    {
      "page": "ifunc",
      "title": "All intervals from one set to another",
      "topics": [
        "ifunc"
      ]
    },
    {
      "page": "ineqmats",
      "title": "Hyperplane arrangements for MCT spaces",
      "topics": [
        "ineqmats"
      ]
    },
    {
      "page": "ineqsym",
      "title": "Symmetries of hyperplane arrangements define equivalent scales",
      "topics": [
        "ineqsym"
      ]
    },
    {
      "page": "intervalspectrum",
      "title": "Specific sizes corresponding to each generic interval",
      "topics": [
        "intervalspectrum",
        "spectrumcount"
      ]
    },
    {
      "page": "isgwf",
      "title": "Is a scale n-wise well formed?",
      "topics": [
        "isgwf"
      ]
    },
    {
      "page": "isproper",
      "title": "Rothenberg propriety",
      "topics": [
        "has_contradiction",
        "isproper",
        "strictly_proper"
      ]
    },
    {
      "page": "iswellformed",
      "title": "Well-formedness, Myhill's property, and/or moment of symmetry",
      "topics": [
        "iswellformed"
      ]
    },
    {
      "page": "isym",
      "title": "Test for inversional symmetry",
      "topics": [
        "isym",
        "isym_degree",
        "isym_index"
      ]
    },
    {
      "page": "ivec",
      "title": "Interval-class vector",
      "topics": [
        "ivec"
      ]
    },
    {
      "page": "j",
      "title": "Convenient just-intonation intervals and scales",
      "topics": [
        "j"
      ]
    },
    {
      "page": "make_anaglyph_ineqmat",
      "title": "Define hyperplanes for cross-type voice leadings",
      "topics": [
        "make_anaglyph_ineqmat"
      ]
    },
    {
      "page": "make_black_ineqmat",
      "title": "Define hyperplanes for transposition-sensitive arrangements",
      "topics": [
        "make_black_ineqmat",
        "make_gray_ineqmat"
      ]
    },
    {
      "page": "make_infrared_ineqmat",
      "title": "Define hyperplanes for infrared arrangements",
      "topics": [
        "make_infrared_ineqmat"
      ]
    },
    {
      "page": "make_offset_ineqmat",
      "title": "Translate a hyperplane arrangement to a new center",
      "topics": [
        "make_offset_ineqmat"
      ]
    },
    {
      "page": "make_roth_ineqmat",
      "title": "Define hyperplanes for Rothenberg arrangements",
      "topics": [
        "get_roth_ineqmat",
        "make_rosy_ineqmat",
        "make_roth_ineqmat"
      ]
    },
    {
      "page": "make_white_ineqmat",
      "title": "Define hyperplanes for white arrangements",
      "topics": [
        "make_pastel_ineqmat",
        "make_white_ineqmat"
      ]
    },
    {
      "page": "makeineqmat",
      "title": "Define hyperplanes for the Modal Color Theory arrangements",
      "topics": [
        "getineqmat",
        "makeineqmat"
      ]
    },
    {
      "page": "maxeven",
      "title": "Maximally even scales",
      "topics": [
        "maxeven"
      ]
    },
    {
      "page": "meantone_fifth",
      "title": "Define a tempered fifth for various meantone scales",
      "topics": [
        "meantone_fifth"
      ]
    },
    {
      "page": "minimize_vl",
      "title": "Smallest voice leading between two sets",
      "topics": [
        "minimize_vl"
      ]
    },
    {
      "page": "monochrome_vl",
      "title": "Which voice leadings are irreducible?",
      "topics": [
        "monochrome_vl"
      ]
    },
    {
      "page": "move_to_hyperplane",
      "title": "Intersection of a line with a hyperplane",
      "topics": [
        "move_to_hyperplane"
      ]
    },
    {
      "page": "normal_form",
      "title": "Hook's OPTIC normal forms",
      "topics": [
        "normal_form"
      ]
    },
    {
      "page": "OPTC_test",
      "title": "Does a scale lie in the canonical fundamental domain for OPTC symmetries?",
      "topics": [
        "optc_test"
      ]
    },
    {
      "page": "point_on_flat",
      "title": "Generate one point on arbitrary combination of hyperplanes",
      "topics": [
        "point_on_flat"
      ]
    },
    {
      "page": "populate_flat",
      "title": "Randomly generate scales on a flat",
      "topics": [
        "populate_flat"
      ]
    },
    {
      "page": "primary_hue",
      "title": "Primary colors",
      "topics": [
        "primary_color",
        "primary_colornum",
        "primary_hue",
        "primary_signvector"
      ]
    },
    {
      "page": "primeform",
      "title": "Prime form of a set using Rahn's algorithm",
      "topics": [
        "primeform"
      ]
    },
    {
      "page": "project_onto",
      "title": "Closest point on a given flat",
      "topics": [
        "match_flat",
        "project_onto"
      ]
    },
    {
      "page": "quantize_color",
      "title": "Find a scale mod k that matches a given color",
      "topics": [
        "quantize_color"
      ]
    },
    {
      "page": "quantize_hue",
      "title": "Find a scale mod k that matches a given hue",
      "topics": [
        "quantize_hue"
      ]
    },
    {
      "page": "readSCL",
      "title": "Import a Scala (.scl) file as a scale",
      "topics": [
        "readSCL"
      ]
    },
    {
      "page": "realize_stepword",
      "title": "Define scale by entering its relative step sizes",
      "topics": [
        "realize_stepword"
      ]
    },
    {
      "page": "rotate",
      "title": "Circular rotation of an ordered tuple",
      "topics": [
        "rotate"
      ]
    },
    {
      "page": "roth_ineqmats",
      "title": "Hyperplane arrangements for Rothenberg arrangements",
      "topics": [
        "roth_ineqmats"
      ]
    },
    {
      "page": "same_hue",
      "title": "Do two scales lie on the same ray?",
      "topics": [
        "same_hue"
      ]
    },
    {
      "page": "saturate",
      "title": "Modify evenness without changing hue",
      "topics": [
        "saturate"
      ]
    },
    {
      "page": "sc",
      "title": "Set class from Forte's list",
      "topics": [
        "sc"
      ]
    },
    {
      "page": "sc_comp",
      "title": "Set class complement",
      "topics": [
        "sc_comp"
      ]
    },
    {
      "page": "scale_palette",
      "title": "Orbit of a scale under symmetries of hyperplane arrangement",
      "topics": [
        "scale_palette"
      ]
    },
    {
      "page": "set_from_signvector",
      "title": "Create a scale from a sign vector",
      "topics": [
        "set_from_signvector"
      ]
    },
    {
      "page": "set_to_distribution",
      "title": "Convert between pitch-class sets and distributions",
      "topics": [
        "d2s",
        "distribution_to_set",
        "s2d",
        "set_to_distribution"
      ]
    },
    {
      "page": "signed_interval_class",
      "title": "Ordered pitch-class interval represented as interval class with sign",
      "topics": [
        "signed_interval_class"
      ]
    },
    {
      "page": "signvector",
      "title": "Detect a scale's location relative to a hyperplane arrangement",
      "topics": [
        "signvector",
        "vl_signvector"
      ]
    },
    {
      "page": "sim",
      "title": "Scalar (and interscalar) interval matrix",
      "topics": [
        "sim"
      ]
    },
    {
      "page": "simplify_scale",
      "title": "Best ways to regularize a scale",
      "topics": [
        "best_simplification",
        "simplify_scale"
      ]
    },
    {
      "page": "step_signvector",
      "title": "Specify a scale's step pattern with a sign vector",
      "topics": [
        "step_signvector"
      ]
    },
    {
      "page": "subset_multiplicities",
      "title": "Count the multiplicities of a subset-type's varieties",
      "topics": [
        "subset_multiplicities"
      ]
    },
    {
      "page": "subset_varieties",
      "title": "Specific varieties of scalar subsets given a generic shape",
      "topics": [
        "subset_varieties"
      ]
    },
    {
      "page": "subsetspectrum",
      "title": "Subset varieties for all subsets of a fixed size",
      "topics": [
        "subsetspectrum"
      ]
    },
    {
      "page": "surround_set",
      "title": "Random scales uniformly distributed on a hypersphere around an input",
      "topics": [
        "surround_set"
      ]
    },
    {
      "page": "svzero_fingerprint",
      "title": "Distinguish different types of interval equalities",
      "topics": [
        "svzero_fingerprint"
      ]
    },
    {
      "page": "tc",
      "title": "Transpositional combination & pitch multiplication",
      "topics": [
        "tc"
      ]
    },
    {
      "page": "tn",
      "title": "Transposition and Inversion",
      "topics": [
        "charm",
        "startzero",
        "tn",
        "tni"
      ]
    },
    {
      "page": "tndists",
      "title": "Distances between continuous transpositions of a set",
      "topics": [
        "tndists"
      ]
    },
    {
      "page": "tnprime",
      "title": "Transposition class of a given pc-set",
      "topics": [
        "tnprime"
      ]
    },
    {
      "page": "tsym",
      "title": "Test for transpositional symmetry",
      "topics": [
        "tsym",
        "tsym_degree",
        "tsym_index"
      ]
    },
    {
      "page": "vl_dist",
      "title": "How far apart are two scales?",
      "topics": [
        "vl_dist"
      ]
    },
    {
      "page": "vl_generators",
      "title": "Which transpositions give elementary voice leadings?",
      "topics": [
        "vl_generators"
      ]
    },
    {
      "page": "VL_rolodex",
      "title": "Minimal voice leadings to all transpositions of some Tn-type mod k",
      "topics": [
        "vl_rolodex"
      ]
    },
    {
      "page": "vlsig",
      "title": "Elementary voice leadings",
      "topics": [
        "inter_vlsig",
        "vlsig"
      ]
    },
    {
      "page": "whichmodebest",
      "title": "Smallest crossing-free voice leading between two pitch-class sets",
      "topics": [
        "whichmodebest"
      ]
    },
    {
      "page": "whichsvzeroes",
      "title": "Which interval-comparison equalities does a scale satisfy?",
      "topics": [
        "countsvzeroes",
        "whichsvzeroes"
      ]
    },
    {
      "page": "writeSCL",
      "title": "Create a Scala tuning file from a given scale",
      "topics": [
        "writeSCL"
      ]
    },
    {
      "page": "z",
      "title": "Frequency ratios to logarithmic pitch intervals (e.g. semitones)",
      "topics": [
        "z"
      ]
    },
    {
      "page": "zmate",
      "title": "Twin set in the Z-relation (Z mate)",
      "topics": [
        "zmate"
      ]
    }
  ],
  "_pkglogo": "https://github.com/satbq/musicmct/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/satbq/musicmct/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "glue",
    "igraph",
    "lattice",
    "lifecycle",
    "magrittr",
    "Matrix",
    "pkgconfig",
    "pracma",
    "rlang",
    "vctrs"
  ],
  "_vignettes": [
    {
      "source": "musicMCT.Rmd",
      "filename": "musicMCT.html",
      "title": "Introduction to musicMCT",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "How acoustic is the \"acoustic scale\"?",
        "1. Introducing the main characters",
        "2. A few supporting characters",
        "3. But what about scale structure?",
        "4. Looking for better approximations outside of 12edo",
        "5. A tempered conclusion",
        "Coda: Brightness graphs"
      ],
      "created": "2025-04-05 06:13:37",
      "modified": "2026-05-10 19:54:20",
      "commits": 20
    },
    {
      "source": "mct_symmetries.Rmd",
      "filename": "mct_symmetries.html",
      "title": "Symmetries of Hyperplane Arrangements and ineqsym()",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "1.2: Scales, intervals, etc.",
        "1.3: Hyperplane arrangements",
        "2: Symmetries of MCT Arrangements",
        "3: Orbits as equivalence classes of scale structure",
        "3.1: Brightness Graphs",
        "Orbits are called \"Scale Palettes\"",
        "4: Symmetrical Scales",
        "Looking for symmetries of a set",
        "Postscript on $M_5$ and $M_7$"
      ],
      "created": "2026-05-07 05:46:49",
      "modified": "2026-05-10 19:54:20",
      "commits": 4
    },
    {
      "source": "visualizing_higher_dimensions.Rmd",
      "filename": "visualizing_higher_dimensions.html",
      "title": "Visualizing Higher Dimensions",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Seven Notes, Tetrachords, and Two Dimensions",
        "Defining the Spaces",
        "Familiar Scales as Landmarks",
        "Visualize all the colors",
        "Optimizing evenness on the \"double harmonic\" flat",
        "Smoother Images",
        "Familiar Ground",
        "Other Properties",
        "A Caveat",
        "Conclusion"
      ],
      "created": "2025-04-07 04:39:07",
      "modified": "2025-11-28 23:18:28",
      "commits": 19
    }
  ],
  "_score": 6.157003196832525,
  "_indexed": true,
  "_nocasepkg": "musicmct",
  "_universes": [
    "satbq"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.4.0.9000",
      "date": "2026-06-09T06:02:24.000Z",
      "distro": "noble",
      "commit": "4e9417a305802aafc01e618d20c114a3e85759a2",
      "fileid": "76b622c031aa363b2e162824dae301b8f61c3aec6024b3c5e95d03a72c7d2e49",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/satbq/actions/runs/27186858330"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.4.0.9000",
      "date": "2026-06-09T06:02:28.000Z",
      "distro": "noble",
      "commit": "4e9417a305802aafc01e618d20c114a3e85759a2",
      "fileid": "d7aa7d8424ddaccd216ec2fddc4b668ffb95ed50a4763777ad7bade5b2806dcd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/satbq/actions/runs/27186858330"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.4.0.9000",
      "date": "2026-06-09T06:31:00.000Z",
      "commit": "4e9417a305802aafc01e618d20c114a3e85759a2",
      "fileid": "40ff2211de64fc28be82cfad3e6bd9d7e719d39e8cdca06fcb39a9873cc9ff2c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/satbq/actions/runs/27186858330"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.4.0.9000",
      "date": "2026-06-09T06:30:57.000Z",
      "commit": "4e9417a305802aafc01e618d20c114a3e85759a2",
      "fileid": "0f65f6a2e9aab924db02f3bd38c17be796aa49f482536497d13579301ae1fb5c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/satbq/actions/runs/27186858330"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.4.0.9000",
      "date": "2026-06-09T06:02:28.000Z",
      "commit": "4e9417a305802aafc01e618d20c114a3e85759a2",
      "fileid": "5870beadd2f5bd0dda11750681865e089977d78d8a7633c2559d219f69bc8064",
      "status": "success",
      "buildurl": "https://github.com/r-universe/satbq/actions/runs/27186858330"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.4.0.9000",
      "date": "2026-06-09T06:00:58.000Z",
      "commit": "4e9417a305802aafc01e618d20c114a3e85759a2",
      "fileid": "f8e839ac32df4a6496af99958d1b3e4ad5fb8a87257b9eefacd6601119b8ca25",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/satbq/actions/runs/27186858330"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.4.0.9000",
      "date": "2026-06-09T06:01:08.000Z",
      "commit": "4e9417a305802aafc01e618d20c114a3e85759a2",
      "fileid": "f3263b81c9652fefc6ef0d622e24d4c33d857109c6f98dcaefa9c83029f34fd3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/satbq/actions/runs/27186858330"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.4.0.9000",
      "date": "2026-06-09T06:00:54.000Z",
      "commit": "4e9417a305802aafc01e618d20c114a3e85759a2",
      "fileid": "14b90dadd436d54f8c11fe54cf3ec4c75e0e61a0f09f8f92a9c72bebde71c2fa",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/satbq/actions/runs/27186858330"
    }
  ]
}