warning: preg_replace_callback(): Requires argument 2, '_decode_entities("$1", "$2", "$0", $newtable, $exclude)', to be a valid callback in /home/tuvap/tu.linuxaudiosystems.com/includes/unicode.inc on line 345.

Project Ideas

Below you will find a handful of ideas for projects that might be appropriate for some of the participants in my two seminar courses. These are not intended to be definitive, exhaustive or even recommended project descriptions. I may add more ideas here over the next week. Read more for details ...

Practical Information

Contacting Paul Davis: paul@linuxaudiosystems.com

Office: EN323 (next to the large studio), 10:00 - 17:30 typically

Diversions and Playthings

There's not much here yet, but everybody should at least know about:

  • MusicThing - if its a music thing that isn't a normal music thing, it belongs on MusicThing
  • Create Digital Music - sometimes a bit DJ-centric but a great source of interesting new combinations of off-the-shelf software and home-brew hardware (and software)

Digital Audio Workstation Design & Implementation

This seminar will cover some of the low level details involved in implementing a digital audio workstation (such as Ardour), but potentially applicable to any moderately complex audio software. We will examine some or all of: basic audio I/O, MVC design, multithreading and the use of parallelism, realtime and lock free programming techniques, filesystem design and use questions, questions about time and timekeeping, undo/redo, and various abstractions commonly used in this sort of program. Attendees will find themselves more able to understand and contribute to real-world audio software. Our focus will be software architecture rather than signal processing.

Building Tools For Musicians

This seminar will examine the roles that software tools can and do play in many different kinds of musical composition, creation and recording, and ways to construct them. We will consider the differing categories of potential users and aspects of the sociology of software development before moving onto more technical issues (and possible implementations).

Syndicate content