Joe Meadows - 2016-05-24

JamSpace endeavors to provide full-featured digital audio workstation (DAW) capabilities in a web-based application. The Web Audio API (which is still being defined but is supported by many modern browser) provides a vital piece of the picture, the ability to record and play digital audio with low-latency and no external plugins. Prior to this development recording from a web page was only possible by using a Flash application, Java applet etc. The Web Audio API eliminates this requirement (and the associated security concerns) and provides a consistent API that is cross-platform and device independent.

Though the ability to record audio directly in the web browser is a crucial element to this project, it is only a raw capability that must be wrapped in a framework that supports the ability to edit, save and share compositions. Another key goal is to provide features that enable fine-grained control over who may access a project and what privileges are granted. Some project creators may wish to share everything with everyone, others may wish to keep things private as they work on songwriting, band practice, music lessons and so forth.

Currently a lot of the rocket science has been figured out and implemented, but there is still so much work to be done in order to turn this into a useful (and usable) system. JamSpace uses a client/server model. The server is written in Java and the client controls the server by using REST APIs. At this point the most useful client is a web browser, but any client that can speak REST will be able to work the server.

I am in the process of getting things set up here in SourceForge in the hope of finding a few collaborators to share in the work and the glory. In the meantime feel free to poke around the site. The current user interface is rather icky, it is not much more than a test environemnt for the backend server where most of the work has gone.

TODO
In the days ahead I plan to:
Document the current state of the project
Document the architecture as it stands today
Publish source
Identify what I see as the priorites to work on

Cheers!
Joe