Audio Aufnahme
-
Moin,
Ich benötige eine Bibliothek um von der Audio-Schnittstelle Ton aufnehmen und auswerten zu können. Angeschlossen wird ein (elektrisches) Musikinstrument und ausgewertet werden soll die primäre Tonfrequenz.
Das Programm soll vorerst auf Unix/Linux laufen, aber es wäre sehr schön, wenn man es auch auf Windows portieren könnte. Gut wäre auch, wenn das Anbinden anderer Programmiersprachen möglichst einfach ist und die Abhängigkeiten gering bleiben.
Bei meiner bisherigen Suche bin ich hauptsächlich auf ziemlich Systemnahe Dinge gestoßen (direkte Systemaufrufe) oder auf vollständige Programme zum Aufnehmen.
Es sind alle Vorschläge willkommen, ich kenne mich in diesem Bereich überhaupt nicht aus.
-
Audio aufnehmen geht mit Java ziemlich schmerzfrei und plattformunabhängig.
-
-
ich benutz gerne www.portaudio.com.
Wird z.B. auch von Audacity verwendet.Gruß
-
Vielen Dank für alle Vorschläge bisher. Das sieht doch schon sehr gut aus. Was ich noch vergessen habe zu erwähnen ist, dass die Möglichkeit offen bleiben muss, die Software später unter einer freien Lizenz zu vertreiben. Am besten ohne Copyleft, aber mit wäre auch nicht so schlimm.
Da fällt Java dann leider raus, da die freien Implementierungen nicht immer ideal und zudem rechtlich unsicher sind (insbesondere nach dem Fall Oracle vs Google um Dalvik). Mal abgesehen von meinem fehlenden Know-How könnte es auch noch schwer werden andere Programmiersprachen anzubinden, außer wenn man sie zu JVM Bytecode übersetzt.
Phonon ist in erster Linie zur Audio-Ausgabe gedacht und nach einem Blick in die (sehr gute) Dokumentation scheine ich dann ein "QIODevice" selbst implementieren zu müssen, was das Problem eigentlich nur nach hinten schiebt. QtMultimedia wäre durchaus brauchbar, aber nach einigen Nachforschen scheint dieses Modul erst mit Qt 4.8 wieder in Qt aufgenommen zu werden. Dabei wäre Qt sehr praktisch, weil ich ohnehin ein GUI Toolkit brauchen werde.
OpenAL hatte ich mir vorher schon angeschaut, aber die Beschreibung auf deren Homepage hat ausdrücklich klar gemacht, dass es in erster Linie dafür da ist, um Audio-Ereignisse im dreidimensionalen Raum zu erzeugen. Dass das Framework dann doch eine recht simple Methode zur Tonaufnahme besitzt, hätte ich nicht gedacht.
FMOD fällt aus oben genannten Lizenzgründen raus.
portaudio scheint genau das zu sein, was ich gesucht habe: MIT/X11 Lizenz, simpel, portabel und löst genau meine Problemstellung. Da werde ich mich dann mal reinarbeiten. Die haben anscheinend gute Tutorials und die Lib ist in den Repositories. Sehr praktisch.