Initial Specification » History » Version 1

Matthias Mauch, 2013-12-05 11:05 AM

1 1 Matthias Mauch
h1. Initial Specification
2 1 Matthias Mauch
3 1 Matthias Mauch
The Tony tool will be a very simple user interface for the exact annotation of notes, note pitches and performance of human singing and other monophonic instruments.
4 1 Matthias Mauch
The reason it can be kept very simple is that it exports beautifully to other applications such as Sonic Visualiser, which have different strengths.
5 1 Matthias Mauch
6 1 Matthias Mauch
h3. Minimum Use Case
7 1 Matthias Mauch
8 1 Matthias Mauch
The first prototype is ready if this scenario is possible:
9 1 Matthias Mauch
10 1 Matthias Mauch
# User loads a .wav file of a monophonic singing recording,
11 1 Matthias Mauch
# Tony automatically extracts pitch track and note track,
12 1 Matthias Mauch
# User corrects the onsets and offsets of the pitch track, inserting new ones if necessary, or setting notes to rests,
13 1 Matthias Mauch
# User exports the note track to a csv file, with columns ONSET, DURATION, MEDIAN_PITCH.
14 1 Matthias Mauch
15 1 Matthias Mauch
h3. Users
16 1 Matthias Mauch
17 1 Matthias Mauch
We expect users to be unfamiliar with programming, but to be familiar with music and research in general. In order to illustrate this, these are some possible users:
18 1 Matthias Mauch
19 1 Matthias Mauch
# Friedrich (56) is a musicologist at a university in northern Germany. Sample publication: "Zur Ästhetik der Stimme bei Wagner - Eine vergleichende Analyse historischer und moderner Aufnahmen". He uses a Windows Vista laptop with, mainly for Email correspondence and keeping lists of audio recordings in an Excel spreadsheet. He listens to Music from CDs, noting down singing characteristics on a paper notepad. He plays the cello and organises outings to the Berlin philharmonics with his Seminar students.
20 1 Matthias Mauch
# Sam (31) is an ethnomusicologist at the University of Essex studying the music of Brazilian immigrants in Portugal. She records the immigrants' music on location in Lisbon and compares the rhythmic and melodic variations of the music between Brazil and Portugal. Sam uses a MacBook from 2007. She organises the field recordings and edits them using Audacity. She regularly dances Capoeira in the local Capoeira group in Colchester, Essex.
21 1 Matthias Mauch
# Etienne (25) is a graduate student in the psychology department of a Belgian university and part of a project that aims at replicating the "Levithin" effect. He's a Windows user with a bit of a knack for writing Python scripts. He's frustrated with the way his boss asks him to annotate melodies in Praat, but doesn't quite have the experience or support to build a tool that does it better. Etienne is also associated with a computer science guy who's looked into African rhythms.
22 1 Matthias Mauch
# David (25) is a super-bright statistics graduate who's also a clarinet player and just started his PhD on music transcription of wind instruments at a Canadian university. He realises that there's not enough training data out there to learn his models, so he would like to annotate lots of clarinet recordings.
23 1 Matthias Mauch
24 1 Matthias Mauch
h3. Framework
25 1 Matthias Mauch
26 1 Matthias Mauch
It's not entirely decided what the framework should be, but there are some restrictions:
27 1 Matthias Mauch
28 1 Matthias Mauch
* it should work on PCs and Macs (and Linux boxes)
29 1 Matthias Mauch
** tablets are not a priority because interaction with free audio editing and annotating programs is needed, i.e. this is a work tool, not a play tool.
30 1 Matthias Mauch
** PCs are often used as standard by scientists and teachers outside of CS/maths/stats
31 1 Matthias Mauch
** Macs are often used by the creative guys, and MIR people
32 1 Matthias Mauch
33 1 Matthias Mauch
h3. Components
34 1 Matthias Mauch
35 1 Matthias Mauch
   * automatic pitch and note transcription methods
36 1 Matthias Mauch
   * GUI for correction, and additional note-based or phrase-based annotations
37 1 Matthias Mauch
   * export to RDF and graphics
38 1 Matthias Mauch
39 1 Matthias Mauch
h4. Automatic Transcription Methods
40 1 Matthias Mauch
41 1 Matthias Mauch
   * pitch extraction
42 1 Matthias Mauch
   ** monophonic via Yin
43 1 Matthias Mauch
   ** interface for other algorithms, potentially polyphonic
