<<

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

(a) (b)

(c) (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 (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