Dmuse: Overview

From CCARH Wiki
Jump to navigation Jump to search

Overview of Dmuse

Dmuse is a multi-purpose program which can run in both the Linux and Apple OS X operating systems, using the X windows system. At its most basic level, the program is designed to display and print musical scores and parts from data in one of the MuseData formats. You may use Dmuse for this purpose alone and completely disregard its other features. But Dmuse can also function as a multi-window, multi-tasking research environment. It includes a resident file manager, an integrated full-screen text editor with 30 virtual windows and an interpreted programming language called Zbex. Each of the 30 windows can act like a terminal window and can run either Zbex programs or basic Linux commands. At the same time, these windows continue to respond as full-screen editors.

Note that Dmuse is not an interactive graphical music editor. It is not a substitute for programs such as MuseScore, Sibelius® or Finale®. In its simplest form, Dmuse will typeset and print scores and parts from text-based MuseData files. The Dmuse screen editor can be used to create and/or edit files in the MuseData format, so in that sense, Dmuse can be used to do the work of a general music editor. The Zbex programming language greatly expands the capabilities of Dmuse. The total Dmuse environment includes a suite of Zbex programs that facilitate music data entry, provide advanced editing for scores and parts, construct MIDI files from score data, and convert between MuseData, MusicXML™, and Leland Smith's SCORE™ formats. These programs exist as Zbex source code, which is compiled and interpreted entirely within the Dmuse environment. The great advantage of source code is that it can be edited and expanded by the user to add new features and create new software. Conversion between Zbex and the C programming language is relatively easy, which makes Dmuse an excellent environment for new software development.

Complete and easy-to-use documentation is built into the Dmuse environment. We have attempted to organize the documentation for Dmuse in a way that reflects its multi-purpose character. At the simplest level, the operation of the program is designed to be self evident -- hence the menu bar at the top, with its five pull-down menus. Using these menus, you can perform the basic operations necessary to display and print music. The help subjects "Displaying and Editing Music" and "Printing Music" (included in the help menu), give you the information you need to perform these functions.

The next level of complexity is learning to use the text editor. This knowledge is useful if you decide you want to edit music files (in the MuseData or other text based formats), Also, learning to use the editor is a prerequisite to using any of the advanced features of Dmuse. The help subject "Using the Screen Editor" gives a complete description of how the editor functions. You may also learn about the editor keystrokes directly through "The Editor Keystrokes" utility included in the help menu.

Dmuse comes with a built-in file manager for moving, copying and renaming files and libraries, and for loading files into the screen windows. A detailed description of this utility is found in the help selection "Resident File Manager."

Advanced applications in Dmuse fall into three categories: (1) using wordwrap with the editor, (2) the Zbex programming language, and (3) the use of dictionaries. Dmuse is installed with these applications disabled, but they can be enabled by pressing F9 and then activating advanced features. The idea is that Dmuse should appear initially as a simple and easy-to-use program for those people who only want to display and print music. If you are interested in one or more of the advanced applications, the help selection "Advanced Topics" contains the documentation you need, including instructions on how to activate these features.

History of Dmuse Development

The story begins in the mid 1970's before the advent of personal computers. At that time, the smallest computer a user could buy was called a MINI computer. In terms of today's PC hardware and software, the MINI computer was a technological infant. Memory size and disk space were measured in kilobytes instead of gigabytes; and computer speed was measured in thousands of Hertz instead of billions.

The software required to run the MINI computer was arcane; and a user pretty much needed a background in computer science to use one. Nevertheless, there were visionaries at that time who understood the potential of the computer to change the way we work. One of these was David Woodley Packard, a professor of Classics at UCLA. Packard was interested in using the MINI computer for research and teaching in ancient languages, principally ancient Greek. Using knowledge he had gained from working with the computer system at UCLA, Packard designed a specialized time sharing system called Ibycus, which ran on Hewlett Packard hardware and displayed ancient Greek on computer terminals, something that had not been done before. To assist the development of applications on this system, Packard developed a specialized programming language called Ibex.

