code: protected void doTremoloEffekt(ChannelMemory aktMemo)
  	{
  		int volumeAdd;
  		switch (aktMemo.tremoloType & 0x03)
  		{
  			case 1: volumeAdd = (Helpers.ModRampDownTable[aktMemo.tremoloTablePos]);	// Sawtooth
  					break;
  			case 2: volumeAdd = (Helpers.ModSquareTable  [aktMemo.tremoloTablePos]);	// Squarewave
  					break;
  			case 3:	volumeAdd = (Helpers.ModRandomTable  [aktMemo.tremoloTablePos]);	// Random.
  					break;
  			default:volumeAdd = (Helpers.ModSinusTable   [aktMemo.tremoloTablePos]);	// Sinus
  					break;
  		}
  
  		volumeAdd = (volumeAdd * aktMemo.tremoloAmplitude) >> 7;
  		aktMemo.currentVolume = aktMemo.currentSetVolume + volumeAdd;
  		aktMemo.tremoloTablePos = (aktMemo.tremoloTablePos + aktMemo.tremoloStep) & 0x3F;
  	}
docs: Convenient Method for the tremolo effekt
  @param aktMemo