5 delle migliori piattaforme per rendere il software di musica

If you're reading this you're probably making music. But, have you ever wanted to make your own music software? It might be easier than you think. Liam Lacey outlines 5 platforms you should consider.  

Come musicista o di un produttore, ci sono molte ragioni per cui si consiglia di fare il vostro proprio software musicale. Forse avete ottenuto una nuova idea per un amplificatore per chitarra applicazione di modellazione che le applicazioni esistenti non lo fate. Forse siete alla ricerca di un modo per controllare in modo univoco il software MIDI con i controller di gioco. Oppure si può essere fare il proprio controller MIDI e si vuole essere in grado di modificarla tramite un editor di software. Ebbene tutte queste idee possono essere fatti una realtà con un certo numero di diverse applicazioni e piattaforme che Ill essere coprono in questo articolo.

La maggior parte della gente suppone che per creare il proprio software è necessario essere un programmatore esperto. Tuttavia la maggior parte delle piattaforme discusse qui sono specificamente progettati per i musicisti, artisti e designer per creare software in modo rapido, senza dover conoscere troppo di sviluppo del software, con un paio di piattaforme che dont richiedono la necessità di scrivere codice a tutti!

Ci sono una serie di criteri che tratteremo qui che determinerà quale piattaforma è meglio per voi:

  • Che cosa volete che il vostro software per fare
  • La vostra volontà di imparare come scrivere il codice
  • Il sistema operativo che si desidera che l'applicazione per l'esecuzione su, ad esempio, OS X, Windows, Linux, iOS, Android, piattaforme embedded.
  • Il formato del software che si desidera creare, ad esempio, l'applicazione stand-alone, plug-in audio, web app.
  • Sia che la vostra applicazione è solo per uso personale o se si vuole rilasciarlo
  • Il tuo budget

Max / MSP

PolyFuzz by Keith McMillen Instruments, an FX processing application developed using Max

PolyFuzz da Keith McMillen Instruments, un programma di elaborazione FX sviluppato con Max

Max (e la sua controparte audio, MSP), sviluppato da ciclismo 74, è un linguaggio di programmazione grafico per lo sviluppo della musica e applicazioni multimediali, e per molti è conosciuto come la migliore piattaforma per rendere il software prestazione musicale interattivo. L'ambiente Max comprende un insieme di oggetti grafici, ciascuno con un numero di ingressi ed uscite per la modifica e il passaggio di dati e audio. Ogni oggetto ha una sua particolare funzione, e sono collegati tra loro tramite cavi di connessione, tutte graficamente disposte su una tela conosciuta come una patch, che può essere configurato in un numero infinito di modi a seconda di cosa si desidera che il programma di fare.

Max / MSP permette di fare quasi tutto con audio e MIDIinput / output, la sintesi / generazione, registrazione / sequencing, effetti / modifica, analisi, e-VST hosting, senza bisogno di scrivere codice. C'è anche un kit di sviluppo che ha permesso una grande comunità di sviluppatori di creare molti oggetti esterni per il software. Oltre ad essere estremamente popolare nella comunità musicale hacking, è utilizzato anche per lo sviluppo di software commerciale, come ad esempio per le applicazioni redattore di molti degli strumenti Livid e controller hardware KMI. Se sei un utente di Live Ableton, è possibile riconoscere Max nel suo massimo per il formato Live, che consente ai dispositivi personalizzati in diretta da creare, anche se le applicazioni Max costruite possono essere facilmente collegati ad altre DAW tramite ReWire.

An example of a simple Max patch

Un esempio di una semplice patch Max

Max 7 è disponibile per OS X e Windows, e può essere acquistato per $ 399 o tramite un servizio di abbonamento mensile da 8,25 dollari. I programmi creati con Max possono essere esportati come applicazione standalone che può essere liberamente condivisi o venduti sul mercato. Vedere il Cycling 74 sito per maggiori dettagli.

Pure Data

Ponyomixer, an audio mixer application built with Pure Data

Ponyomixer, un'applicazione mixer audio integrato con Pure Data

Pure Data (aka PD) è un altro ambiente di programmazione grafica, e si basa intorno la stessa lingua patcher programmazione come quello di Max / MSP. Ancora una volta, l'ambiente comprende oggetti su una tela grafica che sono collegati insieme tramite cavi patch, se mentre le caratteristiche fornite sono estremamente simile a quella di Max, ci sono una serie di differenze tra le due piattaforme.

