Jump to content
IGNORED

SuperCollider


soundwave

Recommended Posts

  • Replies 71
  • Created
  • Last Reply
I don't even know if the processing power of my computer would be able to handle it in the end.

 

Render it. CSound is good for doing non-live stuff like that. I don't know about SC's abilities in that regard.

Link to comment
Share on other sites

vamos, i suggest you learn to program some other, more robust language and use that to create a program that writes a score. then you can simply feed/transcribe that score into the DAW of your choosing and use synths you're familiar with, rather than using supercollider or something of the sort to synthesize.

Link to comment
Share on other sites

this is actually very relevant a thread to what i came here to ask.

 

 

i'm preparing to embark on a very deep programming experience, whereby the entire final piece of music could be processed within minutes, but where the procedures leading up to its creation will take months of work - including learning software.

 

i don't know the point of coming here to ask too much about things i'm already afraid to accept, but here goes:

 

supercollider vs. Max MSP vs. Reaktor core?

 

what's the difference? and is there any easy way to figure out what the hell i'm doing? i had Max for a year and I couldn't figure out very basic things - like how to play in MIDI and how to route audio from one place to another...

 

my basic idea is to generate a 20 minute piece of music based on an almost endlessly intricate web of "rules" which should sort of spiral off into these tiny minute rules... I don't even know if the processing power of my computer would be able to handle it in the end. But still, it's all based on "chance." I just don't really know where to start in figuring out how to carry out this idea..

 

and I think the reason I failed to learn MAX in the first place was that I had no real ideas in my head about what I'd do with it once I'd figured it out - now I do and I'm wondering if there isn't an easier way or a pre-existing program that will do what I want it to do.

 

 

 

the other option is doing the entire thing by hand and by rolling dice - which i'll probably do regardless. still i'm wondering if there aren't tools that i'm not aware of already. otherwise this post is complete bullshit and i'm sharing my excitement but still I'm curious because I have 400 dollars to blow from Christmas

I don't like using Reaktor for things with lots of event-based logic (rules as you say here). It's strength is more in UI design and things that have a lot of audio signal flow, like effects or synthesizers. The event logic in Reaktor is kind of weird. Max is a little better, I think (although I am much less familiar with Max than Reaktor).

 

If it was me and I wanted to do something based on a lot of compositional rules, I would use a programming language like SuperCollider or Csound, because I think rules are more easily programmed using a textual language. Whereas, if I wanted to do something that had fairly simple "rules" but a large amount of audio processing or complex UI, I would use one of the visual thingies like Reaktor or Max or Nord Modular or whatever.

 

There are also pre-built tools for rule-based composition like M and Numerology, if those end up being appropriate. Oh, also there's Impromptu, which seems to be a fairly cool Mac app for getting weird sequences up and running.

 

The idea about using some general language to build a file that could then be read by a vanilla sequencer is good too. You could totally make Perl or something spew out a bunch of note data into some sort of text file which could then be converted into real MIDI somehow.

 

Have you mapped out carefully what you want to do first? If you diagram it or think it through closely it will probably become pretty clear what tool is best.

Link to comment
Share on other sites

Guest sickboy

i spilt water over my head phones and now i have to listen to Ffa Coffi Pawb

all night till they dry out !!!! ( from my head-heat )

 

oh hang on i meant to post a more obfuscated version as per cylobs recipes just 4 u fat lol

 

