midiviz

02 — Automatic fingering for bowed strings (violin / viola / cello), fretted-string transfer, and violinist motion: algorithms, data, software

Research brief, Oct 2026. Companion to fingering/research/02_algorithms.md (piano).

Tags:

Contents

  1. Taxonomy and short answer
  2. Problem anatomy and state encodings
  3. Rule/cost models (Sayegh, Radicioni, Maezawa, Noguchi plugin, cello DP, erhu)
  4. Statistical/learned models (Nagata HMM, Sako CRF, Jen BLSTM, Cheung SSVAE, 2022–2026)
  5. Guitar methods that transfer
  6. Biomechanics and repertoire statistics (incl. our TNUA counts)
  7. Datasets
  8. Evaluation metrics
  9. Motion/animation, robots, bowing physics
  10. Software and notation programs
  11. Comparison
  12. Recommended design for our implementation
  13. References

1. Taxonomy and short answer

For us: the lattice is tiny, at most 4 strings × 5 fingers × a few hand frames, so ~10–40 candidates per note. What matters is a short list of costs (shift, open string vs 4th finger, crossing, same finger, position preference, extension, timbre continuity) made time-aware. A first-order Viterbi with hand frame in the state (§12) is the right core. Tune it on TNUA and test it on textbook scales. The human ceiling is high: violinists agree on (string, position, finger) for 91.3 % of TNUA notes [V, computed].


2. Problem anatomy and state encodings

Source “Position” encoding
Maezawa 2012 semitones of finger 1 above the nut (1st pos = 2, 3rd = 5) [V]
Nagata 2014 index-finger fret on a virtual 24-fret neck, plus finger intervals (whole/half between neighbours, 2³ combos) [V]
TNUA / Jen 2021 1–12 = diatonic letter step of finger 1. Index pitch per position: G [55,57,59,60,62,64,65,67,…], D [62,64,65,67,69,…], A [69,71,72,74,76,…], E [76,78,79,81,83,…] [V, model code]
SyncViolinist 12 positions + none; string 4 + none; finger open/1–4 + none [V]
CelloFingering-8K 0.5 = half position …; from 8, thumb region in semitone steps; finger 0–4, T [V]
Noguchi plugin violin/viola: the 4 fingers play 4 consecutive scale tones of the key in each (string, position), accidentals shift a finger a semitone; cello: chromatic frame [V]

3. Rule / cost-based models

3.1 Sayegh (1989), “Fingering for string instruments with the optimum path paradigm”

Computer Music Journal 13(3):76–84. I could not fetch it (JSTOR). As described by fetched papers:

3.2 Radicioni, Anselma & Lombardo (2004), CIM04 Graz [V, PDF]

“A segmentation-based prototype to compute string instruments fingering”. The instrument is the classical guitar (the output drives a guitar physical model).

3.3 Maezawa, Itoyama, (Takahashi,) Komatani, Ogata & Okuno (2010, 2012)

IEA/AIE 2010, LNCS 6098:249–259, reports the bowed-string estimator going from 38 % to 59 % in realistic conditions [V, abstract]. The full version is CMJ 36(3):57–72, 2012, DOI 10.1162/COMJ_a_00129; details below are from its PDF [V].

Audio → bowed string:

Ergonomic fingering given the strings. Note = (pitch, string 1..4 low→high, finger 0..4, position in semitones); minimise ΣC_b(s_i, s_{i−1}) by Viterbi; τ_p = 3. Finger-pair matrices (rows and columns = open, f1..f4, in semitones):

