5 das melhores plataformas para tornar o software Música

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.  

Como um músico ou produtor, existem muitas razões pelas quais você pode querer fazer o seu próprio software de música. Talvez você começou uma nova idéia para um aplicativo de modelagem de amplificador de guitarra que aplicativos existentes não fazer. Talvez você está procurando uma maneira de controlar exclusivamente o seu software MIDI com controladores de jogos. Ou você pode estar fazendo seu próprio controlador MIDI e você quer ser capaz de editá-lo através de um editor de software. Bem todas essas idéias podem ser feitas uma realidade usando um número de diferentes aplicações e plataformas que mal esteja cobrindo neste artigo.

A maioria das pessoas assumem que para criar seu próprio software que você precisa para ser um programador especialista. Entretanto, a maioria das plataformas discutidos aqui são projetados especificamente para músicos, artistas e designers criem software rapidamente sem precisar saber muito sobre desenvolvimento de software, com um par de plataformas que não exigem que você precisar escrever qualquer código em tudo!

Há uma série de critérios eu estarei cobrindo aqui que irá determinar qual plataforma é melhor para você:

  • O que você quer que seu software para fazer
  • Sua vontade de aprender a escrever código
  • O sistema operacional que você quer que seu aplicativo seja executado em, por exemplo, OS X, Windows, Linux, iOS, Android, plataformas incorporado.
  • O formato do software que você deseja criar, por exemplo, aplicação autônoma, plugin de áudio, web app.
  • Se seu aplicativo é apenas para uso pessoal ou você quer liberá-lo
  • Seu orçamento

Max / MSP

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

PolyFuzz por Keith McMillen Instruments, uma aplicação de processamento de FX desenvolvido utilizando Max

Max (e sua contraparte de áudio, MSP), desenvolvido pela Cycling 74, é uma linguagem de programação gráfica para o desenvolvimento de aplicativos de música e multimídia, e para muitos ela é conhecida como a melhor plataforma para fazer música interativa software desempenho. O ambiente Max dispõe de um conjunto de objetos gráficos que cada um tem um número de entradas e saídas para modificar e passar dados e áudio. Cada objeto tem sua própria função particular, e estão ligados entre si através de patch cords, todos graficamente apresentados em uma tela conhecida como patch, que pode ser configurado em um número infinito de formas, dependendo do que você quer que seu programa para fazer.

Max / MSP lhe permite fazer quase tudo com áudio e MIDIinput / saída, síntese / produção, o registro / seqüenciamento, os efeitos / modificação, análise e de hospedagem VST, sem a necessidade de escrever qualquer código. Há também um kit de desenvolvimento que tem permitido uma grande comunidade de desenvolvedores para criar muitos objetos externos para o software. Bem como sendo extremamente popular na comunidade de música pirataria, ele também é usado no desenvolvimento de software comercial, como para os aplicativos de editoração para muitos dos Instrumentos Livid e controladores de hardware KMI. Se você é um usuário Ableton vivo, você pode reconhecer Max em seu formato Max para Live, que permite que dispositivos personalizados em tempo real a ser criado, embora aplicações Max-construídos pode ser facilmente conectado a outros DAWs via ReWire.

An example of a simple Max patch

Um exemplo de um remendo simples Max

Max 7 está disponível para OS X e Windows, e pode ser comprado por 399 dólares ou através de um serviço de assinatura mensal de 8,25 dólares. Programas criados com Max pode ser exportado como um aplicativo independente que pode ser livremente compartilhados ou vendidos comercialmente. Veja a Ciclismo 74 site para mais detalhes.

Pure Data

Ponyomixer, an audio mixer application built with Pure Data

Ponyomixer, um aplicativo mixer de áudio construído com Pure Data

Pure Data (PD) aka é outro ambiente de programação gráfica, e baseia-se em torno da mesma língua patcher programação como a de Max / MSP. Mais uma vez, compreende o ambiente de objectos sobre uma tela gráfica que estão ligados entre si por meio de cabos de ligação, embora ao mesmo tempo as características fornecidas são extremamente semelhante ao do máximo, há um certo número de diferenças entre as duas plataformas.

