Overview

Current Status 1 - 30 -  2010

Uses of Zylaphon

Zylaphon Schematic

Extensibility

Stages of Zylaphon

Current Status  1 - 30 - 2010

Zylaphon is at an early stage of development.  As yet it is has no MIDI IO; either live or as files, and no printing.  All it can do with its data is store to, and retrieve from, disk.   Thus, at present, it is little more than incomplete and essentially useless notation program.  Other points to bridle immediate expectations:

Chords exist only as a class still wanting its methods.

Though Zylaphon parses note lengths and groups beams according to meter, formatting of score still is not to standards, but is serviceable.  An export to Sibelius format would be a good medium-term solution.

Much of what is in this document describes design, not code.  Further, fundamental issues of design remain undecided; for example,  how models of domain knowledge of Tonality and its analogs are functionally related to, or qualify,  the models of Mode, Key, and Scale

Zylaphon is at the point where it needs the help of people with considerable savvy in the areas of software and music theory and this website is primarily directed to those people.  Hopefully at least a few prospective users will brave these waters and make suggestions, point out errors etc.  As Zylaphon approaches usability, user documentation will be expanded. 

Zylaphon's source source is scheduled to be released on CodePlex no later than 1/1/11 and with any luck an executable will also be available at that time.

Uses of Zylaphon

• As a computer aided music composition system capable of providing assistance with and/or automation of composition at all levels of abstraction, as well as standard and extended techniques of analysis.

• As a sequencer: The notation linked piano roll sequencer features a number of unique
control parameters of use to composers who do not perform.

As a platform for music theorists who prefer to work in a .NET environment and make use Zylaphon's music-API and extensible interface to boot strap research projects.

• As a pedagogic tool.

The resource managers provide interfaces that invite exploration of the materials of music. (At present the MeterManager is the best example of what all managers should be like--except of course for its lack of midi-audio feedback.)

The level of assistance provided by the agenda is entirely under control by the user. A novice selecting maximum help would find easy entry into the process of composition and if desired, instruction as well -- that is, if someone was interested in writing pedagogic Goals and Agents.

 Zylaphon Schematic

A linked diagram of Zylaphon's data architecture.

Extensibility

System Control is based on techniques that allow for maximum flexibility both in terms of function and the addition of new functionality.  See First Paragraph of SystemControl.  

At  present Zylaphon's capabilities are focused on traditional practice, but the infrastructure below the data structures that model traditional practice are very general in the sense that a programmer may define new classes that inherit from the infrastructure classes and implement models that diverge arbitrarily from traditional practice. This generality extends to the GUI as well.  Any abstraction that can be modeled as a function of time may be be included in a ChannelSet for display and editing in a ChannelSetViewControl.

Stages of the Zylaphon

Zylaphon is expected to pass through three stages of development. 

The first and present stage is the construction of a basic infrastructure to support the creation and computation of music based on diatonic and chromatic intervals in standard notation with the understanding that this level of abstraction is built on top of deeper levels capable of spawning (through large amounts of human toil) nontraditional models.  At this stage Zylaphon has only developers, no users.  Though hopefully potential users will contribute ideas during this phase.

The second stage begins the process of embedding domain knowledge in the definition of Goals, Tasks and Agents.  At this stage Zylaphon will be usable but mainly by programmer/composers.

In it's final stage the majority of participants will be non-programmer users, as  by that time there will be a large body of Goals and Executors for users to draw on.   In both this last and the preceding stage the infrastructure of Zylaphon should continue to grow both in both refinement and scope.  (See the section on Extensibility)