Pmax = [0 0 0 0 0; 0 0 2 4 6; 0 2 0 2 5; 0 4 2 0 3; 0 6 5 3 0]
Pnat = [0 0 0 0 0; 0 0 2 3 5; 0 2 0 1 2; 0 3 1 0 2; 0 5 2 2 0]
(Pmin garbled in the PDF text [?])
Feature (two-note) Meaning Weight
HVM x1 ∞ if the note cannot be played on that string hard
HVM x2, x3 |Δposition|, |Δposition|² (both stopped) 0.5, 1
HVM x4 same finger with a position change (glissando) 1
HVM x5, x6 |Δstring|, Δstring² (both stopped) 5, 1
HVM x7 finger distance ≠ Pnat (unnatural frame) 0.5
HVM x8 finger order against pitch direction with |Δp| < τ_p 20
HVM x9 unnecessary position change around an open string 10
VPM x1 same finger, different pitch, no real shift 1
VPM x2 chromatic step with a non-adjacent finger (wrist move) 10
VPM x3 small shift with Δpr·Δf = −1 (“crawl” from a higher to a lower finger) −0.5 (bonus)
VPM x4 4th finger twice in a row on different notes 10
VPM x5 position height 1.1
VPM x6, x7 1st position, 3rd position −0.3, −0.2 (bonus)
VPM x8 half position 0.2

W_BN = [1, 0.5, 1, 1, 5, 1, 0.5, 20, 10] and W_BV = [1, 10, −0.5, 10, 1.1, −0.3, −0.2, 0.2] as printed; C_b = W·x; tuned by hand because “the corpus is too small” [V]. The VPM features come from Yampolsky and Flesch.

Evaluation: 10 excerpts (~200 notes), 7 violinists, 66 answers. Preferred HVM-2 alone 5 times, HVM+VPM 54 times, no preference 7 (sign test p = 0.01). The authors credit mainly the 1st/3rd position preference. Recovering Joachim’s 1903 Romanze fingering partly failed: gut E string, ~5 kHz band limit, and vibrato on notes the model played open.

3.4 Noguchi, “ViolinFingering” MuseScore 4 plugin (2026, GPL-3.0) [V, code + README]

https://github.com/knoguchi/violin-fingering. This is the most complete open cost model. Ideas only, since the licence is GPL.

Term (violin DEFAULT_COST) Value
shift 2.5 + 3.0 × |Δposition|
shift while an open string sounds × 0.5
crossing by string distance 0/1/2/3 0 / 0.5 / 2.5 / 5.0
same finger to another string 1.5; perfect fifth “barre” 0.1
same finger semitone slide 0.5
stretch beyond frame (2 semitones per finger step) 0.4 per semitone
open string G / D / A / E 0.25 / 0.3 / 0.4 / 0.65
accidental displacement; spelling tie-break 0.6; 0.05
position cost by index [0, 0, 0.15, 0.06, 0.11, 0.10, 0.20, 0.16] (I, III home), then +0.1 each
high position on a lower string 0.03 per position per string below E
chord position spread; span 0.5 per position; ≤ 1 (3–4 notes), ≤ 2 (pairs)

Cello overrides: finger costs [0, 0, 0.5, 1.0, 0.5], a scale key map, and a two-pass thumb decision. The author reports 90 % agreement with a cellist’s scales and about 60 % with 86 sparse Bach marks. Stated gaps: durations, rests and slurs are ignored (“a shift before a whole note is priced like a shift mid-run”), trills are unseen, and there is no timbre model.

3.5 Others


4. Statistical and learned models

4.1 Nagata, Sako & Kitamura (2014), ICMC|SMC pp. 1233–1238, CC BY 3.0 [V, PDF]

“Violin fingering estimation according to skill level based on HMM”. The authors are at the Nagoya Institute of Technology, not Kameoka/Sagayama. Predecessor: IEEJ Trans. EIS 134(4), 2014.

Model:

Training and results:

Sako, Nagata & Kitamura 2015 (HCII, LNCS pp. 485–494) do the same with a CRF [V, via Cheung refs].

4.2 Jen, Chen, Sun & Su (2021), IUI pp. 208–212, DOI 10.1145/3397481.3450661 [V, abstract + code]

4.3 Cheung, Kao & Su (2021), ISMIR pp. 113–120, CC BY 4.0 [V, PDF]

Code: https://github.com/vkmcheung/violin-ssvae (Keras + windowed TNUA pickles).

Salut d’amour (MRR / macro-F1) String Position Finger
SSVAE 1 labelled + 6 unlabelled .563 / .291 .448 / .120 .481 / .147
SSVAE 7L + 6U .903 / .834 .716 / .214 .758 / .500
SSVAE 13L supervised .906 / .830 .726 / .305 .776 / .636
Jen 2021, 13L .913 / .667 .729 / .241 – / .412

