Need a plugin with a top note priority

Hoopa Chashi's icon

Some synths have a top note priority, meaning that no matter how many notes are pressed only the top note will sound, until a key above that note is pressed.
So, if someone can make a plugin that will make an instrument sound this way please let me know.

Hoopa Chashi's icon

Thank you so much for your reply. I am very new to M4L, as I understand, I should open M4L within the Ableton, then select New From Clipboard, paste the text above, and I am not sure what to do after that, will there be a Save option to save it as a M4L plugin?
Thank you.

Source Audio's icon

The patch I posted had a typo mistake inside.
corrected, as in amxd :

Max Patch
Copy patch and select New From Clipboard in Max.

here m4l midi effect :

TopMonoNote.amxd.zip
application/zip 1.90 KB

Hoopa Chashi's icon

Hey Source Audio , thank you so much! The plugin works perfectly!!
Maybe even too perfect in terms of a shortest notes sounding when I press a chord not perfectly together))
Maybe with some kind of delay on "deciding", or some millisecond waiting on deciding which note will end up on top it would have been even easier))

Source Audio's icon

if one delays the sorting and output of highest note,
that would also mean latency for notes output.
How much do you think would it need to wait
till highest note goes out, and any other note gets turned off ?
here is added delay 5 - 25 ms adjustable.
only playback of top note is delayed

TopMonoNoteDEL.amxd.zip
application/zip 2.22 KB


does that make it any better ?

Hoopa Chashi's icon

Hey Source Audio , you are a genius!! WOW!! SO cool!!
I was writing that previous note knowing that the only answer could be: Hey, learn how to play better, just place your fingers at the same time))
BUT, you did exactly what I was saying.
Thank you so much!!
The delay is neglectable, there is always some latency, and the latency in this case is really small.
Now, let me tell you what I need it for.
Originally, the idea was that when I play a tune with all chords the top note will be played by a different instrument, but then I thought that if that is difficult then I can send the same MIDI signal to 2 instruments, and one of them will play the chords, and the second (with your great plugin) will play only the top note.
That is not exactly replacing the top note, but dubbling it, since the top note still plays in the chord playing instrument, but it is almost what I've had in mind.
If there is some Instrument Rack with 2 instruments, and a plugin sees them both, do you think there could be a way to do a real replacement?
Or maybe an Instrument Rack would not be even needed to achieve that?

Source Audio's icon

I don't use live at all, so can't give you any advices about how to use stuff in Live.
But if I knew from the beginning what exactly you need, I would have tried to make that note splitter.

Now if one did it, what would happen when only single note gets played ?
Only the "TOP" midi channel should sound ?

I even don't know if live midi plugin can send midi notes to different channels.
Can you provide some infos about that ?

Source Audio's icon

I did some tests.
Either I am too stupid to get it work, or
live is worst piece of crap software I've ever tried.
There is no way I can find to send midi on several channels
out of 1 track ...
Can you test that ?
I made note splitter but the part that plays lowernotes is not ready yet.
If you confirm that that with multichannel midi out does not work,
I'd make another device which gets lower notes from splitter and sends them out


broc's icon

I can confirm that multichannel midi out doesn't work, but it's not needed here. Just use an instrument rack with 2 chains/instruments, one plays the whole chord and the other (with "TopMonoNote" device inserted) plays only the top note.

BTW, racks are an outstanding feature of Live for selective parallel processing not available in other DAWs.

Source Audio's icon

Thanks for that info.
That makes it clear.

broc's icon

Note however that send/receive introduces some unpredictable latency. To avoid any timing problem you could load 2 variants of "SplitTopNote" into a rack, one outputs the top note and the other outputs low notes.

Hoopa Chashi's icon

While I started researching weather there is any chance in sending to several MIDI channels from 1 track Broc informed that there is not. Broc, thank you very much for your help!
Source Audio, I was really looking forward to this new device, even more so after I knew that it was already done for the upper (solo) portion. I am so excited to finally test it!!
One thing is that I can't figure out how to configure it.
When I open it directly in a track it opens in front of an instrument and works perfectly. Source Audio, thank you so much again!!
But it pretty much does what it was doing before: playing the top note only.
In the message with the file attached it is described that the lower notes are sent to a receiver device, which I didn't exactly understand what it is.
In the following Broc's message I see a recommendation on adding a 2 instances of this device to an Instrument Rack, but when I do it a device(s) is placed after the Instrument Rack list, and (I guess because of that) don't work.
I understand that the device worked for both of you, but I can't figure out some simple thing on how to configure it for 2 instruments.
Thank you in advance.

