Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wave Selection and Global Envelope on the FM Synth Modulator #683

Merged
merged 21 commits into from Aug 31, 2023

Conversation

Bubobubobubobubo
Copy link
Contributor

@Bubobubobubobubo Bubobubobubobubo commented Aug 29, 2023

This commit is adding a gain envelope (ADSR) on the FM modulator. It also allows the user to choose the modulator waveform from the basic WebAudio OscillatorNode types. It exposes the following parameters:

  • fmwave: fmWaveform = 'sine' (all base oscillators are supported)
  • fmattack: fmAttack = 0.001
  • fmdecay: fmDecay = 0.2
  • fmsustain: fmSustain = 0.001
  • fmrelease: fmRelease = 0.1
  • fmvelocity: fmVelocity = 1
  • fmenv: fmEnvelopeType = 'linear'

There are two different envelope types: linear and exp. Exponential is still a bit clunky but it generates very nice timbres if you push the decay just a bit more than usual.

@Bubobubobubobubo Bubobubobubobubo changed the title Global Envelope on FM Modulator Wave Selection and Global Envelope on the FM Synth Modulator Aug 29, 2023
@Bubobubobubobubo Bubobubobubobubo mentioned this pull request Aug 30, 2023
@felixroos
Copy link
Collaborator

felixroos commented Aug 31, 2023

cool!
I've changed the default envelope to be no envelope, so longer sounds wouldn't get decayed after .2 seconds.
This will also improve performance, as no envelope needs to be calculated if you don't set one..

I've also added the missing controls for strudel + added some missing params to the exp envelope, which sounds pretty nice btw

i think this now looks good!
ok?

@Bubobubobubobubo
Copy link
Contributor Author

OK!

@felixroos felixroos merged commit c54916c into tidalcycles:main Aug 31, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants