FYI, if you use them, I'd recommend updating Filther and Reflectosaurus. Both of them had critical updates this weekend
Changelog:
- Fix bug in Filther which hampered node selection in the spline shaper.
- Fix bug in Reflectosaurus which interfered with proper preset loading.
Hi, loving the band splitter but the phase match plugin "RMB outside" is not adding a frequency cut for me. Also parameter linking the bands isn't working.
Also the phase match plugin is supposed to go on the first insert of the recombine buss?
Hey man, sorry for the super late response, but you're right, there was a bug in the matcher w.r.t. the RMB button. Should be fixed now if you update with reapack.
It's supposed to go on all channels that you want to resync with the one you split, which is why it can be a bit tedious.
Hey man, sorry for the super late response, but you're right, there was a bug in the matcher w.r.t. the RMB button. Should be fixed now if you update with reapack.
It's supposed to go on all channels that you want to resync with the one you split, which is why it can be a bit tedious.
Hey!
I downloaded Reflectosaurus and I'm loving it! Thank you! It really sounds amazing.
If you allow me, I'd like to share a couple of thoughts with you:
1) Delay grid. There is a lot more detail between 0-250ms range compared to the 250-4000ms range. This implies that if you want long and complex delays you'll have an extremely cluttered area in the "top right" area, and you can't be very precise. On the other hand, It is very nice to have so much detail with shorter delays if you want to make some resonant stuff. I don't know, would it be maybe possible to have the ability to scale the grid? Does it make sense to you?
2) I love the idea of having a visual feedback of the details of every delay node, but for me the "node size/feedback" relation is a little bit problematic. I think that knowing the numeric value would be very useful (how big should be the node to have an infinite delay?). Then if you want to have many delays with lots of feedback it get extremely messy and you lose the connection lines very quickly.
2bis) Numeric feedback is alway useful. Especially when you want the delays to "ring" to a specific frequency you need to know the numbers.
3) It would be probably useful to have a small numeric ID on the nodes themselves. I got lost very quickly..."where was node 3 again?".
4) maybe this shouldn't be allowed
5) I am probably blind, but I can't find a way to delete a connection.
6) is it possible to "mute the master" of a node, leaving only the "send" on? Maybe a simple "direct out" volume.
7) is it possible to visually differentiate HPF and LPF settings? Doing so you could see them both at the same time. I was thinking like two lines (one inner one outer) or HP could be from 180° to 0 (clockwise) and LP from 180° to 0 (counterclockwise). This last solution has less detail, because you have 180 less degrees.
Well, that's it.
Thank you very much for your work and for sharing it with us, it's truly inspiring.
SL
Hope you're doing well and that the move went well.
I was considering trying to figure out how to change the colors for your spectrum analyzer. I see there are a ton of theme options which is fantastic, but I was just playing around with the Smooth hidpi (for now) theme and he mentions specific colors.
I just have a superficial understanding of code in general and see that you are importing some colormap in the beginning.
Is that something that I can alter? Or is there some other way I can change the colors?
It's really no big deal, more curious than anything else. Again, hope all is well.
The colormaps are stored in colormaps.jsfx-inc, but I generated them from python actually because changing them by hand is probably challenging.
You can edit a colormap by looking for the one you want to edit (it'll be something like c = dark or c = intense). From that point on, you will see a ton of values like 199/255. These are basically R G B values of the respective spectral colors. The code just assigns a component, then moves the pointer forward, then assigns the next etc.
The colormaps are located at memory location 10000 + 100*colormap index.
The colormap selector in slider8, so if you want to add a new colormap, you need to set its maximum one higher. Need to edit it both at the top:
(slider8|0)==12 ? "Theme: Dark5":
(slider8|0)==13 ? "Theme:Colorblind2":
"Theme:My new theme");
For the time being, you could also edit one of the existing color maps. Send it to me and I'll add it as a new one and make these changes for you. It would be good to merge whatever additions you make, because otherwise, next time you update, your colormap will be overwritten again by reapack.
"These are basically R G B values of the respective spectral colors. The code just assigns a component, then moves the pointer forward, then assigns the next etc."
So I found the colormaps file. I opened it and found exactly what you said. However, the RGB values I want to put in are three numbers. So I don't quite understand the correlation exactly.
c = dark; // Go to this color palette
c[] = 199/255; // R of the first color
c += 1; // advance pointer
c[] = 149/255; // G of the first color
c += 1; // advance pointer
c[] = 66/255; // B of the first color
c += 1; // advance pointer
c[] = 120/255; // R of the second color
c += 1; // advance pointer
c[] = 73/255; // G of the second color
... and so forth
c = dark; // Go to this color palette
c[] = 199/255; // R of the first color
c += 1; // advance pointer
c[] = 149/255; // G of the first color
c += 1; // advance pointer
c[] = 66/255; // B of the first color
c += 1; // advance pointer
c[] = 120/255; // R of the second color
c += 1; // advance pointer
c[] = 73/255; // G of the second color
... and so forth
OOHHHHHHHH
I get it now I should have noticed there were alot of "255" lol
You're a saint and it worked like a charm!
At first I tried to modify the dark2 theme but I wasn't seeing any colors there. So for now I wrote over the Pimp theme.
I'll get back to you tonight and paste the code here for purposes of merging where hopefully we can end up with a theme called smooth and these first 8 colors. Thanks again! This is a really great analyzer. I've sent my 8 submixes to it and then add the sum button and that actually makes it pretty easy to spot potential frequency buildups.
Here are the 8 colors for the smooth theme. As I was saying, I editted the pimp theme. In the end though I'd like an option to say smooth with these colors. b0se is doing some amazing work and this would be a really cool addition to his efforts.
c = pimp;
c[] = 228/255;
c += 1;
c[] = 81/255;
c += 1;
c[] = 78/255;
c += 1;
c[] = 210/255;
c += 1;
c[] = 120/255;
c += 1;
c[] = 49/255;
c += 1;
c[] = 190/255;
c += 1;
c[] = 178/255;
c += 1;
c[] = 74/255;
c += 1;
c[] = 82/255;
c += 1;
c[] = 150/255;
c += 1;
c[] = 70/255;
c += 1;
c[] = 69/255;
c += 1;
c[] = 150/255;
c += 1;
c[] = 140/255;
c += 1;
c[] = 67/255;
c += 1;
c[] = 122/255;
c += 1;
c[] = 203/255;
c += 1;
c[] = 127/255;
c += 1;
c[] = 117/255;
c += 1;
c[] = 227/255;
c += 1;
c[] = 167/255;
c += 1;
c[] = 102/255;
c += 1;
c[] = 200/255;
c += 1;
Thanks man! I added it. I also added colors 9 to 16 as half the color intensity of the ones you sent. Can find it on the repo now. It's the last colormap in the list
Thanks man! I added it. I also added colors 9 to 16 as half the color intensity of the ones you sent. Can find it on the repo now. It's the last colormap in the list
It's pretty much the same as II, except it adds vibrato on left and right and a squash option to box in the side channel. This squash option can be useful at times to mask the phasing effects you can sometimes hear on drums. Mind you, too much of it will cause harmonics that will completely vanish when mixing down to mono, so be careful with that one.
I was also tinkering a bit with iPlug2. Ported the MS-20 over to it, as well as the Saturator with continuous interpolation anti-aliasing (including the fancier higher order versions). https://drive.google.com/file/d/1O2c...IHC9peCrR0XcV6
It's pretty much the same as II, except it adds vibrato on left and right and a squash option to box in the side channel. This squash option can be useful at times to mask the phasing effects you can sometimes hear on drums. Mind you, too much of it will cause harmonics that will completely vanish when mixing down to mono, so be careful with that one.
I was also tinkering a bit with iPlug2. Ported the MS-20 over to it, as well as the Saturator with continuous interpolation anti-aliasing (including the fancier higher order versions). https://drive.google.com/file/d/1O2c...IHC9peCrR0XcV6
Works great, Saike. Sounds pretty nice and warm on analog style instruments.
And its nice to see you back working on sweet little gems.
Hi Saike, I've made a template with the splitter/joiner on a single track, which while works lets the channels 3 and up through so I've had to put a multi channel volume after it. Is that as intended, could we have the option to mute the tracks 3 and up after joining? have I done something wrong?
Hi Saike, I've made a template with the splitter/joiner on a single track, which while works lets the channels 3 and up through so I've had to put a multi channel volume after it. Is that as intended, could we have the option to mute the tracks 3 and up after joining? have I done something wrong?
What do you mean, let's them through? The joiner should only output two channels after mixing back to one. Maybe you have the other ones also send to another track in the connector diagram? Or maybe I misunderstand something.
In other news, was playing around a bit with Geraint's STFT template, made a little toy.
I was also tinkering a bit with iPlug2. Ported the MS-20 over to it, as well as the Saturator with continuous interpolation anti-aliasing (including the fancier higher order versions). https://drive.google.com/file/d/1O2c...IHC9peCrR0XcV6
Thanks for the iPlug2 versions, it would be cool if there would be one example video of the entire process of converting a jsfx into an iPlug2 variant, so others could replicate it for other stuff. Community empowerment.
Did you compare the cpu consumption, jsfx vs. iPlug2? From your perspective, is the entire jsfx to iPlug2 process somehow automateable, or not so much?
Thanks for the iPlug2 versions, it would be cool if there would be one example video of the entire process of converting a jsfx into an iPlug2 variant, so others could replicate it for other stuff. Community empowerment.
Did you compare the cpu consumption, jsfx vs. iPlug2? From your perspective, is the entire jsfx to iPlug2 process somehow automateable, or not so much?
I wrote the new versions from scratch actually.
CPU consumption was in a similar order of magnitude, although I did notice that I could throw a little bit fancier equations into the saturator at less "extra" overhead.
My cpp code is somewhat sub-optimal though, in the sense that I don't actively use vector processing and run the channels one by one. I don't have a good solution for profiling the plugin code at the moment, so I don't know where the bottlenecks are exactly and optimization is premature until I look into that. I also still have to look into what exactly I need to ship with to comply with all the licenses (I think I need to mention vst3 somewhere).
Hmm. But as long as you don't route those to output, does it matter? The channels will still exist.
Would it help you if I made a special version of the joiner that explicitly set all other channels to zero?
Thanks for the offer, but I can just use a multi-channel volume after it to attenuate it in my template, i just thought it may have been a minor bug. I only noticed when as I was using a limiter after if and the extra channels showed up and caused it react unexpectedly.
Been having a go of swellotron, very nice for ambient pads
My cpp code is somewhat sub-optimal though, in the sense that I don't actively use vector processing and run the channels one by one. I don't have a good solution for profiling the plugin code at the moment, so I don't know where the bottlenecks are exactly and optimization is premature until I look into that. I also still have to look into what exactly I need to ship with to comply with all the licenses (I think I need to mention vst3 somewhere).
No problem, thanks for the detailed answering, I will not do anything anyway, just asked in a general form, one never knows what might happen in future, which other genius coder (and great person, of course) would enter the Reaper field, as you did some time ago, or before kawa ...
Wow, when I heard the first demo part, best of the best ambient wow, after 1 min in the video I could listen for hours to that part. I should tell my ambient friends
Wow! Swellotron is amazing. Tough I'm not sure what it does (at least its not like an vocoder) it really creates usable and compact sounds thru any inputs. Many thanks.
It computes the spectrum of both signals (using the STFT), multiplies the magnitudes in the spectral domain and puts the result of that in an energy buffer. This energy buffer is drained proportionally to its contents. The energy buffer is then used to resynthesize the sound, but this time with a random phase.
In plain terms, it behaves almost like a reverb, where frequencies that both sounds have in common are emphasized and frequencies where the sounds differ are attenuated. This will almost always lead to something that sounds pretty harmonic.
The extra options do some other processing.
Shimmer copies energy to twice the frequency (leading to iterative octave doubling) and thereby a lot of extra brightness to the timbre.
Aether does something similar, but with fifths (ratio of 1.5 instead of 2).
Scorch and ruin saturate the signal prior and post the plugin's main effect.
Diffusion blurs the spectrum, making things a bit more noisy.
Ice chops small bandwidth bits from the energy at random, and copies them to a higher frequency (at 1x or 2x the frequency), thereby giving narrowband high frequency sounds (sounding very cold).
P.S. oh and the visualization is a predictor-corrector shallow water simulation
Aether does something similar, but with fifths (ratio of 1.5 instead of 2).
Wow, thanks for the detailed explanation.
In case you should add some more harmonic parameters my wishes would be:
- minor third ratio
- minor sixth ratio
- if we have fifths, why not also fourths maybe as well
It's an interesting idea TonE. I did try other ratios, and they don't sound that melodic. The reason being that this doubling happens recursively. The spectral peaks being copied higher and higher every cycle. For perfect fifth (which is 3/2) and double, they just land on top of each-other and harmonize nicely. For minor third, peaks fall in between other peaks, and it all becomes a bit of a mess. It actually reminded me more of a horror sound than anything else.
For minor feel you're better off just using the octave doubler (shimmer).
It's an interesting idea TonE. I did try other ratios, and they don't sound that melodic. The reason being that this doubling happens recursively. The spectral peaks being copied higher and higher every cycle. For perfect fifth (which is 3/2) and double, they just land on top of each-other and harmonize nicely. For minor third, peaks fall in between other peaks, and it all becomes a bit of a mess. It actually reminded me more of a horror sound than anything else.
For minor feel you're better off just using the octave doubler (shimmer).
Hi¨
Adding thirds on top of each other will give you a diminished chord. A somewhat unsettling sound that mostly used as a passing chord. Or horror backdrops.
Thanks for the explanation on how Swellotron works. I was just gonna ask that
It's an interesting idea TonE. I did try other ratios, and they don't sound that melodic. The reason being that this doubling happens recursively. The spectral peaks being copied higher and higher every cycle. For perfect fifth (which is 3/2) and double, they just land on top of each-other and harmonize nicely. For minor third, peaks fall in between other peaks, and it all becomes a bit of a mess. It actually reminded me more of a horror sound than anything else.
Thanks, anyway, at least you tried. But some should compose for horror movies as well, for minor we can just play them ourselves, without this tool, then putting this on top of it.
I am sure after some more experiments (weeks, months), your genius style will find some path, where other ratios will work, somehow, magically.
My trick for ambient music was, playing/recording some slow melodies I liked, then just slowing it 20..30 times, so getting huge long notes, then adding fadeins, fadeouts, on the note level, which are now of course very long, plus any other automation you like, the trick is just having many slow fades (in,out,automation) all going parallelly. As midi processor I was using keykit by another genius, THE midi genius, Tim Thompson*.
The last couple of days I was tinkering a bit with your Spectrum Analyzer. I ended up
adding some features to your LoadSpectrum script:
- Track name/color support (Needs Reaper v5.97 or higher)
(Track colors are only used when not too many shown tracks have the same color)
- Some fine-tuning of which tracks are routed to the analyzer:
- If multiple tracks are selected they are routed to the analyzer
- Otherwise the script tries to show as many tracks as possible, first leaving out
folder children tracks (as it was), then tracks with receives (e.g. reverbs)
Here is GIF demonstrating the behavior (apparently an awfully large one): https://ibb.co/0Jhh10Q
On an unrelated note:
1. I'd like to have a mode, that currently does not seem possible, where the spectrum
stays at the maximum point it has reached over time for each input. I was thinking
I could achieve that by tinkering with the integrate function, but thought I'd ask
you first, maybe you can point me in the right direction.
2. It took me a while to realise the double tap solo function was a feature and not a
bug. The interval between two clicks is quite high, and its visually hard to tell a
soloed channel apart. Maybe it would be easy for you to make the soloed channel
text yellow/green?