Audio / Synthesizer Programmiersprachen vs Faust vs Supercollider vs PureData vs C und so weiter…

Das sieht sehr interessant aus, aber wolltest du nicht was zum Coden? Beim ersten Durchbrowsen sehe ich nichts zum Coden.

Wenn es nicht mit Programmierung sein muss könnte ich noch SunVox empfehlen. Das läuft auch noch auf weiteren Plattformen. Ich patche gerne unter Linux und mache es dann zum rumpiepsen aufs Handy. Man kann aber auch gut auf dem Handy patchen. Es hat einen Tracker eingebaut, aber den muss man nicht benutzen.
 
Was "Programmierung" ist und was nicht, kann man so oder so sehen. Wo ist die Grenze - zwischen grafisch und sprachlich? Csound ja, Pd nein? Es beschreibt doch beides einen Datenfluss. Ich würde eher sagen, mir kommt es darauf an, dass der Zugang tief ist, bis hin zu arithmetischen und logischen "Primitives", wie zum Beispiel Multiplikation oder Flipflop. Das heißt, ein Softmodular wie VCVrack wäre es nicht. Ich habe jetzt noch nicht so ausführlich hineingeschaut, aber ich habe bereits auch z. B. Module gesehen, wo offenbar eine arithmetische Formel hineingeschrieben war, das sollte also wohl irgendwie gehen. Kann natürlich sein, dass ich irgendwann Mängel bemerke. Zum Beispiel, wenn die Delays nicht flexibel genug benutzbar sein sollten oder so was. Klar ist, dass nicht ALLES gehen wird. Ich werde z. B. keine FFT-basierten Synthesen bauen können. Dafür muss ich bei meinen Arbeitsweisen mit "richtiger Programmierung" bleiben, also am Rechner daheim.
Erstaunlich jedenfalls, wie sie die Bedienungsmethode so hinbekommen haben, dass es sogar auf den paar Quadratzentimetern des iPhone-Displays geht.

Auch ein interessanter Tipp, danke.

Beispiele für was ich bei Audulus noch gesehen habe: Viele "Noodles"-Patches, die man als algorithmische Komposition einsortieren könnte. Und jemand hat Conways "Game of Life" als Sequencer gebaut, yay!

Update zu meiner Audulus-Beurteilung: Ist doch sehr mager ausgestattet mit Modulen (hier "nodes"). Nicht einmal Tables für Audiosignale, oder wenigstens adressierbare Delays, und kein Audiodateizugriff. Einen Sampler oder Wavetable-Synth damit zu bauen ist also wohl nicht möglich. Kein MIDI-Out, ... Das ist mir dann doch zu lückenhaft und oberflächlich im Vergleich zu den grafischen Softsynth-Baukästen, die ich gewohnt bin (Bidule, Pd, Axoloti Patcher, ...).
 
Ich würde eher sagen, mir kommt es darauf an, dass der Zugang tief ist, bis hin zu arithmetischen und logischen "Primitives", wie zum Beispiel Multiplikation oder Flipflop.

genau so würde ich das auch sehen.

wobei dieses paradigma dann im vordergrund stehen sollte, und nicht nur beiwerk ist.

aber ich habe bereits auch z. B. Module gesehen, wo offenbar eine arithmetische Formel hineingeschrieben war, das sollte also wohl irgendwie gehen. Kann natürlich sein, dass ich irgendwann Mängel bemerke.

ist "programmierung" die hauptanwendung einer modularsynthesizersschrankwand?

ich denke, wenn man bewusst den focus darauf legt, dann wird man so ein system durchaus bauen können. und dann ist es programmieren.

das ist genau wie bei kyma oder reaktor. man kann da recht tief reingehen, man kann aber aber auch nur fertige instrumente und effekte nutzen.

Zum Beispiel, wenn die Delays nicht flexibel genug benutzbar sein sollten oder so was. Klar ist, dass nicht ALLES gehen wird. Ich werde z. B. keine FFT-basierten Synthesen bauen können. Dafür muss ich bei meinen Arbeitsweisen mit "richtiger Programmierung" bleiben, also am Rechner daheim.
Erstaunlich jedenfalls, wie sie die Bedienungsmethode so hinbekommen haben, dass es sogar auf den paar Quadratzentimetern des iPhone-Displays geht.

