Hacker News new | past | comments | ask | show | jobs | submit login

This is exactly my experience with both sc and Csound. (And Max too, for different reasons.)

Csound is based on a synthesis paradigm that dates back to the very first computer music experiments. It started life as a microcomputer implementation of Music 11, which was based on Music IV, which dates back to the 60s - and it hasn't moved on from there.

Meanwhile sc is a masterpiece of software development - a smooth and clever integration of a custom DSL with distributed real-time synthesis.

But musically it's damn near impossible to get it to sound as nice as a mediocre VST, never mind a good one, and the sequencing and event management are eccentric at best.

Essentially these systems are all opinionated frameworks with a huge conceptual overhead. They're supposed to make music-from-DSP easier to learn, but students have to learn DSP and a completely new and unusual programming language at the same time. And that's too much to expect of most people, even for A-grade students with PhD potential.

So they tend to be used for tinkering and for academic music projects. It's not quite true that no worthwhile music has ever been made with these systems, but it's not an exaggeration to say that very little has. And when you include the learning curve, the ratio of time spent to creative benefit is unimpressive.




You make some good points...sonically, out of all the visual node-based and text-based audio DSP environments, only Native Instruments' Reaktor has a reputation for DSP sound quality rivaling commercial software instruments/effects. Worth noting that Reaktor is itself a commercial AU/VST/standalone instrument/effect.

As a resident of both Davis and Berkeley, CA I've heard a lot of stiff academic music made in Max/MSP on UC campuses, though I'd say UC Davis' Bob Ostertag is the notable exception - really compelling stuff - but that's because he's using at as an expressive musical instrument.

But still, these environments hopefully provide a DSL/interace that abstracts away some of the complexity of bare-metal C or C++ code; and non-PhDs like Autechre, Squarepusher, Aphex Twin, BT, Leafcutter John and Christopher Willits have made great-sounding things with them. And these tools are often used by professional audio developers to quickly prototype DSP algorithms.


John Bischoff, of Mills College in Oakland, California, has been active in the SF Bay Area experimental music scene for a long time.

https://en.wikipedia.org/wiki/John_Bischoff_(musician)

https://www.johnbischoff.com/

Lots of amazing interviews with amazing people here:

https://econtact.ca/12_2/interviews_golden.html

John Bischoff

https://econtact.ca/12_2/audio/JohnBischoff.mp3

By now, one of the West Coast biggies, actually, make that international, he’s at the level where he’s thought of as one of the masters, though he is very mild-mannered and modest. In the 70s he formed League of Automatic Music Composers, one of the first computer music network bands, along with Jim Horton, Rich Gold, Tim Perkis. They would use Kim computers and plenty of homemade code and software (and get roasted in the newspapers by the critics especially during New Music America 1981, they were mocked unmercifully, but water off a duck’s back). Who’s laughing now, eh? [November 1988, dur. 11:24]

Laurie Anderson

https://econtact.ca/12_2/audio/LaurieAnderson.mp3

Probably one of the most famous of all our EA people, who successfully bridged the gap between the avant-garde and the “in the know” mainstream.” Even in the early 80s she packed the Mills College Concert Hall, with her violin, millions of “toys” including vibrators, plenty of digital delay and thrilled us all. A sidebar: when I was interviewing Laurie at The Phoenix Motel in San Francisco, a guy came into the room, she told him to introduce himself to Barbara, and he extended his hand and said: “Hello, I am Wim Wenders”… [17 February 1990, dur. 29:00]


I believe digital tools are scoped like analog ones are - they are appropriate for certain types of projects.

In the same way it would be extremely hard to do say, a convincing rendition of the waldstein sonata on say, a drum kit, the digital tools are great if you want to do what they're designed to do.

This is why some people love one piece of software and hate another in some apparently random distribution, music is a huge tent and these people likely have dramatically different goals. It's like a kosher, a vegan, and a keto arguing over the best restaurant...

