Class TestSoundfont

java.lang.Object
eu.bandm.sighkn.TestSoundfont

public class TestSoundfont extends Object
Reverse Egineering for Sample Player.
There is a spec for "Soundfont2", but not clear what the hundreds of fields really MEAN.
So here first attempts to DISPLAY them.
For background details see sig/doc/internal/recherche_java_linux_sound.d2d
Assume "gervil" being the default synthesizer and accessible.
HACK use "gervil" classes directly. MANY WARNINGS ("may be removed")

Positive: SF2Soundbank EN/DECODES a file vs. an object structure, in a seemingly canonical way; could be a little bit more abstract, imho.

  (SF2SoundbankReader extends javax.sound.midi.spi.SoundbankReader)
    |
  SF2Soundbank  (implements javax.sound.midi.Soundbank)
    |  getSamples() --> []SF2Sample                   
    |                          javax...SoundbankResource
    |                                    |           |
    |                          javax...Instrument    |
    |                                    |           |
    |  getInstruments() -->    []SF2Instrument       |              
    |                                                |
    |  getSamples() -->                        []SF2Samples (getEndLoop(), getDataBuffer())
    |
   
   Datenaufbereitung ist in SF2Instrument
    füllt eine "ModelByteBufferWavetable"
   
   Abspielvorgang ist in SoftAbstractResampler  <--- SoftLinearResampler
                                                <--- SoftLinearResampler2
                                                <--- SoftLanczosResampler2
   

    SoftResampler
     |
    SoftAbstractResampler  --> uses ModelWavetable
                                       | 
                               ModelByteBufferWavetable

 
Viele "spi" = "Service Provider Interfaces" sind UNTYPISIERT ("Object")
Alle Modifikationen werden extern über "addRessource()" gemacht und intern mit "instanceof" in verschiedene Listen verteilt.

See sig/doc/internal/recherche_java_linux_sound.d2d
  • Constructor Details

    • TestSoundfont

      public TestSoundfont()
  • Method Details