PRIZVUK: Music informatics
Culture of art audio software writing

This page is about writing audio software.

Software aimed at playing something may be written in several programming languages. Depending on the language, a software program may be compiled or interpreted.

In educative environments, with the objective of showing someone how something can work, or illustrate a scientific thesis, interpreted languages show advantage, for simplicity and making the machine immediately show the effect of programming.

In the art this may not be enough; it's not about knowing something can be done, but doing it as well. In audio software the task is furtherly aggravated by the fact that intensive sound making calculation happens in time, the result must be musically acceptable, certain and convincing. This has its price, which is showing in need for preparation, cautious choice of materials, methods and some extra work.

Compiled languages show advantage of compiled programs being few orders of magnitude faster than the interpreted programs, having strength of industrial tools. Few of these languages are being long enough in use, to become well known and have a a huge number of competent professionals constantly working on their improvement. Therefore compiled language show advantage in terms of writing audio software.

Among the living computer languages C is being favored, for being mature, ubiquitous, small and efficient. It performs well in terms of tradition and innovation, computing power and demands on the author, robustness and sophistication, reliability and real time control of programs. Vast majority of audio software and entire operation systems are written in C. Even specialized, musically oriented high level languages, such as Cmix or Csound use a C-reminiscent syntax and are rooted in C.

Herewith a few tutorials arranged in a workshop form are collected, using programming tools developed in C.