Semi-supervision gives about +11 % string MRR/nDCG at a 1:6 ratio. Position F1 stays at 0.2–0.3, far below the 92 % inter-violinist position agreement (§6.3).

4.4 2022–2026


5. Guitar methods that transfer

Work Method Numbers Use for us
Radisavljevic & Driessen, ICMC 2004 [V, PDF] Stage = any note on/off. State = (string, fret, finger) matrix on a 6×17 grid. Backward DP J_k(i) = C_s(i) + min_j[C_t(i,j) + J_{k+1}(j)]. Linear features: frets between fingers, mean fret, open strings, frets each finger travels. “Path difference learning”: gradient steps (0.003) until the tablature path beats the optimum, E = Σ(P_d/P_a − 1) 7 pieces, pooled 747 stages: 91 → 33 errors (12.2 % → 4.4 %) fit our weights on TNUA
Tuohy & Potter, ICMC 2005; Tuohy thesis 2006 [V, thesis] GA (population 300, crossover 0.6, mutation 0.07) + ANN for finger. 14 factors: fretted-note count, open-string reward, fret distance between chords, chord span, largest jump, 4 “hold the hand still” factors, higher-note-on-higher-string, slight high-fret penalty. Weights by meta-GA. Rejects per-finger-distance costs – hand-hold reward as a shift prior
Heijink & Meulenbroek 2002, J. Motor Behav. 34(4) [V, PDF] 6 professional guitarists, 3-D mocap. Complexity = neck position, repositioning, finger span; lowest in mid-neck; joints kept mid-range – span and shift as the main costs
Hori, Kameoka & Sagayama 2013/14 [V, PDF] HMM hidden = hand form. a_ij(dt) ∝ (1/2dt)e^{−|I_i − I_j|/dt}·1/(1+I_j)·1/(1+W_j)·1/(1+N_j), with index fret I, span W, number of fingers N – the dt scaling = time awareness
Hori & Sagayama, ISMIR 2016 / SMC 2017 [V] Minimax and Lp-Viterbi: minimise the worst move (p = ∞) or interpolate – “no awful shift” option
Kehling et al., DAFx 2014 [V, abstract] Audio → string/fret, plucking style 93 %, expression 83 % – –
Edwards, Riley, Sarmento & Dixon, ISMIR 2024 (arXiv 2408.05024) [V] Masked-LM transformer assigns strings; pretrained on DadaGP (26,181 songs); playability user study beats DP baselines in ratings –
Fretting-Transformer (Hamberger et al., arXiv 2506.14223) [V] T5 MIDI → tab, tuning/capo conditioning, plus validity post-processing Leduc: tab acc. 68.6 % → 72.2 %; pitch acc. 97.2 % → 100 %; beats A* and Guitar Pro post-hoc validity repair

Transfers: the DP/HMM machinery, learning weights from paths, span and frame costs, the 1/dt time scaling, minimax decoding, and validity masks. Does not transfer: chord shapes (violin double stops need adjacent strings), fret-span tables (unfretted, different scale), and the weak role of timbre (on violin it drives string choice).


6. Biomechanics and repertoire statistics

6.1 Shifting: Visentin, Li, Tardif & Shan (2015), PeerJ 3:e1299 [V]

6.2 Bimanual timing

6.3 TNUA statistics (our counts) [V, computed]

All 140 CSVs, 108,795 note rows, MIDI 55–100. Cheung quotes 217,690 annotations, about 2× our count [?].

Statistic Value
Positions 1st / 3rd / 2nd / 4th / 5th / 6th / ≥7th 55.6 / 23.7 / 8.0 / 6.2 / 4.5 / 1.1 / 0.8 % (no half, no 10th)
Strings E / A / D / G 30.0 / 37.0 / 24.0 / 8.9 %
Fingers 0 / 1 / 2 / 3 / 4 10.2 / 25.6 / 27.5 / 24.2 / 12.5 %
Open use when available (D4, A4, E5), by note value whole 0 % (n = 50), half 26 %, quarter 16 %, 8th 52 %, 16th 65 %, 32nd 49 %
Position change between consecutive stopped notes 8.6 % of transitions; sizes 1: 4,506, 2: 3,667, 3: 804, 4: 175, 5: 92, ≥6: 88
Same finger, consecutive different pitches 5.1 % (mostly shift arrivals)
String crossings: none / adjacent / skip 1 / skip 2 69 / 29 / 1.4 / 0.4 %
Pairwise inter-violinist agreement (8 aligned excerpts, 330,930 pairs): string / position / finger / all .970 / .922 / .919 / .913