PD è una piattaforma open source ed è sviluppato principalmente da una comunità di utenti, piuttosto che una attività commerciale. Il vantaggio di questo è che è completamente gratuito, e l'apertura di esso ha permesso la sua funzionalità per essere notevolmente estesa da un gran numero di persone, come benessere personalizzabile da solo se necessario. Tuttavia lo svantaggio di questo è che doesnt hanno il supporto e l'utente base professionale come quello di Max / MSP, che significa theres una curva di apprendimento più ripida quando si avvicina PD. Altro difetto (che si trova talvolta con il software open source) è che l'interfaccia utente è neanche come slick e lucido come quello di Max, e non potete creare interfacce come attraente.

An example of a Pure Data patch

Un esempio di una patch Pure Data

PD è disponibile per OS X, Windows e Linux (compresi i sistemi Linux embedded come Raspberry Pi). Su OS X si può facilmente esportare il programma di PD come applicazione autonoma, se si desidera condividere il programma su Windows o Linux l'utente deve aver PD installata per l'esecuzione. Se si vuole costruire il proprio software di musica tramite la programmazione grafica, ma non hanno i soldi per Max / MSP, e non avete bisogno di un'applicazione davvero dall'aspetto professionale, PD sarebbe una grande opzione per voi. Vedere il sito web Pure Data per maggiori informazioni.

Lavorazione

Sync/Lost by 3bits, an installation application developed using Processing

Sync / perso da 3bits, un'applicazione sviluppata utilizzando un'installazione Processing

Processing è un open source linguaggio di programmazione testuale e ambiente di sviluppo che è stato inizialmente creato per insegnare i fondamenti di programmazione di computer all'interno di un contesto visivo, ma è anche stato poi adottato da professionisti come un modo semplice per creare applicazioni multimediali. Essendo open source, è in parte sviluppato da un piccolo gruppo di volontari che hanno creato molte estensioni al software, ma si è sviluppato principalmente da un gruppo di individui affiliati con varie scuole e università. Mentre l'elaborazione è in gran parte utilizzato per creare grafica, immagini e applicazioni di animazione-based, che include una serie di librerie che lo rende un ottimo candidato per lo sviluppo di software audio e MIDI.

Il linguaggio di programmazione Processing è stato progettato per essere un primo linguaggio di programmazione languagea di sintassi semplice che sarebbe non scoraggiante a qualcuno completamente nuovo per la programmazione. Ci sono molti libri e tutorial online che insegnano come utilizzare Processing, però essendo un linguaggio testuale può significare c'è una curva di apprendimento più ripida di quella di Max / MSP o PD. Tuttavia, se siete seri su come ottenere lo sviluppo del software, vi accorgerete che le lingue testuali danno molta più flessibilità. Elaborazione fornisce generazione audio e MIDI di input / output, effetti, onda e il rumore, l'analisi e la generazione busta, anche se le capacità arent forte come quello di Max o PD. Tuttavia Processing sarebbe una scelta migliore se si desidera che l'applicazione dispone di un'interfaccia utente completamente personalizzata, come il linguaggio Processing si dà molto più controllo sul modo in cui un'applicazione aspetto e il modo in cui l'utente può interagire con esso.

The Processing environment and example code

L'ambiente di elaborazione e l'esempio di codice

Processing 2.0 è disponibile per OS X, Windows e Linux (desktop ed embedded), ed è completamente gratuito. Programmi di elaborazione possono essere esportati in standalone applicazioni su tutte le piattaforme, e possono essere distribuiti liberamente. Ci sono anche strumenti disponibili per incorporare i programmi sulle pagine web, così come li esecuzione su iOS o dispositivi Android. Vedere il Processing sito per maggiori dettagli.

openFrameworks

Cosmosƒ by sonicLAB, a software synthesiser built with openFrameworks

Cosmos di sonicLAB, un sintetizzatore software costruiti con openFrameworks

openFrameworks è un toolkit open source per lo sviluppo di applicazioni interattive e multimediali. E 'molto simile al trattamento, in quanto è stato progettato per artisti e designer di creare software in modo semplice utilizzando un linguaggio di programmazione testuale, sviluppato da un team di individui affiliati con le università e laboratori tecnologici. Tuttavia ci sono un certo numero di differenze tra le due piattaforme.

openFrameworks utilizza il linguaggio di programmazione C, piuttosto che essere un suo linguaggio. C è molto diffuso, che lo rende un linguaggio utile per padroneggiare se siete seri su come ottenere lo sviluppo del software, e consente al codice openFrameworks di essere miscelato con altri toolkit C, se necessario. C è neanche come principiante amichevole come Processing, tuttavia openFrameworks usa il linguaggio in un modo che lo rende facile da usare, e viene fornito con numerosi esempi e progetti dimostrativi.