(

{ var lk = [0,3,7,9], jx = [3,4,2,4,2], n, ox = 10, qw, cx, oi,z,w, faz, mp,

cs = [select,Stepper,RLPF,LFTri,Pulse,PulseDivider,Lag2,Lag,EnvGen,

Saw, LPF, PitchShift, AllpassN, Env, LocalIn, LocalOut, Impulse ]; var fa,

ffa, ra, eca, era, fsa, xc, fxc, rq, ec, er,xcs, o,e; mp = { |n,alk| alk = alk ? lk; {

midicps(jx .choose * 12 + lk.choose) } !n }; faz = [ mp.(3)* 2.midiratio, mp.( 3 )

*1. midiratio, mp.( 2,[ 0,3,9 ])*5.midiratio,mp.(1 )*1.midiratio ]; fa = faz[[3,0,3,

1,2,2,2,2, 1,1,1,1,0,3]].flat; n = fa.size; qw = cs[16].kr(ox); cx = cs[5].kr(

qw, n); oi = cs[1].kr(qw,0,0,n-1); fsa = { [0,0,0, 0.02,0.08,0.1 ].choose }!div(n,

4); xcs = cs[0].kr( cs[1].kr( qw,0,0,fsa.size-1 ), fsa); xc = cs[6].kr( cs[0].kr(

oi, fa), xcs ); ffa = { rrand( 20, 90 ) } ! n; ffa.size.do({ |i| var pn = [2,4,8].choose;

if ( 0.2.coin, { ffa = cs[0].kr(cs[1].kr(cx, 0,0,pn-1), { rrand( 4, 70 ) } ! n) })

}); fxc = cs[6].kr( cs[0].kr(oi, ffa), 0.04); ra = { rrand(0.05,0.5) } ! n; rq =

cs[7].kr( cs[0].kr(oi, ra), 0.04); eca = { [-4,0,-1].choose } ! n; ec = cs[0].kr(oi,

eca); o = cs[9].ar(xc) + cs[4].ar(xc * 0.01.midiratio,1-rq) + cs[4].ar(xc *

0.04.midiratio,cs[3].ar(ox/n).range(0.1,0.9),0.02) + cs[4].ar(xc * 24.midiratio,

cs[3].ar(ox/n/4).range(0.8,0.01),0.05); era = { rrand(0.8,0.4) } ! 4; er = cs[0]

.kr(cs[1].kr(qw, 0,0,3), era); e = cs[13].new([0,1,0],[xcs/5,er],ec); e = cs[8]

.kr(e, gate:qw); fxc = fxc * [1.02, 0.98]; xc = xc * [0.8,1.2].scramble; z = cs[2]

.ar(o, (fxc * e).midiratio * xc, rq) + (cs[2].ar(o.neg, fxc * (50 * e) .midiratio,

0.4) *0.05) + (cs[2].ar(o.neg, fxc * (65 * e).midiratio, rq/2) *0.01) * e; z = (z

+ (cs[11].ar(z,0.001,0.5,0.1,0.1).distort * 0.5)).distort; w = z+ cs[14].ar (2).

distort; 10.do({ w = cs[12].ar(w,0.4,{0.03.rand}!2,{0.06.rand}!2) }); cs[15].ar(

cs[10].ar( w*0.9,800 )); (w *0.1 ) + (z * 0.7) }.play

)

Link to comment
Share on other sites

  • 2 years later...

@RadarJammer >>> Thnx for the link!

______________________________

 

About SuperCollider... Well, i've just started with it...kind of. SuperHard!, i would say. Especially if you have 0(zero) knowledge of programming, like I do. :(...except for Max, but that doesn't count, right? ;)

 

But i know how to be persistent & stubborn and b/c i want to learn programming for other things in future too i bought some books about programming in general, about p. in general purpose languages to learn programming in Python (first, then C/C++ i hope) so i can more easily go into SC. If i manage to make something useful in SC in 2 yrs from now, to be 'good' in Python in 5 yrs from now and to be able to design my own SWs with C/C++ in 10 yrs from now - I would be satisfied.

 

Some of the *beginner* books that could be helpful in learning SC:

 

1) Python Programming: An Introduction to Computer Science (about programming basics NOT about Python it self)

 

2) Python 3 Object Oriented Programming (still finding a good book about functional programming)

 

3) The SuperCollider Book (you get a DL-able material with it examples and everything)

 

...and I printed out this one: Computer Music with examples in SuperCollider 3

 

Hope i helped! ;)

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

it is good

here is a shitty acid patch i made in it years ago

it tries to be different every time

 

 

