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 {jj,narcarvalho,jno}@di.uminho.pt
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
(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 | A>Bc2 | F>DE2 | G2DE | A>Bc2 | D>EC2 | D3E | C4 |
(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
Abc1,1 Abc1,2 ... Abc1,n Abc2,1 Abc2,2 ... Abc2,n 1 0 ... 0 × . . . . = Abc1,1 Abc1,2 ... Abc1,n . . . . . . . . Abcp,1 Abcp,2 ··· Abcp,n (1)
select all voices
Abc1,1 Abc1,2 ... Abc1,n Abc2,1 Abc2,2 ... Abc2,n 1 1 ... 1 × . . . . = Section1 Section2 ... Sectionn (2) . . . . . . . . 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