< Back to IRCAM Forum

MyOrch v.1.5 : One step deeper


Version 1.5

  • Added ASax to default orchestra (v.1.4.2)

  • orchidea.play~ : up to 30 instruments (v.1.4.2)

  • Display improved (v.1.4.2)

  • 7 attrui for more control for orchidea.solve (v.1.5)


Enjoy MyOrch v.1.5



Hi Jerome,

Here is a little patch to automatically populate a umenu with the different items orchidea.solve can handle. The example concerns the styles but you can extend it for other items. I added an observation about the attrui object but it’s just a question of ergonomy.



orchidea_populate_getitems_umenu.maxpat (15.5 KB)

Hi Nadir,

Thank you very much, I will have a closer look… But I see it’s for only one parameter only. In [dynamics] or other attributes, we need a set of choices…



If you are talking about the attrui object, you just need to select the parameter you need in the menu, and so on :

I’m familiar with attrui, but he doesn’t limit values. I use it for research, but in MyOrch, I use it for some attributes in order to choose the additional mentions, and I use one per attribute… the patcher is a tutorial so easy to use… The use of attrui is voluntarily simplified. This patcher is also a standalone. So it’s not necessary to save it, and then saving attrui values.

In your patcher, you send only image and this doesn’t work.

Max console : with my several attrui

orchidea.solve: styles have been set correctly
orchidea.solve: dynamics have been set correctly
orchidea.solve: other filters have been set correctly
orchidea.solve: extra pitches have been set correctly

With yours, there’s only “styles” and you send an atom (single element) when a list is expected.

Have a look at orchidea.db.query.maxhelp



hello all,

I downloaded the patch dmg file, but its appears to be nothing in it. and clues?
thanks in advance,

Which means either you duplicate the routine for each item or do extra patching to populate ON THE FLY umenus for every item with only one db.query (trigger bang bang… counter… or javascript… or I don’t know… let your imagination flow…). That’s why I added the other getitems messages and draw arrows to point to what you need to change to get them…

And if you load other .spectrum.db, you will see the umenu populated with their appropriate item and then can choose, in the umenu drop down menu, to set a specific style, or dynamics or whatever… for orchidea.solve.

What doesn’t work ? You seem very convinced.

Yes but what do you do with “your several attrui”, particularly when you want to apply constraints on the target : dynamics, style… etc ? Can you describe your workflow ?

I will do it in your place but I may be wrong in my presumption :

When you set “your” (?) attrui on dynamics or styles for instance, does the dynamics or the style of the db instruments appear in the attrui field appear automatically ? No. You have to check what are the dynamics or styles or whatever… available for each instrument in the data base you use. Or use orchidea.db.query.maxhelp patch to retrieve them, then write in the attrui field the dynamics or style or whatever item you want to set for your needs… A back and forth routine.

What I am proposing is to implement the orchidea.db.query in your main patch, so that when you load an instrument db file all the constraints you may need are at hand. Again it depends on your workflow.

By the way, the same with Setting the orchestra, what you propose, in your patch, is to hit a message with a number of instruments or write them down. Which means you have to know what instruments are included in the dbs (imagine you have ten dbs or more). In the workspace implementted by the orchidea team, you only need to load the db file and all the instruments appears, so you just have to enter the amount of intruments you need for eah one.

Now again : We always have the choice to do it in many different ways. Either we want to gain time and experiment with music or to spend time to experiment with patching. And there is no harm in both as long as experimentation leads us to new regions that are worth living…

So if it works for you, it’s good for you…


Hi perti,

I’ve replaced the dmg… Sorry about that

Hi nadir,

Let go back to basics :

