5 der besten Plattformen zu Musiksoftware machen

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.  

Als Musiker oder Produzent, gibt es viele Gründe, warum möchten Sie vielleicht Ihre eigene Musik-Software zu machen. Vielleicht youve erhielt eine neue Idee für einen Gitarren-Amp-Modeling-Anwendung, die bestehende Anwendungen nicht zu tun. Vielleicht suchen Sie nach einem Weg, um Ihre MIDI-Software-Controller mit Spielen eindeutig zu steuern suchen. Oder Sie können einfach deine eigenen MIDI-Controller, und Sie in der Lage sein, um es über ein Software-Editor bearbeiten wollen. Nun alle diese Ideen Wirklichkeit werden mit einer Reihe von verschiedenen Anwendungen und Plattformen, die Ill in diesem Artikel abdeckt werden vorgenommen werden.

Die meisten Menschen gehen davon aus, dass Ihre eigene Software zu erstellen, müssen Sie ein Experte Kodierer sein. Doch die meisten der Plattformen die hier beschrieben werden, die speziell für Musiker, Künstler und Designer, um Software zu erstellen konzipiert schnell, ohne dass zu viel über Software-Entwicklung kennen, mit ein paar Plattformen, die nicht verlangen, dass Sie benötigen, um beliebigen Code überhaupt zu schreiben!

Es gibt eine Reihe von Kriterien, die ich hier dabei, die bestimmen, welche Plattform am besten für Sie:

  • Was Sie Ihre Software tun möchten,
  • Ihre Bereitschaft, zu lernen, wie man Code schreiben
  • Das Betriebssystem Sie Ihre Anwendung auf denen sie laufen, zum Beispiel wollen, OS X, Windows, Linux, iOS, Android, Embedded-Plattformen.
  • Das Format der Software, die Sie erstellen, beispielsweise Standalone-Anwendung, Audio-Plugin, Web-App soll.
  • Egal, ob Ihre Anwendung ist nur für den persönlichen Gebrauch oder Sie es freigeben möchten
  • Ihr Budget

Max / MSP

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

By Keith McMillen Instruments PolyFuzz, mit Max entwickelt ein FX Verarbeitungsanwendung

Max (und seine Audiogegenstück, MSP), die von Radfahren 74 entwickelt wurde, ist eine grafische Programmiersprache für die Entwicklung der Musik und Multimedia-Anwendungen und für viele wird es als die beste Plattform, um interaktive Musik-Performance-Software bekannt. Das Max-Umgebung besteht aus einem Satz von grafischen Objekten, die jeweils eine Anzahl von Eingängen und Ausgängen zum Modifizieren und Leiten von Daten und Audio. Jedes Objekt hat seine eigene Funktion und sind über Patchkabel, alle grafisch auf einer Leinwand als Patch bekannt, die in einer unendlichen Anzahl von Möglichkeiten, je nachdem, konfiguriert werden können gelegt verbunden, was Ihr Programm tun möchten.

Max / MSP können Sie fast alles, was mit Audio und MIDIinput / Ausgang, Synthese / Erzeugung, Aufnahme / Sequenzierung, Effekte / Änderung, Analyse und VST-Hosting zu tun, ohne dass Sie Code schreiben. Es gibt auch ein Development-Kit, die es ermöglicht hat, eine große Gemeinschaft von Entwicklern, viele externe Objekte für die Software zu erstellen. Abgesehen davon, dass sehr beliebt in der Musik-Hacking-Community, ist es auch bei der Entwicklung von kommerzieller Software, wie zum Beispiel für den Editor-Anwendungen für viele der Livid Instruments und KMI Hardware-Controller verwendet. Wenn Sie Ableton Live User sind, können Sie Max in seiner Max for Live-Format, die benutzerdefinierten Live-Geräte erstellt werden können, obwohl Max-built-Anwendungen können leicht auf andere DAWs über ReWire verbunden sein zu erkennen.

An example of a simple Max patch

