M
mooncast
Guest
Das scheint aber erstmal ne generell Sprache/ C Ableger zu sein? Wo wär da ein Vorteil für Audio?
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: This feature may not be available in some browsers.
Wow, stimmt. Das ist ja eine sehr dämliche Umbenennung (den wenn ich es richtig sehe ist Cmajor eigentlich bis vor kurzen unter den Namen "Soul" presentiert worden, ich schätze mal, dass die Umbenennung was mit der Akquirierung von Soundwise zu tun hat).Gibt offenbar mehr als einen C Ableger der sich so nennt.
Mag sein. Abseits von A/V, in der Textbranche vor allem im Gebiet der Naturwissenschaften hält sich allerdings ein kleiner Kreis von Verlagen, die mit TeX-Dokumenten noch umzugehen wissen.programmierumgebungen bzw,. sprachen, auf die #3 zutrifft fallen für kreative leute, die ihr programm selbst nutzen wollen, komplett raus.
Deine Trennung zwischen #2 und #3 ist etwas vage. Was soll denn passieren auf "Knopfdruck", wenn nicht dass "Code da ganz tief innen drin" losläuft um ohne Echtzeitbindung aus logisch-schematisch-syntaktisch strukturierter Information irgendwas zu machen, das in der weiteren Abspiel-/Ausführungsphase nur noch wenig Rechenleistung benötigt, aber dafür eben nicht mehr so leicht inspiziert und reengineert werden kann?
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.
@acidfarmer: Was SQL/SQLite/Datenbanken sind, weiß ich. Die Mächtigkeit von SELECT, eigentliche eine Sprache in der Sprache, hab ich allerdings auch noch nicht erfasst und kann nur staunen über solche Zweckentfremdungen.
Deklarative Programmierung ist Programmierung, aber weit weg von imperativer Programmierung. Und vielleicht interessiert dich https://www.sqlite.org/lang_with.html, Abschnitt 3.5. Als jemand, der schon ein Kassenverwaltungssystem (Datenbank und Logik) allein mit SQLite3 programmiert hatte, nur mit Tabellen, Views und Triggern, weiß ich, dass ich nichts weiß, dass musst du mir nun wirklich nicht unter die Nase reiben, gell.SELECT ist nur ein Befehl um Daten aus der Datenbank abzufragen. In einer SELECT-Anweisung können mit den Daten z.B. schon Berechnungen stattfinden. "Zweckentfremdungen" sind mit SQL-Funktionen möglich, aber auch hier kann nur mit vorhandenen Datensätzen aus der Datenbank gearbeitet werden und ist immer noch weit weg von programmieren.
meines halbwissens ist supercollider quasi #3, nur läuft der Kompilierprozess soweit möglich für jede neu eingegebene Codeeinheit nach ihrem Abschluss, der Rest (Ingest in die Playback-Loop) wird mit nem abschließenden Knopfdruck erledigt.
Für mich ist Supercollider daher ganz klar #1.
Als jemand, der schon ein Kassenverwaltungssystem (Datenbank und Logik) allein mit SQLite3 programmiert hatte, nur mit Tabellen, Views und Triggern, weiß ich, dass ich nichts weiß, dass musst du mir nun wirklich nicht unter die Nase reiben, gell.
Stimmt ja auch. Echtzeit ist immer gefühlte Echtzeit. Echtzeitsysteme garantieren, dass jede Nutzerinteraktion innerhalb einer Zeit verarbeitet wird, die unterhalb der Wahrnehmungsschwelle liegt, oder vergessen wird, also wiederholt werden muss. Sind also zu wenig Ressourcen vorhanden, führt das zu Aussetzern bzw. zu mehr Mensch-Maschine-Interaktionsversuchen, nicht zu längeren Wartezeiten. Wenn eine DAW den Menschen auch mal warten lässt, ist das schon kein "wirkliches" Echtzeitsystem mehr. Laut der Online-Enzyklopädie meines Vertrauens gibt es da Stufen der Echtzeit.wenn du das so einordnen willst gilt das aber dann für jede umgebung und du kannst zwischen echtzeit und nichtechtzeit gar nicht mehr unterscheiden.
Vielleicht war dies bei supercollider 2.x noch so, aber bei supercollider 3 wird einmal der Server gestartet (z.B. automatisch in dem Startup Script der Supercollider IDE) und an diesen kannst Du dann nach und nach den Code schicken, ähnlich wie bei einem jupyter notebook. Schau Dir doch einfach mal das gepostete Supercollider Live Coding Video an. Und da werden auch nicht irgendwelche Zusatzanwendung benutzt, das funktioniert genau so mit einer 08/15 Default Supercollider Installation. Selbst die Supercollider IDE müßte garnicht benutzt werden, ich habe bei Tidal Cycles meinen Code immer mit Emacs geschrieben und von dort zum Server geschickt.in supercollider 2.x muss ich erst den algo schreiben und dann auf "run" drücken damit es losläuft. bevor ich nicht stop drücke, kann ich keine änderungen hören.
der eine empfindet das als ähnlich, für mich macht es einen fundamentalen unterschied.
Supercollider funktioniert auch sehr gut nicht live. Und selbst Tidal Cycles (was ja nun ein Tool ist, welches speziell für Live Coding Sessions entwickelt wurde) hat Funktionen welche Dir erlauben Arrangments zu erstellen, die Du dann ohne Interaktion abspielen kannst (und was Dir fehlt, kannst Du ja immer noch in Haskell selbst schreiben). Aber vor allem war ja Dein genanntes Merkmal zur Unterscheidung erstmal, ob man in Echtzeit programmieren kann, und dies ist bei Supercollider nun mal (zumindest mittlerweile) definitiv der Fall.vermutlich müsste man beim thema "live coding" noch zwischen "für eine performance" und "beim erstellen eines programms" unterscheiden. die meisten live coding geschichten funktionieren ja nur live und das ist dann irgendwie auch schon wieder etwas anders.
problemlos