The author of Dmuse (Walter B. Hewlett) first became interested in computer applications in music in 1982. At that time, commercial software applications for the Humanities were practically non-existent. Most of the work being done in this area was confined to university research projects using large, centralized computing facilities. The author did not have access to these kinds of resources but fortunately was familiar with the progress that David Packard had made in creating a scaled down, affordable system for humanities research. He arranged to acquire an Ibycus system from David Packard, and this system turned out to be ideal for research applications in music. Its availability was one of the primary factors in the decision in 1985 to formally establish the non-profit Center for Computer Assisted Research in the Humanities (CCARH).

David Packard's Ibycus system was used at CCARH until 1989, at which time it was decided that the system needed upgrading. David Packard had already made the decision to abandon the outdated MINI computer hardware and to implement his next version of Ibycus on a dedicated personal computer which he designed and built himself and which he called the Baby Ibycus. Moving in a slightly different direction, we at CCARH decided to implement a stripped down version of the Ibycus interface, first on a UNIX workstation using X-Windows and later on a DOS based PC. We called this program "the Monster," because it ran all of our music software (written in David Packard's Ibex language) and also served as a complete working environment. Various features for displaying music were added to the Ibex programming language, but other features were dropped. In particular, the system lost its ability to display ancient Greek and other ancient alphabets. To distinguish the new language from the original, we coined the name Zbex.

We have been using a version of the Monster at CCARH since 1989. Until recently, we used it for all of our data entry, data storage, music typesetting and publishing, and music research applications. We also use it for running the Center. All of the financial operations of the Center -- check writing, book keeping, payroll and payroll taxes are done with Zbex programs running on the Monster. Most software development is done using the Monster's editor, and almost all research software is written in Zbex.

After a time, the need for a simple, easy-to-use program to display and print music from data in the MuseData formats became apparent. What was needed was a simple user interface to software already running in the Monster environment. Rather than design a completely new interface, we decided it would be easier to graft the music display and printing applications onto the existing Monster program. This improved version of the Monster was completed in 1995 and was given the name Dmuse.

From 1995 until 2006, the Dmuse environment remained basically the same and became quite stable over these years of use. But the world of computing changed radically during this same time period. The DOS operating system, upon which Dmuse was built, had become virtually extinct. Computer speed and memory increased more than 100 fold, and graphical interfaces were completely redesigned. These changes -- especially the death of DOS -- threatened to choke off Dmuse as a viable user interface. It was clear that Dmuse needed to be moved to a new platform. Our choice was Linux. The transfer of the Dmuse environment to Linux was completed in the fall of 2007. Dmuse for the Macintosh was released in the fall of 2010.

A Future for Dmuse

We believe that Dmuse could be a valuable asset to anyone wishing to use the computer for research in many branches of the Humanities, including but not limited to music. As people in the field of Classics are aware, David Woodley Packard's Ibycus system was highly successful for both teaching and research purposes and was instrumental in the development of the great databases of classical literature, the TLG at UC Irvine and the TLL at the Packard Humanities Institute and Yale University. These achievements not withstanding, the fact is that scholars have just barely scratched the surface of what computers can do to aid research in their disciplines. Each of today's PCs is 10,000 times more powerful than the big, multi-million dollar mainframes of the 1960's that sat behind glass walls at major universities. Yet in terms of research applications in the humanities, in most cases (Classics is an exception) we have not progressed very far from those days.

Dmuse is quite stable as a work environment. It is also a work in progress with new features being added every year. We cannot move forward on all fronts at once, so the decision about what we do next depends in large part on what you, the users of this program, would like to have. We recognize that there are many software alternatives available and that an environment like Dmuse will attract users only if it provides them with a superior set of tools and capabilities for whatever it is they are trying to do. We welcome your feedback.


Walter B. Hewlett

Stanford, CA

September, 2010