Es gibt auch PC ohne den klassischen PC-Lautsprecher und der beep geht aber trotzdem. Mir war nicht bekannt das das nicht bei allen ohne den PC-Lautsprecher so ist weil es zufällig bei meinen so geht.

Die von Dir angegebene Funktion wird so nie eine MP3 Datei oder ähnliches spielen können. Die Sounddateien sind Digitalisierte Spannungsverläufe und keine Noten. Ein kleiner aber wichtiger Unterschied.

Da der Raspi mit dem aplay oder dem von Dir genannten omx Sounddateien spielen kann muss die Lib die Du suchst bereits auf dem System vorhanden sein. Ich verstehe jetzt nicht warum Du nicht einfach mal den Sourcecode der Programme anschaust wie die das machen. Es gibt für Linux hunderte an offenen Programmen die Töne nach allen Arten machen man muss halt bereit sein auch mal irgendwo rein zu schauen. Wenn einem das zu viel Arbeit ist besteht halt noch die Möglichkeit mit dem exec einen externen Player zu bemühen damit der das Spielen übernimmt. Dabei muss man halt per Software die gewünschten Töne errechnen im einfachsten Fall mit der Sinusfunktion. Das ist auch nicht die schlechteste Lösung weil Du in Deinem Programm dann auch diese Funktion nicht pflegen musst. Nebenbei ein recht gängiger Weg in der gesamten UNIX/Linux Welt.