(

{ var lk = [0,3,7,9], jx = [3,4,2,4], n, ox = 10, qw, cx, oi,z,w, faz, mp;

var fa, ffa, ra, eca, era, fsa, xc, fxc, rq, ec, er,xcs, o,e; mp = { |n,alk|

alk = alk ? lk; { midicps(jx.choose * 12 + lk.choose) } !n }; faz = [ mp.(3)*

2.midiratio, mp.( 3 )*1.midiratio, mp.( 2,[ 0,3,9 ])*5.midiratio,mp.(1)*1.midiratio

]; fa = faz[[3,0,3,1,2,2,2,2, 1,1,1,1,0,3]].flat; n = fa.size; qw = Impulse.kr(ox);

cx = PulseDivider.kr(qw, n); oi = Stepper.kr(qw,0,0,n-1); fsa = { [0,0,0,0.02,0.08

].choose }!div(n,8); xcs = Select.kr( Stepper.kr( qw,0,0,fsa.size-1 ), fsa); xc =

Lag2.kr( Select.kr(oi, fa), xcs ); ffa = { rrand( 20, 90 ) } ! n; ffa.size.do({ |i|

var pn = [2,4,8].choose; if ( 0.2.coin, { ffa = Select.kr(Stepper.kr(cx, 0,0,pn-1),

{ rrand( 4, 90 ) } ! n) }) }); fxc = Lag2.kr( Select.kr(oi, ffa), 0.04); ra = {

rrand(0.05,0.5) } ! n; rq = Lag.kr( Select.kr(oi, ra), 0.04); eca = { [-4,-1].choose }

! n; ec = Select.kr(oi, eca); o = Saw.ar(xc) + Pulse.ar(xc * 0.01.midiratio,1-rq) +

Pulse.ar(xc * 0.04.midiratio,LFTri.ar(ox/n).range(0.1,0.9),0.02) + Pulse.ar(xc *

24.midiratio,LFTri.ar(ox/n/4).range(0.5,0.2),0.05); era = { rrand(0.4,0.1) } ! 4; er

= Select.kr(Stepper.kr(qw, 0,0,3), era); e = Env([0,1,0],[xcs/8,er],ec); e =

EnvGen.ar(e, gate:qw); fxc = fxc * [1.02, 0.98]; xc = xc * [0.99,1.01];

z = RLPF.ar(o, (fxc * e).midiratio * xc, rq) + (RLPF.ar(o.neg, fxc * (60 * e)

.midiratio, 0.4) *0.05) + (RLPF.ar(o.neg, fxc * (65 * e).midiratio, rq/2) *0.01)

* e; z = (z + (PitchShift.ar(z,0.01,0.25,0.01).distort * 0.4)).distort; w = z+ LocalIn.ar

(2).distort; 10.do({ w = AllpassN.ar(w,0.4,{0.03.rand}!2,{0.2.rand}!2) }); LocalOut.ar(

LPF.ar( w*0.9,1000 )); (w *0.2 ) + (z * 0.7) }.play

)

 

 

I uploaded a sound capture of this..sounds good

 

https://soundcloud.com/sleestack808/diskouttest

 

 

how do you embed soundcloud files on here?

Link to comment
Share on other sites

i spilt water over my head phones and now i have to listen to Ffa Coffi Pawb

all night till they dry out !!!! ( from my head-heat )

 

oh hang on i meant to post a more obfuscated version as per cylobs recipes just 4 u fat lol

 

