code: public void init(){
          if(!initiated){
              try {
                  AL.create();
                  //init the listener
                  FloatBuffer listenerOri = BufferUtils.createFloatBuffer(6).put(
                          new float[]{0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f});
                  FloatBuffer listenerVel = BufferUtils.createFloatBuffer(3).put(
                          new float[]{0.0f, 0.0f, 0.0f});
                  FloatBuffer listenerPos = BufferUtils.createFloatBuffer(3).put(
                          new float[]{0.0f, 0.0f, 0.0f});
                  listenerPos.flip();
                  listenerVel.flip();
                  listenerOri.flip();
                  AL10.alListener(AL10.AL_POSITION, listenerPos);
                  AL10.alListener(AL10.AL_VELOCITY, listenerVel);
                  AL10.alListener(AL10.AL_ORIENTATION, listenerOri);
                  //init streamer
                  musicStreamer.init();
                  //pregenerate sound sources
                  int validSources = 0;
                  for(int i = 0; i < MAX_SOURCES; i++){
                      SoundSourceEntry e = new SoundSourceEntry();
                      AL10.alGenSources(e.sourceId);
                      if (AL10.alGetError() == AL10.AL_NO_ERROR) {
                          sources.add(e);
                          validSources++;
                      }
                  }
                  logger.log(Level.INFO, "SoundEngine initiated with {0} sources", validSources);
                  initiated = true;
              } catch (LWJGLException ex) {
                  logger.log(Level.WARNING, "Initiating sound engine", ex);
              }
          }
      }
docs: <editor-fold defaultstate="collapsed" desc="SoundEngine">