Melody Features Summary
This table provides a comprehensive overview of all melody features available in this package.
0 features
| Name | Pre-existing Implementations | Further References | Description | Type | Notes |
|---|---|---|---|---|---|
| Absolute Interval Range | FANTASTIC | The range between the largest and smallest absolute interval size. | Descriptor | ||
| Amount Of Arpeggiation | jSymbolic | The proportion of pitch intervals in the melody that constitute triadic movements. | Descriptor | ||
| Amount Of Staccato | jSymbolic | The proportion of notes with a duration shorter than 0.1 seconds. | Descriptor | ||
| Average Interval Span By Melodic Arcs | jSymbolic | The average interval span of melodic arcs. | Descriptor | ||
| Average Length Of Melodic Arcs | jSymbolic | The average number of notes that separate peaks and troughs in melodic arcs. | Descriptor | ||
| Average Note Duration | jSymbolic | The average note duration in seconds. | Descriptor | ||
| Basic Pitch Histogram | jSymbolic | A histogram of pitch values within the range of input pitches. | Sequence | We use the histogram in the range of input pitches to reduce the output size. An implementation that is truer to the original jSymbolic implementation would return 128 bins (0-127) regardless of how any different pitches are present. However, we believe our approach is more concise and easier to understand for many purposes. | |
| Chromatic Motion | jSymbolic | The proportion of chromatic motion in the melody. Chromatic motion is defined as a melodic interval of 1 semitone. | Descriptor | ||
| Comb Contour Matrix | MIDI Toolbox | Marvin & Laprade (1987) | The Marvin & Laprade (1987) comb contour matrix. For a melody with n notes, returns an n x n binary matrix where C[i][j] = 1 if pitch of note j is higher than pitch of note i (p[j] > p[i]) for i >= j (lower triangle including diagonal), and 0 otherwise. | Descriptor | |
| Combined Strength Of Two Strongest Rhythmic Pulses | jSymbolic | Sum of the magnitudes of the two strongest rhythmic pulses. | Descriptor | ||
| Combined Strength Of Two Strongest Rhythmic Pulses Tempo Standardized | jSymbolic | Sum of the magnitudes of the two strongest rhythmic pulses using tempo-standardized histogram. | Descriptor | ||
| Complebm Optimal | MIDI Toolbox | Eerola & North (2000) | Expectancy-based melodic complexity calculated using an optimal combination of pitch patterns and rhythmic features, according to Eerola & North (2000). The complexity score is normalized against the Essen folksong collection, where a score of 5 represents average complexity. | Descriptor | |
| Complebm Pitch | MIDI Toolbox | Eerola & North (2000) | Expectancy-based melodic complexity calculated using pitch patterns only, according to Eerola & North (2000). The complexity score is normalized against the Essen folksong collection, where a score of 5 represents average complexity. | Descriptor | |
| Complebm Rhythm | MIDI Toolbox | Eerola & North (2000) | Expectancy-based melodic complexity calculated using rhythmic features only, according to Eerola & North (2000). The complexity score is normalized against the Essen folksong collection, where a score of 5 represents average complexity. | Descriptor | |
| Complete Rests Fraction | jSymbolic | The fraction of the total duration during which no pitched notes are sounding. | Descriptor | ||
| Compltrans | MIDI Toolbox | Simonton (1984) | The melodic originality measure, according to Simonton (1984). Calculated based on 2nd order pitch-class distribution derived from 15,618 classical music themes. Higher values indicate higher melodic originality (less predictable transitions). | Descriptor | |
| Difference Between Most Common Rhythmic Values | jSymbolic | The absolute difference in bins between most and second most common rhythmic values. | Descriptor | ||
| Direction Of Melodic Motion | jSymbolic | The proportion of upward melodic motions with regards to the total number of melodic motions. | Descriptor | ||
| Distance Between Most Prevalent Melodic Intervals | jSymbolic | The absolute difference between the two most common interval sizes. | Descriptor | ||
| Dominant Spread | jSymbolic | The longest sequence of pitch classes separated by perfect 5ths that each appear >9% of the time. | Descriptor | ||
| Dotted Duration Transitions | FANTASTIC | Steinbeck (1982) | The proportion of duration transitions that are dotted. | Descriptor | |
| Duration Accent | MIDI Toolbox | Parncutt (1994) | Calculate duration accent for each note based on Parncutt (1994). Duration accent represents the perceptual salience of notes based on their duration. | Sequence | The MIDI toolbox implementation uses defaults of 0.5 for tau (saturation duration) and 2.0 for accent_index (minimum discriminable duration). |
| Duration Accent Std | MIDI Toolbox | Parncutt (1994) | The standard deviation of duration accents. Duration accent represents the perceptual salience of notes based on their duration, as defined by Parncutt (1994). | Descriptor | |
| Duration Entropy | FANTASTIC | The zeroth-order base-2 entropy of the duration distribution in quarter notes. | Descriptor | ||
| Duration Histogram | jSymbolic | A histogram of note durations in quarter notes. | Sequence | ||
| Duration Range | FANTASTIC | The range between the longest and shortest note duration in quarter notes. | Descriptor | ||
| Duration Standard Deviation | Novel | The standard deviation of note durations in quarter notes. | Descriptor | ||
| Equal Duration Transitions | FANTASTIC | Steinbeck (1982) | The proportion of duration transitions that are equal in length. | Descriptor | |
| First Pitch | jSymbolic | The first pitch number in the melody. | Descriptor | ||
| First Pitch Class | jSymbolic | The first pitch class in the melody. | Descriptor | ||
| Folded Fifths Pitch Class Histogram | jSymbolic | A histogram of pitch classes arranged according to the circle of fifths. | Sequence | ||
| Global Duration | FANTASTIC, jSymbolic | The total duration in seconds of the melody. | Descriptor | This feature is named 'Duration in Seconds' in JSymbolic. | |
| Gradus | MIDI Toolbox | Euler (1739) | The degree of melodiousness based on Euler's gradus suavitatis. | Descriptor | |
| Half Duration Transitions | FANTASTIC | Steinbeck (1982) | The proportion of duration transitions that are halved or doubled. | Descriptor | |
| Harmonicity Of Two Strongest Rhythmic Pulses | jSymbolic | The ratio of higher to lower bin index of the two strongest rhythmic pulses. | Descriptor | ||
| Harmonicity Of Two Strongest Rhythmic Pulses Tempo Standardized | jSymbolic | The ratio of higher to lower bin index of the two strongest rhythmic pulses (120-BPM standardized histogram). | Descriptor | ||
| Honore's H | FANTASTIC | Honoré (1979) | Honoré's H measure corresponds to the observation that the number of tokens occuring exactly once in a sequence is logarithmically related to the total number of tokens in the sequence. | Descriptor | |
| Huron Contour Class Label | FANTASTIC | Huron (1996) | The contour classification for the melody, according to Huron's system. | Descriptor | |
| IOI | IDyOM | The time between consecutive onsets (inter-onset interval). | Sequence | ||
| IOI Contour | Novel | The sequence of IOI contour values (-1: shorter, 0: same, 1: longer). | Sequence | ||
| IOI Contour Mean | Novel | The arithmetic mean of IOI contour values. | Descriptor | ||
| IOI Contour Standard Deviation | Novel | The standard deviation of IOI contour values. | Descriptor | ||
| IOI Histogram | Novel | A histogram of inter-onset intervals. | Sequence | ||
| IOI Mean | IDyOM, jSymbolic | The arithmetic mean of inter-onset intervals. | Descriptor | This is called average_time_between_attacks in jSymbolic. | |
| IOI Range | Novel | The range of inter-onset intervals. | Descriptor | ||
| IOI Ratio | IDyOM | The sequence of inter-onset interval ratios. | Sequence | ||
| IOI Ratio Mean | Novel | The arithmetic mean of inter-onset interval ratios. | Descriptor | ||
| IOI Ratio Standard Deviation | Novel | The standard deviation of inter-onset interval ratios. | Descriptor | ||
| IOI Standard Deviation | IDyOM, jSymbolic | The standard deviation of inter-onset intervals. | Descriptor | This is called variability_of_time_between_attacks in jSymbolic. | |
| Importance Of Bass Register | jSymbolic | The proportion of pitch numbers in the melody that are between 0 and 54. | Descriptor | ||
| Importance Of High Register | jSymbolic | The proportion of pitch numbers in the melody that are between 73 and 127. | Descriptor | ||
| Importance Of Middle Register | jSymbolic | The proportion of pitch numbers in the melody that are between 55 and 72. | Descriptor | ||
| Initial Tempo | FANTASTIC, jSymbolic | The first tempo of the melody. | Descriptor | ||
| Inscale | IDyOM | For each pitch in the melody, returns 1 if the pitch is in the estimated key's scale, or 0 if it deviates from the scale. | Sequence | ||
| Interpolation Contour Class Label | FANTASTIC | Classify an interpolation contour into gradient categories. The contour is sampled at 4 equally spaced points and each gradient is normalized to units of pitch change per second (scaled to 1 semitone per 0.25 seconds.) The result is then classified into one of 5 categories: - 'a': Strong downward (-2) - normalized gradient <= -1.45 - 'b': Downward (-1) - normalized gradient between -1.45 and -0.45 - 'c': Flat (0) - normalized gradient between -0.45 and 0.45 - 'd': Upward (1) - normalized gradient between 0.45 and 1.45 - 'e': Strong upward (2) - normalized gradient >= 1.45 | Descriptor | ||
| Interpolation Contour Direction Changes | FANTASTIC | The proportion of interpolated gradient values that consistute a change in direction. For instance, a gradient value of -0.5 to 0.25 is a change in direction. | Descriptor | ||
| Interpolation Contour Global Direction | FANTASTIC | The sign of the sum of all contour values. | Descriptor | ||
| Interpolation Contour Gradient Std | FANTASTIC | The standard deviation of the interpolation contour gradients. | Descriptor | ||
| Interpolation Contour Mean Gradient | FANTASTIC | The absolute mean gradient of the interpolation contour. | Descriptor | ||
| Interval Between Most Prevalent Pitch Classes | jSymbolic | The number of semitones between the two most prevalent pitch classes. | Descriptor | ||
| Interval Between Most Prevalent Pitches | jSymbolic | The number of semitones between the two most prevalent pitches. | Descriptor | ||
| Interval Direction | SIMILE | The sequence of interval directions in the melody. | Sequence | ||
| Interval Direction Mean | Novel | The mean of the direction of each interval in the melody. | Descriptor | ||
| Interval Direction Std | Novel | The standard deviation of the direction of each interval in the melody. | Descriptor | ||
| Interval Entropy | FANTASTIC | The zeroth-order base-2 entropy of the interval distribution. | Descriptor | ||
| Ivdirdist1 | MIDI Toolbox | The proportion of upward intervals for each interval size (1-12 semitones). Returns the proportion of upward intervals for each interval size in the melody as a dictionary mapping interval sizes to their directional bias values. | Sequence | ||
| Ivdist1 | MIDI Toolbox | The distribution of intervals in the melody, weighted by their durations. | Sequence | ||
| Ivsizedist1 | MIDI Toolbox | The distribution of interval sizes (0-12 semitones). Returns the distribution of interval sizes by combining upward and downward intervals of the same absolute size. The first component represents a unison (0) and the last component represents an octave (12). | Sequence | ||
| Key | Novel | Krumhansl (1990) | The key of the melody, either read from the MIDI file or estimated using the specified key finding algorithm, depending on the key estimation strategy. | Sequence | |
| Last Pitch | jSymbolic | The last pitch number in the melody. | Descriptor | ||
| Last Pitch Class | jSymbolic | The last pitch class in the melody. | Descriptor | ||
| Length | FANTASTIC | The total number of notes. | Descriptor | ||
| Longest Complete Rest | jSymbolic | The longest uninterrupted complete rest in quarter-note units (ignoring rests shorter than 0.1 QN). | Descriptor | ||
| Longest Conjunct Scalar Passage | Novel | The longest sequence of consecutive notes that fit within the estimated key's scale. For example, a melody estimated to be in C major with notes C, D, E, F, G would have a longest conjunct scalar passage of 5. | Descriptor | ||
| Longest Monotonic Conjunct Scalar Passage | Novel | The longest sequence of consecutive notes that fit within the estimated key's scale that move in the same direction. | Descriptor | ||
| Longest Rhythmic Value | jSymbolic | The longest rhythmic value (in quarter notes) among non-empty bins. | Descriptor | ||
| Max Log DF | FANTASTIC | Calculate maximum log document frequency across all n-grams. | Descriptor | ||
| Maximum Note Duration | jSymbolic | The maximum note duration in seconds. | Descriptor | ||
| Mean Absolute Interval | FANTASTIC, jSymbolic | The arithmetic mean of the absolute intervals in the melody. | Descriptor | This feature is named 'Mean Melodic Interval' in JSymbolic. | |
| Mean Cloud Diameter | Partitura | Herremans & Chew (2016) | Mean cloud diameter from the tonal tension model. Cloud Diameter provides a measure of the maximal tonal distance of the notes in a chord, following the definition in Partitura. | Descriptor | |
| Mean Cloud Momentum | Partitura | Herremans & Chew (2016) | Mean cloud momentum from the tonal tension model. Cloud momentum captures movement of pitch sets in the spiral array space, weighted by note durations, following the definition in Partitura. | Descriptor | |
| Mean Complete Rest Duration | jSymbolic | The mean duration of complete rests in quarter-note units (ignoring rests shorter than 0.1 QN). | Descriptor | ||
| Mean Duration | Novel | The mean note duration in quarter notes. | Descriptor | ||
| Mean Duration Accent | MIDI Toolbox | Parncutt (1994) | The mean duration accent across all notes. Duration accent represents the perceptual salience of notes based on their duration, as defined by Parncutt (1994). | Descriptor | |
| Mean Entropy | FANTASTIC | Calculate the zeroth-order base-2 entropy of m-types across all n-gram lengths. | Descriptor | ||
| Mean Global Local Weight | FANTASTIC | Calculate mean global-local weight using inverse entropy weighting. | Descriptor | ||
| Mean Global Weight | FANTASTIC | Calculate mean global weight using inverse entropy weighting. | Descriptor | ||
| Mean Log DF | FANTASTIC | Calculate mean log document frequency across all n-grams. | Descriptor | ||
| Mean Log TFDF | FANTASTIC | Calculate mean log TF-DF score across all n-grams. | Descriptor | ||
| Mean Melodic Accent | MIDI Toolbox | Thomassen (1982) | The arithmetic mean of the melodic accent values across all notes. Melodic accent is defined by Thomassen's model (1982) according to the possible melodic contours arising in 3-pitch windows. | Descriptor | |
| Mean Melodic Attraction | MIDI Toolbox | Lerdahl (1996) | The arithmetic mean of the melodic attraction values across all notes. | Descriptor | |
| Mean Mobility | MIDI Toolbox | The arithmetic mean of the mobility values across all notes. | Descriptor | ||
| Mean Pitch | jSymbolic | The arithmetic mean of the pitch numbers in the melody. | Descriptor | ||
| Mean Pitch Class | jSymbolic | The arithmetic mean of the pitch classes in the melody. | Descriptor | ||
| Mean Productivity | FANTASTIC | Mean productivity is defined as the mean of the number of types occurring only once divided by the total number of tokens. The types occurring only once in a sequence are known as hapax legomena. | Descriptor | ||
| Mean Rhythmic Value | jSymbolic | The mean rhythmic value (in quarter notes) using the normalized histogram, weighted by the frequency of the rhythmic value. | Descriptor | ||
| Mean Rhythmic Value Offset | jSymbolic | The mean quantized offset from the nearest ideal rhythmic value (in quarter notes). | Descriptor | ||
| Mean Rhythmic Value Run Length | jSymbolic | The mean run length of identical rhythmic values across the melody. Run length is the number of consecutive notes with the same rhythmic value. Returns 0.0 if there are fewer than 1 notes. | Descriptor | ||
| Mean Tempo | jSymbolic | The mean tempo of the melody. | Descriptor | ||
| Mean Tensile Strain | Partitura | Herremans & Chew (2016) | Mean tensile strain from the tonal tension model. Tensile strain provides a measure of the distance between the local and global tonal context, following the definition in Partitura. | Descriptor | |
| Mean Tessitura | MIDI Toolbox | The arithmetic mean of the sequence of tessitura values. | Descriptor | ||
| Median Complete Rest Duration | jSymbolic | The median duration of complete rests in quarter-note units (ignoring rests shorter than 0.1 QN). | Descriptor | ||
| Median Rhythmic Value Offset | jSymbolic | The median quantized offset from the nearest ideal rhythmic value (in quarter notes). | Descriptor | ||
| Median Rhythmic Value Run Length | jSymbolic | The median run length of identical rhythmic values across the melody. Run length is the number of consecutive notes with the same rhythmic value. | Descriptor | ||
| Melodic Accent | MIDI Toolbox | Thomassen (1982) | Calculate melodic accent salience according to Thomassen's model. Implementation based on MIDI toolbox "melaccent.m" In Thomassen's approach, melodic accents are determined based on the melodic contour formed by each group of three consecutive pitches. The accent strength ranges from 0 (no salience) to 1 (maximum salience). | Sequence | |
| Melodic Accent Std | MIDI Toolbox | Thomassen (1982) | The standard deviation of the melodic accent values across all notes. | Descriptor | |
| Melodic Attraction | MIDI Toolbox | Lerdahl (1996) | The melodic attraction according to Lerdahl (1996). Each tone in a key has certain anchoring strength ("weight") in tonal pitch space. Melodic attraction strength is affected by the distance between tones and directed motion patterns. | Sequence | |
| Melodic Attraction Std | MIDI Toolbox | Lerdahl (1996) | The standard deviation of the melodic attraction values across all notes. | Descriptor | |
| Melodic Embellishment | jSymbolic | The proportion of melodic embellishments in the melody. Melodic embellishments are identified by notes that are surrounded on both sides by notes with durations at least 3 times longer than the central note. | Descriptor | ||
| Melodic Interval Histogram | jSymbolic | A histogram of interval sizes. | Sequence | ||
| Melodic Large Intervals | jSymbolic | The proportion of intervals >= 13 semitones. | Descriptor | ||
| Melodic Octaves | jSymbolic | The proportion of intervals that are octaves (12 semitones). | Descriptor | ||
| Melodic Perfect Fifths | jSymbolic | The proportion of intervals that are perfect fifths (7 semitones). | Descriptor | ||
| Melodic Perfect Fourths | jSymbolic | The proportion of intervals that are perfect fourths (5 semitones). | Descriptor | ||
| Melodic Pitch Variety | jSymbolic | The average number of notes that pass before a pitch is repeated. | Descriptor | ||
| Melodic Sevenths | jSymbolic | The proportion of intervals that are sevenths (10 or 11 semitones). | Descriptor | ||
| Melodic Sixths | jSymbolic | The proportion of intervals that are sixths (8 or 9 semitones). | Descriptor | ||
| Melodic Thirds | jSymbolic | The proportion of intervals that are thirds (3 or 4 semitones). | Descriptor | ||
| Melodic Tritones | jSymbolic | The proportion of intervals that are tritones (6 semitones). | Descriptor | ||
| Meter Accent | MIDI Toolbox | Phenomenal accent synchrony measure, calculated as the negative mean of the product of metric hierarchy, melodic accent, and durational accent for each note. Higher values indicate stronger accent synchrony. Implementation based on MIDI toolbox meteraccent.m. | Descriptor | ||
| Meter Denominator | jSymbolic | Time signature denominator for the melody. | Descriptor | ||
| Meter Numerator | jSymbolic | Time signature numerator for the melody. | Descriptor | ||
| Metric Hierarchy | MIDI Toolbox | Metric hierarchy values for each note, indicating the strength of each note position within the known or estimated meter. Higher values indicate stronger metric positions (e.g., downbeat = 5, beat = 4, half-beat = 3, etc.). Implementation based on MIDI toolbox metrichierarchy.m. | Descriptor | ||
| Min Log DF | FANTASTIC | Calculate minimum log document frequency across all n-grams. | Descriptor | ||
| Minimum Note Duration | jSymbolic | The minimum note duration in seconds. | Descriptor | ||
| Minor Major Third Ratio | jSymbolic | The ratio of minor thirds to major thirds. | Descriptor | ||
| Mobility | MIDI Toolbox | von Hippel (2000) | The melodic mobility for each note based on von Hippel (2000). Mobility describes why melodies change direction after large skips by observing that they would otherwise run out of the comfortable melodic range. It uses lag-one autocorrelation between successive pitch heights. | Sequence | |
| Mobility Std | MIDI Toolbox | The standard deviation of the mobility values across all notes. | Descriptor | ||
| Modal Duration | FANTASTIC, jSymbolic | The most common note duration in quarter notes. | Descriptor | ||
| Modal Interval | FANTASTIC, jSymbolic | The most common interval size in the melody. | Descriptor | This feature is named 'Most Common Interval' in JSymbolic. | |
| Mode | FANTASTIC | Calculate the mode (major/minor) of a melody, either read from the MIDI file or estimated using the specified key finding algorithm. | Sequence | ||
| Most Common Pitch | jSymbolic | The most frequently occurring pitch number in the melody. | Descriptor | ||
| Most Common Pitch Class | jSymbolic | The most frequently occurring pitch class in the melody. | Descriptor | ||
| Most Common Rhythmic Value | jSymbolic | The modal rhythmic value (in quarter notes). | Descriptor | ||
| NPVI | MIDI Toolbox | Patel & Daniele (2003) | The normalized Pairwise Variability Index (NPVI) of note durations in quarter notes. The NPVI measures the durational variability of events, originally developed for language research to distinguish stress-timed vs. syllable-timed languages. Applied to music by Patel & Daniele (2003) to study the prosodic influences on musical rhythm. | Descriptor | |
| Narmour Closure | IDyOM, MIDI Toolbox | Narmour (1990) | A score of 1 is given if the last three notes in a melody constitute a change in direction. Another score of 1 is given if the final interval is more than one tone smaller than the penultimate. As such, this returns integer values between 0 and 2. | Descriptor | |
| Narmour Intervallic Difference | IDyOM, MIDI Toolbox | Narmour (1990) | If a large interval is followed by a smaller interval, returns 1 if either: - The smaller interval continues in the same direction and is at least 3 semitones smaller - The smaller interval changes direction and is at least 2 semitones smaller Additionally, returns 1 if a small interval is followed by another interval of the same size. Otherwise returns 0. | Descriptor | |
| Narmour Proximity | IDyOM, MIDI Toolbox | Narmour (1990) | Proximity is defined as 6 minus the absolute interval between the last two notes. | Descriptor | |
| Narmour Registral Direction | IDyOM, MIDI Toolbox | Narmour (1990) | The score is set to zero. If an interval greater than a perfect fifth is followed by a direction change, a score of 1 is given. If an interval smaller than a perfect fourth continues in the same direction, a score of 1 is given. This feature returns either 0 or 1 accordingly. | Descriptor | |
| Narmour Registral Return | IDyOM, MIDI Toolbox | Narmour (1990) | If the last three notes move away from and then back to the same pitch, a score of 3 is returned. If the pitch returned to is 1 semitone away from the initial, returns 2. If the pitch returned to is 2 semitones away from the initial, returns 1. Otherwise, a score of 0 is returned. | Descriptor | |
| Norm Log Dist | FANTASTIC | Calculate normalized log distance between TF and DF distributions. | Descriptor | ||
| Note Density | FANTASTIC, jSymbolic | The average number of notes per second. | Descriptor | ||
| Note Density Per Quarter Note | jSymbolic | The average number of note onsets per unit of time corresponding to an idealized quarter note duration based on the tempo. | Descriptor | ||
| Note Density Per Quarter Note Variability | jSymbolic | The standard deviation of note density per quarter note. Divides the melody into 8-quarter-note windows and calculates the standard deviation of note density across these windows. | Descriptor | Our tests indicate a certain discrepancy between our outputs and JSymbolic's outputs, which may be a consequence of JSymbolic's tick-based approach, or perhaps its idiosyncratic windowing approach. | |
| Note Density Variability | jSymbolic | The standard deviation of note density across 5-second windows. | Descriptor | Our tests indicate a certain discrepancy between our outputs and JSymbolic's outputs, which may be a consequence of JSymbolic's tick-based approach, or perhaps its idiosyncratic windowing approach. | |
| Number Of Common Melodic Intervals | jSymbolic | The number of intervals that appear in at least 9% of melodic transitions. | Descriptor | ||
| Number Of Common Pitches | jSymbolic | The number of unique pitch numbers that appear in at least 9% of total notes. | Descriptor | ||
| Number Of Common Pitches Classes | jSymbolic | The number of pitch classes that appear in at least 20% of total notes. | Descriptor | ||
| Number Of Common Rhythmic Values Present | jSymbolic | The number of rhythmic value bins with normalized proportion >= 0.15. | Descriptor | ||
| Number Of Different Rhythmic Values Present | jSymbolic | The number of distinct rhythmic value bins that are present in the melody (non-zero). | Descriptor | ||
| Number Of Moderate Rhythmic Pulses | jSymbolic | The number of beat histogram peaks with normalized magnitudes over 0.01. | Descriptor | ||
| Number Of Moderate Rhythmic Pulses Tempo Standardized | jSymbolic | The number of tempo-standardized beat histogram peaks with normalized magnitudes over 0.01. | Descriptor | ||
| Number Of Relatively Strong Rhythmic Pulses | jSymbolic | The number of peaks at least 30% of the max magnitude. | Descriptor | ||
| Number Of Relatively Strong Rhythmic Pulses Tempo Standardized | jSymbolic | The number of tempo-standardized peaks at least 30% of the max magnitude. | Descriptor | ||
| Number Of Strong Rhythmic Pulses | jSymbolic | The count of BPM bins with pulses greater than 0.001. | Descriptor | ||
| Number Of Strong Rhythmic Pulses Tempo Standardized | jSymbolic | The count of BPM bins with pulses greater than 0.001 using the tempo-standardized beat histogram. | Descriptor | ||
| Number Of Unique Durations | Novel | The number of unique note durations, measured in quarter notes. | Descriptor | ||
| Number Of Unique Pitch Classes | jSymbolic | The number of unique pitch classes in the melody. | Descriptor | ||
| Number Of Unique Pitches | jSymbolic | The number of unique pitch numbers in the melody. | Descriptor | ||
| Number Of Unique Time Signatures | jSymbolic | The number of unique time signatures in the melody. | Descriptor | This feature is named "Metrical Diversity" in jSymbolic. | |
| Onset Autocorr Peak | MIDI Toolbox | The maximum onset autocorrelation value (excluding lag 0). | Descriptor | ||
| Onset Autocorrelation | MIDI Toolbox | The autocorrelation function of onset times weighted by duration accents. This is calculated by weighting the onset times by the duration accents, as defined by Parncutt (1994). | Sequence | ||
| Pcdist1 | MIDI Toolbox | The distribution of pitch classes in the melody, weighted by the duration of the notes. | Sequence | ||
| Pitch Class Kurtosis | jSymbolic | The sample excess kurtosis of the pitch class histogram. | Descriptor | ||
| Pitch Class Kurtosis After Folding | jSymbolic | The sample excess kurtosis of the pitch class histogram, after arranging the pitch classes according to the circle of fifths. | Descriptor | ||
| Pitch Class Skewness | jSymbolic | The skewness of the pitch class histogram, using Pearson's median skewness formula. | Descriptor | ||
| Pitch Class Skewness After Folding | jSymbolic | The skewness of the pitch class histogram, using Pearson's median skewness formula, after arranging the pitch classes according to the circle of fifths. | Descriptor | ||
| Pitch Class Variability | jSymbolic | Standard deviation of all pitch classes in the melody. | Descriptor | ||
| Pitch Class Variability After Folding | jSymbolic | Standard deviation of all pitch classes after arranging the pitch classes by perfect fifths. Provides a measure of how close the pitch classes are as a whole from the mean pitch class from a dominant-tonic perspective. | Descriptor | ||
| Pitch Entropy | FANTASTIC | The zeroth-order base-2 entropy of the pitch distribution. | Descriptor | ||
| Pitch Interval | SIMILE | The intervals (in semitones) between consecutive pitches in the melody. | Sequence | ||
| Pitch Kurtosis | jSymbolic | The sample excess kurtosis of the pitch histogram. | Descriptor | ||
| Pitch LTM Mean Information Content | IDyOM | Pearce, M. (2005) | The average information content across all notes in a melody, calculated using IDyOM's long-term model (LTM). Information content is perceptually related to surprise, and can be calculated for pitches or rhythms. | Descriptor | |
| Pitch Range | FANTASTIC, jSymbolic | Subtract the lowest pitch number in the melody from the highest. | Descriptor | ||
| Pitch STM Mean Information Content | IDyOM | Pearce, M. (2005) | The average information content across all notes in a melody, calculated using IDyOM's prediction-by-partial-matching (PPM) algorithm. Information content is perceptually related to surprise, and can be calculated for pitches or rhythms. | Descriptor | |
| Pitch Skewness | jSymbolic | The skewness of the pitch histogram, using Pearson's median skewness formula. | Descriptor | ||
| Pitch Spelling | Partitura | Meredith (2006) | Pitch spelling using the ps13s1 algorithm. | Sequence | |
| Pitch Standard Deviation | FANTASTIC, jSymbolic | Standard deviation of all pitch numbers in the melody. | Descriptor | This feature is named 'Pitch Variability' in JSymbolic. | |
| Polynomial Contour Coefficients | FANTASTIC | The first 3 non-constant coefficients of the polynomial contour. | Sequence | ||
| Polyrhythms | jSymbolic | The fraction of beat histogram peaks that are not integer multiples/factors of the highest peak. | Descriptor | ||
| Polyrhythms Tempo Standardized | jSymbolic | The fraction of beat histogram peaks that are not integer multiples/factors of the highest peak using tempo-standardized histogram. | Descriptor | ||
| Prevalence Of Dotted Notes | jSymbolic | The sum of dotted rhythmic bins: 3, 5, 7, 9, 11. | Descriptor | ||
| Prevalence Of Long Rhythmic Values | jSymbolic | The sum of rhythmic bins 6 to 11 (half notes to dotted double whole notes or more). | Descriptor | ||
| Prevalence Of Medium Rhythmic Values | jSymbolic | The sum of rhythmic bins 2 to 6 (8th notes to half notes). | Descriptor | ||
| Prevalence Of Most Common Melodic Interval | jSymbolic | The proportion of intervals that are the most common interval. | Descriptor | ||
| Prevalence Of Most Common Pitch | jSymbolic | The proportion of pitches that are the most common pitch with regards to the total number of pitches in the melody. | Descriptor | ||
| Prevalence Of Most Common Pitch Class | jSymbolic | The proportion of pitch classes that are the most common pitch class with regards to the total number of pitch classes in the melody. | Descriptor | ||
| Prevalence Of Most Common Rhythmic Value | jSymbolic | The proportion (0.0 - 1.0) of the modal rhythmic bin. | Descriptor | ||
| Prevalence Of Short Rhythmic Values | jSymbolic | The sum of the three shortest rhythmic bins (indexes 0, 1, and 2). | Descriptor | ||
| Prevalence Of Very Long Rhythmic Values | jSymbolic | The sum of rhythmic bins 9 to 11 (dotted whole notes to dotted double whole notes or more). | Descriptor | ||
| Prevalence Of Very Short Rhythmic Values | jSymbolic | The sum of the two shortest rhythmic bins (indexes 0 and 1). | Descriptor | ||
| Proportion Conjunct Scalar | Novel | The proportion of notes that form conjunct scalar sequences. | Descriptor | ||
| Proportion Inscale | Novel | The proportion of notes in the melody that are in the scale of the estimated key. | Descriptor | ||
| Proportion Of Time In First Meter | Novel | The proportion of time spent in the first time signature. | Descriptor | ||
| Proportion Scalar | Novel | The proportion of all notes that form scalar sequences. | Descriptor | ||
| Range Of Rhythmic Values | jSymbolic | The range of rhythmic values located within the 12-bin PPQN-based histogram. Durations are converted to quarter notes and mapped to 12 fixed rhythmic bins using midpoints. The returned value is the difference between the highest and lowest non-empty bins. | Descriptor | ||
| Referent | IDyOM | Calculate the referent (root note) of a melody. | Descriptor | ||
| Relative Prevalence Of Most Common Melodic Intervals | jSymbolic | The ratio of the frequency of the second most common interval to the frequency of the most common interval. | Descriptor | ||
| Relative Prevalence Of Most Common Rhythmic Values | jSymbolic | The ratio of the second-most-common rhythmic bin to the most common bin. | Descriptor | ||
| Relative Prevalence Of Top Pitch Classes | jSymbolic | The ratio of the frequency of the second most common pitch class to the frequency of the most common pitch class. | Descriptor | ||
| Relative Prevalence Of Top Pitches | jSymbolic | The ratio of the frequency of the second most common pitch to the frequency of the most common pitch. | Descriptor | ||
| Repeated Notes | jSymbolic | The proportion of repeated notes in the melody. | Descriptor | ||
| Rhythm LTM Mean Information Content | IDyOM | Pearce, M. (2005) | The average rhythmic information content across all notes in a melody, calculated using IDyOM's long-term model (LTM). Information content is perceptually related to surprise, and can be calculated for pitches or rhythms. | Descriptor | |
| Rhythm STM Mean Information Content | IDyOM | Pearce, M. (2005) | The average rhythmic information content across all notes in a melody, calculated using IDyOM's short-term model (STM). Information content is perceptually related to surprise, and can be calculated for pitches or rhythms. | Descriptor | |
| Rhythmic Looseness | jSymbolic | The average width of beat histogram peaks. Width is defined as the distance between points at 30% of the peak height. | Descriptor | ||
| Rhythmic Looseness Tempo Standardized | jSymbolic | The average width of beat histogram peaks using tempo-standardized histogram. Width is defined as the distance between points at 30% of the peak height. | Descriptor | ||
| Rhythmic Variability | jSymbolic | The standard deviation of the beat histogram bin magnitudes, excluding the first 40 bins. | Descriptor | ||
| Rhythmic Variability Tempo Standardized | jSymbolic | The standard deviation of the tempo-standardized beat histogram bin magnitudes, excluding the first 40 bins. | Descriptor | ||
| Second Strongest Rhythmic Pulse | jSymbolic | The bin index (BPM) of the second-highest magnitude in the beat histogram. | Descriptor | ||
| Second Strongest Rhythmic Pulse Tempo Standardized | jSymbolic | The bin index (BPM) of the second-highest magnitude in the 120-BPM standardized beat histogram. | Descriptor | ||
| Shortest Rhythmic Value | jSymbolic | The shortest rhythmic value (in quarter notes) among non-empty bins. | Descriptor | ||
| Sichel's S | FANTASTIC | Sichel (1975) | Sichel's S measure corresponds to the proportion of m-types that occur exactly twice in a sequence. Higher values indicate a greater amount of m-types that occur exactly twice. | Descriptor | |
| Simpson's D | FANTASTIC | Simpson (1949) | Simpson's D measure of diversity. This feature measures the rate of m-type repetition in a similar way to Yule's K. | Descriptor | |
| Standard Deviation Absolute Interval | FANTASTIC | The standard deviation of the absolute intervals in the melody. | Descriptor | ||
| Std Cloud Diameter | Partitura | Herremans & Chew (2016) | Standard deviation of cloud diameter from the tonal tension model. Cloud Diameter provides a measure of the maximal tonal distance of the notes in a chord, following the definition in Partitura. | Descriptor | |
| Std Cloud Momentum | Partitura | Herremans & Chew (2016) | Standard deviation of cloud momentum from the tonal tension model. Cloud Momentum provides a measure of movement of pitch sets in the spiral array space, weighted by note durations, following the definition in Partitura. | Descriptor | |
| Std Global Local Weight | FANTASTIC | Calculate standard deviation of global-local weight using inverse entropy weighting. | Descriptor | ||
| Std Global Weight | FANTASTIC | Calculate standard deviation of global weight using inverse entropy weighting. | Descriptor | ||
| Std Tensile Strain | Partitura | Herremans & Chew (2016) | Standard deviation of tensile strain from the tonal tension model. Tensile strain provides a measure of the distance between the local and global tonal context, following the definition in Partitura. | Descriptor | |
| Step Contour Global Direction | FANTASTIC | The correlation between the step contour vector and an ascending linear function y = x. | Descriptor | ||
| Step Contour Global Variation | FANTASTIC | The standard deviation of the step contour vector. | Descriptor | ||
| Step Contour Local Variation | FANTASTIC | The mean absolute difference between adjacent values of the step contour vector. | Descriptor | ||
| Stepwise Motion | jSymbolic | The proportion of stepwise motion in the melody. Stepwise motion is defined as a melodic interval of 1 or 2 semitones. | Descriptor | ||
| Strength Of Second Strongest Rhythmic Pulse | jSymbolic | The magnitude of the beat histogram bin with the second-highest magnitude. | Descriptor | ||
| Strength Of Second Strongest Rhythmic Pulse Tempo Standardized | jSymbolic | The magnitude of the tempo-standardized beat histogram bin with the second-highest magnitude. | Descriptor | ||
| Strength Of Strongest Rhythmic Pulse | jSymbolic | The magnitude of the beat histogram bin with the highest magnitude. | Descriptor | ||
| Strength Of Strongest Rhythmic Pulse Tempo Standardized | jSymbolic | The magnitude of the tempo-standardized beat histogram bin with the highest magnitude. | Descriptor | ||
| Strength Ratio Of Two Strongest Rhythmic Pulses | jSymbolic | Ratio of the magnitude of the strongest to second-strongest rhythmic pulse. | Descriptor | ||
| Strength Ratio Of Two Strongest Rhythmic Pulses Tempo Standardized | jSymbolic | Ratio of the magnitude of the strongest to second-strongest rhythmic pulse (120-BPM standardized histogram). | Descriptor | ||
| Strong Tonal Centres | jSymbolic | The number of isolated peaks in the pitch class histogram that each account for at least 9% of notes. | Descriptor | ||
| Strongest Rhythmic Pulse | jSymbolic | The bin index (BPM) of the maximum beat histogram magnitude. | Descriptor | ||
| Strongest Rhythmic Pulse Tempo Standardized | jSymbolic | The bin index (BPM) of the maximum in the 120-BPM standardized beat histogram. | Descriptor | ||
| Syncopation | Novel | Longuet-Higgins & Lee (1984) | Calculate the mean syncopation value based on the Longuet-Higgins and Lee (1984) model. This syncopation model assigns metrical weights to each note position based on its position in the metric hierarchy. Syncopation occurs when a rest or tied note is preceded by a sounded note of lower metrical weight. The syncopation value is the difference between the rest weight and the preceding note weight. | Descriptor | |
| Syncopicity | SIMILE | Calculates the sum syncopicity of a melody across metric levels. Syncopicity measures the degree to which notes occur off the main metrical grid but are long enough to span across metric boundaries. This calculates syncopations at four metric levels: 1) Half bar level 2) Beat level 3) First subdivision (half-beat) 4) Second subdivision (quarter-beat) An event is considered syncopated at a given level if: 1) It does not fall on a grid point of this level 2) It falls on a grid point of the next lower level 3) Its IOI extends beyond the lower level time unit (or it's the last note) | Descriptor | ||
| TFDF Kendall | FANTASTIC | Calculate Kendall's tau correlation between term frequency and document frequency. | Descriptor | ||
| TFDF Spearman | FANTASTIC | Calculate Spearman correlation between term frequency and document frequency. | Descriptor | ||
| Tempo Variability | jSymbolic | The variability of tempo of the melody. | Descriptor | ||
| Tessitura | MIDI Toolbox | von Hippel (2000). | Tessitura is based on standard deviation from median pitch height. The median range of the melody tends to be favoured and thus more expected. Tessitura predicts whether listeners expect tones close to median pitch height. Higher tessitura values correspond to melodies that have a wider range of pitches. | Sequence | |
| Tessitura Std | MIDI Toolbox | The standard deviation of the sequence of tessitura values. | Descriptor | ||
| Tonal Clarity | FANTASTIC | Temperley (2007) | The ratio between the top two key correlation values. | Descriptor | |
| Tonal Entropy | Novel | The zeroth-order base-2 entropy of all key correlations. | Descriptor | ||
| Tonal Spike | FANTASTIC | The ratio between the highest key correlation and the sum of all other correlations. | Descriptor | ||
| Tonal Tension | Partitura | Herremans & Chew (2016) | Computes tension ribbons using the tonal tension algorithm. Provides a means of comparing Chew's spiral array and the tonal tension profiles produced from Herremans and Chew's tension ribbons. This returns a dictionary containing the cloud diameter, cloud momentum, tensile strain, ordered by onset. | Sequence | |
| Tonalness | FANTASTIC | Krumhansl (1990) | The magnitude of the highest correlation with a precomputed key profile. This key profile is established and elaborated on in Krumhansl (1990). | Descriptor | |
| Tonalness Histogram | Novel | Krumhansl (1990) | A histogram of Krumhansl-Schmuckler correlation values. | Sequence | |
| Total Number Of Notes | jSymbolic | The total number of notes. | Descriptor | ||
| Variability In Rhythmic Value Run Lengths | jSymbolic | The standard deviation of rhythmic value run lengths. Run length is the number of consecutive notes with the same rhythmic value. | Descriptor | ||
| Variability Of Complete Rest Durations | jSymbolic | The standard deviation of complete rest durations in quarter notes (ignoring rests shorter than 0.1 QN). | Descriptor | ||
| Variability Of Note Durations | jSymbolic | The standard deviation of note durations in seconds. | Descriptor | ||
| Variability Of Rhythmic Value Offsets | jSymbolic | The standard deviation of rhythmic value offsets (in quarter notes). | Descriptor | ||
| Yule's K | FANTASTIC | Yule (1944) | Yule's K measure of lexical richness. This feature measures the rate at which m-types are repeated in a sequence. Higher values indicate more repetitive sequences. | Descriptor |
Sources
- FANTASTIC: Müllensiefen, D. (2009). Feature ANalysis Technology Accessing STatistics (In a Corpus): Technical Report v1.5
- jSymbolic: McKay, C., & Fujinaga, I. (2006). jSymbolic: A Feature Extractor for MIDI Files
- IDyOM: Pearce, M. T. (2005). The construction and evaluation of statistical models of melodic structure in music perception and composition
- MIDI Toolbox: Eerola, T., & Toiviainen, P. (2004). MIDI Toolbox: MATLAB Tools for Music Research
- Melsim: Silas, S., & Frieler, K. (n.d.). Melsim: Framework for calculating tons of melodic similarities
- Simile: Müllensiefen, D., & Frieler, K. (2004). The Simile algorithms documentation 0.3
- Novel: Custom features introduced in this package
Feature Types
- Descriptor: Returns a single scalar value (int, float, bool)
- Sequence: Returns a collection (list, tuple, dict, etc.)