Edit:
Very strange...
All of your other plugs work fine. And
In several other projects, I get the bug, but not always. It's like certain tracks "work", others don't.
Very strange indeed
Edit2:
A couple more tests:
- In an existing project, most tracks show the error. One track, with lots of plugins in it, does not.
- In the same existing project, I added a new track with no plugins, it showed the error.
- In a new project, I added a track with no other plugins, it did not show the error
A clue: I use LBX Stripper https://forum.cockos.com/showthread.php?t=269153
- In a new project, I add a new track and add Transience via the 'Stripper' interface - it displays the error.
I have been using both Stripper and Transience for a very long time without issue. I hope this is not hard to diagnose. I can create a small project file and PM it to you if that would help.
@Saike, Partials is even more rocking than it used to be. Thank you! One suggestion: the tooltips could be set in a slightly larger font. Squinting only goes so far
Quote:
Originally Posted by TonE
The inharmonicity visualization of partials is phenomenal! You made the background layers still visible. Great. Not sure which trick allows this. Maybe some human eye-brain hacking trick?
Not sure what you mean, @TonE. Can you link a screenshot or point me to where these layers are visible?
Dear juan_r, I just mean the visualization below, nothing special. If you play with inharmonicity parameter (also with other parameters) you will see the 3D spectrum visualization changing, so if some spectral-time components are overlapping, you can still see its background kind of, because saike uses a specific 'dirac style vertical lines' per amplitude, without any 2D area painting. I guess this does the trick of 3D background view. Our brain is capable of recognizing the right patterns...
Edit:
Very strange...
All of your other plugs work fine. And
In several other projects, I get the bug, but not always. It's like certain tracks "work", others don't.
Very strange indeed
Edit2:
A couple more tests:
- In an existing project, most tracks show the error. One track, with lots of plugins in it, does not.
- In the same existing project, I added a new track with no plugins, it showed the error.
- In a new project, I added a track with no other plugins, it did not show the error
A clue: I use LBX Stripper https://forum.cockos.com/showthread.php?t=269153
- In a new project, I add a new track and add Transience via the 'Stripper' interface - it displays the error.
I have been using both Stripper and Transience for a very long time without issue. I hope this is not hard to diagnose. I can create a small project file and PM it to you if that would help.
Hmm curious. I haven't touched the transient shaper since February 2021.
I personally don't use the stripper, so I don't know how much I can help. Does it happen consistently on some projects? By consistently I mean, (almost) every time? It would be good to try and find out the preconditions needed to reproduce it.
Can you send me the file the stripper generates? Is it possible it's related to loading multiple instances of it?
Quote:
Originally Posted by juan_r
@Saike, Partials is even more rocking than it used to be. Thank you! One suggestion: the tooltips could be set in a slightly larger font. Squinting only goes so far
Thanks, Saike! I updated Partials and found the tooltips are now 100% readable. I have a 2-channel thank you track for you.
(Thanks, Saike! I'm juan_r's right eye.)
(Thanks, Saike! I'm juan_r's left eye.)
Some time ago, you asked:
Quote:
Originally Posted by sai'ke
I do have to admit that Partials can be very hit or miss. It's definitely a more difficult beast to tame than Yutani. In my limited use of it so far, I think it's good for fragile sounds. Not so good at powerful ones. I'm curious, for the people who are using partials, how are you using it?
I replied that one of my favorite ways to use Partials is as a "soft vocoder" that resonates with the audio without strictly imposing a note in the manner of vocoders or autotune & co.
I think I started doing this with Modal (that's Partials when she was a kid)
I love the way Partials lets glissandos pass through without quantizing the pitch.
Does anyone have tips to help program sounds that are similar to these examples in that they resonate and strongly emphasize some frequencies/notes - but without totally killing the others? This way, the result never sounds mechanic and keeps a strong human vibe.
By the way, can Partials make use of sustain CC messages? Apart from simply sustaining synth sounds, which is the normal, legit use that comes to mind first, the sustain pedal can be useful when I input several notes for the resonator to perform its magic and I want to hold the notes with my hands free, or add more notes to them one at a time.
I was about to have a meltdown over not being able to figure out MIDI stuff in JSFX (I have several JSFX specific use cases), but then I found your library code. I am saved! I thought I was going crazy but it looks like it's all real and legitimately needing, well, 1337 h4(k0r skillz; I chuckled:
Quote:
notePtr[] = -1337; // Signal end of note buffer
But this one is an absolute delight! Witness the ultimate power of combined Heximal and Decimate!
Sorry for the delayed response (tho I did post what I found to be the issue...) Short story, the problem was 100% my setup.
Here is the long story:
There is a "Transience-GUI" jsfx in my effects folder. It's *not* the original, bona-fied Saike version... For some reason, when I setup stripper, I used the "Transience-GUI" version. It must have worked, cause it's been setup that way, and I used it - ofter. I'm guessing that at some point - either in the evolution of my rig, or of Reaper, Transience-GUI got broken. The bona-fied Saike Transience is working fine. I did a quick mod of my stripper setup to point to the Saike version, and all is well.
Sorry for the delayed response (tho I did post what I found to be the issue...) Short story, the problem was 100% my setup.
Here is the long story:
There is a "Transience-GUI" jsfx in my effects folder. It's *not* the original, bona-fied Saike version... For some reason, when I setup stripper, I used the "Transience-GUI" version. It must have worked, cause it's been setup that way, and I used it - ofter. I'm guessing that at some point - either in the evolution of my rig, or of Reaper, Transience-GUI got broken. The bona-fied Saike Transience is working fine. I did a quick mod of my stripper setup to point to the Saike version, and all is well.
As always, thank you for the amazing code!!!
Glad you managed to solve it!
Quote:
Originally Posted by mixer9
Sorry for the newb question, but I just found Saike Midi Arp, and wondering if there is a manual? Can't even figure out copy and paste :/ Thanks.
Unfortunately, there's no manual, but hovering over the pattern should give you a tooltip with instructions. Anyways, copy paste is:
1. SHIFT + LEFT MOUSE BUTTON + DRAG to select a block.
2. SHIFT + RIGHT MOUSE BUTTON to copy it.
3. SHIFT + RIGHT MOUSE BUTTON somewhere else to paste it.
Note that the clipboard only works within the JSFX. You can't copy patterns to outside of the plugin (or other instances of the plugin for that matter).
Unfortunately, there's no manual, but hovering over the pattern should give you a tooltip with instructions. Anyways, copy paste is:
1. SHIFT + LEFT MOUSE BUTTON + DRAG to select a block.
2. SHIFT + RIGHT MOUSE BUTTON to copy it.
3. SHIFT + RIGHT MOUSE BUTTON somewhere else to paste it.
Note that the clipboard only works within the JSFX. You can't copy patterns to outside of the plugin (or other instances of the plugin for that matter).
Doh! I see that multi-select must drag over and touch each block it's not an area/marquee select.
Hello Saike, my latest message contained a thank you and a few out-of-context audio snippets as examples of my use.
There was also a request that probably went unnoticed. I'm supposing it was because there was no comment from you. Here it is again, just in case.
Quote:
Originally Posted by juan_r
By the way, can Partials make use of sustain CC messages? Apart from simply sustaining synth sounds, which is the normal, legit use that comes to mind first, the sustain pedal can be useful when I input several notes for the resonator to perform its magic and I want to hold the notes with my hands free, or add more notes to them one at a time.
Hello Saike, my latest message contained a thank you and a few out-of-context audio snippets as examples of my use.
There was also a request that probably went unnoticed. I'm supposing it was because there was no comment from you. Here it is again, just in case.
Sorry, yes. It's been a bit hectic on my side, so I might have looked and immediately forgotten about it again. Added sustain support to Partials and Yutani just now.
In other news, for people who use DuskVerb, I'd recommend updating. There was a bug in there that made it run out of grains (and use excessive cpu) if you paused playback on a beat. This is fixed now.
Sorry, yes. It's been a bit hectic on my side, so I might have looked and immediately forgotten about it again. Added sustain support to Partials and Yutani just now.
Hectic or not, once you notice your reaction times are impressive.
In other words: If you were a sound card, you'd have like 0.5-1.0 ms of latency!
Oh man, I hadn't seen the one you had done for lava verb yet. Awesome! Thank you!
I really enjoyed the other two too.
I don't have any donations link up at the moment, but I do appreciate the great videos you've made showcasing the plugins. That's donation enough.
I actually meant to reply on your reapertips page the other day. I was wondering, can I link your videos from my GitHub JSFX page? I think they showcase the plugins really well. If so, would you prefer if I link the reapertips page or the youtube links directly?
Oh man, I hadn't seen the one you had done for lava verb yet. Awesome! Thank you!
I really enjoyed the other two too.
I don't have any donations link up at the moment, but I do appreciate the great videos you've made showcasing the plugins. That's donation enough.
I actually meant to reply on your reapertips page the other day. I was wondering, can I link your videos from my GitHub JSFX page? I think they showcase the plugins really well. If so, would you prefer if I link the reapertips page or the youtube links directly?
ooow. I'm so happy you liked them! I've been meaning to post on this thread for so long but I kept forgetting hahaha.
Yes pleaseee. You deserve all the support 🥹
I am okay with either embedding the youtube video or linking the reapertips article. Whatever is better for you~
I think youtube embed would be nice as it wouldn't take people away from the page.
Warning: shameless post. Starting from an innocent-looking, specific technical question, it develops into a request for help disguised as a dream.
What's the best way to save a Partials preset with some MIDI notes "stickied" in the onboard keyboard?
For example, my favorite preset "Guitar-like [Audio input]" has an Am chord (A C E C E) pre-played, so to say: It glows in the onboard keyboard. I would like to try different combinations, for example a cluster of all 12 pitches in an octave, so all notes have a fair chance to resonate depending on the material. Sonically, doing so kind of re-synthesizes the input signal rather than vocoding it. How can I create and save such a personalized preset?
The best for my use case (live performance with a mic and fx) would be to be able to freeze the keyboard state while playing it, embedding the new "glowing notes" in the current preset edit buffer. There should be a way to reset the notes, too. Suggestions for live user input: a MIDI controller (a couple: freeze/unfreeze?), a button on the GUI.
I'm dreaming of a special "toggle freeze/unfreeze" programmed mode for the sustain pedal, where only pedal down events do toggle. Here's my dream: play the chord, hit the pedal and freeze, sing or play freely, hit the pedal again and unfreeze - Partials goes silent. Play some different notes, sing a bit maybe... OK, notes right: re-freeze!, keep singing freely...
This operating mode would save me from having to keep my foot on the sustain pedal once I find a set of notes that work. Trying to clap, strike or sing at the right distance from the mike to make Partials happy is not trivial already, even without the additional 'don't lift your foot' limitation.
I am okay with either embedding the youtube video or linking the reapertips article. Whatever is better for you~
I think youtube embed would be nice as it wouldn't take people away from the page.
For example, my favorite preset "Guitar-like [Audio input]" has an Am chord (A C E C E) pre-played, so to say: It glows in the onboard keyboard. I would like to try different combinations, for example a cluster of all 12 pitches in an octave, so all notes have a fair chance to resonate depending on the material. Sonically, doing so kind of re-synthesizes the input signal rather than vocoding it. How can I create and save such a personalized preset?
Right now Partials is limited to 5 note polyphony for performance reasons. While it is technically possible to add more, I expect the performance to get pretty bad when using more than that, especially in time domain mode.
Quote:
I'm dreaming of a special "toggle freeze/unfreeze" programmed mode for the sustain pedal, where only pedal down events do toggle. Here's my dream: play the chord, hit the pedal and freeze, sing or play freely, hit the pedal again and unfreeze - Partials goes silent. Play some different notes, sing a bit maybe... OK, notes right: re-freeze!, keep singing freely...
This operating mode would save me from having to keep my foot on the sustain pedal once I find a set of notes that work. Trying to clap, strike or sing at the right distance from the mike to make Partials happy is not trivial already, even without the additional 'don't lift your foot' limitation.
This is relatively easy. Just plug this JSFX I quickly cobbled up in front of it: https://raw.githubusercontent.com/Jo...ain_Latch.jsfx
It converts sustain presses into a toggle state. Then set the play mode to audio mode with midi input and you should be all set.
Quote:
Originally Posted by Alez156
I am okay with either embedding the youtube video or linking the reapertips article. Whatever is better for you~
I think youtube embed would be nice as it wouldn't take people away from the page.
Unfortunately, it seems youtube's readme markdown doesn't support HTML, making it not possible for me to embed the videos directly. I've added both a link to reapertips and an image that leads to the youtube videos.
Right now Partials is limited to 5 note polyphony for performance reasons. While it is technically possible to add more, I expect the performance to get pretty bad when using more than that, especially in time domain mode.
Oh, right, I see. It actually crossed my mind that 12 notes could be a few too many, but I didn't verify how many voices were resonating. A cluster of 5 adjacent semitones already changes the output into a non-chord sound.
Quote:
Originally Posted by sai'ke
This is relatively easy. Just plug this JSFX I quickly cobbled up in front of it: https://raw.githubusercontent.com/Jo...ain_Latch.jsfx
It converts sustain presses into a toggle state. Then set the play mode to audio mode with midi input and you should be all set.
Great help, Saike, thank you! One little glitch: in the following line
Code:
midisend(0, $xB0, $x40, sustain * 128);
the multiplier should be 127 rather than 128.
Besides, the JSFX could be made channel-agnostic - so that it works with controllers that transmit on a channel other than 1. Here's a tentative v0.02.
Oh, right, I see. It actually crossed my mind that 12 notes could be a few too many, but I didn't verify how many voices were resonating. A cluster of 5 adjacent semitones already changes the output into a non-chord sound.
It is possible to add a few more voices, but the CPU cost will go up with it. I'd probably prefer to make it a toggle in that case.
Quote:
Great help, Saike, thank you! One little glitch: in the following line
Code:
midisend(0, $xB0, $x40, sustain * 128);
the multiplier should be 127 rather than 128.
Besides, the JSFX could be made channel-agnostic - so that it works with controllers that transmit on a channel other than 1. Here's a tentative v0.02.
Ah yeah, good catch! I can update the one in the repo. How do you want to be credited for it? Would be nice to include your name in the amended version
In other news: just uploaded a new toy:
DD-101
A little synthesis based drum machine. I call it the DD-101 (DD stands for Dum Drums). It contains some synth-based emulations of classic drum sounds as well as some new ones.
Synthesized drums, so much needed, really amazing stuff and well thought out. I was really surprised. Haha at first reaper presented just a small area, fully black and I thought it's a super simple sample bank thing for dummies. Then I watched into the code and saw those sliders...
Wow, dear saike thanks for sharing DD-101 (DD stands for Dum Drums). This is a must for testing.
Let me check and read your comments in your code, how you had the idea, what concepts you used... This might start another jsfx revolution.
UPDATE:
First observation, Kick Decay seems not to have any effect on the sound here.
At first start it played here Noise, then, after clicking somewhere or so, sound went to normal.
Wonderful clap and clap decay range!
Wonderful toms!
What a rimshot!
What else one can want? Thanks a lot friend.
Nothing can beat those shiny LEDs.
I guess this is stereo out "only" currently?
8 stereo out or 12 stereo out version could be next then.
Dear saike, not sure if you checked any faust 2 jsfx models yet. Maybe worth including some of those models here as well, or their interesting bits and parts only. If possible and not too difficult.
First observation, Kick Decay seems not to have any effect on the sound here.
Or one needs to listen or measure carefully to hear those subtle changes.
What a kick in preset Filth! Noice. Thanks master guru without meditation saike!
Doink preset kick has its bassline included, if you have no time for a bassline.
Hi, when I disable the snare via klick on name, on the next hit it still plays a short attack part. When I enable it at some point again, only on first hit, a bit of the attack is missing.
Side note: anyone knowing a minimal tool to create polyrhythms? E.g., MIDI Sequencer Megababy cannot do this. I know I can do it with e.g. Hy-Plugins Seqs, but maybe there is some JS possibility.
I guess this is stereo out "only" currently?
8 stereo out or 12 stereo out version could be next then.
Multi-out has been added in a recent update.
Quote:
Dear saike, not sure if you checked any faust 2 jsfx models yet. Maybe worth including some of those models here as well, or their interesting bits and parts only. If possible and not too difficult.
I've heard about it, and it's pretty neat, but I haven't had a chance to look at it in detail yet.
Quote:
Originally Posted by Tapio
Hi, when I disable the snare via klick on name, on the next hit it still plays a short attack part. When I enable it at some point again, only on first hit, a bit of the attack is missing.
Should be fixed in v0.09.
Quote:
Originally Posted by Tapio
Side note: anyone knowing a minimal tool to create polyrhythms? E.g., MIDI Sequencer Megababy cannot do this. I know I can do it with e.g. Hy-Plugins Seqs, but maybe there is some JS possibility.
Side note: anyone knowing a minimal tool to create polyrhythms? E.g., MIDI Sequencer Megababy cannot do this.
Of course. There are 3 solutions, I know, 2 jsfx, 1 vst from pure data.
1. pure data vst first. Euklid.
2. jsfx: Euclidean patterns, see https://forum.cockos.com/showthread.php?t=94325
3. jsfx: Euclidean sequencer, almost same as 2, but with visuals below. Maybe there are more differences, did not check the code.
For 1 I shared presets in stash, extracted pattern data from some paper with various international patterns (African, Bulgarian, Turkish ...). see https://stash.reaper.fm/v/37847/vst-Euklid.ini
Good luck friend. Nr 1, allows two pitches programming, e.g. kick vs. snare, or closed hh vs. open hh. Jsfx variants allow only 1 pitch, but you can use as many as you want, then saving as track template or fx chain.
Last edited by TonE; 08-03-2023 at 01:21 PM.
Reason: added two links
1. pure data vst first. Euklid.
2. jsfx: Euclidean patterns
3. jsfx: Euclidean sequencer, almost same as 2, but with visuals below. Maybe there are more differences, did not check the code.
For 1 I shared presets in stash, extracted pattern data from some paper with various international patterns (African, Bulgarian, Turkish ...).
Good luck friend. Nr 1, allows two pitches programming, e.g. kick vs. snare, or closed hh vs. open hh. Jsfx variants allow only 1 pitch, but you can use as many as you want, then saving as track template or fx chain.
Great news and great reply, @TonE! Thank you. Could you please link the jsfx (and maybe your presets in the Stash)?
This sounds so amazing saike. Big, big, big, big thanks
Dont know if its just me not getting it but the only midi to audio that is making sounds is the kick. Ive tried reassigning and assigning the sounds to midi keys but nothing works?
Best regards /Bo
Quote:
Originally Posted by sai'ke
DD-101
A little synthesis based drum machine. I call it the DD-101 (DD stands for Dum Drums). It contains some synth-based emulations of classic drum sounds as well as some new ones.