DM-D Technical Profile
linea1.jpg (789 bytes)

- DM-D is a software enviroment written in C as a 32bit application for MS-Windows (Xp, Vista, 7), although it has been tested succesfully in Linux and Mac OS with WineHQ.
- It is an Algorithmic Music compiler and generator, based on Generative Music Paradigm, and designed to obtain the most flexibility with the simplest as possible programming. It also includes a whole harmonization module, which works after the formal-thematic contents are generated. The reason for this order is to conform to "Designing Music" principles.

- DM-D is an evolution of a previous compiler called CSalg, also developed by Luis Robles in collaboration with LIEM (Laboratory for Electronic and Computer Music, from Culture Ministry of Spain), in 1994. It was created to generate Score Files for CSound using a similar sintax than in Orchestra Files. The same code of Csound compiler was used also to program Csalg.

- DM-D comprises arround 9000 program lines, developped and tested during 5 years, starting in 2004. The software concentrates only on data processing, it means, other tasks as music edition, html edition or file handling must be done by external programs. Code lines are distributed as follows:

  • Composer Module: 35 %
  • Harmonizer Module: 65 %
  • Interface: less than 1 %

Composer Module:

- As explained, parts of CSalg code (the compiler core, originally inspired in Csound's one) were used for Composer Module. As CSound, and other Generative Music software, it is based in generators, which activity is controlled by different parameters. And all theese parameters are variables which can be modulated from other generators. Music fragments from a score editor can also be added as "wave shape" of generators.

Harmonizer Module:

- The Harmonizer Module is the most complex part of the software. It uses a large amount of recursive functions to try applying harmonization as a human brain would do, evaluating thousands of situations for each harmony link. It is able to manage non-harmonic tones in a right way, and to detect hidden melodic lines into arpeggios, in order to be treated as such. It also includes special functions to handle bass and melody lines.


- The interface is simple, just a compiler console and the menu orders, as edition tasks and file handling are left out to be done by external programs. Theese are:

  • Html Editor for Composer programming. Blocknote freeware editor is optimal and included in DM-D installation.
  • Score editor with XML exporting features (like Finale, Sibelius or freeware MuseScore). Necessary for Composer and Harmonizer programming, and also to display DM-D output files.

- DM-D is actually avaliable in English and Spanish languages.