Long notes are stopped and short ones go open: Nagata’s expressiveness term, measured. Violinists agree far more than PIG pianists (M_gen 71 %), so a good model should exceed 80 % on TNUA.


7. Datasets

7.1 TNUA violin fingering dataset (Jen et al. 2021) [V]

https://github.com/Tsung-Ping/Violin-Fingering-Generation → TNUA_violin_fingering_dataset/

7.2 Other data

Set Content Size Access
YTVF YouTube, fingering + bowing by eye 30 performances GitHub, no licence [V]
CelloFingering-8K cello string/position/finger/thumb 8,161 notes GitHub, “Other” [V]
Nagata textbooks violin textbooks ~12 k notes not released [V]
SyncViolinist audio + 75-joint marker mocap + bowing/fingering labels (professional) 3.1 h, 61 pieces github Kakanat/SyncViolinist [V]
MOSA (Huang et al., TASLP 2024) 120 fps mocap, 34 markers incl. violin/bow (VIVT/VIVB/VIBT/VIBB); note, beat, harmony, dynamics, articulation annotations; piano + violin 742 performances, 23 musicians, 30.7 h, 570 k notes Zenodo 10.5281/zenodo.11393449, restricted [V]
Kao & Su 2020 3-D 15-joint pseudo-labels, several violinists per piece 14 pieces GitHub (one fold) [V]
Shlizerman 2018 YouTube recitals, 2-D OpenPose 3.6 h violin code on GitHub [V]
URMP (Li et al., TMM 2019) 44 chamber pieces, MIDI + separate audio + video 44 registration [V]
Volpe et al.; SPD (Jin et al. 2024) mocap of body/instrument/bow; violin + cello, 140 joints 2.4 h / 3.0 h [V, via SyncViolinist Table 1]
VioPose (UMD) calibrated video + audio + 3-D mocap “largest” sj-yoo.info/viopose [V, abstract]

8. Evaluation metrics

Metric Used by Note
Concordance (string and finger) Nagata vs. one textbook
Errors per stage Radisavljevic optimum ≠ tablature
Position miss > finger miss Radicioni position = (string, fret)
Precision/recall/F1 per label Jen (micro), Cheung (weighted; macro on Salut) string, position, finger separately
MRR; nDCG@1/@3 Cheung nDCG relevance = fraction of the 10 violinists choosing a label
Accuracy from audio Hirata / SyncViolinist string .965/.942, finger .879/.664, position .892/.759, bow direction .820/.724
Preference tests Maezawa (sign test), Nagata (5-point scales) –
Pitch acc. vs tab acc. Fretting-Transformer validity vs agreement
Motion: onset F at 33/67/100 ms; finger-contact and bow–string distance Hirata (0.582/0.867/0.913), ELGAR –

Missing, and worth adding: PIG-style multi-reference metrics (M_gen/M_high/M_soft over the 10 TNUA violinists) and fluency counts (shifts per note, same-finger repeats, skip crossings).


9. Motion, robots, bowing physics

9.1 Score/audio → violinist motion

