[Audio-engine-dev] Gervill 0.2

Florian Bomers javasound-dev at bome.com
Fri Oct 12 02:06:21 PDT 2007


Hi Alex,

good points. some notes:

> To make new functionality available we should add new interface to 
> javax.sound.midi (Synthesizer2 or something like this) which will 
> extends standard Synthesizer so developers could use new functionality 
> via _standard_ interface.

yes, I propose "SoftwareSynthesizer" as presented in my previous
email in this thread.

> As a 1st step I suggest to create such interface in com.sun.media.sound 
> package, and them move it to javax.sound.midi.

I don't see an advantage for going in 2 steps, I'd prefer to put
it in javax.sound.midi directly.

> So we need to determine which methods should be included in the extended 
> interface.
> As for me the main method is setMixer(javax.sound.sampled.Mixer) (I'm 
> not sure about SourceDataLine - other implementations can require 
> several lines).

yes, see my proposal for that.

> Ability to specify preferred AudioFormat, Latency & Polyphony is a good 
> feature, but most likely it should be optional.

I'd suggest to add "properties" for advanced functionality,
similar to AudioFormat's properties, except that they can be set
after instanciation.

> BTW do you think selecting from several resamplers is useful feature? 

yes, very useful. E.g. for realtime playback, a linear
interpolator will be enough (for the sake of compatiblity, CPU
usage, etc.). But for a software that renders MIDI files to disk
(e.g. by using the setOutputStream() method of my proposal),
quality matters more than realtime performance.

> If somebody wants to capture synthesizer outputs, he will implement 
> simplest Mixer and set it as output mixer for the synthesizer.

I think a way of directly grabbing the synth output by way of
OutputStream (or AudioInputStream, maybe better) will be more
versatile and more Java like.

> 3. Why the synth support only single receiver? (look at 
> com.sun.media.sound.AbstractMidiDevice for example of multi-recevers 
> implementation).

yes, should support multiple receivers.

Florian


> 4. WaveFloatFileReader: it seems to me that the class is not used anywhere.
> 
> 5. LargeSoundbankReader: what use cases you see for it? (as far as I see 
> from the code, currently its feature is not used anywhere)
> 
> Regards
> Alex
> 
> 
> Karl Helgason wrote:
>> Hi,
>>
>> I have updated the midi synthesizer:
>> http://sourceforge.net/project/showfiles.php?group_id=175084&package_id=246500
>>
>> - Large format support.
>> - Fix SoundFont modulator mapping.
>> - Fix handling of unsigned 16 bit streams
>> - Improved GUS patch support
>> - Add support for ping-pong/bi-directional and reverse loops
>>
>> regards
>> Karl Helgason
>> _______________________________________________
>> audio-engine-dev mailing list
>> audio-engine-dev at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/audio-engine-dev
> _______________________________________________
> audio-engine-dev mailing list
> audio-engine-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/audio-engine-dev
> 
> 

-- 
Florian Bomers
Bome Software

-------------------------------------------------------
Music Software, Development Tools:  http://www.bome.com
Java Sound extensions, plugins: http://www.tritonus.org
The Java Sound Resources:    http://www.jsresources.org
-------------------------------------------------------
Please quote this email in your reply. Thanks!




More information about the audio-engine-dev mailing list