alte faustregel: einen serösen C++ anwendungentwickler erkennt man daran, dass er auch max/msp oder html als "richtige programmiersprache" bezeichnet.
 
immerhin Excel ist jetzt laut Microsoft endlich Turing-vollständig nachdem sie die LAMBDA-Funktion eingeführt haben...

1667312823133.png

ein rekursive Aufruf so einer LAMBDA-Funktion ist zwar möglich in Excel (ich hab's probiert), aber - Stand der Dinge - unendlich kompliziert
 
Pures HTML (ohne CSS, ohne JavaScript) ist nicht Turing-vollständig, zählt für mich daher nicht als Programmiersprache.
Kommt für mich nichtstudierter Prorammierer eher darauf an, was genau man programmiert. Einen Universalcomputer oder eben einen Softsynth. Eine Programmiersprache für einen Softsynth muss nicht turing-complete sein. Genauso wenig wie eine Programmiersprache für einen Webbrowser.

Selber würde ich HTML dennoch als Beschreibungssprache bezeichnen, wie auch übrigens mein DIY-Projekt (Sompyler). Nicht weil es nicht turing-complete wäre, sondern weil zwischen exit(42); und O: sawtooth | e' ein zu starker Unterschied ist hinsichtlich dem impliziten Gehalt an Verfahrenskontextinformation. Beim erstern weiß jemand mit etwas Programmierbackground, dass da ein Programm beendet mit dem Fehlercode 42. Beim zweiteren muss man wissen, welches Programm diesen Input interpretiert und was es daraus macht. Es ist es eine Sekunde Sägezahnschwingung der Frequenz des eingestrichenen e gegenüber a'=440Hz bei gleichschwebender Stimmung, geschrieben in ein Audiofile, aber schon der Name des Audiofiles ist nicht mehr innerhalb dieses Programms von Belang.

Interessanter ist für mich eher die Unterscheidung zwischen Programmierung und Konfiguration. Den zweiten Code könnte man umschreiben wie folgt:
Code:
OSC_TYPE=sawtooth
PITCH=329.628
DURATION=1s
Das wäre Konfiguration, insofern das eben aussieht nach Variablen für eine Funktion. Die Grenze ist sicher fließend. Wenn hier mancherorts die Rede ist davon, dass Klänge programmiert werden, dann ist es für mich einfach die Art, wie andere das ausdrücken. Ich würde es konfigurieren oder beschreiben nennen. Programmieren im engeren Sinne werden Programme, ganz banal.

Habt ihr gewusst, dass man in SQLite3 eine Mandelbrotmenge programmieren (oder, wenn euch der Terminus nicht gefällt, deklarieren) kann? SQL ist nicht turing-komplett, dennnoch lassen sich einige Klassen von Problemen, denen man mit generalistischen Sprachen beizukommen pflegt, eben auch so lösen. Im strengen Wissenschaftlichen Sinn ist das nicht programmiert, weil auch SQL eine Beschreibungssprache ist. Und um die Verwirrung komplett zu machen, gibt es die deklarative Programmierung als Paradigma.
 
Zuletzt bearbeitet:
Hat hier schonmal jemand mit Faust gearbeitet?

Sehe ich das richtig dass es da keine visuelle Programmierung gibt sondern lediglich eine Blockbeschreibungssprache?

Ich suche etwas um ein paar Sachen auf dem Pi umzusetzen, werde aber nicht so richtig fündig.

Allen spezialisierten Ansätzen gemein ist, dass sie mir vollkommen verquast und überfrachtet vorkommen.

Ich brauche keine Bibliotheken mit Oszillatoren, Waveguides, Filtern.

Was ich brauche ist abs +-×/ exp log if und while, optional noch Trig. Funktionen
sowie natürlich Variablen und Memory, als float und integer.

Dazu ne Schnittstelle für Audio und MIDI und Files lesen und schreiben und das wars.

Alles was darüber hinaus geht ist für mich Mumpitz der den Zugang erheblich erschwert und für mich unnütz ist.

Wünschenswert wäre entweder visuelle Programmierung oder eine simple Skriptsprache ohne Firlefanz.

Ich finde dass wenn blockbasiert das dann visuell sein muss.
Blocks per Skript zu beschreiben kommt mir ähnlich unsinnig vor wie ein Dokument von Hand in Postskript zu schreiben.

Vielleicht kann man aber den ganzen Mumpitz in Faust ignorieren und schnell einsteigen?

Für R5 Core hat man ca 40 Minuten gebraucht um das zu lernen...

Wie lange braucht man für Faust?
 
hab ich installiert, aber es scheint mir mehrere schlechte Aspekte zu kombinieren:
es gibt eine unnötig viel zu große Anzahl an Spezialbefehlen, gleichzeitig ist es nicht schnell und drittens nicht portierbar. Das Interface ist auch grausam und ich bin nicht sicher wie sich das bei komplexeren Strukturen verhält.
Das erste Demobeispiel das ich geöffnet habe lief zB gar nicht wegen Syntaxfehler.
Hab schon mehrfach versucht mich mit PD anzufreunden aber jedesmal nach 1, 2 Stunden aufgegeben ohne das Gefühl gehabt zu haben einen Schritt weiter zu sein.

Im Gegensatz dazu kann man zB Pixilang in der Zeit einmal komplett beleuchten,
genauso Reaktor Core bzw SynC Modular, und Pixilang kann vermutlich einiges mehr als PureData.

Es wird aber wohl entweder auf Faust oder PureData rauslaufen,
aber ich tendiere zu Faust obwohl das Konzept und die Syntax grausam sind,
ist es wenigstens flussorientiert.

Hab gehofft dass es hier jemand gibt den man dazu, Faust, fragen kann.
Ich tu mich ziemlich schwer mit neuen Sprachkonzepten und hab auch den Anspruch bzw das Bedürfnus bei einer Sprache oder Software den Überblick zu haben über alles.
Gleichzeitig kann ich mit langwierigen "Hallo Welr" Beispielen wenig anfangen.

Pixi ist in der Hinsicht ziemlich vorbildlich, die Beispiele sind alle klein aber aussagekräftig und direkt für die Aufgabe übernehmabar.
 
ja, aber ich wüsste nicht was genau jetzt dafür sprechen würde.
Ach für Supercollider spricht für mich erstmal nix besonders.

Ich hab Faust bzw die FaustWorks IDE für den Pi installiert, aber es gibt überhaupt keine Info zu der Version,
nur dass sie nicht aktuell ist und man das Web IDE verwenden soll.

Es scheint aber dass es im Kern sogar doch so ist dasss es nur wenige Grundfunktionen gibt, und der Rest darauf aufgebaut ist.

Schade dass sich niemand hier mit auskennt.
 
Was meinst du mit Block? Irgend ne EVA*-Einheit? Ich glaube mal stark, das Faust oder vielmehr ein Hilfsprogramm aus diesem Paket die Möglichkeit bietet, aus diesen Blöcken visuelle Schemata zu basteln, so dass du dir ansehen kannst, was du gebaut hast. Und wenn du die Abbildung nachvollziehen kannst und denkst, ja, das könnte funktionieren, gibt es ne zweite Ausgabeart Musikprogramm/-Automat, die Ein-/Ausgabe wird von Faust gedeichselt, damit sich der Programmierer damit nicht so viel rumschlagen muss. Alles nur Vermutung, hab mir Faust nicht angeschaut.

Aber was deine Spezifikation des Gewünschten angeht, denke ich zunächst an Allzwecksprachen mit spezifischen Erweiterungsmodulen für Sound und MIDI. Du wirst nämlich recht schnell das Bedürfnis verspüren (erlaube mir, von mir auf dich zu schließen), generische Routinen und potenziell musikstückbezogene Variation und Gestaltung ganzer Abläufe voneinander abzukapseln. Dazu brauchst du viel Code, der nichts mit Musik und Audio zu tun hat, sondern mit Datenprozesslogistik.

Natürlich ist klar, was ich hier versucht bin vorzuschlagen, aber mir scheint, du suchst sowas strikt musikfixiertes eben nicht, mehr etwas, das sowohl Musik machen kann als auch Tetrisklone.

Mein Programm würde als domain specific language bzw. Verarbeitung derselben beispielsweise die Grundrechenarten schon syntaktisch nur da unterstützen, wo es musikalisch Sinn macht, nicht generell: +/- wo man einen Parameter quasilinear auf einer Skala bewertet, × wo man einen bestehenden Wert skaliert, ÷ gibt es gar nicht, sondern wird mit ×0... ausgedrückt. If/while/for sind unbekannt, Potenzen/Exponentialfunktionen/Logarithmen tun ihren Dienst implizit unter der Haube. Turing-completeness Fehlanzeige.


*) Eingabe-Verarbeitung-Ausgabe. Mathematische Funktionen sind abstrakte EVA-Einheiten, wie überhaupt alle Funktionen im Sinne der funktionalen Programmierung.
 
