The tuning system to generate pitch classes for
The note to start the tuning system from
Optional custom pitch classes (default: from tuning system)
Optional length parameter for custom input
Optional custom reference frequencies
Complete array of PitchClass objects spanning multiple octaves
This is the most important function in the system because it is a generative function that creates the pitch classes that we work with throughout the application (view, select, play, highlight).
This is a core function that creates the fundamental pitch collection for analysis. It takes a tuning system and starting note, then generates all pitch classes across multiple octaves with their frequencies, MIDI numbers, cents deviations, and other properties needed for maqam analysis.
The function handles various pitch class formats (ratios, frequencies, cents) and automatically detects the input type. It also manages reference frequencies and octave relationships to create a comprehensive pitch space.
Generates a complete array of PitchClass objects for a tuning system starting from a specific note.