Has anybody experimented with software like SuperCollider, Csound, or Pure Data? I want to synthesize my own ambient loops and other environmental sounds without even having to rely on open-source AI models like AudioCraft. Those are great, but I want more precise control over everything, and high-quality sample-by-sample synthesis, which avoids copyright/licensing issues or unnatural artifacts present in AI-generated 3-D/binaural/spatial loops altogether. Using CC0 sounds is great because you don't have to worry about attribution/credit stuff, but even then, you can't copyright the original sounds. Recording your own sounds is the best option if you have high-quality recording equipment, but then you have to actually hear the audio that you want to record and spend enough time in the environment as the microphone captures it, eliminate all environmental noise and microphone hiss, speech, including VoiceOver speech, and get an uninterrupted recording. So I've never been to a rainforest but I want to synthesize binaural rainforest sounds. I've never recorded an airplane engine in 3-D but why not just synthesize it on my computer? I'm also interested in physical modeling, and other more user-friendly options, if any. Mobile apps would also be great.
Comments
Have you tried SUrge XT?
I don't know that it does samples, assuming you want to manipulate audio samples. But it is an accessible synthesizer and if you haven't tackled basic synth stuff yet, it's a good place to start. It can also do sequences which you'd probably need for something like a rain forest.
I mention this because if you specifically want to manipulate sampled audio, a lot of the synth stuff carries over, e.g. filters, resonance, and so on. Surge does all of that, it's just based on waveforms, rather than imported audio samples as the base of the sound.
They are developing a sampler, Shortcircuit XT, and IIRC they are doing, or planning, accessibility work on it. But it doesn't seem super developed yet, lots of placeholders for docs and such on the site. You can apparently do it with just synths though, here's a guy with a video, but I don't think he mentions what synths he's using, maybe visually he does, I'll try to remember to get my wife to take a look and see.
https://www.youtube.com/watch?v=EhK-LHm6_b0
Surge XT
Isn't that a music-focused thing? A VST instrument to be more precise. I know it can be used as a standalone app, but what I want to do is generate whole soundscapes and other stuff. Specifically, 3-D/binaural/spatial audio.
Re: Synths.
In the rain forest example I posted, he used two synths, Phase Plant and Serum. Also a midi sequencer. The synths generated the sounds, and he used the sequencer to create the track. Surge XT would be the first part, or a possible first part anyway.
I can see two ways to do this, and I'm not sure which one you want.
1. Like the forest example, you use one or more synths to design your sounds, and then use a DAW or whatever to make your track(s).
2. You use pre-existing sounds, e.g. a wav file of an airplane or whatever, and use a DAW or what have you to make your track.
Which one do you want to do? If it's the first one, which is what I thought you were getting at since I think all of the things you mentioned are synthesizers, I mention Surge XT because, if you don't know how synthesizers work, it's a good place to start learning, there are some decent general synth lessons on Youtube, I can point you at a few.
IF you want to basically use samples instead, the second one, Surge XT still might help to learn some processing stuff, e.g. what filters do, but it doesn't do samples, I don't think. I haven't done anything with samples much, so you're probably on your own there, unless somebody else responds.
As another example, here's a guy telling you a bit about how to make bird sounds with a synth. Surge XT can do FM synthesis, I haven't tried recreating it though.
https://www.youtube.com/watch?v=bri8fnMUfaQ
Supercollider, Faust, chuck
I work with Supercollider and have developed an AppleScript for reading its PostWindow more easily. You can visit my website to see this script and my music with Supercollider, or contact me for any questions.
In Supercollider, for sample-by-sample control, the "Demand UGen" is good. However, for sample-by-sample control, Faust and Chuck audio programming languages might be better.
I think for ambient music, it might not be needed to control each sample. Glitch music, most of the time, yes, you should apply the algorithm in each sample for innovation. But for ambient music or even the complicated music of electroacoustic music, Csound, and specifically Supercollider, which are not specific for controlling samples, work very well.
www.soheilzarrinpour.com
[email protected]
My experience
Hello,
In my experience, you're best off using a daw, such as logic pro, ableton, or reaper. If you want it totally synthesized, I'd go with SurgeXT. If you're using windows I'd recommend ableton or reaper. If you're on a mac ableton doesn't load plugins from what I've heard. If mac I'd reconmmend logic and surgeXT if you're going synth. Plus logic has a lot of its own synths. If you're going sample-based, I personally love Ableton's simpler. You can take a really rough aproximation, then use simpler's filters and LFOs, and then layer in a wealth of stock effects from ableton itself to make your soundscapes.
That's my two scents, hope it helps.
A few points
Surge XT is a synthesizer.
Like, you get some oscillators and knobs and things. It is literally about nothing *but* sound design. Both Reaper and Ableton have a mode where you can play notes from your computer keyboard. I say notes but it will really trigger whatever you've got loaded.
I literally posted a video of a guy making bird and bug noises with a hardware synth that does FM synthesis, and pointed out that Surge XT can also do FM synthesis.
Here's a Moog Grandmother, a hardware synth, with a keyboard and everything. Notice the musical-sounding noises.
https://www.youtube.com/watch?v=7DmlcczM6uE
Now, here's a guy doing a tutorial on how to make a helicopter noise with that same synth. It's not a very *good* helicopter noise, but my point is that he's doing something distinctly non-musical and sound design with it.
https://www.youtube.com/watch?v=2-f2H_7LpAY
If you don't want to use Surge XT, don't. But I'm sorry to tell you that you don't know what you're talking about when you say it's for music and won't do what you want. Pure Data is, IIRC, pretty graphical and not accessible. CSound is pretty old, but speaking of that, here's a guy playing around with it. Skip to about a minute thirty, you'll hear him run some sample code, which generates a series of pitches.
https://www.youtube.com/watch?v=9KQHc7_OWrw
Csound has a web IDE, but it doesn't seem like you can edit text, at least I can in Firefox on Mac, YMMV. I opened the first project that generates a 550 Hz. sine wave.
https://csound.com/get-started.html
The reason I suggested Surge XT is because if you don't know how synthesis works, e.g. what an LFO is, modulation, and so on, it's a fairly straightforward environment to learn with. Most synth examples are going to be musical because most people want to do music, the CSound tutorial talks about what a "CSound instrument" is, for example.
But that's basically just a thing that makes noises. If, as an example, that guy added a lot more pitch into his helicopter design, he could make a synth bass. Or he could put some attack on the beginning to make it sound way more like a helicopter IMO, but if he took off the modulation so each sound was a single event, he could make something like a snare hit.
You can, I assume, do something similar in CSound. Sonic Pi might work, again you're going to get a ton of musical examples, but that's a programming language sort of like CSound, but it's being developed now and I'm pretty sure the guy's done accessibility work on it.
Personally I prefer way less typing, but give them all a try. SuperCollider *should* be accessible, since it uses a server client architecture and is also a programming language, IIRC, I've downloaded it but haven't played around with it yet. In theory you should be able to write its code in anything, if its own tools aren't accessible. Sonic Pi is also free, as is Surge XT. Reaper isn't free but you can evaluate it for free and there are a lot of resources to help get you started. Here's the link for SOnic Pi.
https://sonic-pi.net/
Yes, I know it says it's a live coding music synth. Again, it should be able to make nonmusical noises, which is what you want. All of the examples I've posted have literally been from things that people mostly use to make music. That doesn't matter. What matters is what it can do. If you've got a synth that can generate noise, you can make the sound of waves, for instance.
More synth demos.
Here is a guy talking about how to make a string sound on any synth.
https://www.youtube.com/watch?v=DsAbrsdSk28
Notice that the first thing he does is make a slow attack on the waveform he's using, a sawtooth in this case. Now, here's a guy making ocean waves, among other things.
https://www.youtube.com/watch?v=UNF28ourXkk
If you skip to about 4:50, you'll notice the first thing he does is play around with making the attack slower. He's just using a noise oscillator, instead of a sawtooth waveform. It is literally the exact same technique. Same thing where he applies an envelope to produce the rhythmic aspect of the waves. You're using the same synthesis techniques for sound design, whether you're making a bowed string noise, or ocean waves, or whatever.
I'll again recommend Sonic Pi as something worth checking out, see the tutorial.
https://sonic-pi.net/tutorial.html
In the appendix there's stuff on writing a probabilistic sequencer, which should get you some randomness. If you don't want to use a DAW then yeah, some sort of programming would probably be your best bet. I recommend Sonic Pi because, like I said, I know he's done accessibility work on it, and it's meant for people new to coding and music. It's meant to be an educational resource, among other things, so it's fairly user friendly.
But again, synthesis techniques are synthesis techniques, whether you're designing an organ sound, or a thunderstorm. So here are a few synth tutorials.
https://www.youtube.com/playlist?list=PLFa4_po__8wMNscyFfDy6Dn-_hZdtr-jo
https://www.youtube.com/playlist?list=PLDYJmRPPt877lz4PL5kwfsijoNntsFNNL
I do know what I'm talking about.
I wanted to find out whether I would be able to compose an entire track using Surge XT only, but not only that, I wanted to do the exact opposite of what the plug-in is used for. I named that track Synchemy (synth=alchemy), because I wanted it to sound as close to acoustic instruments as possible. I can share that with anyone via e-mail or even post a link on here, so I do know what I'm talking about. I've also used Surge XT in various other tracks. Synthesizing individual effects and then manipulating them is not my thing though; I want to experiment with novel methods. I want to synthesize whole soundscapes by using things like Supercollider but I couldn't use Supercollider or Csound conveniently with NVDA. Another thing is, most such software including Sonic Pi are music-focused, and while this doesn't prevent you from using them for other purposes, the fact that they're optimized for music and not SFX makes them more suitable and practical for composing and synthesizing music rather than audio. Just like how Reaper has bar/beat-based navigation and other music-oriented stuff by default. Because such software prioritize music and not audio.
Options are pretty limited then.
I get what you're saying. You want something that lets you generate sound one component at a time, no grid and scales, etc.
Obviously you used Surge before so no point beating that to death. But basically any synth with a few variable oscillator types and whatnot will get you there. There's also Reaper or Audacity's sound generation tools. Just ignore the music part.
If that's still too much, well I don't know what to tell you. Grab some analog pedals and modular stuff and don't use a PC, because most of the really cool stuff is either too geeky or not accessible, or both. EG: I'd love to use pureData but highly doubt that'll be workable in a functional, efficient way with screen readers. The big thing with sound design is ease of access to parameters and tweaking away without barriers. That goes for anything I guess, but it's quite frustrating when using softsynths with complex patches. Hardware/knobs is probably going to yield faster results.
If that's not an option, then throw it in the "another thing we (screen reader users) can't do" bin, and move on.
PS: Been doing some thinking on this, and Surge does have a mini programming/formula editor, both for LFO and wavetables that are math generated.
What I'm imagining is something that you could run standalone with a formula edit section and then a few fundimental controls for pan, vol, etc next to it. Either one-shot or looping playback. Then you could generate any math waveform you wish, do some kind of stacking and build a soundscape that way. In other words we need accessible versions of tools discussed above in this thread.
Let's try to break this down.
What you want has two parts.
1. Sound design/generation. Do you understand this part? If not, it's where you want to start. As the previous poster said, any synth will do this, provided you can access the parameters. This is starting with some sort of oscillator/wave shape, and modifying it with things like filters and such to turn it into a wave or thunder or a bird or whatever.
2. Sequencing. Once you've generated the sounds for your landscape, birds, rain, a waterfall, the ocean, an airplane flying by, whatever you like, you want to put them together somehow.
This is basically rhythm, and it works exactly the same as music. Well, maybe not exactly, because you might want some randomness, and music is usually regular, but still, rhythm is rhythm. That's what a sequence is, what's playing, when is it playing, how long, how often.
So as the previous poster said, there are issues, but I don't think things are quite as grim as all that. Here are your options.
1. Synths and sequencer are separate. Whatever synths you want, and a DAW. Ableton might work a little better for this kind of thing than Reaper. It's fairly accessible, but not fully yet.
2. Something that does everything. For software, you're probably back to a programming language. Sonic Pi should be accessible. I don't know if we can help with something like SuperCollider, but if so, we're going to need something more than, "it's not accessible". Like, how? What's not working? There may be ways around it.
For hardware, you're probably looking at modular synthesis. In some ways, that's good because you can spread buying modules out over time, but I mean, it's expensive and takes up room. And you'll have a lot to learn. There are software modular synths but IIRC none of them are accessible. I think you could program something like a modular synth in one of the languages, e.g. Sonic Pi, but again, a lot of learning there.
Once again, almost all of the stuff to learn this is going to deal with music, because that's what most people want to do. But to take one last shot at explaining why you shouldn't get hung up on that fact, let's listen to a cardinal.
https://www.youtube.com/watch?v=BWgVrxxFQ0E
So, what do we have here? Two rising pitches, followed by a series of shorter falling pitches. So we start with some sort of oscillator, get the sound right, get the pitch right. Then we use an envelope or the like to make the pitch rise. Same idea for doing the shorter falling chirp. That's our sound design, that's where the synth comes in.
Next, we trigger that rising pitch twice, and the falling chirps however many times, with a pause in between. That's the sequencing part, and you can do that in a DAW just fine. Note that there is rhythm here, the pause between the two kinds of chirps, and within the sequence of the chirps. Just like music. To return to the chirps for a second, basically what you're doing is making what's often called a riser for the first kind of chirp. So anything teaching you how to do that, which will probably be a musical noise, will also get you closer to your bird recreation.
There is a lot of overlap here, because you're basically doing sound and rhythm. They work the same way, whether it's music or a thunderstorm. We're just working with different components, noise for the thunder sound, and less regular rhythm than typical music. But all of the basic techniques are the same.
Good luck!
Yeah I know that.
Let us know how you get on with it.
BTW, apparently Sonic Pi uses the SuperCollider engine, or it can, I just saw this mentioned in passing in a video, so I don't know if that's the default, or if you can pick from multiple engines, or what. I also don't know if that means you get access to all the engine can do.
One thing I'd be really interested in is if you can do modular synthesis in Sonic Pi. In theory you should be able to, you'd just be building your modules from scratch. But it would be cool to do something like this.
https://www.youtube.com/watch?v=CFD72PXOmxA
Modular might also be a path you want to take for synthesizing landscapes, since in theory you can do feedback between modules and such. Good luck!
Sound engineering
I am quite envious of all of you that can do sound engineering. Sadly, the hearing in my right ear is slightly less than in my left ear, quite possibly from years of wearing an earbud in that particular ear, but alas, I don't think I could ever do Sound engineering with my uneven hearing range. 🙁
A lot of synths are mono.
Especially early synths, or emulators of them. I mean, I'm not saying it wouldn't present potential issues. But there's no reason you couldn't try it, if you're of a mind. Sonic Pi has a free tutorial and Surge XT also runs as a standalone app, you don't even need to worry about getting a DAW like Reaper, unless you want to record. SP has a record function that IIRC outputs whatever's running to a wav file. So you could just run and record whatever you end up creating.
@Khomus
Is that so? Any advice on a good place to start with regards to tutorials and such? I am absolutely interested. 🙂
Surge XT.
First, here's a short taste of what design work is like. You can hear the monophonic nature of what's going on too, he might use stereo at some point, but you don't have to at all. This should give you an idea of how interesting/useful this might be for you.
https://www.youtube.com/watch?v=DsAbrsdSk28
Here's stuff on getting started with Surge XT for us.
https://www.theglobalvoice.info/reaper/deep-dives-and-demos/
See getting started with Surge XT. There used to be a SUrge XT Playground with some sound design demos, but I can't find that, if you don't manage to stumble across it, let me know and I'll try and dig it up. I think they do everything in Reaper, but once you set up the accesssibility stuff for the keyboard shortcuts, you can just run the standalone app, if you've got a midi controller to input notes, you'll have to set midi input and audio output in the menus. If you don't:
https://www.theglobalvoice.info/reaper/
That should help you get started with Reaper, which has an input mode where you can use your computer keyboard to generate midi. You'll probably want some sort of controller, you can get them pretty cheap, because if you get into this you'd have to switch out of that mode, do stuff in Surge XT to design your sound, then switch back into that mode to play notes and hear it. That would probably get pretty tedious.
For general understanding of synthesis, or at least the one you'll mainly use, Surge XT has a few, see:
https://www.youtube.com/playlist?list=PLFa4_po__8wMNscyFfDy6Dn-_hZdtr-jo
For something shorter:
https://www.youtube.com/playlist?list=PLN5UCK4omWX0VvC-5ASJ55bMWS5oUHmpi
All of this should be free to set up, well unless you need to buy a midi controller. But the nice thing is, if you want hardware, there are some vintage synth recreations that don't have screens at all. You'd need an accessible description of the controls layout, of course, but other than that, and possibly needing a midi controller depending on whether it had its own keyboard or not, you'd be good to go.
There are also accessible synths on iOS, e.g.:
https://apps.apple.com/us/app/audiokit-synth-one-synthesizer/id1371050497
I don't know that I'd want to start with something like that, personally, because I don't know that the touch screen is a great interface, although again, you could hook up a midi controller. But I mean just in terms of manipulating the controls and all, I don't know that I'd start there either.
Anyway, you could always have fun checking out the presets, if nothing else, whether for surge XT or that one or whatever other things you come across. But if you're really into the touch screen, some people are, there's another free option you can probably play around with to try some sound design. You'd just have no getting started stuff for it. But if the controls seem understandable, you should be able to use those Youtube videos and follow along with picking a waveform and manipulating filters and all that good stuff.
Good luck!
Thank you so much!
Thank you for all of the resources. I really appreciate it. No idea if this something I will be able to do, but I will definitely look into it.
Thanks again! 😁
iOS.
I forget if you can play the referenced instrument directly on the screen. If you can't, you should be able to use it with Garage Band, which *does* let you play it with a touch screen. If you need to know how to do that let me know and I'll figure it out, I haven't got round to using external instruments with Garage Band yet, but I should anyway.
Synthesis is fascinating, if for no other reason than the way it makes you think about sound, the first video where he designs a strings patch is a great example. Well OK, I find that fascinating, but I'm a giant nerd.
Here's a possibly more innovative but complex approach
- You either use conventional analysis tools or train a neural model to extract parameters like frequency, amplitude, stereo/3-D position (if available) for each sample from a given recording
- You convert the extracted raw values into mathematical functions that can be expressed in simpler ways and let you actually generate/synthesize audio using different synthesis methods together (e.g., additive, subtractive, modular, granular, physical modelingg)
- Then you use either a programming language, a GUI with adjustable parameters/controls, or even an LLM to describe your sound, and then the thing outputs whatever you want, though without using a neural model this time
So you can make use of AI to speed up the training process, but then all the end user should have is a much smaller deterministic synthesizer that uses nothing but raw data and mathematical functions describing how it should synthesize various sound effects. Such a thing can be used on any device and even in a browser, as long as you're okay with doing manual adjustments rather than telling an LLM to write the functions for you, which should be optional and already supported on newer devices. And then the synthesizer can even be used to develop apps like speech synthesizers, VST plug-ins, or soundscape/SFX generators.To clarify something about mono synths.
Technically, a mono synth means you can't do polyphony. You only get to play one note at a time on a keyboard, for instance. So you can still do stereo with them, e.g. maybe if you ahve to oscillators going, you could pan them left and right, you could apply stereo delay, obviously mix a song using them in stereo, and so on.
That having been said, there are a lot of interesting things you can do with music. Take velocity/dynamics, i.e. how loud or soft something is. Some people love it, and feel that music lacks something without it. I got into this genre called dungeon synth a while back, and a friend of mine is all, it has no dynamics! Here's an example.
https://www.youtube.com/watch?v=qE7TEO5loig&t=607s
The thing is, to me, the part played by dynamics is taken over by texture. Think of an organ. You either have air moving, or you don't. It doesn't matter how hard you hit the key, you get the sound you get because air is flowing through a pipe or reed. So when playing an organ, if you want dynamics, you're actually getting that by pulling more stops, essentially adding more notes. In other words, you're not changing volume, you are but only accidentally, you're thickening the texture.
You also see this in older classical music, e.g. on the harpsichord, which also has no dynamics. They used what we'd call ornaments or adding note runs and such as expression, not changes in volume, because the volume of the instrument was just whatever it was, you couldn't change it.
All of this is to say, you don't really have to do a thing, musically. If you can make music/sounds, even if it's just for yourself that you never release, and you make them a little different because you don't want stereo or you hate drums or whatever, good for you, have at it. IMO more people should pick up instruments. Can you only play three notes on a flute, but you like those three notes and you played them for twelve minutes because you like that sound and you find it really meditative?
Awesome! Go do it some more. If you end up needing more notes or really want to learn to play Metallica or Billie Eilish covers or something, it will happen. You can go there. But you don't have to.
Thank you for listening to my TED Talk.
Re: AI synths.
Interesting. Are you thinking of domain specific synths then? Say you feed it a bunch of bird samples, and the basic sounds you get are bird sounds, but you can adjust parameters? Otherwise, I kind of feel like you're recreating Surge XT. Well, I don't think it can do any sample-based stuff, which also rules out granular, but still.
@Khomus
You would either get a sample-by-sample representation of any audio or train a neural model on enough samples to let it infer the characteristics. After that point, you'd be done with samples and neural models. All you had at that stage to proceed further would be a mathematical formula/function/representation that expresses how a synthesizer would mimic the source audio closely enough, and what parameters it would have to tweakk in order to introduce more naturalness, variation and randomness, or how it would distinguish different objects or individuals of the same kind (i.e. different birds of the same species, or different bird species, or different car models etc.). But if you want to retain sample-based synthesis or analysis, you could always do some sort of catalog/database matching kind of thing and either provide a sample as input and ask the engine what it found, or request it to synthesize a bird sound based exactly on the sample you provided, as it would already know what a bird sounded like in general.
Oh I see.
So sort of domain specific then. This talks about something a little like that, he's using general synthesis but does mention spectrograms and such.
https://www.youtube.com/watch?v=5HU8Jm6pNS0