lmms icon indicating copy to clipboard operation
lmms copied to clipboard

Add Disintegrator effect to LMMS

Open LostRobotMusic opened this issue 5 years ago • 14 comments

(Made this whole thing in like 30 minutes, haha)

I'm not going to try to hide it, this effect is a blatant ripoff of Ableton's Erosion. You could probably even call it a clone. That was less because I intended to copy them and more because I couldn't think of anything else I'd want to add.

Disintegrator (and Erosion) is an effect that delays the sound with a modulated delay in super aggressive ways to get some very digital-sounding distortion. The first mode modulates the delay with white noise, which is filtered by the two filtering knobs before it does any modulation. The second mode is identical to the first, except the white noise is stereo rather than mono, which sounds much wider. The third mode uses a sine wave as the modulator, which sounds very similar to FM and can result in some very cool timbres.

Notice that the two filtering knobs are replaced with a frequency knob when the sine wave mode is selected.

This effect is quite basic and doesn't make any changes to other parts of LMMS, so I'm assuming the review-and-merge process will go by fairly quickly.

The effect is also 100% sample exact. I think. If I did that part right.

(And sorry for commit mess, Squash-And-Merge should prevent that from being a problem)

LostRobotMusic avatar Aug 30 '19 02:08 LostRobotMusic

I just realized the code is quite lacking in comments. I'll fix that.

LostRobotMusic avatar Aug 30 '19 02:08 LostRobotMusic

Alright, I added comments to the code and also removed the "detuneWithOctaves" function which I accidentally left in there. Should be ready now.

LostRobotMusic avatar Aug 30 '19 02:08 LostRobotMusic

An absolute galaxy brain (known as Oncill) suggested that I add a new mode that modulates the delay time depending on the audio input. I tested it out. The result can work as an aggressive exciter, as well as something that (although is very violent and digital) is unnaturally good at enhancing the general timbre of any instrument you feed it. The filters are still enabled for this mode, which filter the input audio modulator (but not the "carrier", if that's even the correct term in this case). The new mode was added in the latest commit.

LostRobotMusic avatar Aug 30 '19 17:08 LostRobotMusic

:robot: Hey, I'm @LmmsBot from github.com/lmms/bot and I made downloads for this pull request, click me to make them magically appear! :tophat:

Linux

Windows

:robot:
{"platform_name_to_artifacts": {"Linux": [{"artifact": {"title": {"title": "(AppImage)", "platform_name": "Linux"}, "link": {"link": "https://11785-15778896-gh.circle-artifacts.com/0/lmms-1.3.0-alpha.1.79%2Bgfb5471d-linux-x86_64.AppImage"}}, "build_link": "https://circleci.com/gh/LMMS/lmms/11785?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link"}], "Windows": [{"artifact": {"title": {"title": "64-bit", "platform_name": "Windows"}, "link": {"link": "https://11788-15778896-gh.circle-artifacts.com/0/lmms-1.3.0-alpha.1.79%2Bgfb5471d17-mingw-win64.exe"}}, "build_link": "https://circleci.com/gh/LMMS/lmms/11788?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link"}, {"artifact": {"title": {"title": "32-bit", "platform_name": "Windows"}, "link": {"link": "https://11787-15778896-gh.circle-artifacts.com/0/lmms-1.3.0-alpha.1.79%2Bgfb5471d17-mingw-win32.exe"}}, "build_link": "https://circleci.com/gh/LMMS/lmms/11787?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link"}]}, "commit_sha": "88ea50dd3e2812efd1d71dc1158de5691eb0a098"}

LmmsBot avatar Nov 24 '19 00:11 LmmsBot

Don't test this out yet, I found some weird bug with the self modulation mode that isn't appearing in my copy for some reason...

LostRobotMusic avatar Nov 24 '19 00:11 LostRobotMusic

Alright, all merge conflicts and bugs have been removed. Feel free to test now. Here's a video of me messing around with this effect: https://youtu.be/nzUV3gDL4Wo

LostRobotMusic avatar Nov 24 '19 02:11 LostRobotMusic

I just realized this effect sounds different when the sample rate is changed. Fixed it in the latest commit. :+1:

LostRobotMusic avatar Apr 19 '20 14:04 LostRobotMusic

@DouglasDGI REMINDER. Did you see my reviews?

PhysSong avatar Jun 08 '20 02:06 PhysSong

@DouglasDGI Is this ready for review?

PhysSong avatar Dec 10 '20 04:12 PhysSong

@PhysSong I was planning on rewriting this, it's incompatible with sample rate changes and isn't written very well in general. It shouldn't take more than a few days to rewrite (maybe even just one day, it's a fairly simple plugin), I'll get to that as soon as I'm done with the Phaser changes I've been working on.

LostRobotMusic avatar Dec 10 '20 04:12 LostRobotMusic

@PhysSong I was wrong, turns out I did make it compatible with sample rate changes, just not in a nice or neat way... Anyway, the whole code was kind of a mess and it turns out it was super buggy as well. The last commit fixes everything. The filters should actually work correctly now, and the Self Modulation mode should sound significantly cleaner.

Also, the Amount knob is now in units of milliseconds like it should have been, rather than samples like it was before. Should be ready for review now.

LostRobotMusic avatar Dec 27 '20 18:12 LostRobotMusic

Douglas is offline for an indeterminate amount of time. He has, in the past, requested his unfinished PRs to be closed pending his ability to work on them more. I will now forward that request again, since he won't be here to close the PR for potentially a very long time.

rdrpenguin04 avatar Jan 03 '21 23:01 rdrpenguin04

@rdrpenguin04 I definitely did not request that... I did request something similar for Microwave, but for everything else I'd much rather keep them open to give others the chance to finish them if they're able to.

(And I'm back for the time being by the way, I should be able to finish this one up)

LostRobotMusic avatar Jan 15 '21 18:01 LostRobotMusic

@rdrpenguin04 I don't actually recall requesting that... I did request something similar for Microwave, but for everything else I'd much rather keep them open to give others the chance to finish them if they're able to.

(And I'm back for the time being by the way, I should be able to finish this one up)

Sorry about that; I had assumed you had meant all of your PRs.

rdrpenguin04 avatar Jan 15 '21 18:01 rdrpenguin04