beep

mit debian gnu/linux bzw. ubuntu oder anderen unix artigen pc systemen lässt sich jede hörbare frequenz relativ exakt über einen beepton ausgeben, der als kleines feedback programm im basissystem angelegt ist, aber in höheren betriebssystemen erst aktiviert werden muss, da offenbar die meisten user von beep signalen während der arbeit in grafischer umgebung eher genervt sind.

es existiert eine datei in

/etc/modprobe.d/

die sich bei mir

alsa-base-blacklist.conf

nennt, und die sich mit einem texteditor bearbeiten lässt. diese blacklist enthält einen eintrag

snd-pcsp oder pcspk oder ähnlich

diesen eintrag müssen wir löschen oder am besten neutralisieren indem wir ihm duch das zeichen # als kommentar deklarieren, denn kommentare werden vom system ignoriert. der eintrag sieht also jetzt so aus

# blacklist snd-pcsp

jetzt müssen wir die datei abspeichern und nach dem nächsten systemstart ist das modul snd-pcsp aktiviert und die glocke der shell kann lärm machen.
das modul lässt sich ohne neustart einfach durch das kommando

modprobe snd-pcsp

bzw. pcspk aktivieren. all diese vorgänge erfordern root rechte und müssen also mit sudo oder in der rootshell ausgeführt werden, das bedarf hoffentlich keiner erklärung.

ist das kommando beep nicht vorhanden, kann es unter debian ubuntu und anderen debian systemen mit

apt-get install beep

nachinstalliert werden. das programm ist sehr klein, diese ergänzung dauert also nur ein paar sekunden.

das programm beep gibt dem user also jede hörbare frequenz aus, und es ist auch möglich die dauer des tones und andere parameter zu bestimmen.

beep -f 384

erzeugt das natürliche g mit der frequenz 384 Hz. es können auch nachkommastellen angegeben werden, die soweit von bedeutung sind, wie sie vom lautsprecher differenziert wiedergegeben werden können. das pc signal ist so exakt wie es die prozessoren berechnen können.

beep -f 303.407

ist also kein problem. es gibt kein vergleichbares programm, das so leicht und zuverlässig arbeitet, vorausgesetzt dass es arbeitet. mit windows geht das so einfach nicht, zumindest müsste man sich das selbst programmieren oder im netz suchen, auch viele handy apps, die ich kenne sind sehr ungenau und geben nicht mit sicherheit die richtige frequenz aus, zudem sind sie wesentlich komplexer und legen mehr wert auf downloadraten als auf tonqualität. auch apps zum frequenzen messen oder gitarre stimmen sind entweder sehr ungenau, auf bestimmte noten beschränkt oder werden relativ komplex, selbst wenn sie geld kosten. es gibt mit sicherheit auch brauchbare software, wenn dann das handy entsprechend die signale genau ausgibt und aufnimmt. also zum größten teil spielerei.

beep ist noch so oldschool, dass es tut was es soll und von natur aus sehr genau arbeitet. eben weil dieses programm maximal einfach ist, gibt es keine zusätzlichen fehlerquellen. das signal wird direkt vom prozessor berechnet und es besteht keine möglichkeit für andere instanzen diese ergebnisse zu verändern, sie werden sofort über den sound ausgegeben. das ist nicht sehr gewöhnungsbedürftig aber sicherlich eine besondere und neue erfahrung für normale user.

eine java app kann zahlen wie 384 Hz nicht unmittelbar als frequenz berechnen, da java eine virtuelle oberfläche ist und nicht über eine frequenzleistung verfügt. der takt wird vom system vorgegeben und kann nur in außergewöhnlichen fällen stetig sein. java errechnet also erst auf umwegen einen virtuellen ton, der dieser frequenz in etwa entspricht und gibt diesen wert an das grundsystem weiter. dieses errechnet aus dem java ton nun eine echte frequenz und gibt diese über einen lautsprecher als magnetische schwingung aus.
ich könnte also in java ein hochentwickeltes programm schreiben, das abhängig vom gerät und dem zugehörigen betriebssystem niemals und auch nicht für 1000000 euro eine eingegebene frequenz 303.407 auf dem lautsprecher mit einer schwingung von 303,407 herz ausgibt. das beste ergebnis wäre vielleicht 303,406758396 herz am lautsprecher, und das ist zwar nicht sehr ungenau, und wir würden den unterschied nie hören, aber es ist eben nicht unsere frequenz.
viele handy apps haben eine ungenauigkeit von mindestens 1 bis 2 herz manche sogar bis zu 10 herz und bei einzelnen hört sich der ton ganz anders an als erwartet.

beep ist gerade die beste methode genaue frequenzen als einfachen ton zu hören.