DX7 Library is incomplete
The DX7 library is incomplete, so I think we should track it as an issue. For example LFOs are not implemented. Someone could consult how Dexed does it here which is nearly the same as Google's music-synthesizer-for-android. However, I can't confirm that the music-synthesizer-for-android is 100% correct for DX7.
Note also that Dexed's implementation may not be perfect (although it's pretty great 🙌🏻 ), so we should also watch these issues:
- https://github.com/asb2m10/dexed/issues/291
- https://github.com/asb2m10/dexed/issues/242
- https://github.com/asb2m10/dexed/issues/146
- https://github.com/asb2m10/dexed/issues/138
See a Yamaha DX7 manual here. The more primary resources we use, the better.
I would be very interested in this. I've also found that even removing inactive parameters that dx7lib can be quite janky and finicky, segfaulting when certain parameters are used. I can share more details
@turian Yes, please do.
Je ne sais pas ce que je viens faire dans cette histoire de spam généré par l'IA @sletz ;)
Salut @cirotix ! oui je supprime.
@sletz This is some in-progress DX7 code where I'm trying to follow Dexed as literally as possible. The big picture is there and the code compiles, but the individual modules need verification.
This is great !, @rmichon will hopefully appreciate ! Happy to merge a PR when ready.
There’s a lot of tricky integer bit shift arithmetic and I would appreciate any help in thinking that stuff through in Faust. I want to preserve the bit shift code instead of converting everything to floating point.
Where that ?
For example how do translate this line into Faust? https://github.com/asb2m10/dexed/blob/e087754595af33a5a487cb08a213cf6a62edd463/Source/msfa/lfo.cc#L61 An attempt is in lfo.dsp:
getSawdown = randstate_, x
with {
x = (flipPhase xor (oneU << 31)) >> 8;
};
Can this be used https://faustlibraries.grame.fr/libs/maths/#manot ?
Can this be used https://faustlibraries.grame.fr/libs/maths/#manot ?
Thanks, making some more progress now...