Was meinst du mit Block? Irgend ne EVA*-Einheit?
ja genau. war blöd formuliert.

In Faust gibt es 5 oder so Operatoren die Blöcke von Code miteinader verbinden. Oder so.

ber was deine Spezifikation des Gewünschten angeht, denke ich zunächst an Allzwecksprachen mit spezifischen Erweiterungsmodulen für Sound und MIDI.
ja genau. Pixilang ist sowas in der Art, sehr übersichtlich, nur leider Faktor 20 zu langsam.

Interfaceschnickschnack brauch ich nicht viel und den würde ich eventuell auch selbst schreiben. Einfach nur ein paar Slider auf dem Screen.

Was Du als Sprache vorschlägst kann ja für viele musikalische Zwecke ausreichen und wär mir sympathisch aber für meinen Synth glaub zu unflexibel.

Was Turing angeht, sollte man aber nicht unterschätzen was man mit minimalen Mitteln erreichen kann. Das Game Of Life ist turing-vollständig zB.
Und jemand hat im Audiotracker SunVox sowohl das nachgebaut sowie einen Computer der 70er Jahre.
Aus Audiomudulen.
 
Hat hier schonmal jemand mit Faust gearbeitet?

Sehe ich das richtig dass es da keine visuelle Programmierung gibt sondern lediglich eine Blockbeschreibungssprache?

