Audio synthesier

I hope to see synthesizer like jfxr but all parameters can be controlled in events not just volume and pitch.
|I mean the sound not to be a sampled file but generated sound waves according to parameters that can be tweaked while the sound is playing.
for example frequency parameter set to distance between two positions.

1 Like

Have you tried the audio context extension?

https://wiki.gdevelop.io/gdevelop5/extensions/audio-context/#audio-context

1 Like

thank you keith …I didn’t know about this extension
I just tried it but it crashes on creating context

crash report

A crash or error happened in the game.
If you're using JavaScript, verify your code. Otherwise, this might be an issue with GDevelop - consider reporting a bug. Full error is: Cannot read properties of undefined (reading 'func')

TypeError: Cannot read properties of undefined (reading 'func')
    at Object.gdjs.Untitled_32scene2Code.eventsList1 (file:///C:/Users/username/AppData/Local/Temp/GDTMP--1/preview/code1.js:207:44)
    at c.gdjs.Untitled_32scene2Code.func [as _eventsFunction] (file:///C:/Users/usename/AppData/Local/Temp/GDTMP--1/preview/code1.js:266:28)
    at c.renderAndStep (file:///C:/Users/username/AppData/Local/Temp/GDTMP--1/preview/runtimescene.js:1:5067)
    at r.step (file:///C:/Users/username/AppData/Local/Temp/GDTMP--1/preview/scenestack.js:1:465)
    at file:///C:/Users/username/AppData/Local/Temp/GDTMP--1/preview/runtimegame.js:1:7677
    at i (file:///C:/Users/username/AppData/Local/Temp/GDTMP--1/preview/pixi-renderers/runtimegame-pixi-renderer.js:1:9663)

it worked in downloaded example
but when I try to make event just like example it crashes on creating context.
generally I didn’t like it because its limited to notes not frequency and its method is not like what I am dreaming about.
can you tell why it crashes
I think gdevelop can’t create files in my c:drive so I unchecked read only from properties but it still crash

It was worth a try. I never used it much. It doesn’t use objects so I’m guessing it’s a bug or something is out of range or not initialized. It does mention effect but IDK if that’s fx or musical effects.

They’ve been making a lot of changes to GD lately and I’m seeing errors where there didn’t used to be. In a way that’s good because you know there’s an issue. But at the same time it seems less stable. Less forgiving.

1 Like

IMO real-time synthesis is the way to go. It is interesting how graphics technology has evolved so tremendously while game audio technology is essentially the same as around the time of Windows 3.11. Graphics are realtime (parametric, dynamic) and audio should be as well.

There are plenty of fantastic js libraries. Just pick one?

1 Like

it worked after restart but that extension I think it makes a file saved in ram memory when creating context so it still playing sound from a sampled file not generating waves and frequencies are limited to notes not values …generally I’m happy for your replay and I think I need to make friends here to learn more

2 Likes

I didn’t know about js libraries … what makes me like gdevelop is its no code software
is it possible to pick and install js library and use it to make what am asking for?
oh thank you for replaying

You would need to use a little JavaScript to pass values off to the JavaScript. It would be best to put the JavaScript in an extension or function to make it reusable and to pass parameters to and from the JavaScript event.

I would like to use JavaScript but how to learn that specifically in Gdevelop.
what I understand is that Gdevelop doesn’t have all JavaScript functions …so how to pick a library and install it to make an extension.
I think an extension is a group of events ,and function is an order in java language to do an action ,Gdevelop understands that language but not all words so I need to install that specific words (functions in JavaScript libraries)to make Gdevelop understand it.
I think its possible to make extension like that but how can I learn to do it.

A good start is
https://wiki.gdevelop.io/gdevelop5/events/js-code/javascript-in-extensions/

You can also look at other extensions like the audio content one and see how they do something.

As far as JavaScript it uses the same syntax plus methods and functions unique to GDevelop. There might be some JavaScript restrictions especially if it involves a restricted action or something specific to a web page.

This might seem complex but for an audio extension you would mostly be just passing values to JavaScript. It wouldn’t involve controlling any objects.

https://docs.gdevelop.io/GDJS%20Runtime%20Documentation/modules/gdjs.html

I don’t use JavaScript much. There are times when. It’s easier.

1 Like

Just for reference, while it’s unlikely the devs will build out their own synthesizer (based off their own statements in the past), there is a chance someone eventually adds a .mod tracker.

You can follow that discussion here: Feature request - Music Sequencer Plugin

There was some interest in implementing Bassoon, but I don’t think it ever moved past the idea phase.

1 Like

thank you silver
I’m talking about something like shape painter …we use it to draw a circle that wasn’t exist ,it draws it every frame
we can set radius parameter to a value of a slider object
in game we drag slider up and down ,circle goes bigger and smaller
I want an audio painter to draw sound wave not on the screen of course but as a digital language in the processor to make it generate a sound that can be manipulated in game ,I mean an audio engine to make something like a car engine sound that can be manipulated by a slider object as an accelerator pedal
are devs refused this idea?

Modo, a tracker has all of that functionality. It is not trivial to implement. Instead of appealing to the gdv community to support solutions you may have more luck appealing to developers of solutions to support gdv.

I will write a library at some point because I see parametric audio as essential and web audio capabilities have gotten very powerful. That is not on the schedule yet, unless I worked with another developer.