Fastly Acessing Traditional Synth Recipes

Hello scsynth,

I trying to figure out a way to quickly use traditional music pre-configured synths on SC. For example, I would like to use patterns to run pre-defined synths like ones in those old Cassio and Yamaha keyboards (many types of pianos, many types of church organs, many types of electric pianos, etc) istead of writting each individual myself synthdef.

Is there a quark for that? By the way, is there a place in which I can see a summary with description of all quarks with no need to install them? Both the GUI and the Git does not provide it…

I’ve tried STK plugins but it isn’t exactly what I am looking for, because they are more CPU expensive and also does not have different presets for the same instruments.

The provisory solution I am using is to send midi with patterns from SC to other software (ableton live and logic) but I would like to have it inside SC to gain more control …

All the best,
Zé Craum

Have you looked in the /examples/demonstrations folder? Particularly the stealthissound.scd file, loads of great synthdefs in there emulating all sorts of gear.

4 Likes

Thanks! It is really usefull, but I am looking for something like the STK

StkInst.ar(instNumber: 6, freq: 220, gate: 1, onamp: 1, offamp: 0.5, args)

In a sense that you can pick an index and then choose a timbre, like those preset banks of keyboards. It does not need to be an UGen, it can be a big database of synthdefs (more than 200 timbres).

I also would like to know how users deal with this topic. Is it better to just use external DAWs, or use a free synth pluggin, etc.

I’m a little confused. Are you looking for a way to get presets - in which case that doesn’t really exist for SuperCollider, but if you look you’ll find plenty of examples all over the place (sccode.org is a good place to start, along with stealthissound).

If you’re looking for a way to manage presets that you’ve created then there are lots of ways to do this. One way is just to have a file and load that at run time (you can do that automatically if you prefer). Then you can just refer to your synths by name.

The way I do it is I have a class that stores functions in a Dictionary (it uses Library, which is kind of a global dictionary), and I have a class that just adds those functions to the dictionary at run time. The reason I do that is I can insert the SynthDef into the currently open document in the IDE and make edits. So I kind of use those functions as templates that I can tweak as necessary. So for example I have some bass drum ones, some super saw templates, that kind of thing.

You might also look at the Crucial quark which I think offers quite sophisticated functionality in this area, though I’ve never personally used it.

1 Like

If you just want to browse the quarks you type;

Quarks.gui;

This gives you a list of all the quarks. From there on you just follow the instructions (+ for adding, etc).

1 Like

I think most people build up their own repertoire of synths and their own idiosyncratic ways of storing and invoking them. The SuperDirt sampler and sample library has lots of familiar sounds - https://github.com/yaxu/SuperDirt/tree/master/samples

1 Like

One other thing to consider (not sure if this applies to you):

SuperCollider is not always an ideal way to get prefab instrument-like sounds in an uncomplicated way (though there are a million highly-complicated ways to get those sounds :smile:). But, SuperCollider works great as a controller (via MIDI or OSC) of external plugins or hardware, and for doing processing or effects on sounds. You might consider using a plugin, software or hardware instrument that easily gets what you need instrument-wise, and focus on doing the MIDI control and/or effects in SuperCollider instead.

1 Like

What I am looking for is a expanded version of the example stealthissound.scd, but with hundreds of SynthDefs.

I’ve found some sparse SynthDefs on sccode.org, specially those provided by snapizz but again the problem is that everything is scattered and quite small.

SuperDirt is very cool, didn’t knew about it :star_struck:, I am gonna try it out for some time! but I am looking for something that does synthesis instead of sampling…

From what I’ve seen Crucial is more for organizing sounds and SynthDefs then providing an exaustive list of them…

I know that, but I only a few provides a general description about them on the GUI… You might go to each git page and search for what it does… I was wondering where I could find a summary with a brief description of all quarks available…

Summarising, any ideas where I can find an exhaustive list of SynthDefs for tradicional instruments (pianos, marimbas, flutes, guitar, etc) with hundreds of Defs?

Thanks a lot! :facepunch:

there have been some efforts, but none of them ever really took off. i can explain why.

more than just a lack of organization — it’s a lack of volume the community produces. synthesizing realistic instruments from scratch is just really damn hard, even with the endless possibilities that SC gives you. (there’s a reason sample packs are the dominant way of digitally producing acoustic instruments.)

i’ve personally been trying to design lots of traditional instruments in SC. however, i treat my sound design as an integral part of my artistic work, and i don’t really feel comfortable sharing synthdefs that i’ve worked hard on. unfortunately i don’t get any money/exposure/gratification out of people copy pasting my sounds into their pieces. so i have not been uploading many synthdefs.

1 Like

I think sccode.org represents the closest thing we have.

maybe we could build something closer to what you describe on this forum?

maybe relevant fyi: here is a way of generating 100 random fm synths, courtesy of James McCartney.

2 Likes

SuperDirt contains some synths as well as samples.

While nothing is stopping people from doing presets, in practice I agree with Nathan. It’s not really part of the culture. Scott is right - if you want prefab instruments then buying a plugin/hardware (or even getting a free one) is probably the way to go. For example Dexed is a perfectly serviceable free DX7 clone. If you have an iPad then there are a ludicrous number of high quality super cheap synths available also.

Another suggestion - there are a million DX7 presets out there and it’s really easy to create a close enough DX7 clone in SuperCollider. So that might be an option.

1 Like

I’ll want to add that there are easier environments for creating realistic instrument sound, and even controlling them from SC with MIDI or OSC. SC’s power, to me, comes from the stuff all those other things can’t do.

1 Like

related to this - I got Welsh’s “Synthesizer Cookbook” recently, and it has a bunch of examples of “presets” for some generic 2 oscillator synth. (2 oscillators, a LF osc that can modify freq or amp, a noise generator, some filter options and some other settings)

It seems to me that this should be something that could be coded into a single synth, but there are a few things I don’t yet understand well enough (about SC or about analog synths). It wouldn’t give the “presets” the original post is looking for, but it should be able to reproduce the sounds

Has anyone implemented Welsh’s cookbook in SC?

1 Like

I’ve looked at it on Amazon but never pulled the trigger. You could post some presets on here and let people have a go at recreating them. Could be fun.

On that subject I’ve kind of wanted to try and recreate the Nord Modular Book:
in supercollider for a while. Might be a fun exercise to do here, and then someone (probably me) could collect it together and turn it into a ‘book’.

I have other resources of questionable legality if anyone’s interested (questionable because they’re still in copyright, but long out of print).

1 Like

not sure what “fair use” covers here - but here’s an example that someone else made that decision for :slight_smile: http://aempass.blogspot.com/2014/09/analog-and-welshs-synthesizer-cookbook.html

All of the patches take this format:

I’m still trying to make sense of all of it. But it does look like a fun exercise. And I LOVE the Nord Modular Book. I find these early/first principle things really helpful.

1 Like
(
SynthDef(\cello1, {
  var freq = \freq.kr(440);
  var amp = \amp.kr(0.5);
  var gate = \gate.kr(1);
  var osc1 = Pulse.ar(freq, 0.1);
  //var osc1 = Saw.ar(freq);
  var osc2 = Pulse.ar(freq);
  var lfo = 0.1 * SinOsc.kr(7.5);
  var out = (osc1 + osc2) * 0.5;
  var aenv = EnvGen.ar(Env.asr(0.06, 1, 0.3), gate, doneAction: Done.freeSelf);
  out = DFM1.ar(out, EnvGen.kr(Env.adsr(0, 3.29, 0.78, 3), gate).linexp(0, 1, 40,  10000), 0) * aenv;
  Out.ar(\bus.kr(0), out * (1 + lfo));
}).add
)

(
Pbind(
  \instrument, \cello1, 
  \degree, Pseq([0, 2, 4, 2], inf),
  \octave, 3,
  \dur, 1,
  \amp, 0.4
).play)
1 Like

It doesn’t sound much like a cello to me, but unless I’ve screwed up in some way then this is the recipe.

1 Like

Incidentally, while it’s not cheap, this application/tutorial is a very good way to improve your synthesis skills with traditional analog synthesizers:

It teaches you how to hear the different effects.

1 Like

I totally agree, but I think It would be awesome if have some built in simple synth options to test patterns instead of the default instrument …
I really still don´t understand why it´s not part of the culture to have at least a small database of SynthDefs. Is it more because of the sound results/efforts, choice of Devs to make SC as light as possible or in order no to bias newer users?

For sure, but my main goal with those is to have that “vintage” mocked sounds and use SC extreme versatility to tweak and transform them.

I think it worth trying! I will open a new topic for that, let´s see how the discussion goes on.

Welsh and Nord Modular are great, thanks for the tip. I think we can get something out of that. Isn´t it allowed to implement their recipe, modify, increment and post it? And also gathering it into a huge collection. That what was exactly done by stealthissound.scd example.

I think culture might have been the wrong word to use. It’s more that creating synth presets requires:

  1. A Preset Manager
  2. Someone(s) with the time and inclination to create the presets.
  3. A way to publicize their existence so newbies know to look for and find them

For whatever reason this hasn’t happened. I don’t think anyone’s really opposed to it.