Onsets și cadre Transcriere pian piană cu două obiective
Actualizare (20.09.2018): Încercați noua implementare JavaScript!
Actualizare (30.10.2018): Citiți despre îmbunătățiri și un nou set de date în setul de date MAESTRO și Wave2Midi2Wave!
Onsets și cadre este noul nostru model pentru transcrierea automată a muzicii de pian polifonice. Folosind acest model, putem converti înregistrările brute ale interpretărilor de pian solo în MIDI.
De exemplu, ați făcut vreodată o înregistrare a dvs. improvizând la pian și mai târziu ați dorit să știți exact ce ați cântat? Acest model poate transcrie automat acea înregistrare de pian într-un pianor MIDI care ar putea fi folosit pentru a reda aceeași muzică pe un sintetizator sau ca punct de plecare pentru partituri. Transcrierea automată deschide multe posibilități noi pentru analiza muzicii care nu este ușor disponibilă sub formă notată și pentru crearea unor seturi de date de instruire mult mai mari pentru modele generative.
Vom putea realiza o nouă stare de artă folosind CNN și LSTM pentru a prezice evenimentele de debut al pitchului și apoi folosind aceste predicții pentru a condiționa predicțiile pitch pitchwise.
Puteți încerca modelul nostru cu propriile înregistrări de pian în browserul dvs. vizitând Piano Scribe sau Notebook-urile Colab Notebook. De asemenea, am pus codul sursă disponibil pe GitHub atât pentru Python, cât și pentru JavaScript. Mai multe detalii tehnice sunt disponibile în lucrarea noastră despre arXiv: Onsets and Frames: Dual-Objective Piano Transcription.
| Model | Scor transcriere F1 (0-100) |
| Stadiul tehnicii anterior | 23.14 |
| Onsets și cadre | 50,22 |
Mai multe valori și detalii disponibile în lucrarea noastră.
Exemplele de mai sus sunt o bună ilustrare a performanței sistemului nostru. Există cu siguranță unele greșeli, dar face o treabă bună în ceea ce privește captarea armoniei, melodiei și chiar ritmului.
Motivul pentru care modelul nostru funcționează la fel de bine este că împărțim sarcina de detectare a notelor în două stive de rețele neuronale: o stivă este instruită pentru a detecta doar cadre de debut (primele câteva cadre ale fiecărei note) și o stivă este antrenată să detectați fiecare cadru în care este activă o notă. Modelele anterioare foloseau doar o singură stivă, dar am constatat că separând sarcina de detectare a debutului am reușit să obținem o precizie mult mai mare.