(

{ var lk = [0,3,7,9], jx = [3,4,2,4,2], n, ox = 10, qw, cx, oi,z,w, faz, mp,

cs = [select,Stepper,RLPF,LFTri,Pulse,PulseDivider,Lag2,Lag,EnvGen,

Saw, LPF, PitchShift, AllpassN, Env, LocalIn, LocalOut, Impulse ]; var fa,

ffa, ra, eca, era, fsa, xc, fxc, rq, ec, er,xcs, o,e; mp = { |n,alk| alk = alk ? lk; {

midicps(jx .choose * 12 + lk.choose) } !n }; faz = [ mp.(3)* 2.midiratio, mp.( 3 )

*1. midiratio, mp.( 2,[ 0,3,9 ])*5.midiratio,mp.(1 )*1.midiratio ]; fa = faz[[3,0,3,

1,2,2,2,2, 1,1,1,1,0,3]].flat; n = fa.size; qw = cs[16].kr(ox); cx = cs[5].kr(

qw, n); oi = cs[1].kr(qw,0,0,n-1); fsa = { [0,0,0, 0.02,0.08,0.1 ].choose }!div(n,

4); xcs = cs[0].kr( cs[1].kr( qw,0,0,fsa.size-1 ), fsa); xc = cs[6].kr( cs[0].kr(

oi, fa), xcs ); ffa = { rrand( 20, 90 ) } ! n; ffa.size.do({ |i| var pn = [2,4,8].choose;

if ( 0.2.coin, { ffa = cs[0].kr(cs[1].kr(cx, 0,0,pn-1), { rrand( 4, 70 ) } ! n) })

}); fxc = cs[6].kr( cs[0].kr(oi, ffa), 0.04); ra = { rrand(0.05,0.5) } ! n; rq =

cs[7].kr( cs[0].kr(oi, ra), 0.04); eca = { [-4,0,-1].choose } ! n; ec = cs[0].kr(oi,

eca); o = cs[9].ar(xc) + cs[4].ar(xc * 0.01.midiratio,1-rq) + cs[4].ar(xc *

0.04.midiratio,cs[3].ar(ox/n).range(0.1,0.9),0.02) + cs[4].ar(xc * 24.midiratio,

cs[3].ar(ox/n/4).range(0.8,0.01),0.05); era = { rrand(0.8,0.4) } ! 4; er = cs[0]

.kr(cs[1].kr(qw, 0,0,3), era); e = cs[13].new([0,1,0],[xcs/5,er],ec); e = cs[8]

.kr(e, gate:qw); fxc = fxc * [1.02, 0.98]; xc = xc * [0.8,1.2].scramble; z = cs[2]

.ar(o, (fxc * e).midiratio * xc, rq) + (cs[2].ar(o.neg, fxc * (50 * e) .midiratio,

0.4) *0.05) + (cs[2].ar(o.neg, fxc * (65 * e).midiratio, rq/2) *0.01) * e; z = (z

+ (cs[11].ar(z,0.001,0.5,0.1,0.1).distort * 0.5)).distort; w = z+ cs[14].ar (2).

distort; 10.do({ w = cs[12].ar(w,0.4,{0.03.rand}!2,{0.06.rand}!2) }); cs[15].ar(

cs[10].ar( w*0.9,800 )); (w *0.1 ) + (z * 0.7) }.play

)

 

Very interesting... Thx for posting this!

Link to comment
Share on other sites

  • 2 years later...

@RadarJammer >>> Thnx for the link!

______________________________

 

About SuperCollider... Well, i've just started with it...kind of. SuperHard!, i would say. Especially if you have 0(zero) knowledge of programming, like I do. :(...except for Max, but that doesn't count, right? ;)

 

But i know how to be persistent & stubborn and b/c i want to learn programming for other things in future too i bought some books about programming in general, about p. in general purpose languages to learn programming in Python (first, then C/C++ i hope) so i can more easily go into SC. If i manage to make something useful in SC in 2 yrs from now, to be 'good' in Python in 5 yrs from now and to be able to design my own SWs with C/C++ in 10 yrs from now - I would be satisfied.

 

Some of the *beginner* books that could be helpful in learning SC:

 

1) Python Programming: An Introduction to Computer Science (about programming basics NOT about Python it self)

 

2) Python 3 Object Oriented Programming (still finding a good book about functional programming)

 

3) The SuperCollider Book (you get a DL-able material with it examples and everything)

 

...and I printed out this one: Computer Music with examples in SuperCollider 3

 

Hope i helped! ;)

 

 

 

 

 

 

 

 

Did you ever end up learning SC?

Link to comment
Share on other sites

im into it. only the old ppc version. i dont like the updates. no problem. i still can use everything.

 

