[ art / civ / cult / cyb / diy / drg / feels / layer / lit / λ / q / r / sci / sec / tech / w / zzz ] archive provided by lainchan.jp

lainchan archive - /λ/ - 20989

File: 1482289353880.png (75.07 KB, 268x300, MIT-supercollider-book.jpg)


any λ lainon here programs music with SuperCollider or any other programming language such as alda or ChucK?

how you doin? was it to hard at first? i'm looking forward to finishing the vimtutor so i can use it on SuperCollider Mode, it's the first time i'm inclined to use vim for anything

general music programming discussion is also allowed i guess, i'm trying to learn as much as possible


I have used PureData around 3 years ago. Created a few patches (pulsing drone based on hardware feedback, data->sound, mouse gesture violin, aleatoric piano composer) and got bored pretty soon afterwards.
Recently used python to create tone patterns based on curve equations, though not sure if one could call it music.

How flexible is SuperCollider and what do you plan to achieve with it, OP? For example, PureData allows for a flexible MIDI overlay and more or less decent synthesis functions. What SuperCollider excells at?


File: 1482339641841.png (78.98 KB, 200x200, code-border.png)


SuperCollider used to provided a great variety of opcodes (low-level signal processing modules) and many ways to patch them together on the fly, trigger events algorithmically, and respond interactively to external signals. i don't really know how much different it would be from PD, since i don't know the latter.

I just want to do it to learn actually, i've been programming for a few years and i wanted to mix my engineering skills with something artistic, such as making music.

after some investigation and testing on my own, i'm gonna dip into Sonic Pi, which seems to be the up-to-date version of what some time ago were the SuperCollider and ChucK projects, i've also checked alda, but it doesn't seem as suported as Sonic Pi, which is made on Python by the University of Cambridge Computer Laboratory.

if interested: https://github.com/samaaron/sonic-pi


File: 1482518909755.png (1.03 MB, 200x113, Screenfetch from 2016-12-23 15:37:24.png)

i tried sonic-pi bc of this post, it's fuarrrking awesome, really cool project, only thing is u must have a little JACK/PulseAudio knowledge

GUI looke like soykaf tho


Used it to write stuff for monome hardware and an A&H K1. Definitely helped me learn more about synthesis. Haven't used anything else aside from Max. Once I learned SC I felt max was a pain to maintain and share. Also learned vim after learning SC and haven't done anything in SC since. Revisited some old code just to check out the SC plugin for vim and it seemed legit. Anyone use SC live? I've seen some videos but wonder what others think who have actually done some performances.


SuperCollider is lovely. Sonic Pi is too limiting, use Overtone instead. SCLang is the hard part. It is a very strange language. You can always use a different client to talk to the SuperCollider server. Try this after learning the fundamentals in SCLang. Look into pattern languages like Tidal. Do not bother with ChucK.


I never really got into SuperCollider, because, like the anon above me said, it's a pretty weird language based on Smalltalk and I have trouble wrapping my head around it, kinda like Ruby.
The first thing like this I started to experiment with was PureData, after I've read that Autechre used Max for EP7/Confield/Draft 7.30. I made a messy sampler with step and analog-like sequencers, a 4-op FM synth and a few other things with it.
It's pretty fun and can be useful to prototype stuff you want to implements in plug-ins. Acreil made amazing generative compositions with it. The problem is that graphical programming can be annoying sometimes (no loops, conditional constructs are awkward, patches can look very messy easily, etc.)

I did most of the MOOC using ChucK on Coursera, and while I learnt interesting stuff, for a language advertised for live coding, it isn't very flexible. It's more easy to get started with it than SC though, since it's a C-like language.
Tidal is really awesome for creating rhythmic patterns on the fly and there is no need to know Haskell, but it seems less good for melodic stuff / sending MIDI. I saw that they use a SC "backend" now though, maybe it became more flexible since the last time I played with it.

Right now, I want to create VSTs with JUCE, because I prefer to use a DAW to compose, but it's a bit intimidating to start diving into a big C++ framework like that, and I can't into DSP math.
But maybe I will try to learn SC again and finally read the book in OP, thanks to this thread. I need to stop being a lazy soykaf browsing chans all day.


>based on Smalltalk

Well then, while it may be hard to wrap your head around initially, it can't be too hard to learn. ST was designed for children and normal people, and you can learn it's formal semantics in about a minute. The rest is just the stdlib.


i'll look into overtone, does it allow you to make your own sinewaves like SC and soykaf?


Great! Yes, SinOsc.ar exists in Overtone.


I know nothing about music but love programming. Would this be a good way to learn music? It looks pretty interesting!


no it is a terrible way to learn music because it is so open ended. if you want to learn music, pick up an instrument.


Yes. It is the best way to learn music because it is so open ended.


I think a beginner would just feel overwhelmed and never do anything with it, because it is so open-ended.


I don't like pd or max and the like. Visual programming languages make my skin crawl. They are so freaking awkward to use.

What looks clearer 1+1 or

(1)-----( +)
(1)-----( )

Pretend those are the pd style boxes.

Maybe this style helps with musician types who don't know how to code? But for me, I know and am comfortable programming in text based languages. The graphical representation just gets in the way.

And I think musicians would rather work on a higher level of abstraction anyway. Like a VST with a nice gui.

I just use C/C++ to write my music dsp code. I should really make my own audio programming language someday. Maybe when I learn more about compilers. Because supercollider's text language looks really awkward. I just want an ide I can write and compile something that looks like C in and use it for music stuff. Not learn a whole new programming paradigm and syntax.



>Maybe this style helps with musician types who don't know how to code? But for me, I know and am comfortable programming in text based languages.


>I should really make my own audio programming language someday.

cool af, i'm not yet on that lvl, neither programming or in music, what do u feel about overtone senpai?



hey friend, i installed overtone following the official doc https://github.com/overtone/overtone/wiki/Installing-overtone

but when i try to connect to my internal server by
user=>(use 'overtone.live)

i get

--> Loading Overtone...

CompilerException java.lang.Error: Failed to create temporary file for jnidispatch library: java.io.IOException: Permission denied, compiling:(overtone/sc/machinery/server/native.clj:28:7)

sudo lein repl fixes it, but i don't wanna be connecting to overtone as Root all the time...


what do?

thanks bby (k)


File: 1485185415106.png (158.3 KB, 200x113, tomorrows_harvest.jpg)

c'mon senpai, please guide me i want to make noises and soykaf :(


Sorry, I'm back. How did you install leiningen? What does "which lein" return?


installed following this https://github.com/technomancy/leiningen/#installation

and which lein returns "/bin/lein"

thanks friend <3


SC isn't based on a Smalltalk environment per se. It's just that the object system is inspired by it.
The language has a C-like syntax but it's still pretty weird.

>I just use C/C++ to write my music dsp code. I should really make my own audio programming language someday. Maybe when I learn more about compilers.
You don't need a compiler, just an interpreter would do the trick (unless you want to implement a JIT compiler for fun, but that would be needlessly complicated)
Basically, what you would do is to have an interpreter as a frontend that can call some compiled DSP code, written in C/C++, or Rust if it can be fast enough.
You don't even need to create a new programming language, you could do something like pyo which call C code from Python.
Or conversely, you could create a language that interacts with the scsynth server, kinda like overtone or hsc3, or something that already takes care of the low-level stuff.


Try moving to /usr/local/bin