## Introduction

### Why Use Denemo

GNU Denemo is a graphical music notation program. http://www.gnu.org/software/denem/denemo.html and http://denemo.sourceforge.net/. It is

Denemo is intended to be used in conjunction with GNU Lilypond http://www.lilypond.org, but is adaptable to other computer-music-related purposes as well.

## Getting to Know the Denemo Interface

This menu permits you to add staves above or below the default staff.

##

## Using Denemo

###

The primary way to interact with Denemo is with the keyboard. Denemo is extremely keyboard centric, this permits the user to acheive touch type control of musical editing. In graphical music editing there are at least two demensions - up and down and right and left, additionally note values need to be changed. Denemo adopts a unique note entry system using lilypond notes and vim shortcuts. These keyboard shortcuts permit rapid note entry. If you prefer a different keyboard shortcut scheme, denemo is fully customizable. (see customize (Input via MIDI keyboard is planned for later versions of denemo.

### Simple note entry

Brief Remarks. Lilypond will permit touch typing of notation once the basic keyboard movements have been learned.

Setting up a score. To start a new notation project the procedure is as follows

- Open the File menu and click on New. You can create a score from scratch or choose one of the many templates that come with Denemo.

- Next from the File menu Choose Header. In the Header dialog box fill in the Composer, Title and Subtitles fields and click Ok.

  ### Note

  If you are setting up a Custom score see xxx.

- Next setup your Clef, Key signiture, and Time Signiture:

  - Go to the Clef menu and click Set initial Clef. Choose the Clef you want from the drop down list and click OK

  - Next open the KeyMenu and click Set initial Key Signiture Choose the key signiture you want from the drop down list and click the select the proper choice for major or minor key. Click OK

  - Now open the Time menu and click Set initial Time Signiture Type the time signiture into the fractional text boxes and either check or uncheck apply to all staffs as needed and then click OK.

Setting up a Custom Score. While Denemo comes with a variety of templates to choose from, you may need to create a custom score configuration. The procedure is fairly easy:

- Using either theStaff menu or keyboard shortcuts add as many staves as you need. From the Staff choose Add New Staff After Current Staff or type ctrl+shift+S If you need to add staff before the current one type ctrl+shift+A.

Adding pitches. The best way to understand the note entry in denemo is to compare note entry in lilypond and movement keys in Vim to those in Denemo.This can be seen in the following table.

Table 1. Denemo, Lilypond,and Vim Movement keys

Keyboard combo | Lilypond Useage | Vim Usage | Denemo Usage
--- | --- | --- | ---
H left arrow | n/a | Move the cursor to the left | Move the cursor to the left
J down '' | n/a | Move the cursor down one line | Move the cursor down one note
K up '' | n/a | Move the cursor up one line | Move the cursor up one note
L right '' | n/a | Move the cursor to the right | Move the cursor to the right
ctrl+H left '' | n/a | Move the cursor to the left one paragraph | Move the cursor to the beginning of the measure
ctrl+J down '' | n/a | Move the cursor down one paragrah | Move the cursor to the next staff
ctrl+K up '' | n/a | Move the cursor up one line | Move the cursor up one note
ctrl+L right '' | n/a | Move the cursor to the right one paragrah | move the cursor to the beginning of the next measure
m | n/a | Add a new measure to all staves at the current cursor position | Move the cursor up one note
M | n/a | Add a new measure to all staves at the end of the score. | Move the cursor up one note
Home | n/a | move cursor to first measure of piece. | Move the cursor up one note
End | n/a | move cursor to last measure of piece. | Move the cursor up one note
a | the note a | n/a | jump to nearest a
b | the note b | n/a | jump to nearest b
c | the note c | n/a | jump to nearest c
d | the note d | n/a | jump to nearest d
e | the note e | n/a | jump to nearest e
f | the note f | n/a | jump to nearest f
g | the note g | n/a | jump down one octave
, (comma) | make note octave below current | n/a | jump up one octave
' (apostrephe) | make note octave above current | n/a |

These keys permit you to move quickly up and down the staff or to jump to a specific note. This can be acheived a number of ways, depending on what is most comfortable for you.

Example 1.

Lets look at example 1. We see a c major scale and a chord spread over two octaves. If we type a c we will jump to the nearest c, if it is up an octave type a comma , if it is down an octave type an apostrephe '. Once we have reached middle c, we can start moving the cursor up note by note using the k key and then down note by note usng the k key. Alternetly we could type the note names to jump to the right note. This hold true for the notes of a chord or arpeggio, we jump to the note typing the note name and adjust the octave with the comman and apostrophe.

Rhythm Entry. Note values are entered using the numberpad or the number keys.

Table 2.

Shortcut key | Action
--- | ---
0 or ` | insert a whole note at the current cursor position.
1 | insert a half note at the current cursor position
2 or SPACE BAR | insert a quarter note at the current cursor position
3 | insert an eighth note at the current cursor position
4 | insert a 16th note at the current cursor position
5 | insert a 32nd note at the current cursor position
4 | insert a 64th note at the current cursor position
. period | insert a dot to the previous note
shift+. period | remove dot to the note a cursor position

Entering Rests. Rests are entered two ways:

1. By using alt with the note value keyboard shortcuts

2. By typing escape Esc to changes into rest entry mode

### Note

That is, if your windowmanager isn't set to trap that key combination. If this is the case, you can probably disable it for Denemo. For example, with WindowMaker one would right-click on Denemo's title bar and navigate to the Window Attributes->Advanced Options->Don't Bind Keyboard Shortcuts option. For Gnome or KDE consult your documentation.

Chord Entry. To enter a chord choose a pitch and a rythm for your base note. Next move the cursor to the next chord tone and hit enter to add the note. To toggle chord tones on and off or to switch them to rests use Enter to add tones or convert a rest to a chord tone,and Shift+Enter to remove tones/switch to rests.

To alter the pitch chromatically, type the plus sign to sharpen the note at the cursor by one half-step and the minus sign to flatten the current note by a half step..

### Note

Entering a chord when you are already at the end of the measure (the cursor turns red when this happens) may cause your next note to be added to the _beginning_ of the next measure, or even implicitly create a next measure if one didn't already exist.

Editing. To edit quickly in Denemo use the following keyboard shortcuts:

Table 3.

command | function | comments
--- | --- | ---
m | Add a new measure to all staves at the current cursor position |
M | Add a new measure to all staves at the end of the score. |
Control-Space | set a markpoint at the cursor |
Control-C | Copy selection to the Clipboard but leave the area selected |
Control-X | Copy the area between the markpoint and the current cursor location to the paste buffer and clear the selection |
Control-V | Paste the buffer at the current cursor position |

Copying, cutting and pasting:Control-Space: set a markpoint at the cursor Control-C: Copy the area between the markpoint and the current cursor location to the paste buffer. Control-X: The same as above, but clear the selection after doing this. Control-V: Paste the buffer at the current cursor position.

### Note

the behavior of cut-and-paste is a little bit idiosyncratic. Play around with it a little bit to get the hang of it. The intention is for it to behave in a manner that's reasonable, and easy to correct if that isn't exactly what you would have liked Denemo to do. For example, paste will not add new measures to the score unless the paste operation conflicts with music that has already been entered; cut will delete measures if every staff is in the selection, but otherwise it will simply clear them, and so on. Here is where adding a number to the l key would be nice, I could 4 l to select 4 notes or 4 cntrl l to select 4 measures etc. I tried this and it is more than idiosyn.. it annoys me. I would like to see a mouse select here as and option and a clearer way to deselect.

Adding dynamics and phrasing marks.

Midi playback. Denemo has the ability to sound your chords through /dev/sequencer as you enter them. It accomplishes this by opening /dev/sequencer and holding it open as long as your still entering notes; if you pause, a timeout will elapse and /dev/sequencer will be closed down until you start note-entry again. This is intentional; it is there to facilitate the use of an external midi player for full-score playback or to have multiple instances of Denemo running at once. Sometimes, though (particularly if you have a fast machine), Denemo may hold open /dev/sequencer for long enough that it interferes with an invocation of playmidi. If this happens, simply be patient and try again.

The above holds true if you are not using alsa for midi playback if you are using alsa for midi playback you will need to either use timidity or if your soundcard has midi capabilities load a soundfont.

### Publishing

### Advanced Features

This section will explain how to enter advanced rhthms, chords polyphony etc

Display Command. Control-Shift-left: Decrease the minimum display width of all measures by 10 pixels Control-Shift-right: Increase the same by 10 pixels Control-Shift-up: Decrease vertical space alloted to each staff by 10 pixels Control-Shift-down: Increase vertical space alloted to each staff by 10 pixels

Adding Tuplets. Tuplets in denemo work like those in Lilypond, where tuplets are treated as a fraction with the top (numerator) signify the amount of notes normally displayed and the denominator the amount of notes to be displayed instead. Here will go more details and examples for the lilypond docs and letters for the lilypond group. Control-0, Control-1, or Control-2 to bring up a dialog that allows you to specify what coefficient you want to use for your tuplets. (e.g., "Times 2/3"). Control-3 through Control-7: Inserts a tuplet group with a common coefficient.

Changing Stem direction. S: insert a stemboth directive +: stemdown->stemboth, or stemboth->stemup -: stemup->stemboth, or stemboth->stemdown

Figured Bass Entry. Under the menu item Other->Insert/Edit Figured Bass is a dialog to enter figures for editing figured basses in the LilyPond output. This is currently only useful when editing a LilyPond file with a figured bass in the score (it can be an empty skeleton, see examples/figuredBassTemplate.ly). It is also possible to use the lilypond text window to edit directly (see README.lilypond)

## Customizing Denemo

This section will detail custom keyboard shorkcuts, adjusting audio setting, and other tkeaks to denemo

## Working With Lilypond Files

This section will describe Denemo's Lilypond mode.

## Music Analysis with denemo

This section will explain denemo's musical analysis abilitlies

## Appendix I

###

## A. Keymaps

Table A.1.