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

liMonADe: make WavDisplay switchable #110

Closed
hexdump0815 opened this issue Jul 20, 2019 · 12 comments
Closed

liMonADe: make WavDisplay switchable #110

hexdump0815 opened this issue Jul 20, 2019 · 12 comments

Comments

@hexdump0815
Copy link

hello,

would it be possible to make the WavDisplay switchable on and off by an extra button? the background is that i'm building vcvrack versions for arm cpu based systems (https://github.com/hexdump0815/vcvrack-dockerbuild-v1) which does not have that much cpu power and the opengl implmentations vary quite a bit in quality and when i'm using the wonderful liMonADe module on such a device a lot of cpu/gpu power goes into the WavDisplay rendering and only a smaller part into the sound creation. if the WavDisplay would be switchable, one could switch it off to get some more cpu ressources and could for instance run multiple liMonADe modules in parallel for instance even on such devices. i just did a test by commenting out the WavDisplay part and ti seems to work to save cpu - i'm just not a good enough programmer to implement it in a smarter way.

a lot of thanks in advance and best wishes - hexdump

@sebastien-bouffier
Copy link
Owner

Hi, yes for sure. Rather than a button would it be more convenient by using the menu ?

@hexdump0815
Copy link
Author

oh - that would be very cool ... for me both - a button or a menu entry - would be fine ... its just that there is a way to switch it on when designing sounds and to switch it off otherwise to save cpu cycles.

once more a lot of thanks in advance and best wishes - hexdump

p.s.: is the algorithm used in liMonADe traditional additive synthesis or is it maybe related to the padsynth algorithm by nasca octavian paul (http://zynaddsubfx.sourceforge.net/doc/PADsynth/PADsynth.htm) like implemented in zynaddsubfx and padthv1 (https://github.com/rncbc/padthv1)?

@sebastien-bouffier
Copy link
Owner

Hi, the menu is ready. I will add a button :)
I didn't know about your links but yes it is the same approach. iFFT creates a loop cycle per frame. The algorithm that pitch the sample is based on Fundamental VCO1 before Rack1.0.
I made first PeNEqUe which is one frame of liMonADe.
Cheers

@hexdump0815
Copy link
Author

very very nice - looking forward to it :) ... once more a big thank you!

@hexdump0815
Copy link
Author

one more little question about liMonADe: i noticed that sometimes when i save a patch and reaload it from scratch from disk the upper display does not show its values anymore (so i can't modify the spectrum any longer from where it was) and other times the values in the upper display are displayed properly and i can change them. is that maybe depending on the state of the other buttons or am i doing something wrong when saving or loading?

a lot of thanks in advance and best iwshes - hexdump

@sebastien-bouffier
Copy link
Owner

Hi, wave display is switchable in v1.0.3.
Regarding FFT display I recognize that it is not fully synchronous when loading etc...
It comes from the fact that I remove DC offset when I need to change the spectrum after a load and that tool computes the FFT. I will take a look at that and make sure that the FFT is always in sync with the edited frame.
I think that it might be more convenient to draw the edited frame on top of the selected (played) frame ... any opinion ? Green would be on top of the dark red when the same frame is played and edited.

@hexdump0815
Copy link
Author

i just grabbed v1.0.3 - the switchable display is perfect - thanks a lot!

regarding how to draw the edited frame: how about overlaying the edited frame shape to the fft window like it is in some way done in padthv1 (https://padthv1.sourceforge.io/ - it has two of those synths which are the top left and right displays - the lines in there are the fft spectrum and in the background you see the resulting shape of the waveform. your idea has something to it as well as you can nicely see the old waveform in relation to the new one. how about combining both ideas: putting the resulting waveform into the upper display and use two colors for the current and the edited one to show both in the background?

btw. here: http://linuxsynths.com/Padthv1PatchesDemos/padthv1.html is a bit more descritption of how the padthv1 controls and the displays work - maybe there is even more inspiration to be taken from it here and there :) ... for instance it would be interesting what exactly the different parameters directly under the displays do.

a lot of thanks for all your amazing effort and best wishes - hexdump

@hexdump0815
Copy link
Author

ah - and one more thing: what would be really cool, would be the possibility to save the config of single frames and/or all or them to an external file, so that one can easily switch them on the fly or preload them into a fresh liMonADe.

once more best wishes - hexdump

@sebastien-bouffier
Copy link
Owner

Hi 1.0.4 is pushed with 3 wavtable/frames view modes. I changed small things on display too. You can already save/load your presets I think.

@hexdump0815
Copy link
Author

hi @sebastien-bouffier - this is super super nice - i just built a fresh bidoo plugin on my aarch64 system and for me this works very good and i think the embedded waveforms in the fft display are very intuitive. on top of that i now see all the information i need to interact with the module even with the wavetable display off, so i can use it interactively perfectly fine even on low cpu systems. very very nice! a lot of thanks for those additions.

@hexdump0815
Copy link
Author

@sebastien-bouffier - can it be that the three display states are not saved properly in the patch? if i set them to non default values, close the patch and reopen it, they are back the the defaults ...

@hexdump0815
Copy link
Author

just a little update: i just pullled the latest sources and now the saving of the display modes of liMonADe in the patches on reload works perfectly - thanks a lot once more!

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

No branches or pull requests

2 participants