ADSR sliders with MiniDexed? #792
Replies: 3 comments 1 reply
-
There isn't a direct analogue as the DX7 has four-step envelopes per operator, each with adjustable rate and level, and there are 6 operators per voice. So it is not just the common four ADSR controls, but 48! (more here: https://djjondent.blogspot.com/2019/10/yamaha-dx-7-envelopes.html). But that doesn't necessarily mean that it can't be done. Voice parameters I believe are adjustable via SysEx messages (see the various DX7 and DX7II technical manuals available online) so it might be possible to have an external controller interpret ADSR and turn it into the appropriate rate (R) and level (L) parameters for all operators of a DX voice... The Korg Volca FM2 has managed to incorporate simple A/D controls for live-control of its own DX7-compatible voices, so that could be used as inspiration maybe? But I think it uses some kind of internal fancy algorithm to match the two together... Alternatively, maybe you're looking at one of these: https://www.dtronics.nl/dt-7 Kevin |
Beta Was this translation helpful? Give feedback.
-
Some relevant discussion here: ADSR (Attack, Decay, Sustain, Release) envelopes can be translated mathematically to DX7 parameters using a combination of rate and level settings. The DX7 uses a more complex envelope system with four rates and four levels, which can be mapped to the traditional ADSR envelope as follows: Rate Parameters
Level Parameters
The following is what perplexity.ai thinks about converting, which may be wrong but can serve as a starting point for further own investigation. The mathematical translation involves converting time-based ADSR values to rate values and amplitude values to level values:
The scaling_factor is used to convert time to the DX7's rate scale, which ranges from 0 (slowest) to 99 (fastest). For the levels:
These mathematical translations allow for the creation of ADSR-like envelopes within the DX7's more flexible envelope system, enabling a wide range of sound shaping possibilities. Citations: |
Beta Was this translation helpful? Give feedback.
-
Ahhh, I forgot about that lol. I'll get my pin board extenders fired up to
get the ADSRs configured! Haha
I'm a bit of a beginner to this project so I'll probably consider looking
into it more when I'm a bit more experienced.
I'm converting an old keyboard into a minidexed synth and I want to find a
way to use up all of these nice little buttons!
…On Sun, Jan 12, 2025, 13:46 probonopd ***@***.***> wrote:
Some relevant discussion here:
https://www.kvraudio.com/forum/viewtopic.php?t=575629
image.png (view on web)
<https://github.com/user-attachments/assets/8e9b0780-afc1-4093-bed5-213ea02b14a1>
ADSR (Attack, Decay, Sustain, Release) envelopes can be translated
mathematically to DX7 parameters using a combination of rate and level
settings. The DX7 uses a more complex envelope system with four rates and
four levels, which can be mapped to the traditional ADSR envelope as
follows:
Rate Parameters
- Attack: Corresponds to Rate 1 on the DX7
- Decay: Corresponds to Rate 2 on the DX7
- Release: Corresponds to Rate 4 on the DX7
Level Parameters
- Peak (end of Attack): Corresponds to Level 1 on the DX7
- Sustain: Corresponds to Level 3 on the DX7
*The following is what perplexity.ai <http://perplexity.ai> thinks about
converting, which may be wrong but can serve as a starting point for
further own investigation.*
The mathematical translation involves converting time-based ADSR values to
rate values and amplitude values to level values:
1. Attack: Rate 1 = 99 - (attack_time * scaling_factor)[1]
2. Decay: Rate 2 = 99 - (decay_time * scaling_factor)[1]
3. Sustain: Level 3 = sustain_level * 99[2]
4. Release: Rate 4 = 99 - (release_time * scaling_factor)[1]
The scaling_factor is used to convert time to the DX7's rate scale, which
ranges from 0 (slowest) to 99 (fastest).
For the levels:
- Level 1 is typically set to 99 for maximum peak amplitude[2]
- Level 2 is used to shape the decay curve and can be adjusted based
on the desired envelope shape
- Level 4 is usually set to 0 for complete silence at the end of the
release phase[2]
These mathematical translations allow for the creation of ADSR-like
envelopes within the DX7's more flexible envelope system, enabling a wide
range of sound shaping possibilities.
Citations:
[1]
https://dsp.stackexchange.com/questions/2555/help-with-equations-for-exponential-adsr-envelope
[2] https://www.muzines.co.uk/articles/understanding-the-dx7/7928
[3] http://www.javelinart.com/FM_Synthesis_of_Real_Instruments.pdf
[4] https://www.kvraudio.com/forum/viewtopic.php?t=315563
[5] https://en.wikipedia.org/wiki/Yamaha_DX7
[6] https://github.com/robbie-cao/kb-audio/blob/master/synthesis.md
[7]
https://forum.juce.com/t/newb-whats-the-theory-behind-implementing-an-adsr-envelope-to-act-on-a-volume-parameter-is-my-theory-efficient/52431
[8] https://yamahablackboxes.com/articles/how-to-program-yamaha-dx7/
[9] http://werner.yellowcouch.org/Papers/fastenv12/
—
Reply to this email directly, view it on GitHub
<#792 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AQW57V3D3X6MC2XC3XRXTQL2KJWZTAVCNFSM6AAAAABVAKWSPKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTCOBRGE4TKOI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hi,
I'm considering a project with this and I would love to know if I'm able to integrate ADSR sliders into this synth for quicker sound manipulation.
Thanks! :)
Beta Was this translation helpful? Give feedback.
All reactions