im mainly interested in algo sequences. triggers. pattern stuff. i bought an old g4 laptop. 60 bucks. getting into guis makes it complicated..

Link to comment
Share on other sites

 

 

 

@RadarJammer >>> Thnx for the link!

______________________________

 

About SuperCollider... Well, i've just started with it...kind of. SuperHard!, i would say. Especially if you have 0(zero) knowledge of programming, like I do. :(...except for Max, but that doesn't count, right? ;)

 

But i know how to be persistent & stubborn and b/c i want to learn programming for other things in future too i bought some books about programming in general, about p. in general purpose languages to learn programming in Python (first, then C/C++ i hope) so i can more easily go into SC. If i manage to make something useful in SC in 2 yrs from now, to be 'good' in Python in 5 yrs from now and to be able to design my own SWs with C/C++ in 10 yrs from now - I would be satisfied.

 

Some of the *beginner* books that could be helpful in learning SC:

 

1) Python Programming: An Introduction to Computer Science (about programming basics NOT about Python it self)

 

2) Python 3 Object Oriented Programming (still finding a good book about functional programming)

 

3) The SuperCollider Book (you get a DL-able material with it examples and everything)

 

...and I printed out this one: Computer Music with examples in SuperCollider 3

 

Hope i helped! ;)

 

 

 

 

 

 

 

 

Did you ever end up learning SC?

 

 

i'm using it for my music but i haven't learned it enough. not as much as i hoped i would cause....i have_no_time! i'm a double post-graduate student (studying for the PhD degree + specialist studies) and i'm working cca 250 hrs per month. no time my firend! no time!

Link to comment
Share on other sites

 

 

 

i'm using it for my music but i haven't learned it enough. not as much as i hoped i would cause....i have_no_time! i'm a double post-graduate student (studying for the PhD degree + specialist studies) and i'm working cca 250 hrs per month. no time my firend! no time!

Ya, im kinda at that point too. I'm interested to learn about program but this seems like a huge time dump that won't significantly improve my music. I'd want to learn SC not to make music but to better understand programming. Might try Pure Data cuz i don't have the cash for Max

Link to comment
Share on other sites

i dont think SC is something to teach programming. it's kind of its own thing. just learn C++ or sumfink

I mean, i'm interested in SC because i can see an application for the code. What can you do with C++? I realize this is a very naive question but i know almost nothing about coding

Link to comment
Share on other sites

I'm still pretty new to SC and programming but I think that makes sense. A lot of the concepts in programming seem to be the same across languages even if the syntax is different.

 

And I've found the best way to learn to program is to have an idea and try to make it happen. I'm learning a bit of Python and I've been doing stuff like manipulating photos and some basic sound stuff because that's what interests me.

 

I also got into SC more out of curiosity than it being useful for my music. It's a totally different way to think about making sounds compared to using a DAW. Patterns in SC is super exciting, make sure to do the tutorials about them.

Link to comment
Share on other sites

 

i dont think SC is something to teach programming. it's kind of its own thing. just learn C++ or sumfink

I mean, i'm interested in SC because i can see an application for the code. What can you do with C++? I realize this is a very naive question but i know almost nothing about coding

 

 

I don't know Supercollider but I'm learning Csound and have been doing C/C++ for a few years. If you want to learn programming and its practical applications, a good place for C++ that I learned from is this website. Another good book is K&R, although it is a book on C, which is an older language and requires you to reinvent the wheel a bit, it taught me a great deal about programming as a whole and I apply that to any language I'm using. Also its worth noting that C++ is basically just C with object support, so learning either of the languages will help with both of them anyway.

 

It does depend on what you want to code I suppose. If you want to make something complex and modular (like a video game) then C++ is probably what you want. If you want to make a program that will process MIDI messages you might be better off with a procedural language like C.

 

As for sound programming, I highly recommend it, most fun I've had programming in ages. It's great way to learn the technical side of sound and find practical uses for it. Also its just incredibly fun to create your own synthesizers/instruments and be able to control them in which ever way you want. A MIDI controller is recommended.

