SpectraScore Orchestration Matcher — User Guide
Analyze the measured spectrum of a selected Sound and derive a playable orchestration: choose an instrument combination, assign pitches from real spectral components, preserve microtonal detail, and export the result as MusicXML and a Praat Table.
What this does
SpectraScore Orchestration Matcher treats a recorded or synthesized Sound as an orchestration target. It measures the Sound's spectral shape, detects a reference root, extracts significant spectral peaks, compares the target against a compact instrument-profile database, and searches for a playable combination of up to four instruments.
The result is not simply a pitch transcription. SpectraScore asks two connected questions:
Sound → orchestration
Quick start
- Select exactly one Sound object in Praat.
- Run
SpectraScore.praat. - Leave the default instrument list unchanged to search the full built-in ensemble, or remove abbreviations to restrict the search.
- Set Max_combination_size. A value of 4 searches ensembles of one to four instruments in Automatic mode.
- Choose Automatic if SpectraScore should decide the ensemble size, or Exact max size if you specifically want that number of instruments.
- Choose the instrument spectral profile: pp, mf, or ff.
- For acoustically derived pitch assignment, use Spectral (match measured peaks).
- Leave Enable_microtones on when you want measured deviations retained in the notation.
- Run the analysis. The MusicXML Strings object is selected at the end so it can be passed directly to the AudioTools VST instrument workflow.
Analysis engine
Multichannel spectrum
Every channel is analyzed independently and the channel power spectra are summed. Stereo or multichannel material is therefore not collapsed by waveform summation, avoiding phase cancellation between channels.
Target descriptors
The combined spectrum supplies the descriptors used for orchestration matching:
| Descriptor | Role |
|---|---|
| Spectral centroid | Global brightness / spectral centre of gravity. |
| Spectral spread | Width of the spectrum around the centroid. |
| Six-band energy profile | Normalized energy in 50–200, 200–500, 500–1000, 1000–2000, 2000–5000, and 5000–10000 Hz. |
| Spectral root | A reference pitch found by harmonic summation with direct-frequency support and local refinement. |
| Root confidence | How clearly the winning spectral root separates from other root candidates. |
| Odd/even harmonic balance | A weak, confidence-gated harmonic descriptor used only when the Sound is meaningfully explained by the detected root. |
| HNR / file level | Reported for description and QC; they do not drive the orchestration score. |
General measured spectral peaks
Spectral voicing searches for significant local maxima across the measured spectrum rather than only examining H1, H2, H3, and so on. This allows polyphonic and inharmonic components to become orchestration pitches.
The detector combines:
- Relative peak floor — rejects components too far below the strongest detected region.
- Local prominence — a candidate must rise meaningfully above its local spectral surroundings.
- Adaptive consolidation — low-frequency ripples are merged more aggressively than high-frequency peaks.
- Valley test — close peaks can remain separate when a real spectral valley supports the interpretation of two distinct components.
- Root-anchor rescue — a broad but physically meaningful fundamental can be retained even when it is not a sharply prominent local maximum.
Each selected peak is labelled P1, P2, and so on. If it lies near an integer harmonic of the spectral root, the Info report and Table also show an optional Hn relation.
Instrument model
The built-in ensemble contains twelve orchestral instruments. The Instruments field accepts the following abbreviations, separated by spaces or commas:
| Abbreviation | Instrument | Notation |
|---|---|---|
BTb | Bass tuba | Concert pitch |
Bn | Bassoon | Concert pitch |
Cb | Contrabass | Written one octave above sounding pitch |
ClBb | B-flat clarinet | Transposing instrument |
Fl | Flute | Concert pitch |
Hn | Horn | Transposing instrument |
Ob | Oboe | Concert pitch |
Tbn | Trombone | Concert pitch |
TpC | Trumpet in C | Concert pitch |
Va | Viola | Concert pitch |
Vc | Cello | Concert pitch |
Vn | Violin | Concert pitch |
Two range concepts
Each instrument has an absolute playable range and a narrower preferred / idiomatic range. The absolute range is a hard gate: pitches outside it are rejected. Pitches outside the preferred range remain possible but receive a soft register penalty.
Spectral profile
For pp, mf, and ff, each instrument stores a centroid and spread. SpectraScore converts those values into a six-band Gaussian spectral-envelope model and compares the resulting ensemble profile with the measured target.
Ensemble search
Automatic vs exact ensemble size
| Mode | Behavior |
|---|---|
| Automatic | Searches every playable ensemble size from K=1 through Max_combination_size and chooses the lowest final score. |
| Exact max size | Searches the same sizes for diagnostics, but the selected result is constrained to K=Max_combination_size. |
In Spectral voicing, ensemble candidates are evaluated together with their measured-peak assignments. Different instruments preferentially cover different peaks. Doubling a peak is allowed only as a fallback and receives a penalty.
Selection score
Lower scores are better. In Spectral mode the score combines timbral-envelope similarity, global spectral moments, measured-peak coverage, pitch-assignment quality, register realism, duplicate use of peaks, and a small harmonic-balance term.
The optional ensemble-size penalty is:
Voicing strategies
| Strategy | Behavior |
|---|---|
| Unison | Every selected instrument attempts to play the detected spectral root. A root outside an instrument's absolute range makes that assignment unplayable. |
| Octaves | Places instruments around octave-related versions of the root, with brighter instruments tending upward and darker instruments downward, then folds into playable range. |
| Chord | Builds a root / third-like ratio / fifth / octave structure according to ensemble size, with octave displacement when needed for range. |
| Spectral | Assigns instruments directly to significant measured spectral peaks. Peak strength and idiomatic register both influence the assignment. |
Controls
Main form
| Control | Default | Function |
|---|---|---|
| Instruments | All 12 instruments | Space- or comma-separated abbreviations. Remove instruments to restrict the search. |
| Max_combination_size | 4 | Maximum searched ensemble size; accepted range is 1–4. |
| Ensemble_size_mode | Automatic | Choose the best K automatically or force K to the maximum size. |
| Spectral_profile_dynamic | mf | Selects the pp / mf / ff centroid-and-spread profile used for each instrument. |
| Voicing_strategy | Spectral | Unison, Octaves, Chord, or direct matching to measured spectral peaks. |
| Enable_microtones | On | Retains quantized cents deviations in MusicXML instead of snapping all notes to equal temperament. |
| Advanced_settings | Off | Opens the second dialog for search, microtone, and peak-detection controls. |
| Save_xml_file | Off | Also writes a .musicxml file to disk. The in-memory Strings object is created regardless. |
| Draw_visualization | On | Draws the four-panel SpectraScore report in the Picture window. |
Advanced settings
| Control | Default | Function |
|---|---|---|
| Allow repeated instruments | Off | Allows repeated instrument entries when searching larger combinations. |
| Additional instrument penalty | 0.005 | Small complexity cost added for each instrument beyond the first. |
| Microtone precision cents | 12.5 | Grid used to quantize measured cents deviations when microtones are enabled. |
| Peak floor dB | −30 dB | Relative spectral level below which measured peak candidates are ignored. |
| Min peak separation cents | 35 cents | Minimum high-frequency separation; low and mid frequencies use wider adaptive consolidation unless a clear valley supports separate peaks. |
| Minimum peak prominence dB | 3 dB | Minimum local prominence required for a general spectral peak. |
| Max spectral peaks | 24 | Maximum number of measured peak candidates retained for Spectral assignment. |
Outputs
| Output | Purpose |
|---|---|
| Info report | Target descriptors, measured peaks, best score for each ensemble size, winning instrument combination, and final voicing assignments. |
musicxml_<source>_SpectraScore | Praat Strings object containing one MusicXML source line per Strings item. It is left selected for direct use with the AudioTools VST instrument host. |
<source>_SpectraScore_Results | Persistent Table with one row per selected instrument and detailed pitch, score, range, peak, and target/match diagnostics. |
<source>_SpectraScore.musicxml | Optional disk file when Save_xml_file is enabled. |
| Picture-window report | Optional visual explanation of the source spectrum, resulting chord, band-energy fit, and ensemble-size decision. |
Results Table
The Table is designed for inspection, export, and connection to later AudioTools workflows. Important fields include:
Instrument,Strategy,VoicingPeakIndex,PeakRel_dB,PeakProminence_dB,RootRelationSoundingNote,Assignment_Hz,MIDI,Cents,Notated_HzWrittenNoteandTranspose_semitonesPreferredLow_MIDI,PreferredHigh_MIDI,RegisterPenaltySelectionScore,AcousticScore,SizePenaltyPeakSalienceCoverage,AssignmentCost,MeanRegisterPenalty,DuplicateFraction- target and matched centroid/spread values plus root frequency and confidence.
VST_Effect_from_Praat.praat in instrument mode.Visualization
When Draw_visualization is enabled, the Picture window presents the orchestration decision as a four-part report:
A · Target spectrum
Shows the measured target spectrum on a logarithmic frequency axis, the detected root's harmonic grid, the general measured peak candidates, and the exact frequencies assigned to the selected instruments.
B · Resulting chord
Shows the orchestration on a grand staff in concert pitch. The target root is displayed as a reference, and each instrument note is labelled with its measured frequency, notated frequency, cents value, voicing label, and written pitch where the instrument transposes.
C · Band energy: target vs model
Compares the measured six-band energy profile with the modeled orchestration profile. The target is shown against the contribution of the selected instruments.
D · Ensemble-size decision
Shows the best score found for each searched K. The acoustic component and explicit ensemble-size penalty are visible separately, making it possible to see why one, two, three, or four instruments won.
A summary strip reports the main error terms and reminds the user that the instrument spectra are modeled profiles rather than measured recordings.
Reading the results
| Result | How to interpret it |
|---|---|
| Selection score | Overall search objective. Lower is better. Compare solutions from the same Sound and settings rather than treating it as an absolute perceptual quality scale. |
| Band-envelope distance | How different the modeled six-band distribution is from the measured target. |
| Measured-peak coverage | Fraction of compressed spectral salience covered by the assigned distinct peaks. Higher is better. |
| Assignment cost | Combined cost of choosing strong target peaks while keeping instruments in comfortable registers. Lower is better. |
| Register penalty | Zero inside the preferred range; rises as an assignment moves toward an instrument's technical extremes. |
| Duplicate fraction | How much the solution had to reuse the same measured peak for more than one instrument. |
| Root confidence | Confidence in the spectral reference root. A low value does not invalidate general spectral peaks; it mainly reduces the importance of root-dependent harmonic descriptors. |
Notes & limitations
- Instrument spectra are modeled. The database uses stored centroid/spread values and derived Gaussian band envelopes, not measured samples across articulation, register, player, dynamic, and room.
- Equal-energy ensemble model. Instrument profiles are averaged when predicting the orchestration spectrum; individual balance and orchestral mixing are not optimized.
- Static analysis. The complete selected Sound is treated as one spectral target. A strongly evolving Sound may be better analyzed in separate snapshots or segments.
- Peak assignment is spectral, not perceptual source separation. A measured peak can represent a note, partial, resonance, beating product, or other component. The algorithm does not claim to identify physical sound sources.
- Preferred ranges are soft orchestration heuristics. They improve register realism but do not encode every fingering, articulation, dynamic, or performance constraint.
- Microtonal notation is quantized to the selected cents grid. The measured peak frequency and the notated frequency are reported separately.
- Maximum ensemble size is four. The current search is explicitly designed around compact combinations of up to four parts.
- HNR and file level are descriptive. They appear in the report but do not determine the winning orchestration.
Citation
Praat AudioTools: Cohen, S. (2026). Praat AudioTools: An Offline Analysis–Resynthesis Toolkit for Experimental Composition.