H E L P

FAQs:

  1. What is a PC Set?
    Here's a brief introduction by some Norse dude or somethin' (yeah, I know he's not NORSE norse, but don't get all PC (that's politically correct, not pitch class) on me). He has written a program similar to the one I'm trying to write, though with perl. Here is that program. I aim for mine to be more portable (javascript, downloadable and runable by anyone with Internet Explorer) and just a bit prettier. There's a more detailed description of PCSet analysis also available and even a comprehensive list of pc-sets with comments.

  2. What does the PC Set Analyzer (PCSA) do?
    The PCSA simply takes the given data and performs a variety of arithmetic operations on it, presenting the results in an understandable manner. Specifically, it takes in data in the form of PC Sets and generates relational information between these sets that are commonly used in the analysis of atonal music (for example, transposition levels between sets and Forte set names).

  3. Does the PC Set Analyzer (PCSA) really analyze music for you?
    The PCSA has a misleading name. It does not really analyze the music. It merely generates the data that may help analysis. What one does with this data is up to the user. On the other hand, I hope the presentation of such data in a comprehensive but understandable manner will enable the analyst to see patterns that will reinforce his/her musical intuitions.

  4. What to do with the PC Set Analyzer (PCSA) output?
    Anything you want! How one uses the data is obviously up to the user. The tables themselves are standard HTML dynamically generated with JavaScript. You can copy and paste these tables into MS Word or your word processor of choice and print it out. The HTML source for these tables is not available for now. I may put a link to it in the future.

  5. How do I use the PC Set Analyzer?
    How to use:
    1. 1) Input sets - Use the textbox to input PC Sets. Valid input includes the number 0-9 and the letter "t" for 10 and "e" for 11. Set delimiters (that which separates one set from the next) can either be semicolons (";") or new lines. Every other character will be ignored. Set elements do not need to be separated (such as by commas or spaces). An example input would be "029t85;2e3758".
    2. 2) Choose options - The options should be mostly self explanatory. The condensed/verbose option allows you to select from the choices of a concise display of essential information (such as prime form) or an extended display of all intermediary steps (such as ordered form, minimum span form). Detailed explanations of the options are available in *************where******************
    3. 3) Analyze/Display - Clicking the "Analyze" button will make the PCSA perform the selected operations on the input. This data will then be displayed in the output window. If you wish to change the information that is displayed, change the options and click "Analyze" again.
  6. How does the parsing engine work for PC Set inputs?
    The parse engine for the PC Set input box literally ignores any character that is not a valid input. Valid input characters are the numbers 0-9 and the character "t" (for number 10), "e" (for number 11), ";", and a new line (both characters separate sets). For example, "0fjflk3us7e;0246" will, in the eyes of the parser, be equivalent to two sets: <0,3,7,11>, and <0,2,4,6>. The parser also ignores sets of cardinality less than 3 or greater than 9.

  7. What's the best way to input/format my PC Sets?
    If you only have a few sets for the PCSA to analyze, then typing them directly into the text box is fine. If your accumulated sets are written out by hand, translate them into the correct syntax ("t" for 10 and "e" for 11, etc.) as you type the sets in. If you already have a large number of sets typed as text and formatted somehow, it is best to use the Search/Replace tool in your word processor to replace all your set delimiters with semicolons and then copy and paste the data into the text box of the PCSA.

  8. How does the PCSA get ordered/prime form/interval vector/complement set information?
    PCSA uses the following algorithm to reduce pitch class sets to prime form. First, it arranges the pitch classes in ascending order. Then it examines every permutation of the ordered set and finds the permutation with the least span. If multiple least spans are found, it will select the permutation with the smallest intervals to the left. It will then compare the selected set with its inverse, selecting the set with the smallest intervals to the left. The Forte names are obtained from a direct table lookup (the Forte set name information is stored in an array in which the entries are strings of the Forte names and the indices are strings of the prime form of a set).

  9. What is condensed vs. verbose output?
    Condensed output only displays the final result of selected analyses. Verbose output displays intermediate data used to obtain the final result as well. For example, condensed output will only display the original set and the prime form whereas verbose output will output the original set, the ordered form, the form with minimum span, and also the prime form.

  10. What is and how are Transposition/Inversion calculated?
    Given two sets, the tLevel function returns the transposition level (-1 if the two sets are not transpositions of each other). This is done by comparing the minimum span form of the two sets element by element. If all the elements differ by a set amount, that difference is returned as an interval class (0-6). Inversion is calculated by comparing the inversion of one set to the normal form of the other set using the tLevel function.

  11. What is and how are Retrograde/Retrograde Inversion calculated?
    Retrograde is calculated using the tLevel function (see Tranposition/Inversion) by comparing a normal set with a retrograded set. The retrograde inversion function uses the inversion iLevel function (which in turns calls upon tLevel). The difference between inversion and retrograde inversion is that the sets being compared are minimum span forms in the former and original set forms in the latter.

  12. What is and how are Near Equivalence relationship calculated?
    There are two classes of near-equivalence relationships that are calculated: real and abstract.
    • Real - Real near-equivalecies are defined as any two sets where a single transformation of one set can yield another. A transformation can be the deletion of a PC, the addition of a PC, or the tranformation/change of a PC. For example, the set < 037 > is real near equivalent to < 078 >. The single operation performed here was changing PC 3 to PC 8.
    • Abstract - The abstract near equivalency relationship is similar to the real near equivalency relationship except that it compares the prime forms of the two sets rather than the original sets. For example, while < 037 > and < 078 > are real near equivalent, they are not abstract near equivalent since the prime form of < 078 > is < 015 >, which is two transformations away from < 037 >. However, < 037 > and < 057 > are both real and abstract equivalent because the prime form of < 057 >, < 027 > is one transformation away from < 037 >.
    The actual calculation of whether or not two sets are nearly equivalent are done with string comparisons. The number of transformations is logged and if the transformations required between one set to the next exceeds one, then the result is "false". In the display area, an "R" represents a real near equivalency while an "A" represents an abstract near equivalency. Obviously, all sets will be RA with themselves.

  13. What is and how can the user-defined Near Equivalence relationship be used?
    Under construction

  14. A Rant
    On a side note, the declaration made by that previous guy who wrote the pc-set analyser is, I think, a bit short-sighted. He doubts the usefulness of PC-set analysis because there is a method to it and all it's very mechanical, yielding, musically bankrupt analyses. This is true only if you do what a computer does, which is to crunch numbers. The actual analytical part of PC-set analysis comes in using the music to guide you to the important PC-sets and finding connections between them. It's the same idea in tonal music where there are these abstract constructions called "major" or "minor seventh" chords that can be permuted but yet maintain the same sonority/function. The only difference is we are trained to hear tonally so we don't need the abstraction provided by numbers. Atonal music is much harder to hear intuitively so we need a system to identify all these chords. We can't very well give a name to all the atonal chords can we? (A C Major, flat two, sharp two, and flat 5???). In any case, this is a work in progress, obviously. Aw heck, just hit the analyze button once and things will be happy.

  15. Who the heck are you?
    I'm a graduate student in Music Theory at Univeristy of California, Santa Barbara. My previous academic experience in music consist of a bachelor of arts degree in music from Brown University. I also got a Computer Science Degree from Brown (I wussed out, only an AB, not an ScB), which is what supposedly justifies my coding this thang, though I have to apologize doing this in JavaScript. I swear I'll do it in a different language next time (Python? C#? Obfuscated perl?). If you have any questions about this program, me, or my jackets, e-mail me at plluke@plluke.tk. That's it for now. I gotta go pee.

  16. I hate the rest of your website but I like this thang. Can I download it and use it a la maison?
    You meanie.

    Fine.

    Download the zip file here [<20 Kb]. Once you've downloaded the zipfile, unzip it into any old directory you wish, and double click on "index.html". Internet explorer should pop up with the PCSA.

  17. Something's wrong with your code! It gave me the wrong data! It cost me my entire dissertation!
    Sorry about your dissertation dude or dudette. I'm not going to go into a whole discalimer here but obviously, this is a tool to help you, not to do your work for you. On the other hand, I would definitely appreciate all bug reports to: plluke@plluke.tk.

  18. I have a suggestion about how to improve this tool. Or maybe I just want to praise you. Why don't you take a guess?
    I'm going to pick number A and say you might have a suggestion for me. Those are good. Direct all suggestions (and pretty much anything you want me to know about) to plluke@plluke.tk. I'm a lowly poor graduate $tuden$ $o any $upport, p$ychological, academic, financial, or otherwi$e, can al$o be directed to the above e-mail addre$$..