2009-02-03 8 views
30

Ich möchte ein interaktives Lied schreiben. Es würde Staat und Logik enthalten. Ein Listener/Benutzer sollte in der Lage sein, einige Zustandsvariablen über eine GUI oder eine MIDI-Schnittstelle zu ändern. Listener-zugängliche Vars müssen nicht direkt Tempo, Tonhöhe oder andere Musikeigenschaften darstellen. Sie würden eher Werte repräsentieren, die die Logik verarbeiten würde, um Änderungen am Lied vorzunehmen.High-Level-Programmiersprache für Musikkomposition

Muss ich eine solche Plattform selbst schreiben oder gibt es etwas, das meiner Fantasie entspricht?

Antwort

11

Betrachten Sie cSounds und PureData.

+0

[Max MSP] (http://cycling74.com/products/max/) ist sehr ähnlich zu PureData. – Kevin

+0

SuperCollider ist beiden überlegen (siehe Antwort unten) – cmc

1

Ich bin mir nicht sicher, ob es deckt, wonach Sie suchen, aber sehen Sie sich Java Sound API an. Für eine FAQ über was es tun kann, siehe here. Die Vorteile sind bereits im SDK und JRE gebündelt und das ist plattformübergreifend. Sie können die GUI auch mit jedem Java-Toolkit erstellen.

7

Wenn Sie gerne Java verwenden, lesen Sie JFugue.

+0

Oder sonst JMusic hat viel stärkere Funktionen im Vergleich zu JFugue und mehr Flexibilität siehe [1] für Anwendungen erstellt von JMusic [1] http://explodingart.com/jmusic/applications .html – poohdedoo

+0

Das Problem mit JFugue ist, dass es einen super schnellen Prozessor braucht oder die Musik wird weit weg sein. Das ist mir passiert. Es kann nicht scheinen Midi Timestamps oder so etwas zu verwenden. – DankMemes

0

Ich weiß nicht wirklich bekommen, was Sie tun wollen, aber hier ist eine Liste von einigen CL Musik-Software, sowohl für die Zusammensetzung und Kognition: http://www.cliki.net/Music

3

Werfen Sie einen Blick auf Strasheela:

Es ist ein Kompositionssystem, das auf der Programmiersprache Oz basiert. Learning Oz ist nicht einfach, da es das funktionale und das logische Programmierparadigma kombiniert. Wenn Sie jedoch das SICP Buch mögen, dann werden Sie es wahrscheinlich auch mögen.

Strasheela behandelt Musikkomposition als Constraint Statiffaction Problem (CSP) und sucht nach "Lösungen" dafür. Dies bedeutet, dass der Musikstil als mathematische Einschränkungen für ganze Zahlen (endliche Domäne) definiert ist, die statistisch definiert werden müssen, und das integrierte System zur Berechnung der Randbedingungen berechnet die Lösungen "automatisch".

P.S .: Ich kann nicht in Oz programmieren, aber ich bin auf meinem Weg, es zu lernen.

0

Sie suchen nach einem Audio Programming Language. Eine weitere Option, die Sie beachten sollten, ist Processing - von vielen Künstlern und Musikern für diese Art von Arbeit verwendet.

-Adam

1

Antwort ist für .NET:
ich etwas, Kasse NAudio von Mark Heath, eine große .NET-Musikbibliothek fand ich sagen würde, es in der BCL enthalten sein sollte.

midi-dot-net ist ein weiteres großartiges C# -Projekt von Tom Lokovic.

1

Für Musik-Interaktion, PureData, Max/MSP und OpenMusic (diese beiden letzten sind von IRCAM) sind die besten. PureData ist Freeware. Google sie!

6

Ich habe versucht PureData, CSound und SuperCollider.

CSound ist sehr umständlich in zu programmieren, und hat für meine Anforderungen (24bit/96kHz Echtzeit-Low-Latency-linux) in der Version 4.

Puredata grafischen ist, was macht es noch schwieriger zu halten Code schwere Stabilitätsprobleme hatte sauber und ordentlich dann mit Textdateien. Komponieren ist eine Qual, weil Sie Ihre eigene Kompositions-GUI erstellen müssen, die sehr mächtig sein kann, aber solange ich mein einziger Benutzer bin, finde ich es einfach schneller, Text zu verwenden.

Der Gewinner ist SuperCollider, weil es eine Smalltalk-inspirierte objektorientierte Sprache ist, mit der man sehr angenehm arbeiten kann. Es ist aufgeteilt in einen OSC-gesteuerten Sound-Server und die Client-Sprache. Ich kann den Tonsyntheseserver empfehlen und die Sprache verwenden, um Instrumente für seine ausgezeichnete Stabilität, große Flexibilität und unglaubliche Macht vorbehaltlos zu schaffen. Ich habe es live auf der Bühne gespielt und die Performance ist unglaublich gut.

Die Score-Erstellungssprache leidet unter dem Many-Hands-Syndrom; In Ermangelung der letzten klaren Führung gibt es zu viele Möglichkeiten, zu viele Dinge mit zu vielen Einschränkungen zu tun, aber es ist immer noch besser als CSound, weil man zumindest vernünftige Strukturen auf hoher Ebene verwenden kann.

Immer noch auf der Suche nach einer Komposition Sprache, die es gerade richtig macht.

+0

Große Antwort! Wie vergleicht SuperCollider mit ChucK? Irgendeine Erfahrung damit? –

+0

Ich habe Chuck noch nicht probiert, aber wenn ich es erforsche, würde ich annehmen, dass es eine adäquate Low-Level Sound Processing Option ist, aber nicht so gut geeignet wie eine allgemeine Audiosprache. – cmc

0

Es ist eine Schande, dass keiner über Chuck sagte .................. Chuck ist eine Programmiersprache, die speziell für Musik/Audio-Generierung und Komposition gebaut ist. Sie können Chuck um http://chuck.stanford.edu es ist viel einfacher zu bedienen, und ist viel vertraut zu c, C++, Java usw., aber es ist einfacher zu lernen auch. Sie können bei Coursera über Chuck kostenlos von California Arts Universität, Link finden here.

Verwandte Themen