Applausometer

Irgendwann kommt der Tag, da braucht man ein Aplausometer! Bei Ida Nowhere sollte der Super-Singer-SongWriter-Contest steigen. Eine faire Auswertung der Publikumsregungen wäre ohne Aplausometer nicht möglich gewesen! Leider sind nicht alle Künstler gleich ehrlich und manche jubeln selbst ordentlich mit um mehr Punkte abzusahnen.

Applaus Applaus!

Setup:

  • Computer
  • Bildschirm
  • Mikrofon an der Decke
  • Tastatur

Tastenkürzel:

  • Leertaste: Pause an/aus
  • C calibration starten
  • N neue Messung
  • S Messung speichern (Name wird abgefragt und mit dem Applauswert in der Datei scores.txt gespeichert)

Download:

Source:

Die „Magie“ geschieht quasi zur Laufzeit:

public void run()
	{

		byte[]	abBuffer = new byte[m_nExternalBufferSize];
		
		int	nBufferSize = abBuffer.length;		
		
		m_bRecording = true;
		while (m_bRecording)
		{
			while (pause) {
				m_targetLine.read(abBuffer, 0, nBufferSize);
				panel.updateAplause(false);
			}
			
			 m_targetLine.read(abBuffer, 0, nBufferSize);
			
			 if (calib < 99) {
				 for (int j = 0; j < abBuffer.length-1; j+=2) {
						
						pegel = (pegel*(1-gewichtung))+(Math.abs((abBuffer[j+1]<<8)+abBuffer[j]) * gewichtung);
												
						grundrauschen += pegel;
						
					}
				 calib++;
				 grundrauschen = grundrauschen / ((abBuffer.length) / 3.0);				 
			 }
			 else for (int j = 0; j < abBuffer.length-1; j+=2) {
											
						pegel = (pegel*(1-gewichtung))+(Math.abs((abBuffer[j+1]<<8)+abBuffer[j]) * gewichtung);
						
						aplause += Math.max(( (pegel - grundrauschen) / (grundrauschen) ), 0);
						
						if (j%10 == 0) {
							panel.updateAplause(aplause);
						}
												
					}
		}
	}