Work Pipeline Note
Shlizerman et al., CVPR 2018 “Audio to body dynamics” [V] MFCC (24 fps) → LSTM → 2-D keypoints → rigged avatar 3.6 h of recitals
Kao & Su, ACM MM 2020 (DOI 10.1145/3394171.3413848) [V] audio → 3-D 15-joint skeleton; encoder-decoder + self-attention; beat-guided; “bowing attack” (bow-change timing) emphasised several violinists per piece
Hirata, Tanaka, Hamanaka & Morishima, SIGGRAPH 2022 poster (after Bowing-Net 2021) [V] audio → string/finger/position/bow direction → left/right hand synthesiser + body model preferred by 30 raters
SyncViolinist (Nishizawa … Morishima), arXiv 2412.08343 [V] mel → 4 CRNNs (bow 3, string 5, finger 6, position 13 classes) → 75 joints → SMPL-X via VPoser. Violin follows the neck and aims at the left thumb’s first joint; bow follows the right ring finger 3.1 h dataset
ELGAR, SIGGRAPH 2025, arXiv 2505.04203 [V] diffusion, whole-body cello from audio; hand and bow contact losses SPD-GEN
VioPose, arXiv 2411.13607 [V] 2-D video + audio → 4-D pose, down to vibrato –
MusicSynth, arXiv 2605.17181 [V] OMR → first-position lookup → 2-D fingerboard video no optimisation

The trend is to make (string, position, finger, bow direction) explicit and then synthesise motion. That is our route, except we compute fingering from the score.

9.2 Robots

9.3 Bowing physics and parameters

Parameter Range
bow velocity 5–100 cm/s
bow–bridge distance 5–60 mm (β from 1/30 ≈ 11 mm to 1/6 ≈ 55 mm)
bow force 0.1–2 N
bow position 0–65 cm from the frog
skewness ±10°
inclination ~65° from G to E (≈ 21.7° per string step, our division)
tilt toward the fingerboard

Near the upper force limit the pitch flattens by up to 26 cents (5 cm/s) or 77 cents (20 cm/s). Force mostly sets brightness.


10. Software and notation programs

Tool What Licence
knoguchi/violin-fingering (MuseScore 4.4+) cost Viterbi (§3.4); writes finger numbers, positions and string numbers GPL-3.0 [V]
Tsung-Ping/Violin-Fingering-Generation BLSTM + rules, 3 modes, tkinter GUI none [V]
vkmcheung/violin-ssvae SSVAE none [V]
DIY23/FiddleTabs (MuseScore 4) colour-coded string/finger labels (0, 1L, 1, 2L, 2, 3, 3H, 4); appears to be a lookup [?] GPL-3.0 [V]
osteele/fingerboard scale fingerings for violin, viola and cello MIT [V]
music21 representation only: Fingering, StringIndication, FretIndication, UpBow/DownBow, StringHarmonic BSD [V source; T licence]
Guitar Pro / MuseScore tab automatic guitar tablature [V, via Fretting-Transformer; T]
MuseScore, Dorico, Sibelius, Finale no built-in automatic string fingering as far as I know; fingering is a manual symbol [T]

11. Comparison

Approach Data Time-aware Timbre / open Double stops Quality For us
Sayegh DP none no rule ? – core
Maezawa HVM+VPM none no via audio string no 54:5 preference features
Noguchi plugin none no per-string open cost yes 90 % cello scales weights
Nagata HMM textbooks yes (l, r) expressiveness no ~90 % / ~75 % skill knob
Jen BLSTM + rules TNUA input only learned no macro F1 .67/.24/.41 modes
Cheung SSVAE TNUA input only learned no MRR .87/.72/.72 metrics
PD learning (guitar) tabs stage-based feature yes 12 % → 4 % errors weight fitting
Transformers (guitar) DadaGP yes – yes ~70 % tab acc. needs data we lack

Goal: JavaScript in the browser. Fingering for any MIDI melody line (violin, viola or cello, with double stops), computed on load in ≪ 100 ms, driving 3-D hands and a bow. Reuse the #029 structure (fingering/fingering.js search, motion.js trajectories, coupled-joint finger IK).

12.1 Pipeline

  1. Notes per track; group onsets within 30 ms into events of 1–4 notes. Pick the instrument from the GM program (41/42/43) or the range, with a user override.
  2. Bowing pre-pass (§12.6). Slurs come from MusicXML; for MIDI, notes overlapping or with < 30 ms gap are legato, up to 4–8 per bow.
  3. Viterbi (§12.2–12.4), then emit {string, finger, frame base b, extension, open} per note and {bow direction, segment, inclination, β, force} per event.
  4. Animation (§12.7).

12.2 State space

12.3 Cost terms (starting weights; one 1–2-position shift ≈ 4–6)