44 1 Matthias Mauch
   ** output of salience function, or at least N candidate pitches (even if pitch estimation thinks there's no pitch)
45 1 Matthias Mauch
   * Note alignment: align notes to MIDI-like representation given a pitch file
46 1 Matthias Mauch
   * Non-alignment note detection
47 1 Matthias Mauch
   * Methods should be easily re-executable with time-dependent parameter settings
48 1 Matthias Mauch
49 1 Matthias Mauch
h4. GUI
50 1 Matthias Mauch
51 1 Matthias Mauch
The most important aspect of the GUI is that it should be simple because the users are unlikely to be familiar with complicated programs. The most important point should hence be to keep the layout simple. Hence first some *forbidden things*:
52 1 Matthias Mauch
53 1 Matthias Mauch
* polyphonic melody processing (diverts attention from main use, prevents easy interaction with monophonic interface)
54 1 Matthias Mauch
* audio editing (this is an analysis and annotation program, leave that to Audacity)
55 1 Matthias Mauch
* have more than one central pane (too confusing, this is a one task application -- audio and visual are already two dimensions, let's not add more)
56 1 Matthias Mauch
* load more than one audio file (we leave that to Sonic Visualiser)
57 1 Matthias Mauch
* more than one "instrument" (pointer, scissors, eraser, move tool should be superfluous in a simple monophonic environment)
58 1 Matthias Mauch
* additional structural annotation: beats, bars... that can be done post-hoc in Sonic Visualiser
59 1 Matthias Mauch
60 1 Matthias Mauch
So here are some requirements:
61 1 Matthias Mauch
62 1 Matthias Mauch
* One *main pane* that always stays in roughly the same, central place.
63 1 Matthias Mauch
** displays a fixed set of features: pitch track, overlaid note track; hidden: note salience, other pitch track candidates.
64 1 Matthias Mauch
** note track is editable
65 1 Matthias Mauch
** pitch track is not editable separately (why should it?), only via the note track
66 1 Matthias Mauch
* 2 permanent *single-purpose strips* across the length of the main pane
67 1 Matthias Mauch
** select (notes or note ranges)
68 1 Matthias Mauch
** annotate note (double click for simple annotation, drop-down for specific fields)
69 1 Matthias Mauch
* Note editing
70 1 Matthias Mauch
** edit note start and end times,
71 1 Matthias Mauch
** edit continuous note pitch,
72 1 Matthias Mauch
** turn note to rest (unpitched)
73 1 Matthias Mauch
** impossible to delete notes (notes can only be made into rests -- we assume a contiguous, monophonic melody)
74 1 Matthias Mauch
** (lock notes, i.e. prevent from re-estimation)
75 1 Matthias Mauch
* Audio Playback
76 1 Matthias Mauch
** playback original audio
77 1 Matthias Mauch
** sonify notes
78 1 Matthias Mauch
** sonify pitch track
79 1 Matthias Mauch
* Undo note and pitch track changes
80 1 Matthias Mauch
* Export notes, pitchtrack, annotations in the following formats
81 1 Matthias Mauch
** as csv files (very important)
82 1 Matthias Mauch
** as graphics (quite important): pdf, possibly self-contained R script
83 1 Matthias Mauch
** as SV session file
84 1 Matthias Mauch
** as RDF
85 1 Matthias Mauch
** as MIDI
86 1 Matthias Mauch
87 1 Matthias Mauch
Some explicit differences to Sonic Visualiser:
88 1 Matthias Mauch
89 1 Matthias Mauch
* Tony has only one pane (I know I mentioned that before, can't ever mention it too often)
90 1 Matthias Mauch
* arrow keys should only change the playback position, and only via that the visualisation position
91 1 Matthias Mauch
* zoom sliders should be very large -- if possible along the whole sides of the main pane
92 1 Matthias Mauch
* only one instrument (i.e. not have a separate selection tool, or scissors tool)
93 1 Matthias Mauch
** necessitates permanent selection strip (at the top of the main pane), in order to select contiguous notes)
94 1 Matthias Mauch
** double click splits/joins
95 1 Matthias Mauch
96 1 Matthias Mauch
Some explicit differences to Praat:
97 1 Matthias Mauch
98 1 Matthias Mauch
* Tony has only one window
99 1 Matthias Mauch
* Tony has a concept of a contiguous melody
100 1 Matthias Mauch
101 1 Matthias Mauch
h4. Further possible GUI features
102 1 Matthias Mauch
 
103 1 Matthias Mauch
* automatic re-estimation after edits (kind of Maximum A Posteriori or something)