|
|
|
04-10-2021, 07:04 PM
|
#1
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
Harmonic/Percussive Source Separation as a plugin?
Info with some demo clips:
https://learn.flucoma.org/algorithms/hpss/
James Bradbury already made this functionality (and the rest of the FluCoMa functionality) as an extension for Reaper:
https://www.reacoma.xyz/
I've tried this HPSS aspect on some drum sounds that are "ringy" and it works very well. I notice there's a realtime library for this, and it's the one in particular that's used with the extension James Bradbury made (but since what he made is a script, it doesn't run "realtime" in the sense that a JS plugin runs realtime). If I can get good results with this script using that library, and it could also run realtime as a JS plugin, that could make for a very useful tool for various audio sources.
I'm nowhere near intelligent enough to make such a plugin (or any plugin at all) so I'm just pitching the idea to anyone here whose brain is larger than mine. I'm not even sure this could be a plugin. I found the Github for the source:
https://github.com/flucoma
I see under flucoma-cli, the fluid-hpss "realtime" tool is there in the src folder. And it seems to refer to this (as the "client"):
https://github.com/flucoma/flucoma-c...HPSSClient.hpp
And from there, refers to this as the algorithm:
https://github.com/flucoma/flucoma-c...ublic/HPSS.hpp
Last edited by JamesPeters; 04-10-2021 at 07:28 PM.
|
|
|
04-12-2021, 02:27 AM
|
#2
|
Human being with feelings
Join Date: Feb 2014
Posts: 240
|
You can try "FFT Multi Tool (L).txt", as part of my suite with:
-Noise or Transient mode
-Amount 0%
-Difference Yes
The algorithm is a completely different, simple, and fast one. It might do what you want (or not). Try changing the other parameters.
Install instructions in my sig v
|
|
|
04-12-2021, 10:30 AM
|
#3
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
Thank you! However it doesn't perform what I'm trying to achieve, and it has a significant latency. But I suppose HPSS also uses FFT calculation, so it also might not be capable of working with no latency.
I may just end up using the HPSS offline via the reascript, and making multiple versions of the drum samples, as a workaround.
Last edited by JamesPeters; 04-12-2021 at 11:44 AM.
|
|
|
04-12-2021, 12:36 PM
|
#4
|
Human being with feelings
Join Date: Aug 2009
Location: NL
Posts: 1,453
|
Quote:
Originally Posted by JamesPeters
Thank you! However it doesn't perform what I'm trying to achieve, and it has a significant latency. But I suppose HPSS also uses FFT calculation, so it also might not be capable of working with no latency.
I may just end up using the HPSS offline via the reascript, and making multiple versions of the drum samples, as a workaround.
|
Just reading the description, it would seem you need several STFT frames to take the median over, which would incur latency, yes. You could lower the latency by taking coarser FFTs, but this would likely negatively impact the sound quality quite a lot.
|
|
|
04-12-2021, 12:45 PM
|
#5
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
It would still be a handy tool to have as a plugin even with significant latency, but it would limit how I'd use it.
I'd probably still want to use such a plugin to dial in the settings I want before editing a file. As it is, I'm dialing in settings "blindly" using the script, and listening to each version before trying different settings. It's quite time consuming.
I intend to make changes to a bunch of drum kit samples, and I want to dial in the best settings I can for each kit piece (then apply them to all the velocity layer / round robin samples for that kit piece). I'd probably also choose to leave a bit more harmonic content in drum hits with higher velocity (a stronger hit would generate more resonance), so it could mean different settings for different velocity layers.
Last edited by JamesPeters; 04-24-2021 at 06:45 PM.
|
|
|
04-12-2021, 05:16 PM
|
#6
|
Human being with feelings
Join Date: Feb 2014
Posts: 240
|
Quote:
Originally Posted by JamesPeters
I've tried this HPSS aspect on some drum sounds that are "ringy" and it works very well.
|
Well, have you tried reaFIR in EQ or compress mode?
|
|
|
04-12-2021, 08:51 PM
|
#7
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
Yes. The results are far better with HPSS. You should listen to the examples given in the first link of my first post. That's not something I can match with any other effect. Multi-band dynamic EQ and compression can tame some resonance, but it affects the sound in a significant way. This is quite different.
|
|
|
04-13-2021, 02:47 AM
|
#8
|
Human being with feelings
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,797
|
Not sure technically what you're looking for, but maybe take a look on this vst ?
https://github.com/dozius/DtBlkFx
|
|
|
04-13-2021, 08:03 AM
|
#9
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
I don't think so. It looks as though it might be capable of something similar to a degree (a portion of the functionality I want)...if it were complete and able to be built. Plus it seems as though the development is in limbo.
Check the first link in the first post for an example of what I'm talking about. There are audio examples there. It's fairly specific.
|
|
|
04-13-2021, 12:45 PM
|
#10
|
Human being with feelings
Join Date: Sep 2011
Location: PNW, USA
Posts: 655
|
Quote:
Originally Posted by JamesPeters
|
That's interesting. I was just working with some acoustic guitar tracks (and others) that often had too much attack/'percussiveness'. Seems like this tool might be good for dealing with that sort of thing. Is that so, would that be the type of thing it's used for?
|
|
|
04-13-2021, 01:11 PM
|
#11
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
That's one use.
The output of the HPSS script I mentioned makes additional takes for a given item, or set of selected items. It creates new wave files automatically saved to the source directory, named with the original (source) file's filename plus "hpss-h" and "hpss-p" appended to the filenames for "harmonic" and "percussive" respectively. Switch between takes to hear the original, percussive, and harmonic content. You can explode the takes from the item and mix the content (including using pitch shifting or other effects on the harmonic or percussive content separately).
Note: for maskingmode 2, there's another output of "hpss-r" (for "residual"). I haven't found maskingmode 1 and 2 to be useful for me so far though. The documentation mentions something about the output having more artifacts and that it's planned to have some smoothing for them, but it's "in development".
With the right settings it's quite something. I've used various methods to deal with percussive aspects or "ringy" harmonic content, but this sounds more natural. It's not based on compression of one frequency band, or a few bands, of signal that exceeds a certain level threshold; nor is it a static EQ. It analyzes what's percussive and what's harmonic about a sound, and separates them according to the parameters you set. The only thing that bothers me is how I have to keep trying over and over to get the best settings. The script doesn't save presets either, or allow an audition of the settings.
There are other algorithms too, aimed at transients specifically. I haven't used those yet.
See that "reacoma" link in the first post (the second link) for adding this functionality to Reaper as scripts.
Last edited by JamesPeters; 04-13-2021 at 01:23 PM.
|
|
|
04-13-2021, 02:50 PM
|
#12
|
Human being with feelings
Join Date: Feb 2014
Posts: 240
|
Quote:
Originally Posted by JamesPeters
I don't think so. It looks as though it might be capable of something similar to a degree (a portion of the functionality I want)...if it were complete and able to be built. Plus it seems as though the development is in limbo.
Check the first link in the first post for an example of what I'm talking about. There are audio examples there. It's fairly specific.
|
Ive used dtblkfx in the past for various tasks, it doesn't need to be updated if it works & is complete. If you did a web search, you would find builds https://rekkerd.org/dtblkfx/
|
|
|
04-13-2021, 03:39 PM
|
#13
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
My mistake! I didn't see that there was a single 64-bit Windows binary release on that Github page. (Better than using the one from Rekkerd which is 32-bit.) It works with Yabridge in Linux (which is what I use), so I was able to test it.
Well it's interesting, and it uses FFT, but I don't see how this will help me achieve the goal of the HPSS functionality. Maybe it's my lack of understanding of the tool, but I've tried all the presets, then messed around with the various algorithms, and none seem to lead me in that direction.
If you can find a setting that performs something like the example of HPSS in the first link of my first post, I'd like to know what that setting is.
|
|
|
04-13-2021, 03:54 PM
|
#14
|
Human being with feelings
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,797
|
Yes github hosts a 64 bit version, i didn't post the releases section before, but even if it doesn't fit your purpose, it's a little gem for many creative uses
Btw when you turn a fader it shows up fine and coarse controls, you can move each one by moving the mouse above them. Also try messing around with the bands and the amount of each function.
|
|
|
04-13-2021, 04:18 PM
|
#15
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
Yeah I figured out the fine/coarse thing after a couple seconds of it seeming jarring. It's clever. I adjusted a lot of settings of various algorithms, and the bands. Mostly I got weird sounds. Nothing like what I was doing with HPSS though.
|
|
|
04-13-2021, 04:18 PM
|
#16
|
Human being with feelings
Join Date: Sep 2011
Location: PNW, USA
Posts: 655
|
Quote:
Originally Posted by JamesPeters
That's one use. The output of the HPSS script...
|
Thanks, that's a great description. Sounds worth looking into...
|
|
|
04-13-2021, 05:28 PM
|
#17
|
Human being with feelings
Join Date: Feb 2014
Posts: 240
|
Quote:
Originally Posted by JamesPeters
Well it's interesting, and it uses FFT, but I don't see how this will help me achieve the goal of the HPSS functionality.
|
Probably not, since HPSS seems quite sophisticated, but you can try the reducing contrast in contrast mode but will prolly change other things too.
|
|
|
04-13-2021, 05:52 PM
|
#18
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
Yeah I think I'll just use HPSS. Even when I choose "bad settings", it does the job it's intended for. When I choose better settings, it does a very good job.
|
|
|
04-15-2021, 09:48 AM
|
#19
|
Human being with feelings
Join Date: Jan 2007
Location: Eastern shore of Maryland, USA
Posts: 1,484
|
James,the Reacoma suite really seems to me to have a lot of potential. In its currrent incarnation, is it stable and time efficient enough for periodic use in a commercial studio, based on your experience? I am thinking especially of the case where the studio receives tracks to be mixed and/or mastered that were recorded under suboptimal conditions that result in unpleasant overtones and ringing in drums need to be tamed.
T
|
|
|
04-15-2021, 11:51 AM
|
#20
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
Quote:
Originally Posted by tspring
James,the Reacoma suite really seems to me to have a lot of potential. In its currrent incarnation, is it stable and time efficient enough for periodic use in a commercial studio, based on your experience?
|
¯\_(ツ)_/¯
I mean, it does work without any problems that I've noticed. But it works in a fairly specific way, requiring you to try different parameters and make new files each time. You'll notice the goal of my original post was to be able to have a way of hearing this "realtime" while adjusting parameters. I'm guessing, after reading more about it and watching some videos, that plugins with these specific algorithms won't be feasible. The next best thing: I added a request on the ReaComa Github page for a way of previewing the effect before committing to creating new files/takes (or at least the possibility of saving presets).
Also with Reaper's ability to make custom actions, I'm sure I could use HPSS in a somewhat friendlier way for my desired workflow.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 08:13 AM.
|