2010-05-27 6 views
5

Was ist die beste API für die Entwicklung einer Anwendung, die sowohl Echtzeit-MIDI- als auch Audio-Ein- und -Ausgabe verarbeitet? Dies wäre für eine Anwendung, die beim Musikmachen verwendet wird, im Gegensatz zum Abspielen von Audio- oder MIDI-Dateien. Ich bin mir bewusst, dass dies eine subjektive Frage sein kann, aber wenn Sie eine API kennen, die hauptsächlich für diese Zwecke verwendet wird, teilen Sie sie bitte mit.Was ist die beste API in jeder Sprache für die Entwicklung von Audio- und MIDI-Musikanwendungen?

Ich bin agnostisch über die Sprache, für die die API ist, und ich kümmere mich auch nicht um Portabilität. Das eigentliche Anliegen ist eine API, die gut dokumentiert ist, gut gestaltet ist (z. B. durchdacht und intuitiv für Entwickler, die sie verwenden) und aktiv gepflegt wird. Die Portabilität des Betriebssystems wäre gut, aber es ist die zweite, dass eine API/Sprache die vorherigen Anforderungen erfüllt.

Bitte beachten Sie, dass der Schwerpunkt nicht auf APIs zur Klangsynthese oder zum Komponieren von Musik mit Code liegt. Es ist für die Verarbeitung von Audiodateien und MIDI-Daten in einem Echtzeitkontext gedacht.

+0

Diese Frage sollte Community-Wiki sein, da keine definitive Antwort möglich ist –

+0

OK, danke für die Eingabe. Ich habe über Community-Wikis erfahren und diese Frage in eine Community-Wiki-Frage geändert. – aoeu

Antwort

2

Es ist wahrscheinlich eine ziemlich umständliche Art, es zu tun, aber ich wäre ziemlich aufgeregt, mit MIDI in HTML5 zu arbeiten. Das Schreiben eines MIDI-Synthesizers in JS wäre wahrscheinlich trivial, dank der new audio APIs, die ihren Weg ins Internet finden. Da es in einem Webbrowser ist, können Sie einen Teil der vorbereitenden Verarbeitung auf dem Client ausführen und dann die hardcore-Verarbeitung auf dem Server durchführen.

Ich sollte auch erwähnen, dass HTML eine großartige Sprache ist, um eine GUI für diese Art von App zu erstellen, und die plattformübergreifende Vorteile sind inhärent in der Tatsache, dass es für das Web gemacht wird.

+0

Ich habe meine Zweifel, dass es trivial wäre - JavaScript-Leistung wird ziemlich gut, aber gut genug, um polyphonen Audio schnell zu synthetisieren?In Verbindung mit der Tatsache, dass MIDI für das

+0

Ich hoffe wirklich so. Gepaart mit Dingen wie http://www.drawthedots.com/abcjs, wäre es fantastisch – Chubas

1

Sie könnten bei einigen unkonventionellen "Sprachen" aussehen soll (na ja, dataflow Programmierumgebungen) wie:

Ich habe auch etwas mit Java und MIDI herumgespielt und hatte eine gute Zeit damit.

+0

Danke Weston, aber nach Jahren der Verwendung von PD, Max, Reaktor und Nord Modulars, bin ich auf der Suche nach _Alternativen_ zu Visual-Patching/Datenflussumgebungen. Sie sagten, Sie haben MIDI mit Java verwendet - beziehen Sie sich auf die javax.sound.midi-APIs oder etwas ganz anderes? Ich habe einige Dinge in dieser API geschrieben, suche aber auch aktiv nach Alternativen. – aoeu

1

habe ich es nie persönlich tho, aber es gibt eine C-ähnliche Sprache der Musik gewidmet Chuck genannt.

1

Ruby funktioniert sehr gut, wie auf der Sonic Pi zu sehen.

1

Das W3C hat einige feste Spezifikationen auf dem web audio API. Es ist eine leistungsstarke API, mit der Sie Sounds synthetisieren, bearbeiten und analysieren können. Sie können Audio auch über arrayBuffers importieren. Es hat auch very strong support.