ja, aber immerhin echtzeit DSP.

Ich suche etwas um ein paar Sachen auf dem Pi umzusetzen, werde aber nicht so richtig fündig.

pd und max bieten doch solche optionen.

wobei man mit max, gen und rainbow zusammen natpürlich auf über 1000 euro kommt, und dann immer noch nicht eine so vollständige möglichkeit hat, genau zu sehen, was man da macht wie bei faust, was es in diesem aspekt fast mit matlab aufnehmen kann.

aber ein raspi dürfte in diesem bereich zur zeit die am besten unterstützte plattform überhaupt sein.

Was ich brauche ist abs +-×/ exp log if und while, optional noch Trig. Funktionen
sowie natürlich Variablen und Memory, als float und integer.

willst du dir fast fourier, disk access, speicherverwaltung und fentser zeichnen auch selbst schreiben? dann kommt assembler in betracht. :P
ich finde die "libraries" von max, csound und SC großartig. man muss sie ja nicht benutzen und kann sich einfach auf mathematische funktionen beschränken.

Ich finde dass wenn blockbasiert das dann visuell sein muss.
Blocks per Skript zu beschreiben kommt mir ähnlich unsinnig vor wie ein Dokument von Hand in Postskript zu schreiben.

Wie lange braucht man für Faust?

die befehle sind ganz ähnlich wie C++.

über die struktur und herangehensweise kann ich dir aufgrund mangelnder praxierfahrung nichts sagen.

die blocksize ist nicht fest, sie kann auch 1 betragen und du kannst notfalls gleichzeitig hochsampeln. natürlich ist das dann rechenintensiver als samplebasierte berechnung, aber wenn man ehrlich ist braucht man eh immer beides.

in max/msp ist ein block mindestens 2 samples lang und dann läuft vor allem der data rate scheduler voll gegen die wand und man kann so eigentlich kaum wirklich was machen.

am wenigsten überfrachtet is pd, und das bietet vor allem expression objects für signal rate, die leider *hust* nicht überall vorhanden sind.
 
Zuletzt bearbeitet:
Hat hier schonmal jemand mit Faust gearbeitet?

Sehe ich das richtig dass es da keine visuelle Programmierung gibt sondern lediglich eine Blockbeschreibungssprache?

Ich suche etwas um ein paar Sachen auf dem Pi umzusetzen, werde aber nicht so richtig fündig.

Allen spezialisierten Ansätzen gemein ist, dass sie mir vollkommen verquast und überfrachtet vorkommen.

Ich brauche keine Bibliotheken mit Oszillatoren, Waveguides, Filtern.

Was ich brauche ist abs +-×/ exp log if und while, optional noch Trig. Funktionen
sowie natürlich Variablen und Memory, als float und integer.

