VisiChord Chord Visualizer
Software Requirements
Specification
Adrian Mettler, Gabriel Neer, Erika Rice, Jeff Scherpelz
1 General product description
The chord visualizer will be used to demonstrate chords in a music class. It
will be formatted so that it will display nicely if an LCD projector is used.
Chords can be input from a mouse, keyboard, file or via a MIDI device.
Once entered, there will be various manipulations that can be done on the
chords.
2 Appearance
-
A title bar will be at the top of the display if entered.
-
The title is input by clicking in the appropriate
text box and typing it in.
- The chords will be displayed on a musical staff.
-
The staff will have treble and bass clefs.
- At least four chords can be displayed in the staff
at once. Actual number will depend on resolution.
- The user will be able to scroll to select different
chords.
- Notes on the staff will be whole notes.
- A highlighted box will indicate the currently
selected chord.
- The user can configure whether notes of intermediate value will be
displayed on the treble or bass clef.
- Above each chord will be a chord title if one is input.
-
The title is input by clicking in the respective
text box and typing it in.
- The currently selected chord will be displayed on a piano
display.
-
Piano keys involved in the chord will be indicated
by a contrasting dot on the key.
3 Slot insertion
-
Inserted slots are added to the right of the currently
selected slot. Chords following the currently selected slot
all move to the right.
- Slots can be inserted via the mouse
-
User clicks on a button to insert a slot.
- Slots can be inserted via the tty keyboard
-
User presses a key or combination of keys to insert a
slot.
- Slots can be inserted via the MIDI keyboard
-
User presses a predetermined key on the MIDI
keyboard to insert a slot.
4 Chord editing
-
Chords can be edited via the mouse.
-
The user can click on the staff to add or modify
notes.
-
The note will be added if it is not
present.
- The note will be removed if it is
present.
- Flats and sharps will be indicated by the
use of modifier keys.
- The user can click on the piano display to add or
modify notes.
-
A note will be added if the key clicked
is not highlighted.
- A note will be removed if the key clicked
is highlighted.
- Chords can be edited via the tty keyboard.
-
User will click in the chord input box to
indicate that they want to add notes to a chord.
- Notes are input using standard designation.
- Flats are indicated by `b' and sharps as `#', e.g.
C#5.
- The end of the input will be indicated by the user
hitting enter.
- Input is cancelled by deleting all of the
text or hitting escape.
- Chords can be edited via a MIDI keyboard.
-
A chord starts when a key is pressed on the
keyboard.
- The chord is finished when all keys have been
released.
- All keys pressed between when the first key is
pressed and the last one released are added to the chord.
- Newly entered chords are added to the right end
of the chord list if the current chord is not empty.
5 Chord clearing and deletion
-
There will be a way to clear a chord with the mouse
and the keyboard.
- There will be a way to delete a chord with the mouse and
the keyboard.
- There will be a way to clear all chords with the mouse and
the keyboard.
- The user will be able to undo one (possibly more) chord deletions by use of
an Undelete option.
- The user will be able to paste the most recently cleared or deleted chord
into the currently selected slot. If the slot pasted into is not empty, the previous
contents of the slot are considered cleared and are thus placed onto the clipboard.
6 File interactions
-
Chords can be entered via a text file.
-
The first line of the file must be the title that
appears at the top of the display.
- Chords are sequences of notes in standard
designation that are grouped within parentheses.
-
The chord title may optionally appear
before the opening parenthesis.
- Chords can be saved to a file to be loaded later.
7 Other general requirements
-
Chords can be transposed.
- There will be an option to play back a chord when selecting
it.
- Help
-
Installation guide will be available.
- A manual will be provided.
8 Non-functional requirements
-
Display will be convenient for projection onto a LCD screen.
- Will be written to work under Windows or Macintosh.
This document was translated from LATEX by
HEVEA.