PD é uma plataforma de código aberto e é desenvolvida principalmente por uma comunidade de usuários, em vez de um negócio comercial. A vantagem disso é que ele é completamente livre para usar, ea abertura dele permitiu a sua funcionalidade para ser muito prolongado por um grande número de pessoas, assim sendo customizável por si mesmo, se necessário. No entanto, a desvantagem desta situação é que ele não tem o apoio ea base de usuário profissional como a de Max / MSP, o que significa theres uma curva de aprendizagem mais íngreme quando se aproxima PD. Outra deficiência (que por vezes é encontrado com software open source) é que a interface do usuário isnt tão liso e polido como o de Max, e você não pode criar interfaces como atraente.

An example of a Pure Data patch

Um exemplo de um adesivo de dados pura

PD está disponível para OS X, Windows e Linux (incluindo sistemas Linux embarcados, tais como Raspberry Pi). No OS X você pode facilmente exportar seu programa de PD como um aplicativo independente, no entanto, se você deseja compartilhar o seu programa no Windows ou Linux, o usuário deve ter PD instalado para que ele seja executado. Se você quer construir seu próprio software de música através de programação gráfica, mas não tem o dinheiro para Max / MSP, e você não precisa de um aplicativo muito com aparência profissional, PD seria uma ótima opção para você. Consulte o site Pure Data para mais informações.

Processamento

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

Sincronização / Perdeu por 3bits, um aplicativo de instalação desenvolvido usando Processing

Processing é uma fonte aberta linguagem de programação textual e ambiente de desenvolvimento que foi inicialmente criado para ensinar os fundamentos da programação de computador dentro de um contexto visual, no entanto, ele também tem desde sido adotada por profissionais como uma maneira fácil para criar aplicações multimídia. Sendo de código aberto, ele é parcialmente desenvolvido por uma pequena equipe de voluntários que criaram muitas extensões ao software, no entanto, é desenvolvido principalmente por um grupo de indivíduos filiados a várias escolas e universidades. Enquanto processamento é usado principalmente para criar gráficos, imagens e aplicativos baseados em animação, que inclui uma série de bibliotecas que o torna um grande candidato para o desenvolvimento de software de áudio e MIDI.

A linguagem de programação Processing foi projetado para ser uma primeira linguagem de programação languagea de fácil sintaxe que seria não-assustador para alguém completamente novo para programação. Há muitos livros e tutoriais on-line que ensinam como usar o processamento, no entanto sendo uma linguagem textual pode significar que existe uma curva de aprendizado mais íngreme do que a de Max / MSP ou PD. No entanto, se você é sério sobre a obtenção em desenvolvimento de software, você vai achar que as linguagens textuais dará uma flexibilidade muito mais. Processing fornece entrada / saída, os efeitos, das ondas e geração de ruído de áudio e MIDI, análise e geração de envelope, embora os recursos não são tão forte como a de Max ou PD. No entanto Processamento seria uma opção melhor se você quer que sua aplicação tem uma interface de usuário totalmente personalizada, como a linguagem Processing lhe dá muito mais controle sobre a forma como um aplicativo procura ea forma como um usuário pode interagir com ele.

The Processing environment and example code

O ambiente de Processamento e exemplo de código

Processamento 2.0 está disponível para OS X, Windows e Linux (desktop e incorporado), e é totalmente gratuito para uso. Programas de processamento podem ser exportados para autônomo aplicações em todas as plataformas, e pode ser distribuído livremente. Há também ferramentas disponíveis para a incorporação de seus programas em páginas da web, bem como executá-los em iOS ou dispositivos Android. Veja o Processamento site para mais detalhes.

openFrameworks

Cosmosƒ by sonicLAB, a software synthesiser built with openFrameworks

Cosmos por sonicLAB, um sintetizador de software construída com openFrameworks

openFrameworks é um conjunto de ferramentas de código aberto para o desenvolvimento de aplicações interativas e multimídia. É muito semelhante ao tratamento, na medida em que é projetado para artistas e designers para criar software de uma forma simples, usando uma linguagem de programação textual, desenvolvido por uma equipe central de pessoas afiliadas a universidades e laboratórios de tecnologia. No entanto, existem várias diferenças entre as duas plataformas.

openFrameworks usa a linguagem de programação C ao invés de ser a sua própria língua. C é um muito amplamente utilizado, o que torna uma língua útil para dominar, se você é sério sobre a obtenção em desenvolvimento de software, e permite que o código openFrameworks para ser misturado com outros kits de ferramentas C, se necessário. C is not como novato amigável como processamento, no entanto openFrameworks usa a linguagem de uma forma que faz com que seja fácil de usar, e vem com muitos exemplos e projetos de demonstração.