Dazu ne Schnittstelle für Audio und MIDI und Files lesen und schreiben und das wars.

Alles was darüber hinaus geht ist für mich Mumpitz der den Zugang erheblich erschwert und für mich unnütz ist.

Wünschenswert wäre entweder visuelle Programmierung oder eine simple Skriptsprache ohne Firlefanz.

Ich finde dass wenn blockbasiert das dann visuell sein muss.
Blocks per Skript zu beschreiben kommt mir ähnlich unsinnig vor wie ein Dokument von Hand in Postskript zu schreiben.

Vielleicht kann man aber den ganzen Mumpitz in Faust ignorieren und schnell einsteigen?

Für R5 Core hat man ca 40 Minuten gebraucht um das zu lernen...

Wie lange braucht man für Faust?
Wow, alles was Du nicht brauchst oder verstehst scheint bei Dir dann automatisch Mumpitz, Firlefanz und unsinnig zu sein. Es soll z.B. Leute geben, die Programmieren können und lieber mit Text arbeiten als mit Clicki-Clicki. Ignoranz vom feinsten.
 
Hast meinen Rant und Anliegen und Bedürfnisse und Anforderungen nicht verstanden, macht nichts, und rantest und beschimpfst einfach mal auch, macht auch nix, aber falls Du was konstruktives zu Thema beizutragen hast wär das dennoch gerne gesehen.
 
oh und Du hast offenbar nicht mal alle Beiträge gelesen bevor du den OP beschimpfst:
Bonuspunkte :

bling bling bling

und plonk
 
Wow, alles was Du nicht brauchst oder verstehst scheint bei Dir dann automatisch Mumpitz, Firlefanz und unsinnig zu sein. Es soll z.B. Leute geben, die Programmieren können und lieber mit Text arbeiten als mit Clicki-Clicki. Ignoranz vom feinsten.

es gibt programmiersprachen ohne text? hast du dich verlaufen? sollen wir die mama ausrufen lassen?
 
auch wenn es bei kompilierten Sprachen rein technisch am Ende gesehen egal ist finde ich eine Sprache sollte so kompakt wie möglich sein und möglichst wenig möglichst lesbaren Syntax haben.

zB sind Zeilentrenner ; und notwendige definierte Einrückungen Dinge die nett für den Compiler/ Interpreter sind aber für den Programmierer eher überflüssiges Ägernis.

Oder for und while und andere Schleifen:
persönlich bin ich zwar for gewoĥnt, aber for ist überflüssig wenn es while gibt und while
mächtiger, flexibler und schlanker als for.

Viele Sprachen bieten beides an, und da sage ich: weniger ist mehr.
 
Je generischer eine Programmiersprache, umso mehr Boilerplate muss der einzelne schreiben, um seinen Zweck zu erfüllen. Boilerplate ist wie Ballaststoff, wie "Es war einmal". Klar kann man eine Geschichte auch ganz kurz erzählen: Sohn armer Bauern. Prinzessin. Bumms. Auch aus Gewehren. -- Der Rest spielt sich im Kopf des Lesers ab und wer die Story nicht versteht, lebt halt hinterm Mond.

Im übrigen, @mooncast, bist du gerade echt am Jammern. Wenn es die Sprache nicht gibt, die du willst, leb halt mit den Schwächen derjenigen, die deinen Bedürfnissen am nächsten kommt, oder entwickel deine eigene. Parser und Lexer gibt es ja wie Sand am Meer.
 
Zuletzt bearbeitet:
tl;dr:
Ich empfehle dir (irgend)eine gut eingeführte Universalsprache plus entsprechende Libraries für für Sound, Midi etc.
also zB C++, Java, Python

Ich brauche keine Bibliotheken mit Oszillatoren, Waveguides, Filtern.
Vielleicht kann man aber den ganzen Mumpitz in Faust ignorieren und schnell einsteigen?
Ich kenne Faust nur aus den Beschreibungen, die man so findet. Kann man wahrscheinlich schon, aber was nützt dir eine Spezialsprache für Audiprocessing, wenn du die Spezialsachen gar nicht verwendest?
Der Einstieg wird nicht schneller sein als bei irgendeiner anderen Sprache, die du nicht kennst.