In secondo luogo, openFrameworks richiede un ambiente di sviluppo integrato (IDE) per la scrittura e la costruzione di programmi, piuttosto che avere un proprio ambiente / applicazione. openFrameworks possono essere utilizzati con IDE più comunemente utilizzati per tutti i sistemi operativi supportati (ad es Xcode su OS X, Visual Studio su Windows), e mentre questi IDE sono più complessi di quanto l'ambiente di elaborazione, sono applicazioni molto utili per padroneggiare per il software gli sforzi di sviluppo.

Infine, openFrameworks è più veloce, più flessibile e più complesso di produzione, e ha funzionalità audio molto più forti (ad esempio, si è in grado di trattare con flussi audio su una base per-sample), anche se questo vuol dire che mettere insieme un programma audio può non essere così semplice e facile come usare Processing.

An openFrameworks project within Apple’s Xcode IDE

Un progetto openFrameworks entro Mele Xcode IDE

openFrameworks possono essere utilizzate per sviluppare applicazioni per OS X, Windows, Linux (desktop ed embedded), iOS e Android, ed è libero di utilizzare. Applicazioni indipendenti possono essere costruite per ogni piattaforma, e possono essere liberamente condivisi e venduti, commerciali o non commerciali. Se avete ottenuto un piuttosto complessa applicazione audio in mente, ma non avete il tempo di scavare troppo in profondità lo sviluppo del software, questa sarebbe una buona piattaforma per l'uso. Vedere il sito openFrameworks per maggiori informazioni.

Juce

AlphaLive by nu desinz, a MIDI editor application developed using JUCE

AlphaLive da nu desinz, un editor MIDI sviluppato utilizzando Juce

Juce è un'altra libreria C, anche se mentre openFrameworks (e ausiliari) sono progettati principalmente per artisti e designer di creare software facilmente senza essere troppo coinvolto nella complessità del codice, juce è progettato per essere una piattaforma all-in-one per lo sviluppo di ricchi, applicazioni cross-platform e plugin, con una forte attenzione alla audio e applicazioni basate su MIDI. Mentre le due piattaforme precedenti sono utilizzati principalmente per installazioni d'arte e progetti interattivi, Juce è stato utilizzato per lo sviluppo di numerose applicazioni commerciali da aziende come Korg, M-Audio, PreSonus, Linea Immagine, Arturia, e anche per lo sviluppo di Max / MSP!

Juce è la più complessa piattaforma trattato qui, ma ha una serie di strumenti e funzionalità che lo rende una grande opzione anche per i nuovi sviluppatori. In primo luogo, esso ha uno strumento chiamato il Introjucer, che può agire come un wizard per generare e configurazione dei progetti IDE e il codice in un modo semplice. Contiene anche un editor di un'interfaccia utente WYSIWYG, che consente di progettare interfacce senza alcuna codifica. In secondo luogo, si tratta con molti progetti dimostrativi, dando esempi di tutto ciò che può essere fatto con Juce, e come farlo. Successivamente, fino a poco tempo, Juce è stato sviluppato da un singolo individuo, rendendo il codebase altamente costante, colta e facile da usare. Il codice è anche molto ben documentato. Infine, la biblioteca in grado di gestire quasi tutto per quanto riguarda la costruzione di applicazioni audio e MIDI. Può anche essere utilizzato per sviluppare cross-platform plugin audio (AU, VST, RTAS, AXX) utilizzando un unico progetto, che è uno dei motivi principali per cui è così popolare tra le aziende di software audio.

A JUCE project within Apple’s Xcode IDE

Un progetto Juce entro Mele Xcode IDE

Juce può essere utilizzato per sviluppare applicazioni per OS X, Windows, Linux (desktop ed embedded), iOS e Android. E 'libero di utilizzare per i progetti open source, ma se si desidera rilasciare l'applicazione senza rilasciare il codice è necessario acquistare una licenza commerciale, che parte da 595 dollari. Se lei fa sul serio lo sviluppo di applicazioni commerciali o andando lo sviluppo del software come una carriera, mi raccomando Juce. Ha la curva di apprendimento più ripida tra tutte le piattaforme coperte qui, ma per quanto riguarda lo sviluppo di applicazioni audio, non c'è molto Juce non posso fare. Vedere il Juce sito per maggiori dettagli.

Quindi, se volete imparare a codificare o meno, questi cinque piattaforme significano che le tue idee software musicali può essere facilmente realizzato.

Ulteriori informazioni su Max / MSP a AskVideo qui.

Liam is the Head Of Development specialising in software development at Modal Electronics, the company behind the 002, 008, CRAFT and SKULPT synthesisers, and was previously the lead software developer at nu desine, the developers of the AlphaSphere MIDI controllers. He was also an Associate Lecturer at UWE, Bristol, UK where he gradua... Read More

Discussion

Want to join the discussion?

Create an account or login to get started!