设计音乐软件的适当编程语言


11

我想为我的乐器设计一种有节奏的软件(没有旋律)。我想要这些软件做的是:

  1. 使用户能够创作音乐

  2. 播放用户撰写的内容

为此,我需要记录该乐器的不同声音,并使每个信号与适当的声音匹配。

哪种编程语言足以满足此目的?


1
您是否在考虑可以满足您需求的现有软件?
伯纳德

没有任何想要我在伊朗演出的自由形式
前奏曲

Answers:


18

阅读这些语言,并确定哪种语言适合您的需求:

超级对撞机

SuperCollider是一种用于实时音频合成和算法合成的环境和编程语言。它提供了一种解释性的面向对象的语言,该语言可作为最先进的网络客户端,提供实时声音合成服务

纯数据

Pd(又名Pure Data)是用于音频,视频和图形处理的实时图形编程环境。它是修补程序编程语言家族的第三个主要分支,称为Max(Max / FTS,ISPW Max,Max / MSP,jMax等)。

楚克

是一种新的(正在开发中的)音频编程语言,用于实时合成,合成,性能以及现在的分析-在MacOS X,Windows和Linux上完全受支持。ChucK提出了一种新的基于时间的并发编程模型,该模型具有很高的精确度和表现力(我们将其称为强定时),以及动态控制速率以及动态添加和修改代码的能力。另外,ChucK支持MIDI,OSC,HID设备和多声道音频。它有趣且易于学习,并为作曲家,研究人员和表演者提供了强大的编程工具,可用于构建和试验复杂的音频合成/分析程序以及实时交互控制。


3

您可能应该查看Overtone

Overtone是一种开放源音频环境,旨在探索从合成和采样到乐器制作,现场编码和协作干扰的音乐创意。我们将SuperCollider合成服务器用作音频引擎,并使用Clojure开发API和应用程序。合成器,效果,分析器和音乐生成器可以在Clojure中编程。

有一个很好的视频演示Overtone用于现场编码音乐和乐器合成。

Overtone 在引擎盖下使用SuperCollider

Overtone的优点之一是,尽管它为音乐编程提供了一个环境,但所使用的语言(Clojure)是一种通用语言。因此,您不会被迫学习仅对音乐部分有用的新语言。


1

如果您想将声音与您自己设计的用户界面(甚至可能是您自己的硬件)结合起来,请查看Processing。这是一种媒体丰富的语言,易于掌握,并且围绕该语言长大的文化似乎鼓励了美好的项目。看一下人们创造的一些事物,其中许多涉及声音。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.