Link to comment
Share on other sites

i love SC. i want to get an old moto 828 and send trigger pulses out the sep outs from SC. algo triggers. yum. It is a lovely sounding program and it's gotten much easier. even the older new version 3.4 :-) I like it better. ppc version. they got rid of pressing enter to execute programs. now you have to ctrl+shift. dumb.

Link to comment
Share on other sites

I picked up Max last year when it was on sale and have been having a pretty good time with it but it does seem to be tedious for some things to me. This thread has piqued my curiosity. SC seems like it could be a good fit for me because I've been coding for ~20 years, off and on.

I am curious about how SC compares to Max, particularly in a few areas:

  • How do the control rate and audio rate interface? I still find this a bit awkward in Max - for example there are great facilities for manipulating lists but when it comes to using those messages with signals, you have to iterate through them into individual signal pipes.
  • What's the finest resolution available for MIDI input and output? I calculated it in Max a while back and I think it ended up being around 11 ms which is pretty good but a little disappointing.
  • What would be involved in creating a sequencer kind of like an MPC where you can record and play back events at arbitrary times?
  • What would be involved in making a sliced sample player, again like that of an MPC? Thinking of something where you have an array of slice positions within the waveform, expressed in ms or samples, and an incoming MIDI note will trigger the corresponding slice.

 

Link to comment
Share on other sites

Interessting, thx for linking the tutorial videos.

 

Question: Would it be possible to write a supercollider script that reads content of a random thread on this forums and generate a composition out of it.

 

We could auto generate tons of releases and form a own label around it that beats warp.

Link to comment
Share on other sites

Thanks for this thread! I always used to like CSound but never got into SC for some reason. Just installed it and so far I'm having way more fun with it than I ever have when I revisit CSound. Max/MSP and PD feel kind of clunky in comparison to me, like they're low-level enough that having the graphical patching interface makes things more complicated than just typing some text, rather than making them simpler. I love patching style software when the overall paradigm is more of a "deep, low level modular synth" concept like Reaktor or Usine or Buzz or Kyma (oh to be able to own a Kyma, I never got to use it enough when I had accesss to an old one in college), but Max and PD are really programming languages with a graphical interface, and I feel like that makes them LESS intuitive in the long run, plus it takes a lot longer to patch together a bunch of operators than it does to type a couple lines of code. Not that I'm an expert in either by any stretch o the imagination, I'm still mainly a hardware + DAW sort of person.

 

I guess what I'm saying is don't be put off by the initial learning curve, becasue if you're anything like me once you get your brain in the right spot it's actually a lot faster and more intuitive than Max. It's essentially the same thing with a simpler interface.

Link to comment
Share on other sites

Thanks for this thread! I always used to like CSound but never got into SC for some reason. Just installed it and so far I'm having way more fun with it than I ever have when I revisit CSound. Max/MSP and PD feel kind of clunky in comparison to me, like they're low-level enough that having the graphical patching interface makes things more complicated than just typing some text, rather than making them simpler. I love patching style software when the overall paradigm is more of a "deep, low level modular synth" concept like Reaktor or Usine or Buzz or Kyma (oh to be able to own a Kyma, I never got to use it enough when I had accesss to an old one in college), but Max and PD are really programming languages with a graphical interface, and I feel like that makes them LESS intuitive in the long run, plus it takes a lot longer to patch together a bunch of operators than it does to type a couple lines of code. Not that I'm an expert in either by any stretch o the imagination, I'm still mainly a hardware + DAW sort of person.

 

I guess what I'm saying is don't be put off by the initial learning curve, becasue if you're anything like me once you get your brain in the right spot it's actually a lot faster and more intuitive than Max. It's essentially the same thing with a simpler interface.

I feel the same, i'm mainly a reaktor user in regards of patching and building dsp stuff. PD and max always felt wrong in a way to me. Supercollider on the other hand seams to be fairly strait forward, at least the stuff in the tutorial videos here. So i might dig into SC in the next months a bit deeper.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.