The problem is trying to figure out whether it's the wrong tool or whether you just haven't spent enough time learning how to use it.


Max/MSP struck me like a very opinionated and schizophrenic elderly camel, who's been across the desert many times: it's wonderful and indispensable in certain situations, but it will get mad and spit on you if you don't treat it right, and it's butt-ugly, and some Max programmers have a way of cultivating and celebrating that butt-uglyness. (See any of AntiOrp's Nato.0+55+3d code!)

https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d

The author of Nato.0+55+3d, Netochka Nezvanova, aka "nameless nobody", "=cw4t7abs", "punktprotokol", "0f0003", "maschinenkunst" (preferably spelled "m2zk!n3nkunzt"), "integer", and "antiorp":

https://en.wikipedia.org/wiki/Netochka_Nezvanova_%28author%2...

A typical AntiOrp-style NATO patch:

https://enacademic.com/pictures/enwiki/78/Nato.0%2B55%2B3d.p...

Some neater examples, and an in-depth description of Nato, by Jeremy Bornstein:

http://www.bootsquad.com/old_site/nato/nato00.html

Max has got layers and layers of experience built up over the decades, but no one clear model or consistent way of doing things. It's got so many different opinions, or programming paradigms, that aren't necessarily consistent with each other and don't fit together well. Some people love it, because it happens to have the combination of programming paradigms that they like. But when you're starting out, it's hard to figure out the best way to do anything, because there are so many different competing ways. In that sense, it's extremely un-Pythonic, like visual Perl.

Here's a video that shows some great examples of Max/Nato code. Remember, this was before Cycling '74 created Jitter (which pissed off AntiOrp who considered it a rip-off of Nato). Nato supported many features of QuickTime, including reading and writing live RTP video streams over the network. So Nato "operators" would exchange live QuickTime RTP video streams back and forth over the network (both LAN and Internet) and jam together in live distributed performances, sending the video from one Mac to the other, near and far, mutating and remixing and layering in live video each hop, projecting it on screens, and feeding it back and forth between different "operators" who were writing and editing the code in real time.

Max_MSP_nato.0+55+3d 's_app_run_on_El_Capitan_test 2

https://www.youtube.com/watch?v=X0kQcnetR9M

Here's more about Nato:

https://news.ycombinator.com/item?id=16753758

>Nato.0+55+3d (released in 1999) was an amazing but notorious extension for Max that enabled live programming of real time video manipulation, networking and display. https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d

>"At the time of its release (the summer of 1999), NATO.0+55+3d was in demand as it appeared several years before other similar infrastructures such as GEM and Jitter (released by the makers of Max/MSP in October 2002). Earlier software such as Image/ine developed in 1997 at STEIM was drawing in a similar direction, but the fact that NATO.0+55+3d was operating inside the Max/MSP framework, using its "visual programming" protocol, provided at the same time greater ease of use and more flexibility, allowing the user to create his own applications and tools. It gained popularity among video artists and performers, who were using it for a large variety of purposes, prominently for live performance and interactive installation."

https://news.ycombinator.com/item?id=22352276

>Bravo! If you enjoyed that anti-Max performance art trolling, but thought it wasn't spectacularly hyperbolic and sociopathic enough, I recommend looking up some of the classic flames on the nettime mailing list by Netochka Nezvanova aka "NN" aka "=cw4t7abs", "punktprotokol", "0f0003", "maschinenkunst" (preferably spelled "m2zk!n3nkunzt"), "integer", and "antiorp"! https://en.wikipedia.org/wiki/Netochka_Nezvanova_(author)

>Netochka Nezvanova is the pseudonym used by the author(s) of nato.0+55+3d, a real-time, modular, video and multi-media processing environment. Alternate aliases include "=cw4t7abs", "punktprotokol", "0f0003", "maschinenkunst" (preferably spelled "m2zk!n3nkunzt"), "integer", and "antiorp". The name itself is adopted from the main character of Fyodor Dostoyevsky's first novel Netochka Nezvanova (1849) and translates as "nameless nobody."

>She (or he or they or it) were the author of the NATO.0+55+3d set of extensions for Max, which predated Jitter:

https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d

The most feared woman on the Internet

http://www.salon.com/2002/03/01/netochka/

>Netochka Nezvanova is a software programmer, radical artist and online troublemaker. But is she for real?

>The name Netochka Nezvanova is a pseudonym borrowed from the main character of Fyodor Dostoevski’s first novel; it translates loosely as “nameless nobody.” Her fans, her critics, her customers and her victims alike refer to her as a “being” or an “entity.” The rumors and speculation about her range all over the map. Is she one person with multiple identities? A female New Zealander artist, a male Icelander musician or an Eastern European collective conspiracy? The mystery only propagates her legend.

Cramer, Florian. (2005) "Software dystopia: Netochka Nezvanova - Code as cult" in Words Made Flesh: Code, Culture, Imagination, Chapter 4, Automatisms and Their Constraints. Rotterdam: Piet Zwart Institute.

https://web.archive.org/web/20070215185215/http://pzwart.wdk...


I found some great links (which I've archive.orgified) on Jeremy Bornstein's page on Nato:

Here is some of the delightfully stylized "documentation" of some interesting NATO extensions, written with Netochka Nezvanova's poetic simply.SUPERIOR Eastern European Marxist Feminist Punk Hacker ASCII Art Razzle Dazzle.

http://www.bootsquad.com/old_site/nato/nato00.html

If the built-in NATO objects aren't enough for you, you may purchase several `extended` objects for NATO. At the time of this writing, they include:

- 242.wto: video streaming objects

https://web.archive.org/web/20010707090427/http://eusocial.c...

         242.wto + 242.wto2 -  feu!lez de mdl c!t!zn malad!e
         242.wto + 242.wto2 -  nato.0+55.modular objekts

         realtime video streaming 4rom nato.0+55 2 nato.0+55
         i.e. 01 wto global video processing network.
         performance dependent on internet konekzie.
 
         "have tested via ethernet from g4 > g3.
         full framerate, no visible delays.
         video codec works best here.

         320x240 codecq 3 using video
         is my choice at the mom.
         runs stable since three hours" - fm life 4rm.
- 242.parazit: a plug-in host for Image/ine plug-ins

https://web.archive.org/web/20010707090427/http://eusocial.c...

      242.parazit  -  a nato.0+55 plug-in host for steim image\ine plug-ins

      image\ine plug-ins are lovelier in nato.0+55 modular due 2 :
      one may operate them in parallel or sequentially as desired
      + one may instantiate as many kopies as desired
      + due 2 fakt nato.0+55 is much more flexible regarding image resolution
      measures have been taken so that the image\ine plug-ins
      operate in one similar fashion - hence it is not required
      that one restarts the host application in order to modify the output resolution.
      + naturally one may now kontrol image\ine plug-ins via innumerable max routines.

      nato.0+55    - is of course the most superb realtime.non.realtime. 
      m9ndfszp video \ image etcetera etcetera distraktiv kode kontainer.
      juzt 1 kl!k   -  http://membank.org/     juzt ur kl!k 
- 242.fireuire: several FireWire objects, which permit NATO to send various data (image & effects data, DV data, MSP audio data) through your FireWire port

https://web.archive.org/web/20010707090427/http://eusocial.c...

             -    N 4 � �.firewire  :  beauty has its reasons.

    N 4 � �.firewire is a multi klient \ multi application firewire extension.
    permitting multiple applications and klients to simultaneously engage in  
    video + audio firewire aktivity.
    
    klients exist for nato.0+55.modular. image\ine.  msp.
- 242.o204: an internet data transfer (download/upload) object

https://web.archive.org/web/20010707090427/http://eusocial.c...

        242.0+204  -  max c++\c-- objekt primarily konstrukted for utilization 
                              with nato.0+55.  if desired it may be utilized independently as well.

        242.0+204 performs http \ https \ ftp file transfers - 
        automatic compression and decompression [stuffit engine required] 
        of data transferred = feasible.  operations may be sequential. logged. 
        synchronous + asynchronous

        nato.0+55 + 242.0+204 locked in one digital embrace
        may be utilized for timed video and audio data capture + automatik \ programmatik 
        upload of mute+media kapzulz to an internet ftp location. - furdzr unatendd        
        populaz!on=poluz!on ov dze !nternaz!onl b!t ztream = !nev!tabl + !mperat!v

        4 an example - may konsum [>]
- 242.axial: a directory/search engine utility

https://web.archive.org/web/20010707090427/http://eusocial.c...

        242.axial  -  ultra superb avec nato.0+55 modular + non-modular 
        242.axial  -  01 morphology ov 01 direktory zmak routine
      
        ultra elegant _ recursive + infinite search engine
        index the stem + branch into the axial system of a directory strukt.

        nato.0+55 operators may access + only _ juzt 1 klik [>]
- 242.of02: a realtime, recursive multi-layer photoshop file to qt movie converter

https://web.archive.org/web/20010707090427/http://eusocial.c...

        242.0+f02  -  max c++\c-- objekt primarily konstrukted for utilization 
                              with nato.0+55. if desired it may be utilized independently as + well.

        242.0+f02 performs the conversion of multi image or multi layer files - photoshop. tiff. flashpix
        to single track quicktime films. multiple track quicktime films or multiple quicktime films.   

        the film outputted may be sequential - the image files are placed in one track sequentially
        the film outputted may be parallel - the image files are placed in separate film tracks starting at time 0
        the film outputted may be parallel and sequential - [m9ndfukc.macht.fre!.n!chtz+?]
        the image files are placed in separate film tracks starting at sequential times.
        the film outputted may be autonomous films - plural
        the image files are placed in separate films entirely.
- 242.obl!ke: a media preview object

https://web.archive.org/web/20010707090427/http://eusocial.c...

        obl!ke.0+0000  -  max c++\c-- objekt . facilitates previewing of aiff\sd2\film files 
     
        for auto-loading into the buffer~ and sfplay~ msp objekts + movie + nato.0+55 
        max objektz + etc. it may also be utilized as a file path aggregator \ accumulator for   
        convenient access to previously specified \ selected files  -  and if desired for 
        converting formats - such as cd audio for subsequent automatik loading into objekts 
        enumerated.    

        please insert addtl ko!nsz +? [>]
- 242.gl: an OpenGL renderer

https://web.archive.org/web/20010707090427/http://eusocial.c...

        NATO.0+55.GL - brings OpenGL rendering to NATO.0+55 in 01 superb. ultra sanitary fashion.
        NATO.0+55.GL - is totally + totally integrated within NATO.0+55

        NATO.0+55.is a realtime + modular authoring environment 
        comprised of approx 130 objekts [1.22.01] encompassing QT, QTVR, 
        2D + 3D GRAPHIKS, LIVE-VIDEO, FIREWIRE, VIDEO-STREAMING, FLASH, MP3. QTFX etc.

        NATO.0+55.GL facilitates
        realtime 3d model specification. manipulation. texture mapping. lighting. fog. etc.

        Unlike the ultra rigid + centralized 1 track korporat monstrosities sponsored by INTEL 
        \+\ populated by aesthetically + biologically destitute xy computer programmers 
        avec 0+0 imagination and 0+100 percent model citizen predilections - 
        NATO.0+55.GL is kompletely modular + infinitely flexible.

        NATO.0+55.GL permits an infinite number of render sequences.
        NATO.0+55.GL permits an infinite number of render sequences.

                NO treatments. No columns. No windows. 
                NO inhibitors. NO prolonged inkubations. 
                NO korporat translations. 

                PURIFIKATION>
- 242.qtfx: a QuickTime effects host

https://web.archive.org/web/20010707090427/http://eusocial.c...

     -   NATO.0+55.QTFX  :  realtime quicktime effects processing within NATO.0+55 [>]
                                        in 01 superb. ultra sanitary + flexible fashion.

     one may process video + 3d + 2d data via std quicktime effects + 3rd party effects
     in realtime + non-realtime - as desired.  operation = ultra sanitary + flexible evidament.

     one may process video + 3d + 2d data via std quicktime transitions + 3rd party transitions
     in realtime + non-realtime - as desired.  operation = ultra sanitary + flexible evidament.

     2 versions = may be selekted - standard + ultralux. ultralux permits the compilation of standalone applications
     for non-commercial or commercial [during the korporat fascist (r)evolution life forms are presently experiencing
     in which 01 googolplex of iszkrema flavorz are ultra available everything = ist pure komersz - inkluziv of +
     not limited to one's simply genial m9nd kontainer [>] whilst the standard version does not.
     one may selekt as one's status permits _____...    body without borders [want zom +?]    

     si vouz voulez ____...  
            
     just 1 klik \ ur klik     _   http://order.immunology.com/>YES PLEASE+?
- 242.nr+: some non-realtime objects

https://web.archive.org/web/20010707090427/http://eusocial.c...

       242.nr+ - nato.0+55 objekts facilitate realtime \ non-realtime rendering \ processing.
       generally nato.0+55 attempts to operate in realtime. depending on the underlying hardware
       this may restrict the type and \ or number of processes that may be performed.
       the realtime \ non-realtime objekts may be utilized to rekord data in non-realtime 
       thus facilitating high quality rendering and \ or processor intensive tasks.

       likewise 242.nr+ permits operations unfeasible in any other environment.
       i.e. one may render a film in reverse \ randomly \ stochastically \ programmatically.
       e.g. one may specify that only every other frame is to be rendered or that every 10 frames
       a loop should be applied. or that only those frames that fit a certain criteria should
       be rendered.  in other words NATO.0+55 renders korporat fascist kode null + ultra null
       in 01 ultra sanitary \ elegant + ekxpedient fashion.

      komentari

      "the non-realtime objects prove that there is truly 
       nothing you can't do with nato.0+55 -- now i can 
       work in high resolution with full-frame rate results.
       it truly renders all other `nonlinear` editing applications 
       ultra null"

      "ultra lovely :-) "
- 242.rna: NATO to MSP sound manager driver and associated software.

https://web.archive.org/web/20010707090427/http://eusocial.c...

             NATO.0+55.RNA  :  beauty has its reasons.

             NATO.0+55.RNA is a multi klient \ multi application audio library \ patchbay
             permitting multiple applications + klients to simultaneously engage in ___... 
             unilateral global.OS vociferous akkords. da + ultra da.
             
             klik 2 m9ndfukc [>]    klik if u do not own nato.0+55 [>]

             it is the ultra.inauguration of multi.format multi.klient FREE global.OS konverzazie.
             + some 01 in ost europa kontrols the protokol [>] 
             NATO kontra NN +? nn u!zprz - uarm.kompaz!onat.zm!le okz!dent kr!!!!ket.

             klients exist for nato.0+55.modular. msp.
    

             NATO.0+55.RNA  :  01 addtl simply.SUPERIOR + ultra mortal projekt by Netochka Nezvanova. 
             implemented by ___... mmmmmm _

             `must play a game of mother` - i smell baby powder!!!
             _____.... nn cannot play mother!!! nn can play mistress +? da + ultra da.
             apropos. most of your children [ne. make that all]
             arnt very attractive. they must not be yours a +?

             bon. let us play - delicious kouard. firstly however - letz konfuze dzm [>]




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: