Jump to content
IGNORED

Pure Data


Guest TooMuchLush

Recommended Posts

I'm thinking about looking into SuperCollider myself. Any good resources like those Floss manuals, but for SC? Anyone know any good tracks composed entirely in SC or PD? Seems incredibly daunting, but creating music with an ebb and flow ala AE would be awesome. I love their generative stuff, how it's all tied together and can crash into itself in such a mindbending way.

 

Yeah, there's lots of great resources to learn SC. Start here...

http://supercollider.sourceforge.net/learning/

 

This whole series on Youtube is good:

https://www.youtube.com/playlist?list=PLPYzvS8A_rTaNDweXe6PX4CXSGq4iEWYC

 

And hit command +D on any object in the IDE to bring up the documentation for that object.

 

Most of Cylob's music after 2001 was created in SC I believe. In the SC community he posts under as "nonprivate".

 

Came across this guy not too long ago, who develops LNX_Studio, a DAW created all in SC. Nice to see more structured stuff like this. https://conditionalrecs.bandcamp.com/album/bum-montage

Link to comment
Share on other sites

  • Replies 66
  • Created
  • Last Reply

PD is a pretty amazing, if a bit demanding. I didn't bother much with synthesis or sequencing, but quickly developed an interest in DSP. I pretty much had to spend more time reading about DSP than actually programming to get the hang of it. My favorite thing I did was a compressor with multiple gain reduction options, and on top of that, a tube saturation emulator based on chebyshev polynomials with very customizable harmonics. When these two modules combined, you got that nice LA2A-style compression-and-saturation effect that sounded very pleasant on almost anything. I also made an FM synth with like 80 operators, was fun.

Link to comment
Share on other sites

Ahh yeah DSP is a whole other world to what I'm doing in pd. I guess I'm gonna have to learn how to do it at some point though, since I want to emulate the kind of soft clipping that happens in nanoloop 2 when all of the channels are maxing out. Having said that though, at the moment it'd probably be better to just keep it dry and use external effects, especially if I want to keep cpu use on the pi down for my project..

Link to comment
Share on other sites

Soft clipping is easy and very economical with the hyperbolic tangent function (tanh~), you just need a preceding gain stage and then run the signal through that object. It's a classic saturation curve that's sometimes used for compression as well. There's a ton of fun stuff you can do with rudimentary trigonometry.

Link to comment
Share on other sites

 

I'm intermediate at it. Puckette's guides are very thick to digest but he does a thorough job at explaining DSP if you can decipher the moon language. I have an entire section dedicated to it in my webpage.

I guess if your intermediate, you'd be able to answer a few questions. First off, i'm having difficulty making a decent filter. I realize it isn't as simple as plopping down a lop~, hip~, or bp~ in the signal chain and setting the frequency but i have no idea how to approach this. I'm reading a tutorial book and it said to use multiple lop~ objects in a row but that seems kind of weird. Also, when i was filtering noise with bp~ at a very high Q, it would be fine for a while but then would get louder and louder, almost like it was feedbacking. idk, any help is appreciated. I started learning pd a few weeks ago and and still working out the quirks with the language.

If you want to make proper filters you need to read up on z-transform and use biquad. Lop~ and butterworth etc are rudimentary filter types used for antialiasing, which is another thing you need to read up on. You'll need multiple high-resolution antialiasing stages in your patches if you want your stuff to sound good (you've probably noticed how "digital" and aliased raw PD shit sounds), especially when using functions on signals, but it can eat quite a bit of CPU.

Link to comment
Share on other sites

 

I'm intermediate at it. Puckette's guides are very thick to digest but he does a thorough job at explaining DSP if you can decipher the moon language. I have an entire section dedicated to it in my webpage.

I guess if your intermediate, you'd be able to answer a few questions. First off, i'm having difficulty making a decent filter. I realize it isn't as simple as plopping down a lop~, hip~, or bp~ in the signal chain and setting the frequency but i have no idea how to approach this. I'm reading a tutorial book and it said to use multiple lop~ objects in a row but that seems kind of weird. Also, when i was filtering noise with bp~ at a very high Q, it would be fine for a while but then would get louder and louder, almost like it was feedbacking. idk, any help is appreciated. I started learning pd a few weeks ago and and still working out the quirks with the language.

 