Em segundo lugar, openFrameworks requer um ambiente de desenvolvimento integrado (IDE) para a escrita e criação de seus programas, em vez de ter seu próprio ambiente / aplicação. openFrameworks pode ser usado com os IDEs mais comumente utilizados para todos os sistemas operacionais suportados (por exemplo Xcode no OS X, o Visual Studio no Windows), e enquanto estas IDEs são mais complexas do que o ambiente de processamento, eles são aplicações muito úteis para dominar para software Os esforços de desenvolvimento.

Finalmente, openFrameworks é mais rápida, mais flexível e mais complexo do Processing, e tem capacidades de áudio muito mais fortes (por exemplo, você é capaz de lidar com fluxos de áudio em uma base per-amostra), embora isso não significa que unir um aplicativo de áudio pode não ser tão rápido e fácil quanto usar Processing.

An openFrameworks project within Apple’s Xcode IDE

Um projeto openFrameworks dentro Maçãs Xcode IDE

openFrameworks pode ser usado para desenvolver aplicações para OS X, Windows, Linux (desktop e embutidos), iOS, Android e, e é livre para usar. Aplicações independentes podem ser construídas para cada plataforma, e pode ser livremente partilhada e vendido, comercialmente ou não comercialmente. Se você começou um aplicativo de áudio bastante complexo em mente, mas não tem tempo para cavar muito fundo em desenvolvimento de software, esta seria uma boa plataforma para você usar. Consulte o site openFrameworks para mais informações.

JUCE

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

AlphaLive por nu desinz, uma aplicação de edição de MIDI desenvolvido utilizando JUCE

JUCE é outra biblioteca C, no entanto, enquanto openFrameworks (e processamento) são destinados principalmente para artistas e designers criem software facilmente sem ficar muito envolvido nas complexidades do código, JUCE é projetado para ser um tudo-em-uma plataforma para o desenvolvimento de rico, aplicativos e plugins de plataforma cruzada, com um forte foco em aplicativos baseados em áudio e MIDI. Enquanto as duas plataformas anteriores são utilizados principalmente para instalações da técnica e projectos interactivos, JUCE tem sido utilizado no desenvolvimento de inúmeras aplicações comerciais por empresas como a Korg, M-Audio, PreSonus, de linha de imagem, Arturia, e mesmo para o desenvolvimento de Max / MSP!

JUCE é a plataforma mais complexa coberto aqui, mas tem uma série de ferramentas e recursos que o torna uma ótima opção até mesmo para novos desenvolvedores. Em primeiro lugar, tem uma ferramenta chamada Introjucer, que pode atuar como um assistente para gerar e configurar seus projetos do IDE e código de uma forma fácil. Ele também contém um editor WYSIWYG interface com o usuário, permitindo-lhe criar interfaces sem qualquer codificação. Em segundo lugar, ele vem com muitos projetos de demonstração, dando exemplos de tudo o que pode ser feito com JUCE, e como fazê-lo. Em seguida, até recentemente, JUCE foi desenvolvido por um único indivíduo, fazendo com que a base de código altamente consistente, alfabetizados e fácil de usar. O código também está muito bem documentado. Finalmente, a biblioteca pode lidar com praticamente tudo no que diz respeito à construção de áudio e aplicações MIDI. Ele pode até mesmo ser usado para desenvolver multi-plataforma plug-ins de áudio (AU, VST, RTAS, AXX) usando um único projeto, que é uma das principais razões por que é tão popular entre as empresas de software de áudio.

A JUCE project within Apple’s Xcode IDE

Um projeto JUCE dentro Maçãs Xcode IDE

JUCE pode ser usado para desenvolver aplicações para OS X, Windows, Linux (desktop e embutidos), iOS e Android. Ela é livre para usar para projetos de código aberto, mas se você deseja liberar o seu aplicativo sem liberar o código que você precisa comprar uma licença comercial, que começa a partir de 595 dólares. Se você é sério sobre o desenvolvimento de aplicações comerciais ou entrando em desenvolvimento de software como uma carreira, eu recomendo JUCE. Tem a curva de aprendizagem mais íngreme entre todas as plataformas aqui abrangidos, mas no que diz respeito ao desenvolvimento de aplicações de áudio não há um lote JUCE não podem fazer. Veja o JUCE site para mais detalhes.

Então, se você quiser aprender como codificar ou não, estes cinco plataformas significa que qualquer de suas idéias de software de música podem ser facilmente realizados.

Saiba mais sobre Max / MSP em AskVideo aqui.

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!