orchidea.solve: adding db file /Users/lotus/Documents/Ircam/Orchidea-DB/TinySOL.spectrum.db
Notifications: source [ instruments BTb Bn Cb ClBb Fl Hn Ob Tbn TpC Va Vc Vn ]
[ styles ord ]
[ pitches A#0 A#1 A#2 A#3 A#4 A#5 A#6 A1 A2 A3 A4 A5 A6 B1 B2 B3 B4 B5 B6 C#2 C#3 C#4 C#5 C#6 C#7 C2 C3 C4 C5 C6 C7 D#2 D#3 D#4 D#5 D#6 D#7 D2 D3 D4 D5 D6 D7 E1 E2 E3 E4 E5 E6 E7 F#1 F#2 F#3 F#4 F#5 F#6 F1 F2 F3 F4 F5 F6 G#1 G#2 G#3 G#4 G#5 G#6 G1 G2 G3 G4 G5 G6 ]
[ dynamics ff mf p pp ]
[ others 1c 2c 3c 4c N ]
orchidea.solve: db files have been set correctly
Notifications: busy 0

Everything is automatic, the attrui is usefull when you want to add a constraint, and not using all the settings of a database… elseway, it’s empty by default…

It’s also usefull when you dont want to play all dynamics.

For example using FullSOL in ord mode only, you just have to write ord in styles attrui.

You patch is interesting for learning about databases… I like it but you’re almost off topic…

But, I invite everyone to use it to dig orchidea.solve attributes



No this is a printed max console message.

Exactely the workflow I described concerning your approach, which is once again not wrong ! Just another way to do things.

And with the shared patch, which is not off topic because related to orchidea “apprentissage” as supposed to be yours, you only have to choose the needed item in the umenu as many other constraints. As I said a matter of taste…

Not attributes, but retrieving the items of certain attributes.

I am pretty sure there is someone else, somewhere else, doing it differently…

Take care,



Excuse my awful english…

It’s a patch made for every people, I do understand your meaning but when you patch for public, you don’t patch the same way as you do for your own use. Your patch, or something like this, can be considered as a good utilitary for finding the right syntax of elements.

Yes, and it displays all you have by default, it loads instruments, styles, dynamics and others. these attributes can now being changed, if desired… As you said, they are empty as attrui. It’s because there is nothing by default. It doesn’t mean it’s empty inside orchidea.solve.

No, if there’s a attrui, it means that the attribute exists. As most of them need lists, attui seems to be the best choice. But I can’t save attrui in the pattrstorage, so, maybe I’ll change that…

So I have to take decisions, and the easiest way I’ve found is added attrui (for lists) because it was easier to handle, and I use one per attributes… and for some of them, not for all attributes, which can be stored.

Maybe I’ll take some off… Allowing to edit is not the better choice sometimes, it can de dangerous…
Just keep in mind that there are some persons who don’t use Max (or are beginners) that’s why I made a standalone version too.

Have fun with it, and try to make your own version… It’s a a patcher, so fell free to implement your system… And see how it works… :slight_smile:




Version 1.5.1

  • Delete 4 attrui (v.1.5.1) it was to soon…


It’s better to well understand that before going beyond…

Enjoy MyOrch v.1.5.1



I am not used to argue that much… In fact, I already posted a link to a video which includes the use of some constraints to the orchidea analysis, to produce some audio material here : Orchidea & Electroacoustics I

Let me just correct one of my comments and then we close this discussion :

The patch I proposed, in the beginning, is not a computer-aided orchestration “apprentissage” but a max programing utility. I included it, among others, in the already built in workspace the Orchidea tutorial Nº5 offers.

So long,


you mean something like this ?

orchidea_populate—jerome.maxpat (29,1 Ko)

Can sound ?

popup needs a list !

I am missing something here. What list are you talking about Jerome ?

for the orchestra settings… don’t mind about that…

Yes of course. You should have by now figure it out. All the features and inherent items are set in the first inlet, all but the instruments i.e. the Orchestra, set in the second inlet. You also must have noticed a way to manage that list in a most fluid way in the Building a Workspace section of the package. This is what I use and if ever I need more slots beacause there are more than 20 instruments, well that’s what we call delicious patching :wink:

Take care Jerome,


p.s. I agree with the step by step building. Some say : On ne peux pas aller plus vite que la musique !


I had a look at image and I see we didn’t begin with the same base. I was beginning with the orchidea.solve.maxhelp.

I will add the textedit of my patch (which contains the orchestra) in the pattrstorage, so, even in text, I will be able to store several orchestras in presets.

I’ll dig that workspace…




Version 1.5.2

  • Added ASax to default orchestra (v.1.4.2)
  • orchidea.play~ : up to 30 instruments (v.1.4.2)
  • Display improved (v.1.4.2)
  • 7 attrui for more control of orchidea.solve (v.1.5)
  • Delete 4 attrui (v.1.5.1) it was to soon…
  • Added [textedit] in presets, you can save your own orchestra (v.1.5.2)

Enjoy MyOrch v.1.5.2