Advanced Configuration
Use these settings only when the default follower or listening behavior needs adjustment.
Most scores should only change BPM, TRANSPOSE, TUNINGA4, ONNXMODEL, ONNXDESCRIPTORS, and, for silence-sensitive pieces, DBTHRESHOLD. The basic score options BPM, TRANSPOSE, TUNINGA4, and SR are introduced in Configuring a Score.
Options such as FFTSIZE, HOPSIZE, MFCC, chroma, YIN, and ZCR settings are advanced. Change them only while testing a specific listening problem, for example missed low attacks, noisy extended techniques, or unstable pitch sources.
There is no universal best setting: each change trades sensitivity, stability, latency, or model compatibility against something else.
When to use?
Use this Advanced Setting when OpenScofo needs to match the written tempo, transposition, tuning reference, audio engine sample rate, or different MIR behaviors.
Risk if misconfigured!
The follower may expect events too early or too late, listen for the wrong pitch, or disagree with a model trained at another sample rate.
Pitch following
When to use?
Use this Advanced Setting when ordinary NOTE events are followed too narrowly, too loosely, or incorrectly in a passage with vibrato, unstable intonation, multiphonics, or strong harmonics.
Risk if misconfigured!
Too much tolerance can make different notes look similar; too little tolerance can reject expressive intonation. YIN and rolloff changes can improve one register while making another less reliable.
Options
PITCHTEMPLATESIGMA, PITCHTEMPLATEHARMONICS, TUNINGA4, TRANSPOSE, YINTHRESHOLD, YINMINFREQUENCY, YINMAXFREQUENCY, SPECTRALROLLOFFCUTOFF.
Practical start
First confirm that TUNINGA4 and TRANSPOSE are correct. If the performer uses wide vibrato or unstable pitch, try a slightly larger PITCHTEMPLATESIGMA. If the follower is attracted to harmonics or neighboring notes, return toward the default.
Touch YIN and spectral options only while testing a concrete pitch-detection failure.
TUNINGA4 442
PITCHTEMPLATESIGMA 0.8
PITCHTEMPLATEHARMONICS 8
Tempo and synchronization
When to use?
Use this Advanced Setting when OpenScofo follows the right events but its timing feels too rigid, too nervous, or too slow to adapt to the performer.
Risk if misconfigured!
High synchronization can make the follower chase expressive rubato or false detections; low synchronization can make it feel heavy and late.
Options
BPM, PHASECOUPLING, SYNCSTRENGTH.
Practical start
Set a realistic BPM first. Raise SYNCSTRENGTH only when the performer changes tempo and the follower lags behind. Lower it when the follower overreacts to small expressive timing changes.
Adjust PHASECOUPLING when attacks are recognized but the internal beat phase feels consistently pulled ahead or behind.
BPM 96
SYNCSTRENGTH 0.4
PHASECOUPLING 0.5
Silence/rest detection
When to use?
Use this Advanced Setting when rests are skipped because stage noise is interpreted as playing, or soft entrances are missed because they are treated as silence.
Risk if misconfigured!
A threshold that is too sensitive can follow room noise; a threshold that is not sensitive enough can miss quiet playing, breath sounds, or delicate attacks.
Options
DBTHRESHOLD.
Practical start
Change DBTHRESHOLD only after testing with the real microphone, performer, room, and electronics. If background noise triggers events, try a less sensitive threshold. If soft sounds disappear, try a more sensitive threshold.
DBTHRESHOLD -55
REST 2
NOTE C4 1
Onset/articulation detection
When to use?
Use this Advanced Setting when attacks, articulations, repeated notes, or percussive gestures are consistently detected too late, too early, or not at all.
Risk if misconfigured!
A setting that catches sharp attacks may become jumpy with noisy or sustained sounds. Smaller analysis windows can feel faster but less stable; larger windows can be steadier but later.
Options
ONSETFUNCTION, MEDSPAN, FFTSIZE, HOPSIZE.
Practical start
Try ONSETFUNCTION before changing analysis sizes. mkl is the default; alternatives include pow, pd, wpd, sf, cd, rcd, and hfc. Use a short test passage with the exact articulation that fails.
Change MEDSPAN, FFTSIZE, or HOPSIZE only when deliberately testing onset sensitivity against latency and stability.
ONSETFUNCTION hfc
NOTE C4 0.25
NOTE C4 0.25
NOTE C4 0.5
Extended technique / AI model recognition
When to use?
Use this Advanced Setting when the score contains PTECH or UTECH events and needs extended technique recognition from a trained ONNX model.
Risk if misconfigured!
If the wrong model, labels, descriptor order, or sample rate is used, extended technique recognition can become meaningless even when the score syntax is correct.
Options
ONNXMODEL, TIMBREMODEL, ONNXDESCRIPTORS, SR.
Practical start
Load the model that was trained for the instrument and techniques in the score. Use ONNXMODEL with the same descriptor list and order used during training. TIMBREMODEL is accepted as an alias, but ONNXMODEL is clearer in new scores.
Keep SR consistent with the model training sample rate when the model expects one.
ONNXMODEL flute-techniques.onnx
ONNXDESCRIPTORS mfcc logmel centroid flatness hfr flux zcr irregularity kurtosis
UTECH jet_whistle 1
PTECH pizzicato D4 0.5
Timbre and descriptor tuning
When to use?
Use this Advanced Setting when an ONNX model depends on timbral descriptors and a specific descriptor is known to be causing a recognition problem.
Risk if misconfigured!
Changing descriptor settings after training can make a good model behave like the wrong model. Chroma changes can affect pitch-class balance; MFCC changes can alter timbre recognition; ZCR changes can affect noisy or percussive technique recognition.
Options
MFCCMELS, MFCCCOUNT, CHROMASIZE, CHROMACENTEROCTAVE, CHROMAOCTAVEWIDTH, ZCRCENTER, ZCRPAD, ZCRZEROPOS, ZCRTHRESHOLD, SPECTRALROLLOFFCUTOFF, FFTSIZE, HOPSIZE.
Practical start
Do not change these for ordinary score preparation. They shape the numbers sent to descriptor-based listening and ONNX models, so they should normally match the training setup.
Adjust them only in a controlled test where you compare recognition before and after the change.
ONNXMODEL flute-techniques.onnx
ONNXDESCRIPTORS mfcc zcr chroma
MFCCMELS 40
MFCCCOUNT 13
ZCRTHRESHOLD 0.0000000001
Compact reference
| Option | Composer-facing meaning | When to change it | Typical risk |
|---|---|---|---|
SR |
Audio sample rate expected by the score or model | Only when the host or trained model requires a specific rate | Model mismatch or incorrect analysis timing |
FFTSIZE |
Listening window size | When testing latency versus pitch/timbre stability | Smaller can be unstable; larger can react late |
HOPSIZE |
How often OpenScofo updates its listening analysis | When testing responsiveness versus stability | Smaller can be jumpy; larger can miss fast detail |
TUNINGA4 |
Reference tuning for written pitches | When the performer or ensemble uses another A4 | Notes may be heard as out of tune or wrong |
PHASECOUPLING |
How strongly timing locks to the internal beat phase | When events are recognized but feel phase-shifted | Follower can pull ahead or drag behind |
SYNCSTRENGTH |
How strongly tempo adapts to the performer | When rubato or tempo drift is followed too slowly or too nervously | Too high chases mistakes; too low feels rigid |
BPM |
Starting tempo and beat duration | For the notated or expected tempo | Delays and following timing drift |
PITCHTEMPLATESIGMA |
Pitch tolerance around written notes | For wide vibrato, unstable pitch, or overly loose pitch matching | Too wide confuses notes; too narrow rejects expression |
PITCHTEMPLATEHARMONICS |
Number of harmonics considered in pitch matching | When harmonic content helps or hurts note following | Harmonics may reinforce the wrong pitch |
TRANSPOSE |
Semitone transposition of following pitches | For transposing instruments or octave-shifted setups | The follower listens for the wrong notes |
ONNXMODEL |
ONNX model used for extended technique recognition | When using PTECH or UTECH |
Wrong model or labels break recognition |
TIMBREMODEL |
Alias for loading the timbre/ONNX model | When maintaining older scores that use this name | Same risks as ONNXMODEL |
ONNXDESCRIPTORS |
Descriptor list and order sent to the model | When matching the model training setup | Wrong order makes model output unreliable |
ONSETFUNCTION |
Method used to detect attacks | When articulation or repeated notes are missed | May become too sensitive or miss other attacks |
MFCCMELS |
Mel-band resolution for MFCC/logmel timbre descriptors | Only to match or test model training settings | Timbre model input changes |
MFCCCOUNT |
Number of MFCC values | Only to match or test model training settings | Descriptor size or timbre balance changes |
MEDSPAN |
Smoothing span for onset detection | When onset detection is too jumpy or too dull | Can smear attacks or create false triggers |
DBTHRESHOLD |
Level below which sound is treated as silence | For noisy stages or very soft playing | Noise may trigger events, or soft notes may disappear |
SPECTRALROLLOFFCUTOFF |
Brightness/energy cutoff used by spectral descriptors | When testing descriptor behavior for timbre or pitch failures | Timbre balance changes unexpectedly |
YINTHRESHOLD |
Confidence threshold for YIN pitch tracking | Only when testing a specific pitch-tracking failure | Pitch may become too eager or too reluctant |
YINMINFREQUENCY |
Lowest pitch YIN will consider | For instruments outside the default low range | Low notes may be ignored |
YINMAXFREQUENCY |
Highest pitch YIN will consider | For instruments outside the default high range | High notes may be ignored |
CHROMASIZE |
Number of pitch-class bins for chroma descriptors | Only to match a model or descriptor experiment | Chroma model input changes |
CHROMACENTEROCTAVE |
Octave region emphasized by chroma | When testing register-sensitive chroma behavior | Wrong register gets emphasized |
CHROMAOCTAVEWIDTH |
Width of octave emphasis in chroma | When chroma is too narrow or too broad in register | Can overfocus or blur register information |
ZCRCENTER |
Whether ZCR analysis is centered in the frame | Only for ZCR/model troubleshooting | Noisy-technique descriptor changes |
ZCRPAD |
Whether ZCR analysis pads the frame | Only for ZCR/model troubleshooting | ZCR values may no longer match training |
ZCRZEROPOS |
How zero crossings are counted around zero | Only for ZCR/model troubleshooting | Small waveform changes alter ZCR |
ZCRTHRESHOLD |
Minimum crossing level for ZCR | When noisy or quiet techniques confuse ZCR | Too low follows noise; too high loses detail |