code: protected void doVibratoEffekt(ChannelMemory aktMemo)
  	{
  		int periodAdd;
  		switch (aktMemo.vibratoType & 0x03)
  		{
  			case 1: periodAdd = (Helpers.ModRampDownTable[aktMemo.vibratoTablePos]);	// Sawtooth
  					break;
  			case 2: periodAdd = (Helpers.ModSquareTable  [aktMemo.vibratoTablePos]);	// Squarewave
  					break;
  			case 3:	periodAdd = (Helpers.ModRandomTable  [aktMemo.vibratoTablePos]);	// Random.
  					break;
  			default:periodAdd = (Helpers.ModSinusTable   [aktMemo.vibratoTablePos]);	// Sinus
  					break;
  		}
  		
  		periodAdd = ((periodAdd<<4)*aktMemo.vibratoAmplitude) >> 7;
  		setNewPlayerTuningFor(aktMemo, aktMemo.currentNotePeriod + periodAdd);
  		
  		aktMemo.vibratoTablePos = (aktMemo.vibratoTablePos + aktMemo.vibratoStep) & 0x3F;
  	}
docs: Convenient Method for the vibrato effekt
  @param aktMemo