Spezialsprachen mit vorgefertigten Bausteinen bringen es meiner Ansicht nach nur, wenn man diese auch verwendet. Dabei es egal, ob es sich um visuelle Sprachen handelt wie pd oder um Schreibsprachen wie SuperCollider oder Faust. Wenn man die Spezialsachen weglässt hat man nur noch eine Programmiersprache, die nicht so gut unterstützt wird wie eine der Standardsprachen.

Aus leidvoller Erfahrung mit visuellen und Rapid-Development Sachen weiß ich, dass man für die richtig guten Projekte immer an irgendwelche Grenzen stößt und dann eben doch von Hand programmieren muss. Und dann bildet man einen Einzeiler mit zehn pd-Klötzchen ab, oder man hat ein pd-Klötzchen, wo man Programmcode ohne die Unterstüzung einer integrierten Entwicklungsumgebung eingeben und debuggen muss.
Und man hat die Logik auf verschiedene Stellen verteilt und kann nur sehr unkomfortabel nach irgendwas suchen.

Viele Sprachen bieten beides an, und da sage ich: weniger ist mehr.
Damit musst du dann leben. Meines Erachtens überwiegen die Vorteile einer gut eingeführten Universalsprache.

Als günstigen Einstieg könnte ich dir processingIDE nahelegen. Hier hast du zwar auch viele Befehle die du nicht brauchst, aber eben den Sprachumfang von Java und eine Unterstützung im Internet, die du für Faust nicht finden wirst.
Und man installiert es einfach und es läuft.
 
es gibt eine unnötig viel zu große Anzahl an Spezialbefehlen, gleichzeitig ist es nicht schnell und drittens nicht portierbar.
  • Typisch für Low-Code-Umgebungen ist es, dass manche Dinge eben "spezielle" Objekte benötigen.
  • "Nicht schnell" in welcher Beziehung?
  • "Nicht portierbar" bedeutet was? Ich hatte bis jetzt keine Probleme auf Windows/Linux/x64/Arm. Damit läuft PD eigentlich auf Allem.
  • Abgesehen von irgendwelcher speziellen Hardware (wie z.B. Organelle Poits, Display, etc.) sind auch die Patches ohne Aufwand auf jeder Plattform lauffähig.
bin nicht sicher wie sich das bei komplexeren Strukturen verhält
Da du in PD die Möglichkeit hast zu modularisieren sind auch komplexe Projekte kein Thema.
persönlich bin ich zwar for gewoĥnt, aber for ist überflüssig wenn es while gibt und while
mächtiger, flexibler und schlanker als for.
Wenn du etwas so konkret willst, es aber nicht existiert musst du eben eine eigene Umgebung erschaffen die dann genau deinen Vorstellungen entspricht. Ist halt ein exorbitanter Aufwand.

Wenn man in PD mal das Konzept von Audio-, Datenflüssen, Events, heißen und kalten Eingängen sowie Synchronisation verstanden hat (was man sich in ca. 30 Minuten aneignen kann) kannst du damit sehr zügig alles mögliche bauen. Außerdem hast du durch die Modularisierung die Möglichkeit dir eine eigene Bibliothek zu erstellen und fortlaufend zu erweitern mit der du dann mit wenig Aufwand deine Patches zusammen baust.

Für Fragen dazu stehe ich auch gern zur Verfügung.
 
ja ich war gestern sehr am schimpfen und jammern, eigentlich nur weil ich die Mühe und vor allem auch die Zeit scheue mich nochmal irgendwo einzuarbeiten.

Die Autoren von Faust behaupten dass ihr Code schneller wäre als das was ein routinierter Programmierer aufsetzten würde.
Halte ich für denkbar, weil ja vermutlich auf Funktionsaufrufe und ähnliches verzichtet wird was immer ein bisschen overhead hat.

Wie auch immer, der Hauptgrund mich für Faust oder PureData zu entscheiden ist vor allem MIDI und Oberfläche, ich denke Faust ist ein bisschen schneller und später universaler verwendbar, in PureData ist man halt an PureData gebunden.

Der Vorteil von PD wäre aber dass es etwas lesbarer bleibt und für andere zugänglicher.

Ich blicke bei Faust aber im Moment noch nicht durch, finde es sehr uneingängig und weiss auch nicht welche IDE ich verwenden soll, sie empfehlen das Webinterface das ich recht unpraktisch finde und von dem ich gar nicht weiss wie mans lokal einrichtet.
 
