2010-12-28 5 views
6

Qual è l'esperienza l'esecuzione di programmi scritti in una sintesi/analisi lingua audio come ChucK, Pure Data, Csound, Supercollider, ecc in un dispositivo embedded come ad esempio un Arduino Mega, Beagle Board o una scheda personalizzata con un microprocessore o DSP chip?Esecuzione di un linguaggio di sintesi/analisi audio su un dispositivo embedded

Mi piacerebbe sapere quale lingua e hardware hai scelto e perché. Quali sono stati gli ostacoli, ecc.? Il mio obiettivo è di eseguire programmi che possano essere facilmente programmati da musicisti/produttori in una scheda che non sia troppo costosa.

Ho ricevuto input da qualcuno che sta eseguendo con successo programmi ChucK in una scheda Beagle (Ubuntu Linux su una scheda Beagle su cui è in esecuzione ChucK), ma la sua scelta di lingua e hardware è stata eseguita molto leggermente, la sua installazione non utilizza il DSP in il Beagle Board e sembra eccessivo usare un intero sistema Linux per elaborare i segnali audio.

Qualsiasi input è apprezzato!

Aggiornamento: Ho trovato Zengarden che è un'implementazione di runtime Pd (come libreria standalone C++) e funziona bene su dispositivi basati su ARM. Per ora, andrò con BeagleBoard e Zengarden ma in una fase successiva del progetto, dovrò sostituire il BeagleBoard con qualcosa che costa meno.

Mi piacerebbe sentire più input dalla community.

+0

Newton Armstrong esegue il supercollider su un componente hardware privo di schermo che esegue Linux. Ma non è di questo che stai parlando. Anch'io sono curioso. Se trovi una risposta, mi piacerebbe saperlo! ([email protected]) – morgancodes

+0

Grazie a @WillHartung per la lunga risposta !! Speriamo che qualcuno fornisca qualche input sulla scelta del linguaggio audio. –

+0

Sono sicuro che questo non è esattamente quello che vuoi, ma gli [stub OSC del progetto IPRE per ChucK] (http://wiki.roboteducation.org/ChucK) sono correlati. Altri potrebbero trovare utile, in particolare se si lavora con i bambini. – Curtis

risposta

4

In primo luogo, non sono un programmatore audio, quindi non ho familiarità con le effettive esigenze dell'elaborazione del segnale necessarie per ottenere ciò che si desidera ottenere.

Ma è difficile mettere a confronto qualcosa come la Beagle Board e l'Arduino Mega, dato che si trovano davvero in diversi campionati di prestazioni base. Il Beagle Board è un 1 GHz ARM rispetto ai 16 MHz di Arduino Mega. Questo mi dice che qualunque elaborazione tu possa essere interessata a fare potrebbe essere all'interno delle capacità della scheda Beagle, ma Arduino Mega non avrebbe quasi nessuna possibilità senza un DSP collegato per fare il lavoro vero e proprio.

La prossima considerazione, è se uno qualsiasi dei pacchetti che stavi considerando utilizzando effettivamente DSP di destinazione per i loro runtime. A prima vista sembrano lingue di elaborazione del suono di alto livello. Con la Beagle Board, potresti avere la potenza di elaborazione per valutare e compilare il codice sorgente sonoro che questi pacchetti usano e farli compilare ai loro bersagli, ma su Arduino Mega, ciò sembra improbabile.

Se tutto ciò che stai facendo è lavorare con un hardware che eseguirà gli artefatti creati dai pacchetti che hai menzionato, allora Arduino Mega potrebbe essere adatto poiché lo "sviluppo" viene eseguito su una macchina più potente . Ma se vuoi lavorare con questi pacchetti così come sono, e usarli come uno strumento di sviluppo, eseguirli su una porta Linux a qualcosa di simile potrebbe essere semplicemente un'opzione migliore.

Ancora una volta, dopo un'attenta osservazione, l'Arduino Mega è circa la metà del prezzo della scheda Beagle, ma la scheda Beagle potrebbe farvi lavorare a un livello molto più alto (Linux generico). Se entrambi saranno abbastanza potenti per la tua visione finale, non posso dire. Ma immagino che potresti ottenere molto più lontano, molto più velocemente, usando il sistema più potente, almeno nel breve periodo.

+2

Ad ogni stadio da un arduino, a un compatto chip ARM contemporaneo che esegue bare metal o un minuscolo sistema operativo, a un sistema linux embedded di fascia bassa, a un linux embedded ARM di fascia alta paragonabile a uno smartphone, a un nettop/netbook c'è un grande aumento delle prestazioni con un piccolo aumento del prezzo. Per comodità di programmazione, il grande punto di svolta è probabilmente quando è possibile utilizzare metodi simili al desktop, ad esempio, quando è possibile eseguire linux embedded sulla cosa senza pressione di memoria e disporre di un file system e di compilatori o interpreti cross per la maggior parte delle lingue. –

Problemi correlati