Live data from Hacker News

Csound: A sound and music computing system

csound.com

81–90 of 94 posts

Re: Csound: A sound and music computing system

#81

I'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…

Choices like wrapping a C library from Java in order to use CSound and using CSound to play WAV files in the first place seem very against the grain.

A project about playing back recorded audio with interactive control should be feasible in Java, dispensing with CSound and JNI complications entirely, while a project to do something with CSound could focus on the strong points of CSound and avoid technical hurdles (e.g. Java programs that generate highly complex CSound code for highly complex music).

Re: Csound: A sound and music computing system

#82
post #23

I think most have moved on to supercollider or puredata. A proprietary but much more approachable and functional offshoot is Max/MSP.

Puredata and Max/MSP are great, but programmed in a visual dataflow style rather than a source-code style. Imo that makes some things much more intuitive and other things really complex. 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…

Yeah ! So much this. Iterations / branches / arrays ... in Max is pure nightmare. Supercollider is a breeze to work with hundreds / thousands of audio buffers and the multichannel / polyphonic capabilities are incredible. I found it very hard to build a stable complex patch in Pd / Max if you are not that much experienced with the opaque control flows.

Re: Csound: A sound and music computing system

#83
post #55

Earlier quoted context omitted.

I'm not trying to burn anyone. The people who make the project really care about it and have put a lot of effort in it. I personally am just too stupid to figure it out. I think like Haskell and R it's designed for a different profession so to people like me who are programmers first I am scratching my head the whole time. I can do some thing in it, yeah eventually, usually... The documentation appears complete and I…

Do you have any recommendations for learning sound synthesis and such (for the purpose of music production) for those who are, as you say, programmers first? Most the materials I’ve found teach using Csound, PD, SC etc (understandably), and that’s always a bit off-putting to me and appears as another obstacle / headache, so the projects get shelfed more quickly. I’ve begun reading Miller Puckett’s book Theory and Tec…

I recommend Musical Signal Processing by Curtis Roads (latest edition), it mostly cover every type of sound synthesis in details, it also cover MIDI, spatialization, mixing, filtering and base concepts without much technical / mathematical overhead. Most sound synthesis algorithms can be implemented from the given block diagrams when you get used to read them.

Re: Csound: A sound and music computing system

#85
I’ve been learning Csound for about a year now, and I’ve documented my experiences in my blog at https://jasonhallen.com/blog. My first three blog posts talk about 1) why I chose Csound over Max/MSP, SuperCollider, and ChucK, 2) how mysterious the online presence of Csound is, and 3) what resources have been most helpful for me as I’ve learned Csound.

I love Csound, but it has been very challenging to learn. The first two or three months were an uphill battle where I thought about quitting a few times. Admittedly, I was brand new to both computer programming and digital audio generation. I’m sure if I had more experience with those then picking up Csound wouldn’t have been as painful. The biggest early challenge for me was understanding how the three variable rates (initialization rate, control rate, and audio rate) work. I felt like I had to hit my head against a wall for three weeks before that clicked. But once you become familiar with the basic principles and syntax of Csound you start picking up other topics and opcodes quicker.

I’ve used both CsoundQt and Cabbage as Csound development environments. They each have their pros and cons and best use cases. I’ve been using Cabbage more because it has an ingenious way of controlling the instrument interface within the Csound code itself.

There are a ton of opcodes available to do many sound design techniques out of the box, or you can code your own opcodes to do anything you’d like. The user community is very responsive and helpful on the Csound listserv (http://csound.1045644.n5.nabble.com/). And the developers have made it so you can integrate Csound with all sorts of other languages and software.

Re: Csound: A sound and music computing system

#86
post #26

Earlier quoted context omitted.

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.

VST/AUs are more likely to be written from scratch, often inside a wrapper like JUCE to abstract away the OS-specific details. 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…

> 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.

I don't know about "crude," but yeah. And honestly? There is no comparison between the components in Max/Pd/sc/ChuCK and any of this stuff either (I joke with my art-music friends that I like everything about Max except the sound ;). You'll never hear something like Cytomic's The Drop (a filter that can crush your CPU) or serious tape saturation, or sophisticated EQ curves with lots of warmth and character.

It's true that you could create any kind of filter, oscillator, DSP-whatever you want with these systems, but in practice, the people working with these tools are not U-he-level DSP programmers, and it shows.

I wish that weren't true, because I'd much rather code stuff csound-style than work in a DAW with a bunch of expensive plugins.

But is it true that you can run VSTs in csound? Could you use commercial VSTs, but write fancy controllers in csound?

Re: Csound: A sound and music computing system

#87
post #8

Earlier quoted context omitted.

supercollider is way better than csound

I honestly find it way way easier to do FFTW manually in C and then convert the output with ffmpeg then use supercollider, like by a significant number of orders of magnitude. I've given sc 5 years, usually I'll try to use it, give it a few days of effort to do what I want, then give up, rewrite what I want in C, and be done with it in an hour Some people love it. More power to them. I wish I was one of them

Could you say more about how you work? I know C (very well) and the principles of synthesis (very well), but I'm trying to get my head around the idea that you find it easier to . . . implement your own DSP algorithms from the ground up than using tools like sc?

It took me many years to learn how to get the "sound in my head" programmed into a synthesizer. You do this with the fast fourier transform? Huh?

Re: Csound: A sound and music computing system

#88
post #70
post #67

Earlier quoted context omitted.

This one’s my favorite: https://m.youtube.com/watch?v=TecDlpGAhq0 Really beautiful album, especially the 5.1 surround version.

I clicked the link and was like "ha, what, no way BT uses CSound" but I was wrong! http://simoncpage.co.uk/blog/2008/10/bt-this-binary-universe...

There's no real reason to consider csound any different from any other synthesiser in this respect: someone who understands how to program a synth just needs to know "which knobs and switches" there are - whether they're physical hardware, a virtual instrument's GUI, or xml statements doesn't matter all that much... the only thing that matters is being able to set and control VFOs/LFOs, ADSR, resonance, unison, etc. =)

And dear lord do some people understand synths.

Re: Csound: A sound and music computing system

#89

I'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…

ChucK brings back memories!

I was involved with the Oxford Laptop Orchestra in 2012, and did a few "programming for musicians" lessons in ChucK. Writeups here:

https://blog.afandian.com/tags/oxlork/

Re: Csound: A sound and music computing system

#90
post #55

Earlier quoted context omitted.

Do you have any recommendations for learning sound synthesis and such (for the purpose of music production) for those who are, as you say, programmers first? Most the materials I’ve found teach using Csound, PD, SC etc (understandably), and that’s always a bit off-putting to me and appears as another obstacle / headache, so the projects get shelfed more quickly. I’ve begun reading Miller Puckett’s book Theory and Tec…

The fundamentals of sound synthesis are things like oscillators, delays, filters etc as you see in Miller Puckett's book, and teaching materials tend to lean towards environments like Csound, pd, SC etc for their practical exercises because they all contain roughly equivalent implementations of those fundamental tools, albeit wrapped in some uniquely opinionated structural or UI paradigm, in each of those environment…

Soundpipe looks great, thanks!
Post reply on HN