How will ChatGPT affect this online community?

I used ChatGPT today to try to solve a problem in SC. I’m cognisant when asking questions of other it takes their time and effort, and at times I feel my questions might be a bit basic. I’ve got a toddler so am sleep deprived most the time, and don’t have enough time to devote to the language. Today I thought better to try ChatGPT, rather than bother anyone.

I was pretty stunned by the result. I was able to explore the problem from a few different angles, with lots of relevant code examples created to help me. On the one hand this was very exciting and inspiring, on the other I felt a slight melancholy.

Although I’ve only used SC for less than a year, I’m amazed at the generosity and helpfulness of the community around it. When I look at the number of post on this forum, the majority are people asking questions, and being helped by others. I am not even really part of the community, so have a fairly minor stake, but I can see how valuable it is, and that it’s a force for good.

The world changes and that’s the way it is - I’m sure it was sad for horse breeders when the car was invented. However, I expect many questions, and questioners, will quietly disappear as these tools enter common use. I wonder when that happens how strong will be the glue for open source community projects? I’m potentially being polemical here - that’s certainly not beyond me, but I wanted at least to know if anyone else has had similar thoughts of feelings about this?

Well, the last time someone posted a ChatGPT reponse, it was completely bogus:

One big problem with ChatGPT is that as a non-expert you cannot really tell when it is right or wrong. It happily spouts the biggest BS with absolute confidence. You always have to take the results with a grain of salt and double check.

Also, we often want to hear different opinions from different people. Ideally, someone will even come up with a new elegant solution. Finally, online communities also have a social aspect that computer programs such as ChatGPT obviously cannot achieve. So no, I don’t think that ChatGPT will make online communities obsolete.

3 Likes

It’s true that there is an incredible level of nonsense and inaccuracy to ChatGPT, but presumably that will improve. I also agree with its overconfidence, and I think quite creepy way of acting as if it were somewhat human, giving opinions and even moral lectures.

My presumption is not that it will eliminate the need for human input or expertise, or that online communities will completely disappear, but rather it will erode them more gradually. I also wonder if people will get more used to communicating with AI in an unhealthy way, in the same sense that people have gotten used to using their phones in obnoxious and anti-social ways that would have seemed unimaginable 20 years ago.

There are some neat ways that SC could be leveraging AI that nobody has considered yet. For instance, I would love to see the IDE recommend trending SynthDefs based on my typing history and mass data collection from the SC network.

3 Likes

From my experiments it does a good job of getting the ugens right, but struggles with some of the language features, which can be really hard to debug if you don’t already know supercollider. I think it’s generally harder to debug than to write, particularly when you are starting, and for that reason, I don’t think it’s very useful for beginners - it will either work perfectly, or you will struggle to figure out why it doesn’t work, leading you down the wrong path.

I’d also questions the value of describing what you want the computer to do. If your practice approaches the computer as a transparent tool, then sure… But sometimes its nice to allow the computer to influence and shape the sound, it’s nice to let the computer suprise you. One way of doing this, which supercollider has over max/puredata, is code interfaces. You can make code (functions, classes, structs…) that describe the way you would like to think and talk about the work and then see how these things connect organically. An algebra of artistic ideas if you will. I haven’t yet seen an example that was surprising (in a good way) or invited the same kind of organic growth you can get from building and connecting your own concepts together.

I like the idea of having an ai write some of the more tedious code… But really that should be covered by better safer language features and simpler syntax where possible. And since this is the part chatgpt seems to struggle with - I shall’t be using it for anything serious.

4 Likes

ChatGPT is great for code snippet examples for standard operations. You wouldn’t use it to generate everything, but short boiler plate code is fine.

2 Likes

ChatGPT told me that to make Gaussian noise in Supercollider, I should use Noise.ar(‘gauss’).

Unrelatedly, it also told me that Tchaikovsky wrote 10 symphonies and John Williams wrote six – gave dates and everything, all completely made up.

2 Likes

Can’t help myself, totally OT but,

This is the gospel truth and will forever be a proverb. Words to live by. And now, I will let myself out.

Yours truly, Lukiss.

Focusing on ChatGPT might be misleading. It could be one of several forms of AI, and I don’t simply mean at their present level of technological advancement, but also to include speculations of future states of advancement.

I’d also questions the value of describing what you want the computer to do. If your practice approaches the computer as a transparent tool, then sure… But sometimes it’s nice to allow the computer to influence and shape the sound, it’s nice to let the computer surprise you.

That’s a fairly good description actually of the ‘conversation’ I had. I wrote that I didn’t like certain solutions, and could things be done differently. The solution I arrived at worked, but I still refined the code. I definitely does not in its current form replace other people or proper documentation as a way of learning, but I’d use it again in certain contexts.

Where I sensed incredible weakness in the system was when asking it to give a musical analysis of Bach’s Prelude in C. It was total nonsense: it mentioned it having “complex counterpoint”, “grandiose emotions”, and “being technically difficult”.

In general I don’t see how emotion, intuition, and sensitivity can be coded, and having the intelligence of 1000 Einstein’s without a feeling for art, makes for a fairly useless analyst/creator. It’s possible that could change, but I don’t see how. For this reason I have found the art from Midjourney impressive but aesthetically it almost always feels sentimentalised, surreal, and unrelatable.

