Happy New Year!
You're looking to do something rather advanced, and it's going to take a certain amount of work and testing. The testing effort would be complicated for anyone that doesn't have your data, with all the instrument information filled out, in the variety and permutations that exist in your database, as they would have to enter a bunch of data. How you're storing that data is unusual.
I'm not going to embark on this and do all this for you, sorry, but I will offer you some tips so you can help yourself.
First, you're going to need to use the Regex() function in the Expression language, which implements Regular Expressions. That will be necessary to parse your instrument data. So you'd better study how that works. You will also need to cast the data type of your results as a list, so study the "Data types" section at the bottom of the article as well.
https://wiki.jriver.com/index.php/Expression_LanguageIf you get into trouble with details, there are a few other people here on the forum who would be capable of helping with the regex.
Learn about Regular Expressions here:
https://www.regular-expressions.info/I would also strongly urge you to abandon your novel misuse of the [Artist] field, and store your instrument and performer/instrument data in the [Instrument] and [Soloists] fields. (Or you could create new fields). It would not be difficult to copy the information over to new fields, and then sanitize the [Artist] field. The Artist field is intended to store names, and only invariant names. By cluttering the Artist field with extraneous variable non-name data, other aspects of MC will not work as expected. With your current scheme, someone who plays two different instruments will be regarded by MC as two different artists. I will not debate this or hear any defense, or further try to persuade you, on this point. You can take my word that what you are doing is deleterious and will ultimately hinder you, or not.
Regarding your question on capitalization, the expression language has a function just for this: FixCase().
Regarding your untagged albums and automatic updates, what you will want to do is create a new field, of type Calculated Data.
See this article:
https://wiki.jriver.com/index.php/Library_FieldsThis Calculated Data field will use the Regex() expression to automatically parse out the instrument data from the Soloists or Instrument fields (or Artist, if you unfortunately decide to leave it there). It's this calculated data field that you will then reference in your views, and the field will automatically update itself any time you make a metadata change.
I hope this helps.... Good luck.