Learning about filters is hard. The lop~, hip~ and bp~ are there more for problem solving things inherent in DSP (like chim mentions) but there's nothing stopping you from making a simple or parallel filter system for something like a subtractive synthesizer. Basically for the more advanced filters you have to make a buffer that has a sample delay by 1 (sometimes 2 or 3, depending on the filter) and you are modifying each of the sample-delayed monomials by a multiple in a way that when you add (or subtract) to mix the signals back together via an algorithm at the end the final sound has attenuated or diminished frequencies via their interference patterns.

Even though its for Max, the manual here describes it much better (there are 5 pages or so): https://docs.cycling74.com/max7/tutorials/08_filterchapter01

Link to comment
Share on other sites

What's the best way to implement a file system, or save/recall patterns/banks? Currently each step of the sequencer (up to 16) carries a 4-number packed list, but will probably expand to 16 or more (in groups of 4 packed lists of 4).

 

Do I unpack and then pack them into a huge list of 256 somewhat arbitrary-looking values per pattern that gets saved to a text file, and then unpacked yet again to the sequencer steps? Or, should I be using arrays or something? Is there a way to get things to save into the actual patch automatically (like a save state?), so I can implement some kind of feedback that a pattern exists in my hardware interface?

Link to comment
Share on other sites

What's the best way to implement a file system, or save/recall patterns/banks? Currently each step of the sequencer (up to 16) carries a 4-number packed list, but will probably expand to 16 or more (in groups of 4 packed lists of 4).

 

Do I unpack and then pack them into a huge list of 256 somewhat arbitrary-looking values per pattern that gets saved to a text file, and then unpacked yet again to the sequencer steps? Or, should I be using arrays or something? Is there a way to get things to save into the actual patch automatically (like a save state?), so I can implement some kind of feedback that a pattern exists in my hardware interface?

 

First question: Yes that is what you would do if you were using puredata vanilla. That is why I couldn't live without the coll function from Max!! You can shorten the pack and unpacks with the zl objects. They help you edit, rearrange, and retrieve elements from lists without having to do the unpack/pack stuff.

 

Second question: You can set the arrays if puredata's savestate function is on but I never, ever, ever trust it enough to actually save my settings so I wouldn't do it. If you are really nuts you could also use a series of send and receive objects that interact with message boxes that are renamed via set commands and saved when the pd file is also saved.

 

Third question: To make things a hell of a lot easier for you: Get the deken plugin and there exists an object called SSSAD (Stupidsupersimplistic State Saving ADVANCED). There is also a clone of coll that is on deken as well if you want your own for PD. That will do ya!

 

Unfortunately I can't answer the last question as I'm very poor with hardware-to-pd stuff.

Link to comment
Share on other sites

Hmm. I'm beginning to wonder if choosing to not go for pd-extended was a bad decision..

 

Maybe I'll just try to create my first idea (lots of packing/unpacking); it feels hacky, but so does pretty much everything else I've tried in order to get this sequencer to work, haha!

Link to comment
Share on other sites

Hmm. I'm beginning to wonder if choosing to not go for pd-extended was a bad decision..

 

Maybe I'll just try to create my first idea (lots of packing/unpacking); it feels hacky, but so does pretty much everything else I've tried in order to get this sequencer to work, haha!

No. PD extended isn't being updated anymore. Either go with pdl2ork if you're on linux, or puredata vanilla with the deken plugin.

Link to comment
Share on other sites

  • 2 weeks later...

Once i downloaded pure data.Once i opened pure data.Once i closed pure data.End of the story.

 

I don't think you need this fancy math stuff to make great music.

 

BUT

 

Some people love fancy math stuff and PD was made for them.

 

So its all good.

Link to comment
Share on other sites

Of course you don't need it.

 

But I have an idea for something I want in order to play live in a way that is comfortable and efficient.. and that just doesn't exist in any other software yet, except in nanoloop, but I want to use that as a base to build something with more physical controls. So it's good in that way. It's not for replicating something that already exists, but instead for building something new.

Link to comment
Share on other sites

Once i downloaded pure data.Once i opened pure data.Once i closed pure data.End of the story.

 

I don't think you need this fancy math stuff to make great music.

 

BUT

 

Some people love fancy math stuff and PD was made for them.

 

So its all good.

I never liked the math bits but I love the freedom of it. It's more about logic than pure math in my opinion.

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.