Wiki::Score a Collaborative Environment for Music Transcription and Publishing
Total Page:16
File Type:pdf, Size:1020Kb
Wiki::Score A Collaborative Environment For Music Transcription And Publishing J.J. Almeida1 N.R. Carvalho1 J.N. Oliveira1 1Department of Informatics, University of Minho fjj,narcarvalho,[email protected] ElPub2012: June 15th J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 1 Abstract What? collaborative environment for music transcription and editing Why? transcription takes huge amount of time and is hard divide and conquer How? split −! transcribe −! build −! export J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 2 Music Writing Applications (a) Sibelius (b) Finale (c) Denemo (d) MuseScore J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 3 The Abc Notation powerful enough to describe most music scores available actively maintained and developed source files are written in plain text files there are already many tools for transforming and publishing can be easily converted to other known formats compact and clear notation open source J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 4 Abc Notation Example 1 X : 1 2 M : C 3 L : 1/4 4 K : C 5 6 C2DE j A>Bc2 j F>DE2 j G2DE j A>Bc2 j D>EC2 j D3E j C4 j (a) Abc code sample. (b) Generated PS image. J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 5 Web Applications: Wikis multi user collaborative environment content change history with version control and revert options; web interface easy to extend features and syntax via plugins possible to customize via template engines a wiki invites users to contribute to the content wiki pages are subject to the phenomenon of Darwikinism edited content is immediately available built-in lock system to prevent content corruption J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 6 Other Projects (a) Mutopia (b) Noteflight (c) Distributed Proofreaders J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 7 Transcribe to Abc (a) manuscript (b) Abc transcribe : manuscript −! Abc J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 8 Create PDF From Abc (a) Abc (b) PDF export : Abc −! PDF J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 9 Original Manuscript Scan J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 10 Manuscript Sections And Parts J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 11 Manuscript Matrix J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 12 Matrix Multiplying Examples v1 v2 v2 1 1 1 ... 1 X X 1 X 1 1 1 M 1 M 1 ... ... 1 1 (a) Conductor's score (b) All individual parts v1 1 0 1 ... 1 X K M (c) All parts but k J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 13 Wiki::Score J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 14 Architecture Overview Web Interface DokuWiki (implemented in PHP) wiki syntax Haskell Library project specification, creation and building consistency checking Perl Module glue everything together J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 15 Architecture Overview projects content WikiScore Web Interface Haskell DokuWiki Wiki::Score Perl + JSON ABC PDF MIDI J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 16 Wiki Index Page J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 17 Project Index Page J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 18 Cell Page J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 19 Cell Page Editing J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 20 Plugin Your Favorite Abc Editor J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 21 Project Matrix J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 22 Matrix Operations select one voice 0Abc1;1 Abc1;2 ::: Abc1;n 1 BAbc2;1 Abc2;2 ::: Abc2;n C B C 1 0 ::: 0 ×B . C = Abc1;1 Abc1;2 ::: Abc1;n B . C @ . A Abcp;1 Abcp;2 ··· Abcp;n (1) select all voices 0Abc1;1 Abc1;2 ::: Abc1;n 1 BAbc2;1 Abc2;2 ::: Abc2;n C B C 1 1 ::: 1 × B . C = Section1 Section2 ::: Sectionn (2) B . C @ . A Abcp;1 Abcm;2 ··· Abcp;n Sectioni = Abc1;i + Abc2;i + ··· + Abcp;i (3) J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 23 Building a Section or Part J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 24 Export in Different Formats ABC PDF MIDI J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 25 Build Project J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 26 Current Status Project Manuscript Sections Parts Cells1 % Complete Demetrio a Rodi 438 pages 41 28 311 6.8% Gloria, Fama, Virtu 115 pages 7 14 48 29% A Vivandeira 47 pages 10 12 83 <1% Verbum Caro Factum Est 4 pages 5 4 13 95% Total 604 pages 63 56 451 { 1 non empty J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 27 Final Notes Conclusion Abc is a simple and inexpensive yet powerful notation for transcribing music many tools available plain text take advantage of a common collaborative work environment transcribe huge manuscript scores in small time spans easier to transform and process Future Work improve synchronization booklet building improve browser plugins add your project? J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 28 Thank You! J.J. Almeida, N.R. Carvalho, J.N. Oliveira ElPub2012: Wiki::Score 29.