Maybe I’ll have another go and see if I can get something more discursive out of it.

I don’t think any of those things are necessary for art. It my mind, working with a computer is like working with another being, it’s not a question of encoding human emotions/body into the machine, but using it to create new kinds of being, then trying to empathize with the results, finding new kinds of emotion/intuition/knowledge/bodies, some more alien than others. If ai helps with this, then that’s great, but chatgpt seems to produce regurgitated human nonsense.

I don’t think any of those things are necessary for art. It my mind, working with a computer is like working with another being, it’s not a question of encoding human emotions/body into the machine, but using it to create new kinds of being, then trying to empathize with the results, finding new kinds of emotion/intuition/knowledge/bodies, some more alien than others.

I agree that a one way interaction is undesirable in the majority of circumstances - unless the machines is acting purely as a tool for transcription - but the emoting and intuition is entirely one-sided. The machine feels nothing, and has no need to create, only you do.

AI is completely wrong word. It should be categorised as SA = statistical analysis.

the fears are bogus. what we should be afraid of is Big Tech, and abuse of such SA and ML tools.

otherwise, I find it charming and lovely - I was always enjoying machines that act like humans.

Also, human in 2023 is not the same human as in 1980. We are more visibly cyborgs - if we take this historical distance and critical view. And, it’s all nature in the same way as is nature when crow is able to use a tool.

So, looking forward for some great emacs modes that use ML and SA to help me code. Or come up with some new crazy algos, conlangs or what not.

Just my 2 cents.

1 Like

Interesting reply Luka,

the fears are bogus.

I’d be interested if you have a moment to know why you think this?

Also, human in 2023 is not the same human as in 1980. We are more visibly cyborgs - if we take this historical distance and critical view. And, it’s all nature in the same way as is nature when crow is able to use a tool.

If I understand this correctly, I have thought something similar. The desire for mechanical time led to the creation of the clock, and not the other way around. As I understand the history, the Benedictine notion that “idleness is the enemy of the soul” drove the desire for ever more accurate time-keeping; clocks did not just suddenly appear and impose a culture of mechanical time on us.

I think something similar can be said about AI. In recent decades quantised drum loops and auto-tuned vocals have brought us closer to what at times feels - to me at least - like a more robotic popular music culture. Some of it already feels like it has been created by AI, so it does not feel like such a great leap for the music to go from humans creating somewhat robotically, to robots being somewhat creative.

hence the famous dictum: “Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” - Brian W. Kernighan

4 Likes

Hah, let’s be fair though, if you let a non-SuperCollider-user read the SC docs and source code one time, and then asked them to guess how you would make gaussian noise, I cannot imagine a better guess than Noise.ar('gauss') - it’s probably a better API for this then what’s in sclang now :slight_smile:

2 Likes

Yeah, it would be great if that worked! As far as I know there’s no direct way to make Gaussian noise in sc. I don’t think Ugens can take strings as args, so it might have to be a slightly different syntax, tho.

See LFGauss | SuperCollider 3.12.2 Help.
Best,
Paul

1 Like

Hmm, thanks.
I’ve actually been using Gaussian white noise approximated like:

({(WhiteNoise.ar() + WhiteNoise.ar() + WhiteNoise.ar()) / 3}.play)

It’s not clear to me from the examples whether LFGauss can be used in this way.

The reason I got into this is I was studing filter responses and they were calculated in the literature as being based on Gaussian (“white”) noise input. It was confusing at the time because our WhiteNoise doc does not specify that it’s uniform, and the papers I was reading assumed that “white noise” meant Gaussian.
Aaaand we’re way off topic, sorry!

I would use ChatGPT before asking anything on StackOverflow because people are rude there. The SCSynth community is generally very friendly, helpful, and patient. In my experience, people are eager to help others learn.

FWIW, this is what it suggests for making sine wave UGens which isn’t quite right but it’s pretty close!

#include "SC_PlugIn.h"

struct SineWave : public Unit
{
    float mPhase;
};

extern "C"
{
    void load(InterfaceTable* inTable)
    {
        DefineSimpleUnit(SineWave);
    }

    void SineWave_next(SineWave* unit, int inNumSamples)
    {
        float* out = ZOUT(0);
        float freq = ZIN0(0);
        float phase = unit->mPhase;
        double step = freq * 2.0 * pi / SAMPLERATE;

        for (int i = 0; i < inNumSamples; ++i)
        {
            out[i] = sin(phase);
            phase += step;
            if (phase >= pi2)
                phase -= pi2;
        }

        unit->mPhase = phase;
    }
}

I hope that ChatGPT and related technologies allow us to more fully appreciate this forum and others like it. I hope it affects the SC online community in a positive way.

I’ve learned a lot by reading forum threads, by being able to search for topics that I want to know more about or related to issues I’m having. I follow forum links too, and I often get sidetracked by them. I like reading the code of others; it helps me reflect on how I write my own. So, the archive that accumulates with a forum like this is invaluable.

I will never use AI to write code. Ever. For me, it would take the fun out of learning something new, of understanding something known in a different way. I much prefer to read excerpts of our collective and common experiences as humans. And of course I’ll hit the heart icon way more often than I should along along the way!

1 Like