Ein Beispiel für eine einfache Max Patch

Max 7 ist für OS X und Windows verfügbar und kann für $ 399 oder über eine monatliche Abo-Service von $ 8,25 gekauft werden. Programme mit Max erstellt kann als Standalone-Anwendung, die frei geteilt werden können oder verkauft im Handel exportiert werden. Siehe Radfahren 74 Website für weitere Details.

Pure Data

Ponyomixer, an audio mixer application built with Pure Data

Ponyomixer, ein Audio-Mixer-Anwendung mit Pure Data gebaut

Pure Data (aka PD) ist eine weitere grafische Programmierumgebung, und um den gleichen Patcher Programmiersprache wie der Max / MSP basiert. Wiederum umfasst von Objekten auf einer graphischen Leinwand, die über Steckerleitungen miteinander verbunden sind, die Umwelt, obwohl während die Funktionen vorgesehen sind sehr ähnlich zu der Max, gibt es eine Anzahl von Unterschieden zwischen den beiden Plattformen.

PD ist ein Open-Source-Plattform und ist vor allem durch eine Gemeinschaft von Nutzern und nicht als Handelsgeschäft entwickelt. Der Vorteil davon ist, dass es vollständig frei zu verwenden, und die Offenheit es möglich wurde, die Funktionalität stark durch eine große Anzahl von Menschen erweitert werden, sowie durch sich kunden wenn nötig. Aber der Nachteil ist, dass es doesnt haben die professionelle Unterstützung und Benutzerbasis wie die von Max / MSP, die theres bedeutet eine steilere Lernkurve bei der Annäherung an PD. Ein weiterer Mangel (das ist manchmal mit Open-Source-Software gefunden) ist, dass die Benutzerschnittstelle ist nicht so glatt und poliert wie die Max, und man kann Schnittstellen so attraktiv zu erstellen.

An example of a Pure Data patch

Ein Beispiel für einen reinen Daten-Patch

PD ist für OS X, Windows und Linux (einschließlich Embedded-Linux-Systemen wie Raspberry Pi) zur Verfügung. Unter OS X können Sie ganz einfach exportieren Sie Ihre PD Programm als eigenständige Anwendung, aber wenn Sie Ihr Programm unter Windows oder Linux zu teilen, muss der Benutzer PD installiert, damit es ausgeführt haben möchten. Wenn Sie Ihre eigenen Musik-Software über die grafische Programmierung bauen wollen, aber nicht das Geld für Max / MSP, und Sie müssen eine wirklich professionell aussehende Anwendung nicht, würde PD eine gute Option für Sie sein. Siehe die Pure Data Webseite für weitere Informationen.

Verarbeitung

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

Sync / Passwort von 3bits mit Verarbeitung entwickelt eine Installationsanwendung

Processing ist eine Open-Source-Text Programmiersprache und Entwicklungsumgebung, die ursprünglich geschaffen wurde, um Computer-Programmierung Grundlagen in einem visuellen Kontext zu lehren, aber es hat sich auch seit dem von Fachleuten als eine einfache Möglichkeit, Multimedia-Anwendungen zu erstellen verabschiedet. Als Open-Source, wird teilweise von einem kleinen Team von Freiwilligen, die viele Erweiterungen der Software erstellt wurden entwickelt, aber es ist in erster Linie durch eine Gruppe von Personen mit verschiedenen Schulen und Universitäten angegliedert entwickelt. Während der Verarbeitung wird vor allem verwendet, um Grafiken, Bild- und Animations-basierte Anwendungen erstellen, enthält es eine Reihe von Bibliotheken, die es ein großer Kandidat für die Entwicklung von Audio- und MIDI-Software ermöglicht.

