-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplan
More file actions
38 lines (33 loc) · 4.14 KB
/
Copy pathplan
File metadata and controls
38 lines (33 loc) · 4.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
┌────────┬──────┬─────────────────────────────────────────┬──────────────────────────────────┐
│ # │ Cost │ Setup │ What it tests │
├────────┼──────┼─────────────────────────────────────────┼──────────────────────────────────┤
│ 1 │ ~5h │ 2M + GENRE + 15% dropout │ Pure conditioning │
├────────┼──────┼─────────────────────────────────────────┼──────────────────────────────────┤
│ 2a │ ~5h │ 2M + rebalancing (8× GS, 5× Leduc, no │ Pure data balance │
│ │ │ conditioning) │ │
├────────┼──────┼─────────────────────────────────────────┼──────────────────────────────────┤
│ 2b │ ~5h │ 2M + GENRE + dropout + rebalancing │ Combined recipe │
├────────┼──────┼─────────────────────────────────────────┼──────────────────────────────────┤
exp 3 - re-classificed genres for Leduc + collapse underpresented genres to unknown
exp 4 - bigger model with same genres if worked
exp 5 - beam search on the best model (no re-training)
exp 6 - anchor postprocessing (no re-training)
exp 7 - exp 5 + exp 6
exp 8 - (alt. in case exp 3-4 fails) add PREV_TAB to input sequence
But, test this before: look at where errors happen within a piece.
If errors are roughly uniformly distributed across the piece, anchor tokens at sub-sequence boundaries will not likely help.
If errors cluster at the start of sub-sequences (notes 1-20 of each sub-sequence vs notes 100+), anchor tokens should help A LOT.
You can compute this from your existing enriched.jsonl — just add a note_index_within_subseq column and slice tab_pp by it. ~30 minutes of analysis, no retraining needed. If errors cluster at boundaries, anchor tokens are high-value. If they don't, the position commitment problem is happening inside sub-sequences too and anchor tokens alone won't be enough.
Ideas what to try next:
1. Analyze dadaGP more deeply:
1.1. dataset seems to have more incorrect data than I initially anticipated.
Eval results on it are not nice, whereas on datasets which contain subjectively more complicated data, it's good.
Plus, we got more samples from dadaGP than fretting transformer, suggesting that our filter is too permissive.
1.2. dataset is the only one which didn't go through tempo tweaks, maybe it influenced as well?.. Dunno how to check it though
2. Analyze leduc gp files processing. Overall, I feel like leduc preprocessing still has bugs..
3. When parsing my own tabs, I noticed model quite often goes to "easier" reproductions (high string, low fret).
3.1. Introduce "consistency" metric - that one has to be really thought-through, but core idea is that in music we rely on repetition a lot
and it's more likely that the same fret/string is played in the same relative timing of the bar.
3.2 Also, repetition of the whole patterns is nice within one piece (like constant phrase played at the start of the bar).
I recalled that Music Transformer paper addressed something similar (it's in pages now). Mb we can borrow something from there
🦄🦄🦄interpret 2M transformer model (he-he)