I think most have moved on to supercollider or puredata. A proprietary but much more approachable and functional offshoot is Max/MSP.
Csound: A sound and music computing system
31–40 of 94 posts
Re: Csound: A sound and music computing system
#32I've used CSound for a university project some years ago, to manipulate a bunch of files to play together - adjust volumes, modify speed of playing without modifying tonality, etc. I then wrote a GUI to manage CSound. After 8 years, here's what I remember: - It was very complicated to wrap a C library in Java, at least for a new graduate like me. - There was no learning material for the kind of things I needed to do…
http://write.flossmanuals.net/csound/a-the-csound-api/
The cool thing about SWIG (Scripting Wrapper and Interface Generator) is that it supports multiple scripting languages (and other kinds of languages, since it's debatable if Java is a "scripting language"). It understands most of C++, so it can automatically read in header files and generate wrappers from them, but you can also tailor and customize the interfaces and how it marshals different data types back and forth, to create more efficient, convenient wrappers, too.
SWIG is the brainchild of David Beazley, Python hacker extraordinaire. His talks are amazing!
https://www.dabeaz.com/talks.html
https://en.wikipedia.org/wiki/David_M._Beazley
>David Beazley is an American software engineer. He has made significant contributions to the Python developer community, which includes writing the definitive Python reference text Python Essential Reference, the SWIG software tool for creating language agnostic C and C++ extensions, and the PLY parsing tool. He has served on the program committees for PyCon and the O'Reilly Open Source Convention, and was elected a fellow of the Python Software Foundation in 2002.
Re: Csound: A sound and music computing system
#33I think most have moved on to supercollider or puredata. A proprietary but much more approachable and functional offshoot is Max/MSP.
The visual dataflow style is especially good for interactive stuff, where you're taking inputs and running them through chains of synths and filters, but it gets really hairy if you want to do non-interactive composition. People use it for that too, but you end up with huge banks of delay lines to simulate control-flow constructs, which in other languages could've just been a for loop.
Re: Csound: A sound and music computing system
#34I think most have moved on to supercollider or puredata. A proprietary but much more approachable and functional offshoot is Max/MSP.
Have you used it? I usually don't use proprietary software but I've been thinking of giving it a go. Supposedly bitwig has a language as well but I haven't used it either
Re: Csound: A sound and music computing system
#35I think most have moved on to supercollider or puredata. A proprietary but much more approachable and functional offshoot is Max/MSP.
Have you used it? I usually don't use proprietary software but I've been thinking of giving it a go. Supposedly bitwig has a language as well but I haven't used it either
Then he later developed the open source Pure Data (PD) in the 90's, which also included real time signal processing features (flowing streams of high frequency audio over wires whose samples are at a much higher rate than the frame rate of the visual program's control signals).
Max/MSP and PS are both visual data flow programming languages, where data flows along wires between icons, but some data (like audio stream samples) flow much faster than others (like messages, logic, and control signals).
Cycling '74 Max later adapted Puckette's work on Pure Data and called it "Max/MSP", which stands for both "Max Signal Processing" and his initial "Miller Smith Puckette".
https://en.wikipedia.org/wiki/Miller_Puckette
https://en.wikipedia.org/wiki/IRCAM
https://en.wikipedia.org/wiki/Pure_Data
https://en.wikipedia.org/wiki/Max_(software)
>Max is named after composer Max Mathews, and can be considered a descendant of his MUSIC language, though its graphical nature disguises that fact. Like most MUSIC-N languages, Max distinguishes between two levels of time: that of an event scheduler, and that of the DSP (this corresponds to the distinction between k-rate and a-rate processes in Csound, and control rate vs. audio rate in SuperCollider).
Re: Csound: A sound and music computing system
#36What does it do? These hint at some neat possibilities but I still don't get it: a sound and music computing system a tool for composing electro-acoustic pieces real-time
You often find it in the heart of VST/AU plugins, within ios and android apps. Now it can work from the web. Its also heavily used in games for programmatic sound effects. But its more of a library or framework for audio/midi rather than a full blown user facing system like Max/MSP.
CSound is a grab-bag of mediocre DSP algos hacked together from various sources by academics who have no interest in professional production values.
While you can build your own synths with Csound, they don't usually sound very good.
Games are actually more likely to use PDLib, although there's also a lot of custom C++ in some games.
There's a significant difference in sophistication between the crude algos in Csound and the algos in successful commercial VSTs like Serum, Uhe's synths, the Roland Cloud collection, SoftTube, UAD, and FabFilter mixing tools, and so on.
Re: Csound: A sound and music computing system
#37https://www.donhopkins.com/home/archive/visual-programming/b...
That link also includes some interesting discussion with Jaron Lanier about visual programming language design.
Image/ine was a software instrument for realtime video manipulation and MIDI processing from STEIM (Studio for Electro-Instrumental Music) in Amsterdam, by Steina Vasulka and Tom Demeyer (1996-2001). It ran on a Mac, and you could write plug-ins for it.
https://en.wikipedia.org/wiki/STEIM
https://v2.nl/archive/works/image-ine
Hookup is a real time visual programming language for controlling MIDI and playing music and rendering graphics, developed by David Levitt (who shared an office with Miller Puckette at MIT), which also incorporated the Macromedia Director MMP player plug-in (so it could read in Director files and play their content under visual program control).
http://www.sdela.dds.nl/sfd/isadora.html
>Mark Coniglio: Here's a bit of history. In 1986 my soon-to-be mentor and Interactor collaborator Mort Subotnick had just come from a residency at MIT where he was using a program called Hookup created by a student there named David Levitt. Hookup was the first program I know of that used the "patch-cord" metaphor, i.e., modules that manipulate data are linked by virtual wires, the connection of which is determined by the user. For those in the world of early analog, patch-cord programmed synthesizers, this was a familiar interface. Mort was using David's program to do tempo following of MIDI instruments -- this allowed him to lock hardware MIDI sequences to the tempo of the live performers. I was a composition student at CalArts at the time, and word had gotten around that I was a good programmer. So Mort contacted me to see if I could hardcode some of the ideas he had implemented in Hookup on a Mac, so that he could use them in his next performance. That program (used in Mort's 1987 multimedia work "Hungers") would eventually become Interactor. Mort designed the functionality of the early versions, but I became more influential in the design as time went on. [...]
>Mark: Yes, that's true and importantly a kind of creative intuition was creeping back in through the development of these new visual interface possibilities for software. Part of the thing I reacted to in Hookup was the way you could easily drop modules into the program and try things; a lot like you could do with the patch-cord synthesizers. I may not have realized it explicitly then, but this ability to program improvisationally allowed for that kind of artful playfulness that is so important. So I set out to make a similar user interface for Interactor. The creation of Isadora was a natural outgrowth of Interactor. In 1996 Troika Ranch had a two-week residency at STEIM, where I first saw Tom Demeyer's real-time video processing program Image/ine. I first started using Image/ine in concert with Interactor, because Image/ine didn't allow the kind of complicated interactive decision making that I was used to having in Interactor. So, Interactor would process the MIDI data from my interactive sensors, and then tell Image/ine what to do. By 1998 I was using Image/ine in a major way in my performances with Troika Ranch. [...]
>Mark: Isadora and Max both inherit the modules linked by the patch-cord metaphor from Hookup. But unlike Max, each Isadora module shows the parameter names and current values for all of its inputs and outputs, and many modules give real-time graphic feedback about their operation. This is important from the perspective of helping new users understand what's going on right away. But perhaps the biggest difference is that Max is a very powerful, open-ended programming language in which you could solve any number of problems. Isadora isn't that. It is a lot like Interactor in that each module is essentially a macro that accomplishes some specific function. This approach helps people who are just beginning to do this kind of work, as it means that useful functionality is already embodied for you and it's very easy to start doing things and getting interesting results quickly (like with Image/ine). Max allows the most flexibility, but may be somewhat more difficult to program because more things have to be built up from scratch. Isadora offers somewhat less flexibility, but is still open-ended enough for the user to imprint his or her aesthetic on the result.
While working at VPL, David also integrated the MMP library into Body Electric (below) to make Bounce (also below). The MMP player plug-in is what eventually became Macromedia Shockwave once it was plugged into the web browser (which wasn't nearly as fun as plugging it into a full fledged real time interactive visual programming language).
Body Electric is a real time visual programming language for VR and music and hardware control, developed at VPL by Chuck Blanchard, which Jaron Lanier and others used to create virtual reality simulations and virtual interactive musical instruments.
http://www.jaronlanier.com/vpl.html
https://wiki.c2.com/?JaronLanier
https://www.vrs.org.uk/virtual-reality-profiles/vpl-research...
https://web.archive.org/web/20050228021115/http://www.well.c...
https://web.archive.org/web/20040414174418/http://www.well.c...
https://web.archive.org/web/20050211182929/http://www.well.c...
Body Electric supported all kinds of interesting input and output devices, including MIDI, sending and receiving UDP packets over Ethernet, loading Swivel3D 3D skeleton files and animating them, sending their state over the network to a pair of SGI workstations for rendering with the Isaac rendering engine to the VPL "EyePhones" VR headset (one SGI workstation per eye, with a Mac to run the simulation), VR input devices like VPL's DataGlove and Body Suit, 3D input devices like the Ascension Flock of Birds, Polhemus, and Spaceball, 3D audio output devices like the Convolvotron, and lots of other cool stuff.
https://est-kl.com/manufacturer/ascension/flock-of-birds.htm...
http://www-cdr.stanford.edu/DesignSpace/sponsors/Convolvotro...
https://www.researchgate.net/publication/253921765_The_Convo...
Bounce is a derivative of Body Electric, that David Levitt integrated with the MMP player, and that I helped him develop, and used for some fun projects. Extremely weird and esoteric, but still one of the must productive, delightful visual programming languages I've used!
Re: Csound: A sound and music computing system
#38I think most have moved on to supercollider or puredata. A proprietary but much more approachable and functional offshoot is Max/MSP.
Have you used it? I usually don't use proprietary software but I've been thinking of giving it a go. Supposedly bitwig has a language as well but I haven't used it either
Opening someone else's sketch and playing around with the different components has been a great way for me to learn some of the more advanced features.
If you end up using it and making something cool, please share!
Re: Csound: A sound and music computing system
#39Earlier quoted context omitted.
Have you used it? I usually don't use proprietary software but I've been thinking of giving it a go. Supposedly bitwig has a language as well but I haven't used it either
Miller Puckette originally created Max at IRCAM (Institut de Recherche et Coordination Acoustique/Musique) in 1985, which is now marketed by Cycling '74. Then he later developed the open source Pure Data (PD) in the 90's, which also included real time signal processing features (flowing streams of high frequency audio over wires whose samples are at a much higher rate than the frame rate of the visual program's contr…
Re: Csound: A sound and music computing system
#40Max & Pd are fantastic for incorporating sensors & other physical interfaces, real-time interactivity, routing signals, creating visualizations, & all that. Supercollider is fantastic for generative music & using control flow compositionally.
Csound, on the other hand, is really, really great for creating beautiful & nuanced electronic compositions. The sound quality is unrivaled (emphasis on accuracy over interactivity), the interface is great (plain text, which, as a programmer, I prefer), and GEN routines plus the myriad opcodes allow you to do some heavy, intricate aural spelunking.
As a bonus (& as mentioned by others), it’s highly performant & fairly easy to integrate with other languages & environments (including Max & Pd!).
The syntax is a bit strange, but once you get over that, Csound is an amazing piece of software.