2010-12-28 10 views
6

Was ist die Erfahrung Programme geschrieben in einer Audio-Synthese/Analyse Sprache wie ChucK, Pure Data, Csound, Supercollider usw. in einem Embedded-Gerät wie ein Arduino Mega, läuft Beagle Board oder ein benutzerdefiniertes Board mit einem Mikroprozessor oder DSP chip?Ausführen einer Audio-Synthese/Analyse Sprache auf einem Embedded-Gerät

Ich würde gerne wissen, welche Sprache und Hardware Sie gewählt haben und warum. Was waren die Hindernisse usw.? Mein Ziel ist es, Programme zu erstellen, die einfach von Musikern/Produzenten in einem nicht zu teuren Board programmiert werden können.

Ich erhielt eine Eingabe von jemandem, der ChucK-Programme erfolgreich in einem Beagle-Board (Ubuntu Linux auf einem Beagle-Board mit ChucK) ausführt, aber seine Sprach- und Hardwareauswahl war sehr leicht, sein Setup verwendet den DSP nicht das Beagle-Board und es scheint, als ob Overkill eine ganze Linux-Installation ausführen würde, um Audiosignale zu verarbeiten.

Jede Eingabe wird geschätzt!

Update: Ich fand Zengarden das ist eine Pd-Laufzeit-Implementierung (als eigenständige C++ - Bibliothek) und läuft gut auf ARM-basierten Geräten. Fürs Erste werde ich mit dem BeagleBoard und Zengarden gehen, aber in einer späteren Phase des Projekts muss ich das BeagleBoard durch etwas ersetzen, das weniger kostet.

Ich würde gerne mehr Beiträge von der Community zu hören.

+0

Newton Armstrong läuft supercollider auf einem Bildschirmlosen Stück Hardware mit Linux. Aber davon sprichst du nicht. Ich bin auch neugierig. Wenn Sie eine Antwort finden, würde ich gerne davon hören! ([email protected]) – morgancodes

+0

Danke @WillHartung für die lange Antwort !! Hoffentlich wird jemand etwas zur Auswahl der Audiosprache beitragen. –

+0

Ich bin mir sicher, das ist nicht ganz das, was Sie wollen, aber die [OSRE-Stubs des IPRE-Projekts für ChucK] (http://wiki.roboteducation.org/ChucK) sind verwandt. Andere mögen es nützlich finden, besonders wenn sie mit Kindern arbeiten. – Curtis

Antwort

4

Erstens bin ich kein Audioprogrammierer, daher bin ich nicht mit den tatsächlichen Anforderungen der Signalverarbeitung vertraut, die notwendig sind, um das zu erreichen, was Sie erreichen wollen.

Aber es ist schwierig, etwas wie das Beagle Board und das Arduino Mega zu kontrastieren, da sie wirklich in verschiedenen Ligen der Basisleistung sind. Das Beagle Board ist ein 1 GHz ARM gegenüber dem Arduino Mega 16 MHz. Das sagt mir, dass jede Bearbeitung, die Sie interessieren könnten, durchaus innerhalb der Fähigkeiten des Beagle Boards liegen könnte, aber der Arduino Mega hätte fast keine Chance ohne einen angeschlossenen DSP, um die eigentliche Arbeit zu erledigen.

Die nächste Überlegung ist, ob eines der Pakete, die Sie in Betracht ziehen, tatsächlich DSPs für ihre Laufzeiten anvisiert. Auf den ersten Blick erscheinen sie wie Klangverarbeitungssprachen auf hohem Niveau. Mit dem Beagle Board haben Sie möglicherweise die Verarbeitungsleistung, um den Soundquellcode, den diese Pakete verwenden, auszuwerten und zu kompilieren und sie auf ihre Ziele kompilieren zu lassen, aber auf dem Arduino Mega scheint das unwahrscheinlich.

Wenn Sie nur mit einem Stück Hardware arbeiten, auf dem die von den genannten Paketen erstellten Artefakte ausgeführt werden, dann ist das Arduino Mega möglicherweise geeignet, da die "Entwicklung" auf einer leistungsfähigeren Maschine erfolgt . Aber wenn Sie mit diesen Paketen so arbeiten wollen, wie sie sind, und sie als Entwicklungstool verwenden, dann ist es einfach eine bessere Option, sie auf einem Linux-Port auszuführen.

Wiederum ist das Arduino Mega nach ungefährer Betrachtung ungefähr halb so teuer wie das Beagle Board, aber das Beagle Board könnte Sie auf einem viel höheren Level arbeiten lassen (generisches Linux). Ob beides stark genug für deine endgültige Vision sein wird, kann ich nicht sagen. Aber ich würde mir vorstellen, dass man viel schneller, viel schneller, mit dem leistungsfähigeren System - zumindest auf kurze Sicht - weiterkommen könnte.

+2

Auf jeder Stufe von einem Arduino, zu einem kompakten modernen ARM-Chip mit Bare-Metal oder einem winzigen Betriebssystem, zu einem Low-End-Embedded-Linux-System, zu einem High-End-ARM-Embedded-Linux vergleichbar mit einem Smartphone, zu einem Nettop/Netbook gibt es eine große Leistungssteigerung bei geringem Preisanstieg. Für Programmierkomfort ist der große Wendepunkt wahrscheinlich, wenn Sie Desktop-ähnliche Methoden verwenden können, zum Beispiel, wenn Sie Embedded Linux auf die Sache ohne Speicherdruck ausführen können und ein Dateisystem haben und Cross-Compiler oder Interpreter für die meisten Sprachen arbeiten. –