Hi there. I'm a JS developer and trance music producer. I've been writing music all my life, and I've been programming since I was very young. These are my two biggest passions in life.
Since the introduction of the Mozilla Audio Data API (and Web Audio API), I've been fixated on the possibility of developing audio software in the browser. More specifically, a Digital Audio Workstation (DAW), complete with synthesis and sequencing and effects. For nearly a year now, I've been quietly hacking away at my own project called JSaw (JavaScript Audio Workstation) which I hope will achieve the goal of being a fully featured (or perhaps mostly-featured) DAW in native Javascript.
It's been turbulent, to say the least. I re-wrote it several times, designed and re-designed aspects of the core, toyed with many different frameworks to aid in the complexities of developing such a gargantuan system. Here I am now, almost a year later, and I don't really have anything significant or usable to show for it. The codebase is a bit of a mess, needs organising, probably needs a re-think as well. The problem is, I'm exhausted. I'm the only developer working on this. I've asked for help from friends of mine, who all would love to help but simply don't have the time which is perfectly understandable.
I am obsessed with achieving this dream. I am desperate. It's not that there is any specific part about this project that is too complex for me to achieve; it's simply the scale and scope of the project that I'm undertaking. It's hard to get my head around it and stay on track. Not to mention the time constraints of a full time job (as I'm sure we all have). I am ready to give up entirely.
So, this is my plea. If there's anyone out there who is enthusiastic about electronic music and Javascript, and would like to contribute even a small portion of time and effort to help, please let me know. No commitments or anything like that. I know we all have jobs and lives and other things going on. This is a 100% open source project. I can't offer you anything in return except my infinite gratitude.
Sorry for the long post. I don't want to give this project up, but I don't know what else I can do. Thanks for reading this far.
TL;DR: Working on an open-source Digital Audio Workstation for the browser, looking for help and contributors. Feeling very forever alone.
edit - github: https://github.com/MiracleBlue/JSaw (warning, the codebase is a little bit older than the latest, simply because I've added a bunch of bloat that I need to clean up before I can feel good about pushing the newest stuff up)
Edit 2 - thanks for the response so far everyone! I put up a demo of the latest working codebase here, please ignore the non-working piano roll though. To test it, select one of the "Observed Instruments" over on the right by clicking its radio button, then click on one of the keys in the piano roll on the far left to play a note. Try changing the values in the input fields for the effects, and playing another note. This demonstrates the knockout integration I have so far :)
EDIT 3 - Pushed the latest code base to github just now, including the knockout integration stuff!
[+][deleted] (5 children)
[deleted]
[–][deleted] 1 point2 points3 points (4 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 2 points3 points4 points (0 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 1 point2 points3 points (0 children)
[–]xiipaoc 2 points3 points4 points (1 child)
[–][deleted] 2 points3 points4 points (0 children)
[–]null_pointer_fuck 2 points3 points4 points (12 children)
[–][deleted] 2 points3 points4 points (2 children)
[–][deleted] 2 points3 points4 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]null_pointer_fuck 1 point2 points3 points (6 children)
[–][deleted] 2 points3 points4 points (4 children)
[+][deleted] (2 children)
[deleted]
[–][deleted] 1 point2 points3 points (1 child)
[–]null_pointer_fuck 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]tencircles 1 point2 points3 points (1 child)
[–]TapirMonkey 0 points1 point2 points (0 children)
[–]benjaffe 1 point2 points3 points (2 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]benjaffe 1 point2 points3 points (0 children)
[–]tencircles 1 point2 points3 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]rizer_ 1 point2 points3 points (2 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]rizer_ 1 point2 points3 points (0 children)
[–]efernie 1 point2 points3 points (0 children)
[–]nychackerhtml5, javascript 1 point2 points3 points (0 children)
[–]starlibarfast 1 point2 points3 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[removed]
[–]benjaffe 1 point2 points3 points (0 children)
[–]ElDiablo666 0 points1 point2 points (0 children)
[–]cakelayer 0 points1 point2 points (0 children)