2010-12-02 10 views
2

Ich bin auf der Suche nach einer Audio-Processing-Sprache oder Bibliothek, mit der ich mit verschiedenen Synthesetechniken experimentieren kann. Ich habe mir Processing angeschaut, was meiner Meinung nach großartig ist, aber ich habe keine inspirierenden (und einfachen) Audiobibliotheken gefunden.Auf der Suche nach einer expressiven Audio-Programmiersprache oder Bibliothek

Als Baseline möchte ich einfach meine eigenen Beispielpuffer erstellen und diese wiedergeben (idealerweise in Echtzeit). Als ein Pluspunkt wäre die Fähigkeit, MIDI-Events zu handhaben, großartig. Ich bin ein erfahrener C++ - Programmierer, also könnte ich es nativ machen, aber ich hatte gehofft, dass es einen DSL-Ansatz (domänenspezifische Sprache) gibt.

Ich habe Zugriff auf Windows, Mac oder Linux, also noch nicht zu platt gemacht. Andere Sprachen, mit denen ich umgehen kann, sind C#, Java & Python.

Dank

James

Antwort

3

auf h Je Wie viel Sie wollen aus den Low-Level-Housekeeping-Details zu bleiben, möchten Sie vielleicht CSound betrachten, oder wenn Sie nicht wirklich Code schreiben möchten, ist das Patching-basierte System PureData großartig, mit zu arbeiten. Wie @Lou darauf hinweist, ist ChucK interessant (aber war zu fehlerhaft, um es das letzte Mal zu benutzen, als ich es auscheckte).

Wenn Sie wirklich Code schreiben möchten, sehen Sie sich die Synthesis Toolkit, eine Reihe von C++ - Klassen für Audio-Verarbeitung und Synthese.

Für ein App-Framework empfehle ich JUCE, die unglaublich nette plattformübergreifende Handhabung von Audio/Midi IO und GUI-Elementen hat.

1

Max MSP ist ein Audioproduktionswerkzeug, das sehr ausdrucksstark ist.

Ich denke, man könnte sagen, es ist ein High-Level-Tool und keine Low-Level-Programmiersprache. Mein Eindruck davon ist, dass es auf den technischen Musiker oder den künstlerischen Ingenieur ausgerichtet ist, aber egal, wie es auf den Arsch tritt, und du kannst mit ihm auf niedrigem Niveau spielen, wenn du willst.

1

Ich war schon immer ein großer Fan von SuperCollider. Es ist für Mac OS X konzipiert, funktioniert aber auch unter Linux.

Die Sprache basiert hauptsächlich auf SmallTalk, und es ist ziemlich einfach zu erlernen, wenn Sie die Grundlagen der funktionalen Programmierung verstehen. Die Qualität des vom SC-Server ausgegebenen Sounds ist sehr gut und es gibt viele Dokumentationen, die sowohl in der App-Umgebung als auch online verfügbar sind.

0

Werfen Sie einen Blick auf NAudio, ein Open-Source-.NET-Audio-SDK zum Arbeiten mit Audiodateien und -geräten in Windows. Einige Features sind:

http://naudio.codeplex.com/

NAudio Features: 

Play back audio using a variety of APIs 
Decompress audio from different Wave Formats 
Record audio using WaveIn, WASAPI or ASIO 
Read and Write standard .WAV files 
Mix and manipulate audio streams using a 32 bit floating mixing engine 
Extensive support for reading and writing MIDI files 
Full MIDI event model 
Basic support for Windows Mixer APIs 
A collection of useful Windows Forms Controls 
Some basic audio effects, including a compressor 
1

Ein interessanter Punkt von Supercollider ist die Verwendung auf Android-Geräten, und es ist Austausch mit Python Trog aus anderen Modulen. Hier geht ein example

Verwandte Themen