Term Suggested formula Basis
Shift (both stopped, b changes) (2.5 + 1.5·|Δb|)·g, with g = clamp(0.35 s/(IOI + rest), 0.3, 2) N (3 per position), Na (c = l + 4r), Visentin DOS
Shift masked by an open string / rest ≥ 120 ms × 0.5 / × 0.3 N, Na (k₂ after open)
Shift on a semitone (“crawl”, finger changes against direction, |Δpitch| ≤ 2) −0.5 M VPM x3
Same finger, different pitch inside a frame 3 (a hidden shift); as the shift’s landing +0.5, waived for slurred expressive slides in advanced mode M VPM x1 + HVM x4; Nagata’s failure; N slide
Same finger to another string 1.5; perfect fifth on adjacent strings 0.1 N
String crossing [0, 0.5, 2.5, 5.0][|Δσ|] × (1.5 if IOI < 120 ms); +0.5 per extra crossing inside a slur N; TNUA skips < 2 %
Open string vs 4th finger base[σ] = [0.25, 0.3, 0.4, 0.65] (G→E) × h(dur), h = 0.5 (≤ 8th), 1.5 (quarter), 3 (half+); ×2 after a slur from a stopped note. Calibrate h to TNUA open rates (16 / 26 / 52–65 %) N, Na, §6.3
4th finger 0.2 per use; +1.0 when repeated on different pitches M VPM x4
Position preference 1st 0, 2nd 0.15, 3rd 0.06, 4th 0.11, 5th 0.10, 6th 0.20, 7th 0.16, then +0.1 each; +0.03·position·(strings below E) N, M (1st/3rd bonus), TNUA 56 % / 24 %
Extension 0.4 per semitone beyond the frame; cello extended 0.3 N, M Pmax
Unnatural frame / wrong-direction finger 1.0 / 2.0; ∞ beyond Pmax M x7, x8 (x8 = 20, their largest weight)
Timbre continuity 0.8 per string change inside a slurred group of ≥ quarter notes or under “sul G”; advanced mode +0.3·beats per change away from the phrase string Sayegh, M (cantilena), N sticky string
Tone-colour prior long notes at p below ~A4: −0.1 on G/D; open E on a long note +0.1 (off in beginner mode) [T]
High position on a low string, fast +0.2·(b − 7)⁺ if IOI < 150 ms N altLowString, [T]

Double stops and chords (vertical cost per event):

12.4 Decoding and modes

12.5 Evaluation plan

12.6 Bowing model

12.7 Animation mapping

  1. Neck: stop position x(d) = L(1 − 2^(−d/12)) from the nut. L ≈ 328 mm violin, ~380 mm viola, ~690 mm cello [T]. String spacing ~5.5 mm at the nut, ~11 mm at the bridge, cambered [T].
  2. Hand anchor: index MCP above x(b), thumb opposite finger 1. For b ≥ 7 the thumb moves to the neck heel and the palm rides the rib [T].
  3. Shift: start at t_on − DOS, with DOS = min(0.35 s, 0.8·gap) [V-derived from Visentin]; arrive ~30 ms early; minimum-jerk path. On slurred shifts the old finger slides as a guide finger, otherwise it lifts. Thumb-led on down-shifts, wrist-led on up-shifts.
  4. Fingers: tip IK to (x(d), string), using the #029 planar IK (DIP ≈ ⅔ PIP), more curl on high strings. Descending on one string, place the next lower finger 50–150 ms early (Baader). Lifted fingers hover 3–8 mm over their frame slots. Vibrato on stopped notes ≥ 0.4 s: ±4–6 mm at 5–6 Hz, starting ~150 ms in [T].
  5. Left arm: the elbow swings right (under the instrument) for the G string and out for E; two-bone IK from the shoulder [T].
  6. Bow: a rigid body at the contact point (string, β), with the position along the stick from §12.6, inclination θ(σ) and skewness ≈ 0 ± 5°. Right arm by two-bone IK plus wrist. The wrist leads bow changes and the forearm pronates toward the tip. Rolled chords sweep θ.
  7. Sync: onset = finger down ≤ 50 ms before the bow change (inside Baader’s −12…+60 ms). Open notes free the left hand to pre-shift, which is why the open-shift discount exists.

