Flexatone HFP
Icon
  • System Detail

System: Haskore

Authors

Description

Haskore is a collection of Haskell modules designed for expressing musical structures in the high-level, declarative style of functional programming. In Haskore, musical objects consist of primitive notions such as notes and rests, operations to transform musical objects such as transpose and tempo-scaling, and operations to combine musical objects to form more complex ones, such as concurrent and sequential composition. From these simple roots, much richer musical ideas can easily be developed. Haskore is a means for describing music---in particular Western Music---rather than sound. It is not a vehicle for synthesizing sound produced by musical instruments, for example, although it does capture the way certain (real or imagined) instruments permit control of dynamics and articulation. Haskore also defines a notion of literal performance through which observationally equivalent musical objects can be determined. From this basis many useful properties can be proved, such as commutative, associative, and distributive properties of various operators. Analgebra of music thus surfaces. In fact a key aspect of Haskore is that objects represent both abstract musical ideas and their concrete implementations. This means that when we prove some property about an object, that property is true about the music in the abstract and about its implementation. Similarly, transformations that preserve musical meaning also preserve the behavior of their implementations. For this reason Haskell is often called an executable specification language; i.e. programs serve the role of mathematical specifications that are directly executable. Building on the results of the functional programming community's Haskell effort has several important advantages: First, and most obvious, we can avoid the difficulties involved in new programming language design, and at the same time take advantage of the many years of effort that went into the design of Haskell. Second, the resulting system is both extensible (the user is free to add new features in substantive, creative ways) and modifiable (if the user doesn't like our approach to a particular musical idea, she is free to change it). In the remainder of this paper I assume that the reader is familar with the basics of functional programming and Haskell in particular. If not, I encourage reading at least A Gentle Introduction to Haskell [HF92] before proceeding. I also assume some familiarity with equational reasoning; an excellent introductory text on this is [BW88].

“The use of computers is the logical outcome of a historical development. It by no means heralds a new musical epoch; it simply offers a fast, reliable and versatile means of solving problems that already demanded solution. The person who writes the computer programme must bear the development of musical language up to the present in mind, and try to advance a stage further.”

(Full citation)

“Composers are now able, as never before, to satisfy the dictates of that inner ear of the imagination. They are also lucky so far in not being hampered by esthetic codification -- at least not yet! But I am afraid it will not be long before some musical mortician begins embalming electronic music in rules.”

(Full citation)

“The computing machine is a marvelous invention and seems almost superhuman. But in reality it is as limited as the mind of the individual who feeds it material. Like the computer, the machines we use for making music can only give back what we put into them.”

(Full citation)

“... and the hope of an extraordinary aesthetic success based on extraordinary technology is a cruel deceit.”

(Full citation)

“Music is then no longer primarily conceived as a guide for premeditated emotions, but as the density of the possible relationships which first become actuality during production under the influence of chance, and which during performance are presented to the listener as sounds beyond any environmental associatiations, independent of bodily actions required to produce sounds...”

(Full citation)

“... the use of numerical machines no longer stands in need of justification. It is not a mystery. If there is a mystery, it is in the mental structures of music and not in the computers, which are only tools, extensions of the hand and the slide rule.”

(Full citation)

“The danger is great of letting oneself be trapped by the tools and of becoming stuck in the sands of technology that has come like an intruder into the relatively calm waters of the thought in instrumental music.”

(Full citation)

“The characteristics of every sound depend on the way in which the sound was produced. Each art-form exploits its special production methods in order to endow the phenomena with unmistakable characteristics. Artistic economy demands that the means be appropriate to the end, and that the exploitation of the means be an end in itself.”

(Full citation)

“With the development of electronic and computer music, multidemnsionality of sound representation turned out to be both natural and useful. But music goes beyond multidimensionality -- it is even more complex.”

(Full citation)

“... the individual and the society are deprived of the formidable power of free imagination that musical composition offers them. We are able to tear down this iron curtain, thanks to the technology of computers...”

(Full citation)

“... but beware, technique can submerge the user: We must defend ourselves; it is good to use techniques, but we have to dominate them, to stay alert.”

(Full citation)