Source Audio's icon

I am sorry not to be of more help with using live.
I find it terrible and don't want to waste my time with it.
In max this combo of the splitter and that little device
lownotes.amxd works ok.
Idea was to use that topnote plugin to send top note to one synth track
and lower chord members to that lownotes plugin in another track via plain send - receive objects.
From there midi can be routed to another synth.
I guess you don't need more than one instance of it, that's why fixed send - receive.
-------
I did not know that max4live devices suffer from latency when using send - receive.
What Broc is suggesting must be a good advice, but don't ask me how to do that.
Anyway that would need 2 plugins, one for top note,
and the other for lower notes, doubling the note sorting and routing "machinery"
I don't know if that would work with the way I made this splitter.
I know nothing about racks in live, and how to group
and link several plugs or synths or whatever.
So I don't know really how to help you further...
Maybe someone else with Live knowledge could take over ..
The splitter itself is rather simple patch, held notes are stored into coll,
get sorted and highest note gets sent out after set delay.
It is not difficult to do that, but it is to deal with note Off's
when held note swaps between top and low channels.
That's why timing in the detector must be tight.
---------
I would suggest try the plugs I posted first, and if you have problems with latency,
post here and I'll make 2 new ones : top note separator, and top note remover.
Could you also test what is lowest reliable delay value.
I have extended minimum down to 3 ms.
In dcase of that new plugs -they would need to have exactly same delay time set.

broc's icon

Just wanted to point out that the setup with rack would be quite simple.

As mentioned, we need 2 plugins.
1. "SplitTopNote" outputs the top note
2. "SplitLowNotes" outputs the low notes

Then create an instrument rack with 2 chains containing the devices
chain1: "SplitTopNote" > instrument1
chain2: "SplitLowNotes" > instrument2

PS.
Instead of 2 plugins it may also be possible to make one with a mode switch.


Source Audio's icon

Top Note splitter only

Split-TopNote.amxd
amxd 11.36 KB

one plug with the switch - good idea, why not, but one would still need 2
of them for operation.
In 1990 I used opcode studio vision, that had all of this select highest, lowest or
velocity range etc etc whatever note splitter in midi editor.
Now 30 years after if one looks at Live's midi editing capabilities it is just
a joke

broc's icon

Just did a quick test with chord on a clip: no output from Split-LowNotes.

Re 1990: Note splitter in midi editor is easy, but in real-time it's tricky.


Source Audio's icon

Sure, real time is another story, I just wanted to point
that such a good daw as vision was is nowhere to find today.
I'll check to see what's wong with the splitters,
I thought I could simply separate the sections, but seems not to be the case.
Version with send receive worked ok.
Did You look at it ?

broc's icon

Yes, I've looked and at first view it didn't work for me either.


Source Audio's icon

try this one please

Split-LowNotes.amxd
amxd 18.41 KB

I'm sure you'll find what's wrong if it makes no sound.
Well I am just testing it in max sending midi via iac buss...
Single notes should not come through

Source Audio's icon

Strange, I just tested the old combo with send and receive, works just fine in Max.
well... just fine is not exactly right, there is a mistake in there, but notes get through.
I have trashed that old combo and previous lownote splitter.

broc's icon

Great! The new lownote splitter works for me in Live.

Source Audio's icon

ok, thanks.
You can see that it is a simple dirty trick,
but making a perfect one would be much more demanding.
Linking poly aftertouch, sustain pedal etc would be really challenging

Source Audio's icon

Maybe doing lowest note splitter with oct transposition woud be a funny next
plug

broc's icon

I think a single plug with different split options would be nice. Other operations like transposition could then be applied externally on the selected voices.

Source Audio's icon

it is just a matter of coll sorting to select lowest or highest note.
or requesting min or max value

Max Patch
Copy patch and select New From Clipboard in Max.

Same could be done to remove top or bottom note.

Source Audio's icon

NoteSplitter.amxd
amxd 20.33 KB

Would you test this one

broc's icon

Yes, all options work perfectly here (input from clip in Live).

Hoopa Chashi's icon

Hi. To follow up on everything after my previous note:
1. SplitLowNotes worked well, but by some reason needed a really substantial velocity on playing the chords, otherwise some notes didn't sound.
2. Regarding the delay: I think 10ms is just perfect, a very neglectable delay (considering that everything has some microscopic latency anyway), but 10ms for me is slow enough to forget that a chord could be taken not together.
3. About the idea of a bass an octave or 2 lower: that would be great! But if it could recognize the main chord tone in any inversion, which probably is not too difficult, but for a simple chords, because a Sus, +7, -5 would be probably hard to calculate which one of them is the base of a chord. Or, maybe it is still possible)
4. The Notesplitter is PERFECT! Thank you so much. The mentioned above velocity question is gone, and everything works in the best way!
Separate Thank You for the bass not removal and extractor! Yes, as described before the chords would have to be played in the original (non inverted) form, but still there is a lot of creative options with it.
Thank you so much!

Source Audio's icon

I'd say then all is fine, and have fun with it.
Talking about chord detector,
it is not so easy to allways detect correct root,
quite few chords could be interpreted one or the other way.
There are few max4live chord detectors based on Adam Stark's chromagram chord detector.
I looked once into j74 harmo stuff, helping someone out.
there is a chord detector plug there, but it does not work well.
It runs input to %12 and than sorts chord by highest note
instead of lowest.(which also can't do 100% accurate guess)
F A C D comes out as D min7 instead of F6 for example...
Or chordid~ real time audio chord detector - has better sorting
and detection.

Hoopa Chashi's icon

Are you a musician your self?

Source Audio's icon
Hoopa Chashi's icon

So cool! That's why it was easy to explain the idea of this plugin.
Thank you so much!

Hoopa Chashi's icon

Hello Source Audio.
You are the only M4L expert on entire Internet that is no nonsense, straight to the point and understands exactly the concept of what is needed.
Thank you so much!
I looked around, but I can't find someone who can make a Chosen Scene Clip Launcher. A plugin that turns clips On/Off in a chose at the moment (highlighted) scene.
1. A plugin that allows to use an external controller buttons on turning On/Off a specific clips in Ableton Session view.
2. Each controller button should launch the clips within one track (vertical line). Button 1 launches clips in the track 1, button 2 in track 2, etc.
3. This controller button should turn On/Off the clip that belongs to a scene that is chosen at the moment (a horizontal line that highlights when you choose a scene).
I think the plugin should look like bunch of numbers (1 through 10, or 20), where each number represents a specific track, and the buttons on the external controller could be mapped to these numbers. And the only thing it will do will be launching a clip that is highlighted in a scene that is chosen at the moment.

tyler mazaika's icon

Hoopa Chashi,

May I suggest

(a) you start a new thread as your latest request is totally different.

(b) If someone has repeatedly expressed a lack of interest or disdain for Ableton Live they might not be the right person to ask for help building your Ableton chosen scene clip launcher device.

(c) It sounds a lot like what you want is a Novation Launchpad and it’s built-in controller software/scripts.

Hoopa Chashi's icon

Thank you for your reply.
A. The reason I continued this topic is that I hope that Source Audio will see it sooner, and out of my experience this is an incredibly professional expert that gives the best possible results.
B. It was even more amazing that he didn't even know much on how Live works, and yet have created such a unique device that has some great extra features that I didn't even think of.
C. The controller I need to use it with is a foot controller (FCB1010), but the functionality is pretty close to what Novation Launchpad has.
Thank you for your suggestion, I will start a new topic right now.

Source Audio's icon

Tyler nailed it down perfectly - I am not the right one to ask about Live.
I don't use it at all, all I can help about is when it comes to
parts that are plain max.
Read carefully the LOM documentation if working with Live is
important to you.
That will help you

Source Audio's icon

P.S. and I hope that somebody that is fond of Live actually help you with the
needed functions at the end