title: Software Synth Library for Java
body: <p>I've been thinking a lot lately about a music-oriented project I'd like to work on. Kind of like a game... kind of like a studio workstation (FL Studio, Reason).</p>
  
  <p>I guess the best way to describe it would be: like "Guitar Hero", but with no canned tracks. All original music--composed by you, on the fly--but the software would use its knowledge of music theory (as well as some supervised learning algorithms) to make sure that your input gets turned into something that sounds great.</p>
  
  <p>It sounds a little silly, explaining it like that, but there ya go. It's something I think would make an interesting side project.</p>
  
  <p>Anyhow, I'm looking for a Java library for generating the actual audio. Browsing around on sourceforge, there are countless software synths, and I have no idea which to choose.</p>
  
  <p>My top priority is that it should sound incredible... Really rich, layered, textured synths, with gobs of configurable parameters. Emulation of acoustic instruments is not important to me.</p>
  
  <p>My second priority is that it ought to be straightforward to use strictly as a library, with no GUI involved at all. (If there's a synth with really breathtaking output, but it's tightly-coupled with a GUI, then I might consider ripping the audio portion out of the application, but I'd rather start with a nicely contained library).</p>
  
  <p>I know I could send MIDI to a standalone synth, but I think it'd be cool to read the actual synth code and learn a little DSP while I'm at it.</p>
  
  <p>Any suggestions?</p>
  
  <p>Oh yeah, I'm on Windows, so posix-only stuff is a no go.</p>
  
  <p>Thanks!</p>