Experiment 27 — Function Generators


In the spirit of experimenting with random function generators this week I looked first the creative coding and math coding classes at superhi for inspiration. 

But I did not look long because my new special interests — modular synths — inspired me. 

Modular synthesizers are hardware boxes that generate electrical signals often to generate music (but I suppose could be used for other things) . I sort of like this article — but it is about a particular synth. 

In modular synths (and electronics in general) there is a concept of a function generator. This is an electronic component or components that generate a signal, a wave form. There are many components to a signal and it is this sort of manipulation of a the wave form that the function generator lets you manipulate. From this we can generate randomish numbers. 

I asked chat. 

>generate a function generator

It generated my a function that generated a sequence of numbers — not exciting. 

>create a function generator based on a sine wave

this also was not very exciting I got a program that manipulated 3 variables:

  • frequency: Specifies the frequency of the sine wave in Hertz.
  • duration: Specifies the duration of the sine wave in seconds.
  • sampling_rate: Defines the number of samples taken per second (sampling rate).

it is somewhat interesting — perhaps I am too jaded. 

>create a function generator for a modular synth

This generated this image — I wanted something interactive — I wanted to be able to adjust all the variables like you can on an actual modular synth!

ADSR Envelope refers to attack, decay, sustain, and release.

GPT wrote: 

Please note that modular synthesizers have many more possibilities and modules for signal generation and processing. Depending on your specific modular synth setup and requirements, you can expand on this concept by creating more complex function generators, such as LFOs (Low-Frequency Oscillators), step sequencers, and various modulation sources.

OpenAI. (2023). ChatGPT [Large language model]. https://chat.openai.com

It generated some code that I had to manually enter into jupyter notebooks. I have been resisting jupyter code in chat -but I gave in. 

>create a circuit diagram for a function generator for a modular synth

I got some nice visualizations but no diagram

I’m afraid I can’t draw or generate visual content, including circuit diagrams, directly in this text-based interface. However, I can guide you on how you might create such a circuit diagram.

OpenAI. (2023). ChatGPT [Large language model]. https://chat.openai.com

>use schemdraw

It’s a python package i have found and never used. 

Chat generated python code to generate elm code — which is AMAZING!

Sadly it did not actually generate a circuit diagram — 

I will persist.