Just a quick list, incomplete and vague at times. They should be treated as starting points ==John ffitch ======================================================================== Area: MUSIC PROJECTS ============== 4. UPIC CLONE Prereq: C programming; knowledge of graphics and music useful. A clone of UPIC or HyperUPIC, an interesting graphics-to-music systems designed by Iannis Xenakis. 5. IBSEN Prereq: C programming; knowledge of graphics and music useful. IBSEN is a spectral language which I have been considering for some years. It could involve graphics. 10. CSOUND GUI Prereq: C programming; knowledge of music and graphics useful. A graphical system to assist a sound designer in creating sounds. Mainly involves drawing graphs, cleaning them and representing them well, saving and restoring, on X. 11. SOUND FILER AND EXTRACTOR Prereq: C programming; knowledge of music and/or databases useful. Sounds are difficult to classify. However some recent work has suggested a simple and useful way of classifying samples so they can be retrieved by example. Develop this into a portable system for Csound. 12. ORCHESTRA ORGANISER Prereq: C programming; knowledge of music useful. The Csound synthesiser language would be greatly improved with an orchestra assembler and organiser. The simple form would be for MIDI, but a good program would go much further. 13. SOUND UNDERSTANDING Prereq: C programming; knowledge of Music useful Understanding a street scene is extremely hard. However if the input sound is simple (monophonic music, known tuning) it may be much easier. Investigate whether simple melodies can be understood from synthetic sources, and develop 16. CSOUND GUI PROJECT Prereq: Knowledge of parsing, XML Csound is usually considered to be hard to learn. Some people advocate a graphical front-end, but that is also restrictive. Using the Diag program, develop an abstratc XML representation, so editing can be via graphics or via text editing. 27. FILTER DESIGN Prereq: C programming; Music/DSP useful Turn Meteor or Ellf filter design program into a useful program, preferably generating Csound filters 28. INSTRUMENTS WITH UNDERSTANDING Prereq: C programming; Music/DSP useful There is a desire for instruments in csound that understand their amplitude response, pitch response etc. The project is to devise instrumentation systems to scale instruments for use in the performance agent system 29. DIGITAL DRUM Prereq: C or C++ programming; Music/DSP and mathematics useful There is a model of a drum based on digital waveguides which was developed by Marc Aird. This model needs a reference implementation of a tom-tom drum using a stiff membrane model with damping and interaction with the exciter. 30. ALGORITHMIC COMPOSITION Prereq: Musical knowledge Construct programs to compose music in any one of the myriad of styles. Possibilitiesd include jazz-improvisation, free jazz, harrmonisation, orcheatration, dance music, chaotic structures...... 31. TABLA RHYTHMS Prereq: Knowledge of Indian music theory, love of Hindustani music or interest in it The tabla (North Indian drums) have a particularly strong theoretic system with in which the performer improvises. There are fixed patterns (Tikhas), fixed compositions (Kayeda), as well as starts (Mukha) and endings (Tihai). Working from one taal (I would recommend Tintaal) write software to create valid patterns. (with apologies for my Hindi/Bengali spelling) 31. SONNIFICATION (I) Prereq: Numeracy The ear is very sensitive, and it can be used to understand data. Sonnification is the process of constructing sound from (large) data sets. Mapping the numbers to sounds can be challenging, but the idea is to allow different flights through the data. 31. SONNIFICATION (II) Prereq: not much Similar to the previous project idea, but take pictures -- 2D computer pictures for example -- as the input data 32. PSYCHOACOUSTICS DEMONSTRATOR Prereq: Music or psychology would be useful There are a number of known ways in which the ear can be tricked into hearing what is not the case. Write a set of programs to show these effects, and test them on a set of fellow-students to show that they work (or otherwise) A starting point is the work of Diana Deutsch which is in the library. Area: MISCELLANEOUS ============= 18. EMACS MAIL ORGAINSER Prereq: Knowledge of LISP, especially emacs LISP I read mail in emacs using the long-standing RMAIL format. This allows messages to be labelled with tags, and displayed via tags. I have a draft program to organise tags, count messages with each tag etc. The project is to take this program and tidy it up, and extend with new organisational features. 23. A GENERIC PROJECT SYSTEM Prereq: C programming. UNIX and Emacs helpful On PCs and Macintoshes one expects compilers to have a user interface which integrates the roles of Makefile, editors and browsers. Construct a similar system for UNIX, using Emacs as the unifying system. Initially it must deal with C, although the design should extend to other languages.