13. References ([V] fetched this session; URLs/DOIs checked Oct 2026)

Bowed-string fingering

  1. Sayegh S.I. (1989). CMJ 13(3):76–84. [V, via refs]
  2. Radicioni D., Anselma L., Lombardo V. (2004). CIM04. https://www.parncutt.org/CIM04/CIM04_paper_pdf/Radicioni_Anselma_Lombardo_CIM04_proceedings.pdf [V]
  3. Radicioni D., Lombardo V. (2005) ICMC, http://hdl.handle.net/2027/spo.bbp2372.2005.166; (2005) LNCS, DOI 10.1007/11558590_47; (2007) Constraints, DOI 10.1007/s10601-007-9015-y [V, abstracts]
  4. Maezawa A. et al. (2010). IEA/AIE, LNCS 6098:249–259. DOI 10.1007/978-3-642-13033-5_26 [V, abstract]
  5. Maezawa A., Itoyama K., Komatani K., Ogata T., Okuno H.G. (2012). CMJ 36(3):57–72. DOI 10.1162/COMJ_a_00129 [V]
  6. Maezawa A. et al. (2009). Bowed string sequence estimation… IEEE ISM, pp. 9–16 [V, via refs]
  7. Nagata W., Sako S., Kitamura T. (2014). ICMC SMC, pp. 1233–1238. http://speech.di.uoa.gr/ICMC-SMC-2014/images/VOL_2/1233.pdf [V]; IEEJ Trans. EIS 134(4):581–586 [V, via refs]
  8. Sako S., Nagata W., Kitamura T. (2015). CRF, HCII, pp. 485–494 [V, via refs]
  9. Jen Y.-H., Chen T.-P., Sun S.-W., Su L. (2021). IUI, pp. 208–212. DOI 10.1145/3397481.3450661; https://github.com/Tsung-Ping/Violin-Fingering-Generation [V]
  10. Interactive automatic violin fingering recommendation interface (2021). IEEE AIVR. https://ieeexplore.ieee.org/document/9644347 [V, via repo]
  11. Cheung V.K.M., Kao H.-K., Su L. (2021). ISMIR, pp. 113–120. https://archives.ismir.net/ismir2021/paper/000013.pdf; https://github.com/vkmcheung/violin-ssvae [V]
  12. YTVF: https://github.com/wayonbvc/Violin-Fingering-Generation-Through-Audio-Symbolic-Fusion [V]
  13. CelloFingering-8K: https://github.com/UiinKim/CelloFingering-8K [V]
  14. Noguchi K. (2026). https://github.com/knoguchi/violin-fingering [V]
  15. Lee J. Optimizing fingerings on bowed instruments. http://www.library.distantreader.org/stacks/journals-ojs/path/path-5467.pdf [V]
  16. Su Y., Wang Y. (2024). Soft Computing 28:8279–8291. DOI 10.1007/s00500-024-09631-0 [V, abstract]
  17. Huron D., Trevor C. (2016). Are stopped strings preferred in sad music? EMR 11(2):261–269 [V, via refs]

Guitar

  1. Radisavljevic A., Driessen P. (2004). ICMC. http://www.ece.uvic.ca/~peterd/papers/PDL_paperICMC2004_ver9.PDF [V]
  2. Tuohy D.R., Potter W.D. (2005). ICMC, pp. 499–502. https://quod.lib.umich.edu/i/icmc/bbp2372.2005.013/ [V, abstract]; Tuohy (2006) thesis, https://ai.uga.edu/sites/default/files/inline-files/theses/tuohy_daniel.pdf [V]
  3. Heijink H., Meulenbroek R.G.J. (2002). J. Motor Behavior 34(4):339–351. DOI 10.1080/00222890209601952 [V]
  4. Hori G., Kameoka H., Sagayama S. (2013). JIP 21(2):264–271; SMC-ICMC 2014 [V]; Hori G., Sagayama S. (2016) ISMIR, pp. 448–453 [V, via refs]; (2017) SMC, p. 386, http://smc2017.aalto.fi/media/materials/proceedings/SMC17_p386.pdf [V]
  5. Kehling C. et al. (2014). DAFx. https://dafx.de/paper-archive/2014/dafx14_christian_kehling_automatic_tablature_trans.pdf [V]
  6. Wiggins A., Kim Y. (2019). TabCNN. ISMIR, pp. 284–291 [V, via refs]
  7. Edwards D., Riley X., Sarmento P., Dixon S. (2024). MIDI-to-tab. arXiv 2408.05024 [V]; DadaGP arXiv 2107.14653 [V, abstract]
  8. Hamberger A., Murgul S., Schmidt J., Heizmann M. (2025). Fretting-Transformer. arXiv 2506.14223 [V]