auch wenn es bei kompilierten Sprachen rein technisch am Ende gesehen egal ist finde ich eine Sprache sollte so kompakt wie möglich sein und möglichst wenig möglichst lesbaren Syntax haben.

du bist natürlich schon sehr radikal mit deinem "ich brauch nur grundrechenarten, expr und log" und das hat ihn vielliecht irgendwie getriggert.

DSP ist pure mathematik und du brauchst da schon auch mal tangens, root, oder fast fourier, und das willst du definitiv nicht selbst implementieren.

oder einen phasenakkumulator. das willst du doch nicht ernsthaft mit einer additions funktion selbst bauen.

umgekehrt willst du dann aber doch so etwas wie midi import schon fertig dabei haben :) - was nun wirklich viel, viel einfacher selbst zu machen wäre wie cos oder root es sind.

ich persönlich bin mit menem max schon lange von all dem müll, der da mit dabei ist und einen mehr ablenkt als wie dass es hilft, am ende. aber wirklich stören tut das auch nicht. man kann doch einfach die klassen, objekte oder libraries, die man nicht benutzen will, ignorieren oder theoretisch sogar löschen und nur mit dem arbeiten, was einem gefällt.

ich würde das echt nicht zum wesentlichsten und einzigen aspekt heraufstilisieren sondern einfach mal pd vanilla, CSound, Faust, flowstone, die VST SDKs für C++ und delphi, supercollder 2 und 3 installieren und mit jedem davon mal 20 minuten herumspielen, dann merkt man doch sehr schnell, was einem liegt und was nicht.
 
Zuletzt bearbeitet:
faust kenne ich nur dem namen nach.
supercollider und csound nur fluechtig, allerdings sehe ich bei beiden als staerke, dass sie sehr "high level" sind.
in sc ist zb. eine "resonator bank" ein einzeiler, in pd patcht man sich da erstmal den wolf...

aber das ist eben auch eine staerke: man kann c (oder beliebigen) code in pd implementieren, und auch
andersrum. natuerlich mit unterschiedlichen, und mehr oder weniger gravierenden "fallstricken"...
die effizienz ist sicher nicht grandios, gefuehlt sehe ich die so auf dem niveau von reaktor
vor den optimierungen von vadim ("dr. sync").
so ist das eben bei einer interpretierten sprache,
waehrend reaktor ab v3 ja so eine art "just in time-assembler" nutzte, wenn ich das richtig erinnere.

fuer 'ernsthafte audioprogrammierung' (wenn man das denn will...) scheint es mir am wohl
am besten cpp und ein passendes framework zu verwenden.
damit man eben nicht die ganze "infrastrukrur" selber bauen muss.
kenne mich mit solchen leider auch nicht aus, ich habe damals als "framework" fuer audiosoftware direkt
das vst-sdk verwewendet, was aber auch dafuer reichte, dass ich mich um die ansteuerung der soundkarte
und das empfangen von midi-nachrichten usw. nicht kuemmern musste (macht ja der host).
vielleicht waere "juce" (keine eigenen erfahrungen damit, hat aber abschreckende 'geschaeftsverbindugen'...)
empfehlenswert?

mit pure data mache ich seit etwa 17 jahren musik. bin da also quasi "fan", wobei mir auch immer
das wort "hassliebe" auf der zunge liegt...
als eine staerke sehe ich die zugaenglichkeit, selbst wenn die auf den ersten blick nicht so sichtbar ist:
man kann mit pd projekte machen, ohne ueberhaupt zu wissen, dass das was man da tut programmieren ist.
der allererste einstig mag in der tat etwas unangenehm sein (abschreckende gui, haessliches tcl/tk,...),
aber mit etwas frustrationstoleranz schafft man das eigentlich...
eine weitere staerke ist, dass es ohne groesseren stress auf jedem stueck
metall laeuft das ausreichend schnell rechnen kann.
 
eher nicht. Dann hast du nur klickibunti, aber nicht das, was stattfindet wenn es dann wirklich zu Sache geht.

warum? wer weiß doch schon, was er sucht.

er wird das bouncing ball delay ugen und das biquad external überspringen und als erstes direkt + und * eingeben und dann sehen, wie das dort aussieht. das funktioniert erst mal in jeder dieser sprachen.
 
Zuletzt bearbeitet:


Neueste Beiträge

News

Zurück
Oben