Die Verarbeitung Programmiersprache wurde entwickelt, um eine erste Programmier languagea Sprache der einfachen Syntax, das wäre nicht entmutigend, um jemand ganz neu in die Programmierung sein. Es gibt viele Bücher und Online-Tutorials, wie man Verarbeitung zu verwenden, jedoch ist eine Textsprache kann bedeuten, gibt es eine steilere Lernkurve als die von Max / MSP oder PD unterrichten. Allerdings, wenn Sie es ernst meinen in der Software-Entwicklung sind, werden Sie feststellen, dass textuellen Sprachen geben Ihnen viel mehr Flexibilität. Verarbeitung bietet Audio- und MIDI-Eingang / Ausgang, Effekte, Welle und Geräuschentwicklung, Analyse und Umschlag Generation, wenn auch die Fähigkeiten Arent so stark wie die von Max oder PD. Allerdings Verarbeitung wäre eine bessere Option sein, wenn Sie möchten, dass Ihre Anwendung auf eine ganz individuelle Benutzeroberfläche haben, wie die Verarbeitung Sprache gibt Ihnen viel mehr Kontrolle über die Art und Weise eine Anwendung aussieht und die Art und Weise kann ein Benutzer mit ihr interagieren.

The Processing environment and example code

Der Verarbeitungsumgebung und Beispielcode

Verarbeitung 2.0 ist verfügbar für OS X, Windows und Linux (Desktop und Embedded), und ist völlig kostenlos zu benutzen. Verarbeitungsprogrammen können exportiert werden, um Anwendungen auf allen Plattformen standalone, und kann frei vertrieben werden. Es gibt auch Tools zur Einbettung Ihre Programme auf Web-Seiten, als auch auf iOS oder Android-Geräte, auf denen sie zur Verfügung. Siehe die Verarbeitungs Website für weitere Details.

openframeworks

Cosmosƒ by sonicLAB, a software synthesiser built with openFrameworks

Cosmos von sonicLAB, ein Software-Synthesizer mit openframeworks gebaut

openframeworks ist ein Open Source-Toolkit für die Entwicklung von interaktiven und Multimedia-Anwendungen. Es ist sehr ähnlich wie die Verarbeitung, dass es für Künstler und Designer entworfen, um Software auf einfache Weise mit einem textuellen Programmiersprache, die von einem Kernteam von Personen mit Universitäten und Technologielabors entwickelt verbundenen erstellen. Es gibt jedoch eine Reihe von Unterschieden zwischen den beiden Plattformen.

openframeworks verwendet die C-Programmiersprache, anstatt seine eigene Sprache. C ist eine sehr weit verbreitet ist, das es eine nützliche Sprache zu beherrschen, wenn Sie es ernst meinen in der Software-Entwicklung sind, und ermöglicht openframeworks Code, um mit anderen C-Toolkits gemischt werden, falls erforderlich. C ist nicht so einsteigerfreundlich wie Verarbeitung jedoch openframeworks verwendet die Sprache in einer Weise, die es einfach zu bedienen ist, und kommt mit vielen Beispielen und Demoprojekte.

Zweitens openframeworks erfordert eine integrierte Entwicklungsumgebung (IDE) zum Schreiben und den Aufbau Ihrer Programme, anstatt seine eigene Umwelt / Anwendung. openframeworks können mit den am häufigsten verwendeten IDEs für alle unterstützten Betriebssysteme verwendet werden (zB Xcode auf OS X, Visual Studio unter Windows), und während diese IDEs sind komplexer als der Verarbeitungsumgebung, sehr nützlich für Software-Anwendungen zu meistern sind sie Entwicklungsanstrengungen.

Schließlich ist openframeworks schneller, flexibler und komplexer als Processing, und hat viel stärkere Audiofunktionen (zum Beispiel in der Lage, mit Audio-Streams auf einer Pro-Stichprobenbasis beschäftigen Sie sind), auch wenn das bedeutet, dass die Zusammenstellung eine Audio-Anwendung nicht so schnell und einfach wie mit Verarbeitung sein.

An openFrameworks project within Apple’s Xcode IDE

Eine openframeworks Projekt innerhalb Apples Xcode IDE

