Return to CDP Home Page
| Origins | Sample Script | Principal Features | Algorithmic Composition |
| List of Rules | Further Development | References | About the Author |
Origins
Tabula Vigilans (i.e., 'Vigilant Table') is an advanced algorithmic composition language. As a score processor, it can define and replay a huge range of possibilities, from completely conventional melodic and harmonic music to envelope-shaped multi-event textures with random features.
It is script-based, meaning that the user writes a text file which is C-like in nature. Many system, musical and mathematical rules can be called within the script, which also supports reading and writing data files, creating procedures whereby sets of modules can be created, MIDI In and MIDI Out, defining MIDI voices and channels, scheduling of events, etc.
Tabula Vigilans is a powerful and evolving tool ideal for composers with an interest in programming and in rule-based score generation.
Version 1.0 of the MIDI (only) Tabula Vigilans was made available to users through the Composers' Desktop Project from September 1994 on Falcon030 and later, PC platforms. It is sold as a separate, optional program. It comes with full manual in HTML with a frame-based indexing system (Browser supporting HTML 3.2 and above is needed).
To order Tabula Vigilans, see the Prices and Ordering sections under the Information heading.
Return to T.V. Information Buttons
Sample (elementary) script with comments
// - 'chords3.tv' //A Tabula Vigilans tutorial script //Effect: Chords are built from a series of intervals //taken from a file; these are then performed either //as chords or as up-or-downward arpeggios in short //sequences. The set of intervals selected can be //varied by using an additional commandline argument //(from 0 to 14). table CHORD[4] //define an array to hold 4 chords table INTVL[3] //define an array to hold 3 intervals start() { midiset 0, 0 // Piano INTVL fill_table "intvls", arg(1) // 'intvls' is a text data file CHORD[0] = 48 // start position is low C for(i = 0; i < 3; i+=1) { // FOR loop to build up 1st chord CHORD[i+1] = CHORD[i] + INTVL[i] // from the intervals in 'intvl' } while(1) { xx = try(midichord 0, CHORD[0], 64, 0.2, 4, arp) //midichord is a if(xx > 0) { // T.V. function involving MIDI Out if(CHORD[0] > 76) { // getting too high, so -= up = 0 } if(CHORD[0] < 30) { // getting too low, so += up = 1 } if(rand() > 0.94) { // rand() is a T.V. function wait 0.6 // randomly placed pauses } arp = round(rand()) // randomly activated 'arp'(eggios) swp = INTVL[0] // hard-coded swap routine INTVL[0] = INTVL[1] INTVL[1] = INTVL[2] INTVL[2] = swp if(up) { // if flag 'up' is 1, go up (+=) CHORD[0] += INTVL[0] } else { // if flag 'up' is 0, go down (-=) CHORD[0] -= INTVL[0] } for(i = 0; i < 3; i+=1) { // FOR loop to build up more chords CHORD[i+1] = CHORD[i] + INTVL[i] } } } }Return to T.V. Information ButtonsPrincipal Features
Return to T.V. Information Buttons
- it is a script-based language in which the user defines rules for the real-time generation of music
- some seventy or so music-oriented primitive rules can be combined to create rule-networks
- it supports recursive as well as normal control-flow features
- constraint rules permit some advanced compositional capabilities
- fuzzy logic and other artificial intelligence techniques are supported
- the program comes with a large number of example scripts designed to take the user from the simple to the more complex, and to illustrate strategies to achieve various musical objectives.
- there is a reference manual, which is presented in HTML format for on-screen use
Algorithmic Composition & Tabula Vigilans
Algorithmic composition can relate either to tone generation, or to score generation. In both instances, a complex of instructions is built up in a script and executed together, creating sounds and/or musical events. These can range from defined melodic sequences to arbitrarily complex musical textures. With algorithmic programming, a useful (and changing) balance point between the definite and the random can be achieved.
Tabula Vigilans is conceived like a musical spreadsheet in that it 'recalculates' the page at machine speed. This means that any variable or combination of variables can be updated at any time. Thus the script is completely dynamic, and any form of time-varying change can be woven into the music as it unfolds in real-time. Tabula Vigilans is therefore aptly described as a real-time performance instrument.
This makes it particularly useful for handling the information that controls 'expressiveness' in music. In MIDI, this means MIDI controllers, alterations in velocity (loudness) etc.
More advanced applications could define higher level musical formal elements, texture types, generic motivic shapes, stylistic and expressive features. For those with some programming experience, it opens up an endless vista of possible projects all with immediate musical feedback. It thus provides a way to move beyond tone generation to score generation and the higher level concepts of musical organisation.
Tabula Vigilans can be proving ground for engineering as well as musical ideas. It can be particularly useful for exploring and developing pre-compositional material.
Yet another application is to create Csound score files incorporating algorithmic processes. This score file is then used by Csound (together with an independently created orchestra file) to produce audio output.
Overall, Tabula Vigilans as with other software with algorithmic features offers a way forward into a truly 21st century approach to musical exploration.
Return to T.V. Information Buttons
Further Development
Since 1994 the author has undertaken several applications employing Tabula Vigilans. A few of these are listed below. In addition, the extension of Tabula Vigilans into the audio domain using MIDAS has begun. This has required the design of an extended language for sound synthesis and processing rules for oscillators, filters, etc., and in some cases the design of special purpose unit generator processes. Examples of the latter are the grain and stream rules for granular synthesis generation, which was implemented in 1997 as part of a work-package illustrating the feasibility of the MIDAS-Tabula Vigilans paradigm for electroacoustic music. Future plans focus on extending and completing the audio language aspect of Tabula Vigilans so that it will provide a modern, accessible language for electroacoustic composers within an efficient synthesis and signal-processing environment.Return to T.V. Information Buttons
References
Papers:
- Orton, R. and Kirk, P.R. (1992) 'Tabula Vigilans.' Proceedings of the International Computer Music Conference 1992 pp 243-246. San Francisco: International Computer Music Association.
- Orton, R. (1993) 'Musical Applications of the tabular manipulations in Tabula Vigilans'. Chroma, Journal of the Australian Computer Music Association.
- Kirk, R., Orton, R. et al. (1994) 'Evolution of Timbres through the use of Tabula Vigilans on the MIDAS system.' Contemporary Music Review, Vol. 10 part 2, ed. Simon Emmerson pp 201-209. Harwood Academic Publishers, Switzerland, 1994.
- Orton, R. (1996) 'Design Strategies for Algorithmic Composition'. Contemporary Music Review, Vol. 15, Parts 3-4, pp. 39-48. Harwood Academic Publishers, Amsterdam, 1996.
- Orton, R. (1998) 'Choice and Chance in Algorithmic Composition'. Paper delivered at the Workshop on Compositional Use of Computers, University of Limerick, 1998.
Compositions:
- Orton, R. (1993) Timeshadows. Tabula Vigilans composition first performed at the Australian International Symposium on Computer Music, Sydney, 1993.
- Orton, R. (1994) Ceci n'est pas un Orchestre. Tabula Vigilans composition first performed at the 'Sound Encounters' Festival of new music, Cleveland, Ohio, 1994.
- Orton, R. (1995) Gloria, for keyboard and Tabula Vigilans. First performance, York 1995.
- Orton, R. (1996) Stellations, for String Orchestra. Commissioned by the European Community Chamber Orchestra. First performance, 1996. (Score composed with the aid of Tabula Vigilans).
Return to T.V. Information Buttons
The Author
Richard Orton, born Derby, England in 1940, graduated fromSt. John's College, Cambridge with MA and B.Mus degrees. He began teaching at the University of York's Music Department in 1967, and established the country's first electronic music studio there. He initiated courses in electroacoustic music and later in computer music composition, and with colleagues in the Department of Electronics founded postgraduate and undergraduate courses in Music Technology. He then became Emeritus Reader of the University and is an active member of the York University Music Technology Research Group. Throughout his career he has been active as a composer, with over fifty works of vocal, instrumental, orchestral as well as electroacoustic and computer music to his name. These include the hour-long electroacoustic Timescape, composed for performance in the 1984 York Festival, a Guitar Concerto, Icarus for solo violin and recorded tape, two String Quartets and Stellations for String Orchestra. He has twice accepted invitations to undertake international composer residencies, in Adelaide, Australia and at the University of Illinois at Urbana-Champaign. He is a founder-director of the Composers' Desktop Project, for which he has written much compositional software. His latest software project is a system for algorithmic composition called Tabula Vigilans, which has been used by a number of composers for their works.Return to T.V. Information Buttons
Return to CDP Home Page
Last updated: 4 September 2002