Random Arpeggio Generator
Generate timed MIDI notes from supplied chord intervals and return equal-tempered frequency metadata.
Description
An arpeggio fixture represents chord tones played at successive regular onsets.
An arpeggio fixture represents chord tones played at successive regular onsets. The generated notes retain MIDI pitch and equal-tempered frequency metadata.
The tool returns result (generated result). These are generated fixtures or selected identifiers; the result does not replace the caller’s choice of repertoire, dataset or intended use.
When to use Random Arpeggio Generator
Use Random Arpeggio Generator when you already have rootMidi, intervals, noteCount, beatsPerMinute, quarterNoteMultiples, octaveSpread and want result. Use the stated ranges and distribution for a synthetic fixture, then keep the generating parameters with the result.
How to use Random Arpeggio Generator and understand its results
- Enter rootMidi, intervals, noteCount, beatsPerMinute, quarterNoteMultiples, octaveSpread using the field table below. Match the units, ordering and data boundaries described in the calculation.
- Run the tool after checking the stated bounds and matching paired observations or categories. A malformed request gives a tool error rather than a usable measurement.
- Read result. Use the calculation and interpretation below to distinguish amounts, ratios, signs and decision flags where applicable.
- Run again for another fixture. Preserve caller-supplied dataset metadata or separate exercise answers from prompts where present.
| Input field | Meaning | Value type and bounds | Requirement |
|---|---|---|---|
| rootMidi | Root MIDI | integer; minimum 0; maximum 127 | Required |
| intervals | Chord intervals | list of number | Required |
| noteCount | Note count | integer; minimum 1; maximum 64 | Required |
| beatsPerMinute | Tempo | number; minimum 1 | Required |
| quarterNoteMultiples | Note value | number; minimum 0 | Required |
| octaveSpread | Octave spread | integer; minimum 0; maximum 4 | Required |
Use MIDI root 0–127, nonempty integer intervals, note count 1–64 and octave spread 0–4. Draw an interval and octave from zero through spread for each note; compute duration from tempo and quarter-note multiple.
midi = root+selectedInterval+12×selectedOctave; onset[i] = i×noteDuration The symbols refer to the supplied quantities or generated values described above; unit conversions and comparison boundaries follow the stated implementation.
{
"input": {
"rootMidi": 60,
"intervals": [
0,
4,
7
],
"noteCount": 3,
"beatsPerMinute": 120,
"quarterNoteMultiples": 0.5,
"octaveSpread": 1
},
"randomDraw": 0.25,
"output": {
"result": {
"durationSeconds": 0.25,
"notes": [
{
"frequencyHertz": 261.6255653005986,
"midi": 60,
"onsetSeconds": 0
},
{
"frequencyHertz": 261.6255653005986,
"midi": 60,
"onsetSeconds": 0.25
},
{
"frequencyHertz": 261.6255653005986,
"midi": 60,
"onsetSeconds": 0.5
}
]
}
}
} Limitations and assumptions
Any sampled pitch outside MIDI 0–127 fails the request. No audio or ordering constraint is provided; zero note value can yield coincident onsets.
Random draws use context.random when injected and otherwise Math.random. No seed input or cryptographic randomness guarantee is provided. Consumed draws must be finite and in [0,1); repeated runs can repeat results.
Alternative or Complementary methods
Random Chord Voicing Generator: Choose one registered MIDI pitch for each supplied chord interval and return sorted notes with equal-tempered frequencies. Random Ear-Training Interval Exercise Generator: Generate ascending MIDI pitch pairs with separate equal-tempered frequencies and semitone answer intervals.
Methodological background: Note names, MIDI numbers and frequencies.1
References
-
Note names, MIDI numbers and frequencies — Joe Wolfe, University of New South Wales
Similar or alternative tools
- Random Chord Voicing Generator
Choose one registered MIDI pitch for each supplied chord interval and return sorted notes with equal-tempered frequencies.
- Random Ear-Training Interval Exercise Generator
Generate ascending MIDI pitch pairs with separate equal-tempered frequencies and semitone answer intervals.