openframeworks kann verwendet werden, um Anwendungen für OS X, Windows, Linux (Desktop und Embedded), iOS und Android zu entwickeln und ist kostenlos zu benutzen. Standalone-Anwendungen können für jede Plattform gebaut werden, und kann frei geteilt und verkauft, kommerziell oder nicht-kommerziell ist. Wenn youve bekam einen ziemlich komplexen Audio-Anwendung im Kopf, aber nicht die Zeit zu tief in der Software-Entwicklung zu graben, wäre dies eine gute Plattform für die Sie verwenden können. Siehe die openframeworks Website für weitere Informationen.

JUCE

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

Alphalive von nu desinz mit JUCE entwickelt ein MIDI-Editor-Anwendung

JUCE ist ein weiteres C-Bibliothek, obwohl während openframeworks (und Processing) werden in erster Linie für Künstler und Designer, um Software zu erstellen leicht, ohne sich in die Komplexität des Codes zu kompliziert gestaltet wird JUCE entwickelt, um ein All-in-One-Plattform für die Entwicklung reich sein, Cross-Plattform-Anwendungen und Plug-ins, mit einem starken Fokus auf die Audio- und MIDI-basierten Anwendungen. Während die letzten beiden Plattformen sind vor allem für Kunstinstallationen und interaktive Projekte verwendet hat JUCE in der Entwicklung von zahlreichen kommerziellen Anwendungen von Unternehmen wie Korg, M-Audio, PreSonus, Image Line, Arturia und sogar für die Entwicklung von Max verwendet / MSP!

JUCE ist die komplexeste Plattform hier abgedeckt, aber es hat eine Reihe von Werkzeugen und Funktionen, die es eine gute Option, sogar für neue Entwickler macht. Erstens muss es ein Tool namens der Introjucer, die als Assistenten zur Erstellung und Konfiguration des IDE-Projekte und Code auf einfache Weise zu handeln. Es enthält auch ein WYSIWYG-Editor Benutzeroberfläche, so dass Sie ohne Programmierschnittstellen zu entwerfen. Zweitens kommt es mit vielen Demo-Projekte, mit Beispielen von allem, was mit JUCE getan werden kann, und wie es zu tun. Weiter bis vor kurzem, JUCE wurde von einer einzelnen Person entwickelt worden, so dass die Codebasis sehr konsistent, belesen und einfach zu bedienen. Der Code ist auch sehr gut dokumentiert. Schließlich kann die Bibliothek fast alles, was in Bezug auf Gebäude Audio- und MIDI-Anwendungen. Es kann sogar verwendet werden, um Cross-Plattform-Audio-Plug-ins (AU, VST, RTAS, AXX) mit einem einzigen Projekt, das einer der wichtigsten Gründe, es so beliebt bei den Audio-Software-Unternehmen ist, zu entwickeln.

A JUCE project within Apple’s Xcode IDE

A JUCE Projekt innerhalb Apples Xcode IDE

JUCE kann verwendet werden, um Anwendungen für OS X, Windows, Linux (Desktop und Embedded), iOS und Android zu entwickeln. Es ist frei, für die Open-Source-Projekte zu verwenden, aber wenn Sie Ihre Anwendung ohne den Code freigeben wollen Sie eine kommerzielle Lizenz, die von $ 595 startet kaufen. Wenn Sie ernsthaft über die Entwicklung kommerzieller Anwendungen oder gehen in der Software-Entwicklung als eine Karriere sind, empfehle ich JUCE. Es hat die steilste Lernkurve unter allen Plattformen hier bedeckt, aber in Bezug auf die Entwicklung von Audio-Anwendungen gibt es nicht viel JUCE cant do. Siehe JUCE Website für weitere Details.

Egal, ob Sie lernen, wie man kodieren möchten oder nicht bedeuten diese fünf Plattformen, dass alle Ihre Musik-Software Ideen können einfach realisiert werden.

Erfahren Sie mehr über Max / MSP auf AskVideo hier.

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!