Biomechanics

  1. Visentin P., Li S., Tardif G., Shan G. (2015). PeerJ 3:e1299. DOI 10.7717/peerj.1299 [V]
  2. Baader A.P., Kazennikov O., Wiesendanger M. (2005). Cogn. Brain Res. DOI 10.1016/j.cogbrainres.2004.11.008 [V]
  3. Kazennikov O., Wiesendanger M. (2009). Motor Control 13(3):297 [V, abstract]
  4. Schoonderwaldt E., Altenmüller E. (2014). PLoS ONE 9(9):e106615. DOI 10.1371/journal.pone.0106615 [V]

Bowing

  1. Schoonderwaldt E. (2009). PhD, KTH. https://www.speech.kth.se/publications/pdfs/schoonderwaldt_e.pdf [V]
  2. Mores R. (2016). DAGA. https://pub.dega-akustik.de/DAGA_2016/data/articles/000027.pdf [V]; Schelleng J.C. (1973). JASA 53(1) [T]
  3. Demoucron M. (2010). Vienna Talk. https://viennatalk.mdw.ac.at/papers/Pap_01_50_Demoucron.pdf [V]; PhD 2008 [V, abstract]; Schoonderwaldt & Demoucron (2009) JASA 126(5) [V, abstract]
  4. Maestre E. et al. (2009). ICMC. http://www.mtg.upf.edu/static/media/maestre-esteban-ICMC-2009.pdf [V]; Maestre, Pérez, Ramírez (2010). ICMC. http://www.mtg.upf.edu/system/files/publications/icmc_maestre_perez_ramirez2010.pdf [V]

Motion, data, robots

  1. Shlizerman E. et al. (2018). CVPR. https://openaccess.thecvf.com/content_cvpr_2018/html/Shlizerman_Audio_to_Body_CVPR_2018_paper.html [V]
  2. Kao H.-K., Su L. (2020). ACM MM, pp. 147–155. DOI 10.1145/3394171.3413848 [V]
  3. Hirata A., Tanaka K., Hamanaka M., Morishima S. (2022). SIGGRAPH Posters [V]
  4. Nishizawa H. et al. SyncViolinist. arXiv 2412.08343; https://github.com/Kakanat/SyncViolinist [V]
  5. Qiu Z., Jin Y. et al. (2025). ELGAR. arXiv 2505.04203 [V]
  6. Yoo S.J. et al. VioPose. arXiv 2411.13607 [V]
  7. Huang Y.-F. et al. (2024). MOSA. IEEE/ACM TASLP. DOI 10.1109/TASLP.2024.3407529; Zenodo 10.5281/zenodo.11393449 [V]
  8. Li B. et al. (2019). URMP. IEEE TMM. https://labsites.rochester.edu/air/projects/URMP.html [V]
  9. Toyota (2007). https://global.toyota/en/download/2731429 [V]
  10. Horigome K., Shibuya K. (2024). Front. Robot. AI 11:1439629. DOI 10.3389/frobt.2024.1439629 [V]; Shibuya (2011) DOI 10.1007/978-3-642-22291-7_11 [V, abstract]
  11. Ghost Play (2022). NIME. https://nime.pubpub.org/pub/i9nvg1yi [V, abstract]
  12. Kaushik A. (2026). MusicSynth. arXiv 2605.17181 [V]
  13. ViolinDiff arXiv 2409.12477 (https://github.com/daewoung/ViolinDiff); VIOLET arXiv 2608.07944; VioPTT arXiv 2509.23759 [V, abstracts]