| I've download the Java Sound API 0.86.
I'm a computer musician, I've had pieces played at the ICMC and in New York
loft concerts, I've had an article published in CMJ and presented twice at
the ICMC. My most most recent was a paper on Silence, my system, written in
Java, for doing algorithmic composition and synthesis. You can find out
about this stuff at http://www.pipeline.com/~gogins if you want. Silence
currently uses Csound (via a Java interface I wrote) as its software
synthesizer.
My needs, or desires, or whatever, are drastic. I want low-level,
high-quality, low-latency input and output for MIDI and for audio, with the
ability to overdub and multi-track. Low-level means reading and writing
individual event fields or sample frames. High-quality means up to 24 bit,
96 KHz audio in multiple channels (for now, CD quality is good enough).
Low-latency means 10 millisecond round trips or better.
I can't tell you how much time I've spent writing the same code over and
over on different platforms: MIDI file management, audio file management,
MIDI input and output, blah blah blah...
My inititial impression of the API is that Sun is not quite sure who the
market might be for it. Certainly, the initial reference implementation does
not fit my bill. There is no MIDI input at all. There is only one MIDI
synthesizer (Headspace). I haven't done enough testing to see whether it's
realistic to record CD quality audio or to overdub it. But I will test that.
Is this a toy, or is it for the Web, or is it for consumer computer audio,
or for games, or for music development, or what?
On the other hand, there is no other API that PROMISES so much. I've already
(in a couple hours) gotten as far as querying devices for capabilities and
programmatically outputting realtime MIDI to the synth. If the API was
filled out as I desire, I would need no other. The separation of layers
looks right to me. The names are clear and the API appears neither too
complex nor too simple. This infrastructure stuff is always the most
difficult part of computer music. I could add a Java synthesizer to Silence
to supplement or even replace Csound. I could write new music apps quickly,
concentrating on the music part.
I'd appreciate some feedback on the intended market and future support. Is
there going to be pro quality audio? Is there going to be performance
quality latency? What is the intended market? If there are no firm plans to
support pro quality then I will spend my time elsewhere. Otherwise, I'm
quite excited and would proceed to integrate Java Sound into Silence.
I will continue to provide feedback to you as I proceed to test areas
important to me. Next is to see whether I can write WAV soundfiles (I
already have my own class for that, I want to see how yours compares).
But one thing's already clear to me: you need MIDI input with reasonably low
latency.
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html |