HPKComposer, the Score Editor

HPKComposer has a graphical composition editor for generating Csound score. It is based on CMask with some extensions or modifications, but before continuing you can look at the original CMask documentation.

A score is made of 8 Structures, the settings of each Structure can be edited by clicking on one of the following button

The Score Editor page has the following edit controls at its top

First you find a toggle button at the left. When this button is green the Structure will be generated.  This a convenient way for selectively listening to one or more Structures without loosing any information. Then you find the dropdown list that let you choose the Instrument assigned to the Structure and the activation buttons for the polyphonic pitches (additional note events will be generating with their own pitch evolution, but sharing all the other parameters). Above this controls, you find the start and end time of the first and the last score events. In fact the last score event is the maximum between the end time and the last event plus its duration. There is also a button 'move all to time' which is a way to translate everything to the next start time you specify in the following entry field.

Behind these information, you will find a set of buttons and a dropdown list:

  • clicking on "t" displays the algorithm settings that are used for generating the score event times
  • clicking on "d" displays the algorithm settings that are used for generating the score event duration's
  • clicking on "p" displays the algorithm settings that are used for generating the score event primary pitches
  • clicking on "1", "2' or "3", displays the algorithm settings that are used for generating additional note events (polyphonic mode)
  • clicking on "a" displays the algorithm settings that are used for generating the score event amplitudes
  • clicking on "c" displays the algorithm settings that are used for generating the Instrument controllers evolutions.

An algorithm is made of a generator, a mask modifier and a quantifier. The two last transformers are optional and depend of the generator.

An algorithm setting view is for example:

This interface is very straightforward, except on some points:

  • the graphical view is not refreshed automatically when a parameter has been changed, you must press on the "refresh" button. The dropdown list with the points and lines choice above the graphical view is only a visualization feature.
  • this kind of control has the following behaviors:
This control is used to enter a numeric value, if you enter a wrong numeral representation, the text will be displayed in red.
If you click on the "v" button, the control let you enter a couple of numerical values if the second button is in the "p" state. They represents the values at the start and the end times. The generated values will be interpolated between these two points. The "e" button let you enter in a graphic editor. This editor is not interesting for this mode but for the next one.
If the second button is in the "t" state, you can enter a set of time-value points. The "e" button let you enter in a graphic editor. You can then add or delete points by using the mouse.

The last dropdown list lets you choose the curve that is used for interpolating the value (see the CMask documentation).

These buttons are a clipboard function for the algorithm settings currently displayed.

These buttons maskeditorbut.jpg (4930 bytes) select the type of graphical view: either a global view of all event parameter values, or a segment editor view that allows the edit of segment function used in the Mask modifier, or in the Segment generator. Only segment for event parameters normalized to 127 can be edited. Event time and duration are excluded.